# Entwicklerdokumentation

## Software

Die Unterteilung der Software erfolgt in die Schichten Main, Bibliothek und HAL. Die Schichten Bibliothek und HAL sind weiter in Module unterteilt. Die Schicht Main verbindet die einzelnen Module der Bibliothek zu einer Gesamtfunktion. Die einzelnen Module der Bibliothek greifen exklusiv auf ein Modul des HAL zu.

Die Abhängigkeiten zwischen den Modulen bestehen gemäß dem Strukturbild [Abstraktion]. Die grundlegenden Zusammenhänge werden im folgenden erklärt. Zudem enthält jedes Modul eine genaue Beschreibung im Quellcode.

### Main

Das Modul Main verbindet die einzelnen Teile aus der Bibliothek und dem HAL zur Gesamtfunktion. Der Startup selbst teilt sich in die Init-Phase, die Verlinkungs-Phase und die Start-Phase. Die Programmausführung findet praktisch ausschließlich nach dem Prinzip Einlesen und Ausgeben in der Hauptschleife statt. Tasteneingabe, Kodierer, Zeitgeber und RMS-Bildner abfragen und das Resultat dann an den LED-Balken und die DMX-Ansteuerung weitergeben.

Asynchron zur Hauptschleife läuft der Systemzeitgeber, der periodisch die Module AD-Wandler und Taster-Ports aufruft.

### RMS-Bildner

Über eine Callback-Funktion erhält der RMS-Bildner die Werte vom AD-Wandler woraus fortlaufend die quadratische Summe gebildet wird. Durch den Aufruf einen RMS-Wert zu bilden, wird aus der quadratischen Summen der quadratische Mittelwertgebildet und an den Aufrufer zurückgegeben.

### DMX-Ansteuerung

Die DMX-Ansteuerung beruht darauf, die Eingabe eines Wertes durch Main zu verarbeiten, Ausgabedaten daraus zu ermitteln und dann zu verschicken. Die Verarbeitung der Ausgabedaten variiert dabei je nach gesetzter Betriebsart etwa durch aufrufen des Logarithmieres. Das Verschicken der Ausgabedaten erfolgt über die Hardwareabstraktion DMX-Uart. Durch eine Callback-Funktion erfährt die DMX-Ansteuerung, wenn die DMX-Uart bereit ist ein weiteres Byte anzunehmen.

### LED-Balken

Das Modul LED-Balken nimmt Werte vom Aufrufer Main entgegen, rechnet diesen mit dem Logarithmierer um und setzt die entsprechenden LEDs über den HAL LED-Ports.

## Elektronik

# Einstellbare Verstärkung

Für eine flexiblen Einsatz muss kompatibilität mit einem weiten Bereich an Signalpegeln möglich sein. Daher kann der Anwender mit einem Drehpoti die Vorverstärkung und damit die Empfindlichkeit der Anzeige einstellen. Eine kalibrierte Skala ist nicht gegeben oder gesucht.

Durch die Operationsverstärkerschaltung des invertierenden Summierers ergibt sich ein guter Schutz gegen Überspannungen am Audioeingang. Die Hochpasseigenschaft des Eingangsnetzwerkes sorgt für Gleichspannungsfreiheit und eine Bewertung des Audiosignals. Der Kondensator parallel zum Rückkopplungswiderstand wirkt als Tiefpass oberhalb der Hörgrenze. Damit werten hochfrequente Störungen aus dem Audiosigal gefiltert.

# RMS

Die Verarbeitung zu einem RMS-Signal erfolgt durch einen verbreiteten integrierten Schaltkreis. Die Kondensatorwerte zur Mittelwertbildung wurden weitgehend empirisch ermittelt.

Eine Softwarelösung zur RMS-Bildung würde dagegen komplexe Hardware erfordern.

# AVR

Da der einzig schwierige Teil der Anwendung, die Bildung eines RMS-Signals, in Hardware geschieht, kann ein einfacher 8-Bit-Mikrocontroller verwendet werden. Ebenfalls bleibt Schaltungsaufwand gering. Der benötigte integrierte AD-Wandler genügt den Anforderungen.

# Stromversorgung

Als Stromversorgung dient ein USB-Netzteil mit 5 Volt. Der Strombedarf liegt bei etwa TBD Ampere. Da der Analogteil eine negative Spannungsversorgung benötigt, wird diese mit einer Ladungspumpe in Spannungsinvertierung aus 5 Volt erzeugt.

# DMX

Zur Ansteuerung der Led-Röhre dient der DMX-Bus. Mit einem Pegelwandler für RS-485 entsteht aus dem UART-Signal des Mikrocontrollers das benötigte differentielle Signal.

# EMV

Als EMV-Maßnahmen dienen die zweiseitige Leiterplatte mit geschlossener Massefläche. Dazu kommt die Gegentaktdrossel in der Spannungsversorgung. Alle Schirmungen sind auf kürzestem Weg an die Gehäuseschirmung angebunden. Bei DMX und USB sind Masse und Schirmung getrennt. Die Schaltungsmasse und Gehäuseschirmung sind auf kürzestem Weg verbunden allerdings lassen sich zusätzliche Verbindungspunkte am USB-Stecker der Stromversorgung und durch den Klinkenstecker nicht vermeiden. Da alle Verbindungspunkte nahe beieinander liegen, kann das akzeptiert werden.

## Gehäuse

Das Gehäuse kann eine Leiterplatte in halbiertem Europa-Format aufnehmen. Die Bedienelemente befinden sich auf der Vorderseite und die Anschlüsse auf der Rückseite. Das Gehäuse besteht aus Aluminium, wodurch eine gute EMV-Abschirmung gesichert ist.

# Vorderseite

Auf der Vorderseite des Gehäuses befinden sich die Bedienelemente. Dazu zählt ein Drucktaster der zum Ein- und Ausschalten der LED-Röhre dient. Ein Drehpoti dient zur Einstellung der Empfindlichkeit der Anzeige. Zur Kontrolle der Aussteuerung befindet sich ein LED-Balken auf der Vorderseite. Über den Kodierer lasen sich verschiedene Betriebsartaren auswählen.

# Hinterseite

Auf der Hinterseite befinden sich die folgenden Anschlüsse:

- USB-Buchse zur Stromversorgung
- Klinkenbuchse für das Audiosigal
- DMX-Buchse zur Ansteuerung der LED-Röhre