MSM5 – der kleine Bruder des MSM4 mit noch mehr Leistung!
Kleiner Krachmacher
Das bekannte MP3-Soundmodul ist nun noch kleiner und trotzdem leistungsfähiger. Dabei bleiben fast alle Features des MSM4 erhalten. Es stehen weiterhin zehn Tastereingänge zur Verfügung, die serielle Schnittstelle hat nun separate Pins und muss nicht mehr umständlich aktiviert werden. Die Eingangsspannung kann zwischen 3 V und 5 V liegen, daher ist das kleine Modul noch flexibler einsetzbar. Dank eines Class-D-Audioverstärkers liefert es bis zu 2 W an einem 8-Q-Lautsprecher, deutlich mehr als die 0,5 W seines größeren Vorgängers.
Infos zum Bausatz


Mini-MP3-Soundmodul Gen. 5
Beim MP3-Soundmodul MSM5 wurde auf möglichst kleine Abmessungen geachtet, sodass es noch kompakter als seine direkten Vorgänger daherkommt (Bild 1). Dabei bleibt dennoch nichts auf der Strecke: Die direkte Ansteuerung von MP3s über zehn Tasteneingänge ist weiterhin möglich, sodass sich bis zu zehn unterschiedliche Sounddateien oder Playlists abspielen lassen. Auch sind nun dank der beschrifteten Abdeckplatine alle Eingänge direkt erkennbar. Für alle Nutzer des PAD-Systems zudem Grund zur Freude: Das MSM5 ist jetzt auf einem Steckbrett nutzbar. Die noch kompakteren Abmessungen des Moduls sind einer raffinierten Hardwareänderung zu verdanken. So verzichtet das MSM5 auf einen externen MP3-Decoder-Chip, dies erledigt der Mikrocontroller auf dem MSM5 nun direkt in der Software.

Unterstützt werden vom MSM5 Sounddateien mit dem Dateiformat MPEG 1.0 Layer3 (CBR, VBR, ABR) und bis zu max. 320 kbit/s. Einziger Wermutstropfen der Hardwareänderung: Auf eine Unterstützung von WAV-Dateien musste hier verzichtet werden, wohlwissend, dass auch der Vorgänger MSM4 diese nur in sehr geringer Bitrate unterstützte.
Auf der unteren Stiftleiste finden sich zehn Tastenanschlüsse, an der oberen Stiftleiste hingegen entsprechende Anschlüsse für die Versorgungsspannung, den Lautsprecher, die serielle Schnittstelle und den Stereo-Audioausgang.
Durch den geänderten Versorgungsspannungsbereich von 3 V bis 5 V kann das MSM5 jetzt auch mit Batterien sehr flexibel eingesetzt werden. Hierfür sind drei 1,5-V-Zellen notwendig, doch auch der Betrieb mit zwei 1,5-V-Zellen ist möglich, dann aber nur bei reduzierter Ausgangsleistung.
Technisch betrachtet sind die beiden Schaltregler auch in der Lage, herunter auf eine Versorgungsspannung von bis zu 1,8 V zu arbeiten, jedoch ist hier der limitierende Faktor der maximal zulässige Strom für die Schaltregler, insbesondere der Spule. Dieser liegt bei 1 A, sodass erst bei einer Versorgungsspannung von 3 V die maximale Lautstärke erreicht wird. Des Weiteren ist aus Kapazitätsgründen ein Betrieb mit drei Zellen zu bevorzugen.
Wichtiger Hinweis
Bei Verwendung von Batterien müssen diese mit einer Sicherung mit einem Haltestrom von mindestens 1 A abgesichert werden, z. B. mit der Bourns Rückstellsicherung MF-R135.
Der erweiterte Eingangsspannungsbereich beim MSM5 wurde zum einen durch einen Class-D-Verstärker mit integriertem Boost-Converter und zum anderen durch einen Buck-Boost-Converter für die Versorgung des Controllers und der SD-Karte ermöglicht. Um auf der SD-Karte gespeicherte MP3-Dateien abspielen zu können, sind an der Stiftleiste bis zu zehn Einzeltaster direkt anschließbar. Die Taster werden dabei gegen Masse geschaltet. Alternativ können die Tastereingänge auch extern über Mikrocontroller-Ausgänge angesteuert werden. In diesem Fall müssen die Ausgänge als Open Drain konfiguriert werden, da auf dem Modul MSM5 die notwendigen Pull-up-Widerstände für 3,3 V bereits enthalten sind.
Achtung: Keinesfalls dürfen an die Tastereingänge Spannungen von mehr als 3,3 V angelegt werden!
Ein Trimm-Potentiometer auf der Unterseite erlaubt es, eine maximale Lautstärkenbegrenzung vorzunehmen. Die klassische Lautstärkeeinstellung ist zusätzlich über Bedientasten einstellbar.
Bedienung
Zum Betrieb des MP3-Soundmoduls wird eine standardmäßig formatierte microSD-Karte (Dateisystem FAT32) benötigt. Im ersten Schritt werden die gewünschten MP3-Sounddateien über einen PC auf diese SD-Karte kopiert. Das Soundmodul MSM5 unterstützt das Direktabspielen von maximal zehn Dateien direkt über die zuvor erwähnten am Eingang angeschlossenen Taster (Bild 2). Die Zuordnung zu den Tasten erfolgt über eine am Anfang des Dateinamens stehende Nummerierung. Generell können durchaus beliebige Dateinamen vergeben werden, allerdings müssen alle Dateien mit drei bis fünf aufeinanderfolgenden Zahlen, 001-Dateiname bis 010-Dateiname bzw. 65535-Dateiname, beginnen. Alle anderen MP3-Dateien, die ohne Zahlen beginnen, werden vom Soundmodul ignoriert. Eine kurze Betätigung der Taste 1 (< 2 s) führt zur Wiedergabe der Sounddatei 001-Dateiname, bei einer kurzen Betätigung der Taste 2 wird erwartungsgemäß die Sounddatei 002-Dateiname abgespielt.

Playlists
Wer mehr als nur zehn MP3-Dateien per Einzeltaste abspielen möchte, kann auf die sogenannten Playlists zurückgreifen. Hierbei ist die Besonderheit, dass auf langen Tastendruck (> 2 s) nicht eine Einzeldatei, sondern eine komplette Playlist abgespielt wird. Dafür sind zuvor die in der gewünschten Reihenfolge abzuspielenden Dateien in eine Textdatei hinzuzufügen. Es können bis zu zehn Playlists mit bis zu 255 MP3-Sounddateien je Liste angelegt und automatisch wiedergegeben werden.
Die Playlists tragen auf der SD-Karte die Namen „playlst0.txt“ bis „playlst9.txt“, wobei dieses der Zuordnung der Tasten TA1 (playlst0.txt) bis TA10 (playlst9.txt) entspricht. In den Playlists wird die Ziffernfolge der Sounddateien mit Semikolon („;“) getrennt aufgelistet. Wichtig ist dabei, dass in der Liste für jeden Eintrag ein Abschluss mit einem Semikolon erfolgen muss, da ansonsten die Datei nicht korrekt abgespielt wird.
Über die Playlists können demnach auch Dateien abgespielt werden, die nicht direkt über einen kurzen Tastendruck erreichbar sind (001-Dateiname bis 010-Dateiname). Die Nummerierung dieser Dateien kann damit auch über „010-Dateiname“ hinausgehen (bis 65535).
Im Downloadbereich des Soundmoduls sind vorbereitete Playlistbeispiele vorhanden, die einen Teil der folgenden Funktionen abbilden.
Beispiele mit Beschreibung:001;
002 meine Beschreibung;
Zusätzlich sind auch Kommentareinträge möglich in der Form:#Kommentar;
Weiterhin steht eine Wiederholfunktion (Repeat) als Endlosschleife zur Verfügung. Dies erfolgt durch Einfügen des Zeichens,<“ nach dem letzten Titel der Liste.
Ein Beispiel dazu:001;
002;
<; #Dauerschleife von 001 und 002;
Ebenso kann man den Player veranlassen, Sprünge in einer Playlist auszuführen, indem hierzu das Zeichen „>“, gefolgt vom Sprungziel (1…255) an der gewünschten Stelle einzutragen ist.
Beispiel:001;
002;
003;
004;
>2; #Springe zum 2. Eintrag in der Playlist (002);
005; #wird nie abgespielt;
So werden die Soundfiles „001″ bis „004″ beim ersten Durchlauf wiedergegeben, danach die Soundfiles „002″ bis „004″ in einer Endlosschleife wiederholt abgespielt. Auch ist ein Überspringen wie in folgendem Beispiel möglich:001;
002;
>5; #Springe zum 5. Eintrag -> 005;
003; #wird übersprungen;
004; #wird übersprungen;
005;
Zudem kann auch direkt zu einer anderen Playlist gesprungen werden. Dies wird durch Eintrag des Tilde-Zeichens („~“) und Angabe der Zielliste (1-65535) erreicht:001;
002;
~1; #Öffnet playlst1.txt;
Tipp: Es besteht auch die Möglichkeit, in jeder Playlist nur die Nummer einer einzigen MP3-Datei zu speichern. In diesem Fall sind zehn MP3-Dateien über einen kurzen Tastendruck und zehn weitere MP3-Dateien über einen langen Tastendruck direkt abspielbar.
Autoplay
Eine weitere Besonderheit ist die Autoplay-Funktion. Ist diese aktiviert, wird eine „Autoplay-Liste“ automatisch abgespielt, sobald das MSM5 eingeschaltet wird. Dazu sind die entsprechenden Dateien wie bereits beschrieben in eine Playlist einzutragen, die in diesem Fall mit „autoplay.txt“ bezeichnet wird. Auch hier können die zuvor beschriebenen Sonderfunktionen benutzt werden.
Ein interessanter Anwendungsbereich für die Autoplay-Funktion ist z. B. das über einen Aktor ferngesteuerte Einschalten des Soundmoduls über einen Funktaster oder einen Präsenz-/Bewegungsmelder. So kann z. B. automatisch eine Text-to-Speech-Datei oder auch Musik bei Auslösen eines Präsenzmelders und damit Betreten des Raums starten. Das Abspielen kann auch so konfiguriert werden, dass das Soundmodul so lange aktiv bleibt, wie sich jemand im Raum aufhält (Stichwort Dauerschleife).
Natürlich könnte auch ein zeitgesteuertes Einschalten des Netzteils mit einer einfachen Zeitschaltuhr (oder auch einem Homematic IP Aktor) erfolgen.
MP3-Patent
Entwickelt wurde das Audioformat MP3 ab 1982 am Fraunhofer-Institut für Integrierte Schaltungen (IIS) sowie an der Friedrich-Alexander-Universität Erlangen-Nürnberg in Zusammenarbeit mit AT&T, Bell Labs und Thomson. Es gibt nicht „das eine“ MP3-Patent, vielmehr gibt es eine Vielzahl an Patenten, die zum heute bekannten MP3-Standard beigetragen haben. Allein die Fraunhofer-Gesellschaft sowie Thomson hatten z. B. 18 MP3-bezogenene Patente.
Generell verlieren Patente 20 Jahre nach Erstanmeldung ihre Gültigkeit (teils lässt sich dieses in einigen Ländern noch um ein Jahr verlängern). Da jedoch seit Ende April 2017 in allen Ländern die mit MP3 zusammenhängenden Patente erloschen sind und damit auch keine Lizenzgebühren mehr fällig werden, wurde der Weg für freie Softwareumsetzungen geebnet. Das hierzu bekannteste Beispiel dürfte das LAME Open-Source Projekt sein. Softwarebasierte Lösungen wie diese lassen sich nun sogar aufgrund der potenten Hardware auf einer Vielzahl von Mikrocontrollern einsetzen.
Random und Row
Ist dieser Modus aktiviert, werden über zwei weitere Listen, nämlich „random.txt“ und „row.txt“, jeweils ein Zufallsmodus oder eine Reihenwiedergabe ermöglicht. Beim Zufallsmodus wird durch Betätigen der Taste 1 aus der Zufallsliste ein Zufallseintrag ausgewählt. Beim Reihenmodus wird durch Betätigen der Taste 2 der nächste Eintrag der Reihenliste abgearbeitet, wobei die Wiedergabe nach einem Sound jeweils auf eine erneute Betätigung wartet. Über einen langen Tastendruck > 2 s der Taste 10 kann die Reihenliste wieder auf den ersten Eintrag zurückgesetzt werden. Die Sprungbefehle „<“ „>“ und „~“ aus den normalen Playlists dürfen hier nicht verwendet werden.
Unterordner
Die Unterordner müssen wie auch die Soundfiles und Playlists einem bestimmten Namensmuster folgen und daher mit Namen von „Folder001″ bis „Folder255″ benannt werden. Über entsprechende Tastenkombinationen sind neben dem Hauptverzeichnis auf der SD-Karte nun auch vier weitere Unterordner auswählbar. So können jeweils über die Tastenkombination von Taste 5 bis Taste 10 das Hauptverzeichnis sowie die Ordner 001 bis Ordner 004 ausgewählt werden (Tabelle 1).
Tabelle 1: Tastenkombinationen bei Drücken > 10 s
| Tastenkombination | Funktion | Tastenkombination | Funktion |
|---|---|---|---|
| 1+2 | beim Starten gedrückt → Update | 2+3 | Tastenmodus 0 normales Abspielen |
| 1+3 | akustische Versionsnummernausgabe | 2+4 | Tastenmodus 1 normal mit direktem Nachtriggern |
| 1+4 | Autoplay ein-/ausschalten | ||
| 1+5 | Powermode Idle + Sleep | 2+5 | Tastenmodus 2 Play While Pressed |
| 1+6 | Powermode Sleep | ||
| 1+7 | Powermode Idle | 2+6 | Tastenmodus 3 Play While PressedLoop |
| 1+8 | Audioverstärker ein-/ausschalten | ||
| 1+9 | Powermode High-Power-Mode | 2+7 | Tastenmodus 4 PlayToEnd |
| 1+10 | Update starten | 2+8 | Tastenmodus 5 RandomAndRow |
| 2+9 | Tastenmodus 6 RandomAndRomToEnd | ||
| 2+10 | Werkseinstellungen wiederherstellen |
| Tastenkombination | Funktion |
|---|---|
| 5+6 | Hauptverzeichnis der SD-Karte auswählen (Ausgabe Folder0) |
| 5+7 | Folder001 auswählen |
| 5+8 | Folder002 auswählen |
| 5+9 | Folder003 auswählen |
| 5+10 | Folder004 auswählen |
Zur Bestätigung des Ordnerwechsels erfolgt eine akustische Rückmeldung mit dem Inhalt „Folder“, gefolgt von der Ordnernummer. Hierbei ist „zero“ das Hauptverzeichnis, weitere Zahlen entsprechen der Nummerierung der Ordnerstruktur. Über die serielle Schnittstelle lassen sich Ordner von 1 bis 255 auswählen.
Ordnerwechsel über die serielle Schnittstelle sowie über Tastenkombinationen werden dauerhaft gespeichert. Das bedeutet, dass nach einem Power-on-Reset oder dem Sleep Mode wieder mit dem ausgewählten Ordner gestartet wird. Zudem werden alle Playlists ausschließlich nur aus dem gewählten Unterverzeichnis verwendet. So können für unterschiedliche Anwendungen z. B. zur musikalischen Begleitung oder als Sprachausgabe eigene Unterverzeichnisse angelegt und mit nur wenigen Handgriffen gewechselt werden.
Ordner in Playlists
Auch in Playlists lässt sich ein Ordnerwechsel durchführen, wofür folgender Befehl zur Verfügung steht: „/“ gefolgt von einer Zahl, z. B. /001„, um in den Ordner „Folder001“ zu wechseln.
Die Ordneränderung der Playlist bleibt nur so lange bestehen, wie das Dateisystem nicht neu geladen wird. Dies bedeutet, dass nach dem Sleep Mode oder Power-on-Reset wieder mit dem ursprünglich eingestellten Ordner gearbeitet wird. Solange das Soundmodul im Idle- oder Abspielmodus verbleibt, bleibt die Änderung des Unterordners temporär bestehen.
Es kann also durch eine Playlist ein Ordnerwechsel ausgeführt und anschließend eine Playlist aus dem neuen Ordner aufgerufen werden, solange das Modul nicht in den Sleep Mode wechselt. So werden auch temporäre Ordnerwechsel über eine Playlist möglich.
Lautstärkeeinstellung
Die Lautstärkeeinstellung erfolgt für die integrierte Endstufe auf dem Modul mithilfe des Trimm-Potentiometers. Zusätzlich kann die Lautstärke des MP3-Decoders auch über eine Tastenkombination verändert werden, z. B. bei der Verwendung des NF-Ausgangs. Bei Verwendung eines externen Verstärkers stellt dies die einzige Einstellmöglichkeit auf dem Modul dar.
Zum Einstellen der Lautstärke werden die Tasten wie folgt betätigt:
Tastenkombination 10 und 8 = leiser
Tastenkombination 10 und 9 = lauter
Durch langes Drücken beider Tasten (> 1s) wird die Lautstärke schrittweise bis zum Loslassen der Tasten erhöht/verringert. Bei jedem Schritt der Lautstärkeänderung blitzt dabei die rote Kontroll-LED kurz auf. Sollte aktuell keine MP3-Datei abgespielt werden, gibt das Modul zusätzlich einen kurzen Bestätigungssound als akustische Rückmeldung aus. Ist die höchste/geringste Einstellstufe erreicht, blitzt die rote Kontroll-LED zweimal auf.
Weitere Tastenfunktionen
Über die folgend beschriebenen Tastenkombinationen (Tabelle 1) lassen sich weitere Funktionen aktivieren. Die entsprechenden Tastenkombinationen sind dabei länger als 10 s gleichzeitig gedrückt zu halten. Hierbei wird die Übernahme jeweils durch kurzes Aufleuchten der roten Kontroll-LED und teilweise durch akustische Rückmeldungen quittiert.
Powermodi
Idle-Modus (Bereitschaft) und Sleep-Modus aktiviert
Tastenkombination: 1 und 5
Nach Abspielen einer Sounddatei wird 10 s im Idle-Modus (blinkende blaue LED) auf eine neue Eingabe gewartet, bevor automatisch der Sleep-Modus (keine LED leuchtet) aktiviert wird.
Sleep-Modus aktiviert
Tastenkombination: 1 und 6
Nach Abspielen einer MP3-Datei wird sofort der Sleep-Modus aktiviert. Die Ruhestromaufnahme beträgt hierbei nur ca. 15 μΑ.
Idle-Modus aktiviert
Tastenkombination: 1 und 7
Im Idle-Modus wird nach Abspielen einer MP3-Datei auf neue Eingaben gewartet. MP3-Decoder und Verstärker werden im Idle-Betrieb abgeschaltet. Hier beträgt die Ruhestromaufnahme ca. 2,5 mA.
Idle-Modus deaktiviert
Tastenkombination: 1 und 9
MP3-Decoder und NF-Verstärker sind dauerhaft aktiv. Achtung: Die Ruhestromaufnahme beträgt hierbei ca. 30 mA, was im Batteriebetrieb zu einer schnellen Entladung führen kann.
Betriebsmodi
NF-Verstärker aktivieren/deaktivieren
Tastenkombination: 1 und 8
Bei Deaktivieren ist der NF-Verstärker in allen Powermodi komplett abgeschaltet. Diese Einstellung ist für den Betrieb des MSM5 mit einem externen Verstärker gedacht. Im aktivierten Zustand wird der Verstärker wie in den zuvor beschriebenen Powermodi bei Bedarf an- und abgeschaltet.
Tastenmodi
Normales Abspielen
Tastenkombination: 2 und 3
Erneuter Tastendruck derselben Taste stoppt die Wiedergabe.
Normal mit direktem Nachtriggern
Tastenkombination: 2 und 4
Erneuter Tastendruck derselben Taste startet die Wiedergabe von vorne.
PlayWhilePressed
Tastenkombination: 2 und 5
Tastendruck: Sound einmal abspielen, solange die Taste gedrückt gehalten wird
PlayWhilePressedLoop
Tastenkombination: 2 und 6
Tastendruck: Sound in Dauerschleife abspielen, solange die Taste gedrückt gehalten wird
PlayToEnd
Tastenkombination: 2 und 7
Tastendruck: Sound/Playlist einmal komplett abspielen, dabei keine Reaktion auf weitere Betätigung
Ausnahme: mehrere Tasten lange gedrückt halten
RandomAndRow
Tastenkombination: 2 und 8
Tastendruck TA1: zufälliges Abspielen eines Sounds aus der Liste „random.txt“
Tastendruck TA2: Abspielen des nächsten Sounds aus der Liste „row.txt“ bei erneutem Tastendruck
Zurücksetzen auf Anfang über Taste 10
Taste 3 bis Taste 9: Start der zugehörigen Sounddatei
Erneute Bestätigung der Taste während des Abspielens startet die Sounddatei neu bzw. startet die nächste Sounddatei.
RandomAndRowToEnd
Tastenkombination: 2 und 9
Verhält sich wie „Random und Row“, jedoch mit dem Unterschied, dass während des Abspielens keine weiteren Tastendrücke vom MSM5 angenommen werden. Ausnahme: mehrere Tasten lange gedrückt halten
LED-Anzeigen
Die beiden SMD-Leuchtdioden DS1 und DS2 (siehe z. B. Bild 3) dienen zur Anzeige der verschiedenen Betriebszustände des MP3-Soundmoduls. Beim Starten des Moduls leuchten beide LEDs gleichzeitig für einen kurzen Moment auf. Die dauerhaft leuchtende blaue LED DS1 zeigt die Wiedergabe einer Audiodatei (Play-Modus) oder, sofern langsam blinkend, den Idle-Modus an. Schnelles blaues Blinken signalisiert, dass keine SD-Karte im MSM5 eingesetzt ist. Die rote LED DS1 dient der Fehleranzeige und für Quittierungssignale, wie nachfolgend aufgeführt.

Fehlercodes
Ein längeres Blinken der roten LED signalisiert zunächst den Start einer Fehleranzeige. Dem folgt ein- oder mehrmaliges Aufblitzen, wobei die Anzahl der Blitze den jeweiligen Fehlercode beschreibt:
- Blinken 1x lang, 1x kurz: SD-Karte nicht gefunden oder Dateisystem fehlerhaft
- Blinken 1x lang, 2x kurz: Sounddatei nicht gefunden oder fehlerhaft
- Blinken 1x lang, 3x kurz: Playlist nicht gefunden
- Blinken 1x lang, 4x kurz: Playlist-Eintrag ungültig
- Blinken 1x lang, 5x kurz: Ordner nicht gefunden
Diese Sequenzen werden 3x wiederholt und können mittels Tastendrucks abgebrochen werden.
Serielle Schnittstelle
Durch die serielle Schnittstelle lässt sich das Modul noch flexibler über eigene Mikrocontroller oder über den PC steuern. Für die Verwendung am PC wird ein USB-UART-Wandler z. B. der UM2102N (Bild 4) benötigt. Dieser wird an die vorgesehenen Pins angeschlossen.
Bei der Verbindung zu anderen UART-Schnittstellen ist zu beachten, dass die Leitungen RX und TX jeweils getauscht werden müssen. So ist TX vom USB-UART-Wandler mit RX des MSM5 und umgekehrt zu verbinden. Als Einstellungen für die serielle Schnittstelle wurde die Baudrate 115200 Baud, 8 Zeichen, keine Parität und 1 Stoppbit gewählt.

Protokoll der Schnittstelle
Um das Protokoll möglichst einfach zu halten und so z. B. mit einem Terminalprogramm wie HTerm arbeiten zu können, wurden ausschließlich ASCII-Zeichen verwendet. Auch auf eine CRC-Prüfung oder der Angabe von Längeninformation in den Befehlen wurde verzichtet. Anfang und Ende werden durch entsprechende Zeichen markiert: für Start „<“ und für Ende,,>“. Da diese Zeichen im FAT-Dateisystem nicht verwendet werden dürfen, können auch keine Konflikte beim Auslesen von Dateinamen entstehen.
Tabelle 3: Antworten ACK/NAK
| Antwort | ASCII | Bedeutung |
|---|---|---|
| ACK | @ | Übertragung erfolgreich |
| NAK_BUSY | # | Befehl konnte nicht verarbeitet werden, da Prozess noch beschäftigt |
| NAK_UART_ERROR | ! | Fehler bei der Datenübertragung |
| NAK_OUT_OF_RANGE | Wert außerhalb des gültigen Bereichs | |
| NAK_ERROR_COMMAND | ? | Befehl fehlerhaft: unvollständig oder Start/Ende falsch |
Die Befehle sind so aufgebaut, dass zuerst ein Befehlsbuchstabe steht und dann eventuell zusätzliche Daten folgen. Einige Befehle benötigen keine weiteren Daten z. B. beim Auslesen von Informationen. Bei den Rückmeldungen gibt es zwei Fälle:
- Bei Antworten auf Befehle, die Einstellungen im Soundmodul setzen, kommen Befehl und ein Zeichen für ACK oder NAK zurück. Bei ACK wurde der Befehl erfolgreich ausgeführt, bei NAK ist hingegen ein Fehler aufgetreten (Tabelle 3).
- Bei Antworten beim Auslesen von Informationen folgt in der Rückmeldung zum Befehl die Information, meistens so, wie sie auch zum Setzen der Einstellungen genutzt wird. Beim Auslesen von Dateinamen, Playlistnamen oder Ordnernamen werden die Namen mit maximal 20 Zeichen ausgegeben, sollten die Namen länger sein, werden diese abgeschnitten.
Die vollständige Liste aller Befehle finden Sie in Tabelle 4.
Den Status „i“ sendet das Gerät beim Starten sowie zum Ende eines Soundfiles selbstständig aus, ohne dass diese Information explizit angefordert wurde. In Bild 5 sind als Beispiel einige Befehle und ihre Ausgaben zu sehen. Im Abschnitt „Transmitted data“ sind die über den PC gesendeten Befehle sichtbar, im Abschnitt „Received Data“ die vom MSM5 gesendeten Informationen.
Nach dem Starten erfolgen die Firmwareausgabe <V1.5.0> und Status <i0> automatisch vom MSM5. Auf den Befehl <F1> für Sound 001 wird mit <F@> als Bestätigung geantwortet, danach folgt <iF> als Status, dass eine Datei abgespielt wird.
Auf die Abfrage des Sounddateinamens <f> wurde mit <f001summerpiano.mp3> geantwortet.
Auf den Befehl für Ordnerwechel <o1> wurde mit <o@> bestätigt und das Abspielen beendet. Hierdurch wird der Status <i0> gesetzt.
Die Abfrage des Ordnernamens <o> führt zur Ausgabe <o\folder001\>
Mittels <Fr> wurde ein zufälliger Sound aus dem aktuellen Ordner gestartet und entsprechende Rückmeldung übermittelt.
Beim Status sind auch Kombinationen aus PF und PEx und einer Zahl möglich. So bedeutet z. B. <iPE4>, dass eine Playlist aktiv ist, aber der Eintrag in der Liste ungültig war.

Tabelle 4: UART-Befehle
| Befehl | ASCII | Daten | Antwort | Beschreibung |
|---|---|---|---|---|
| Open File | F | 16-Bit-Datei-Nummer (max. 5 Zeichen als ASCII) | ACK/NAK | öffnet Datei mit angegebener Nummer 1 bis 65535 |
| Get Filename | f | keine | Dateiname | gibt die ersten 20 Zeichen des Namens aus |
| Stop File | G | keine | ACK/NAK | stoppt Datei |
| Open Playlist | P | 16-Bit-Datei-Nummer (max. 5 Zeichen als ASCII) | ACK/NAK | öffnet Playlist mit angegebener Nummer 1 bis 65535 |
| Get Playlistname | p | keine | Dateiname | gibt den Namen der Playlist aus (max. 20 ASCII-Zeichen) |
| Stop Playlist | 0 | keine | ACK/NAK | stoppt Playlist und Datei |
| Set KeyMode | K | 0-6 (siehe Get KeyMode) (max. 1 Zeichen als ASCII) | ACK/NAK | setzt das Tastenverhalten |
| Get KeyMode | k | keine | KeyMode | Gibt das Tastenverhalten aus: Mode 0 Normal Mode 1 Retrigger Mode 2 PlayWhile Pressed Mode 3 PlayWhile PressedLoop Mode 4 PlayToEnd Mode 5 Random And Row (nachtriggerbar) Mode 6 Random AndRowToEnd |
| Set Autoplay | A | 0-1 (max. 1 Zeichen als ASCII) | ACK/NAK | setzt das Autoplay-Verhalten |
| Get Autoplay | a | keine | Autoplay | 0 = aus 1 = aktiv |
| Set Volume | L | 0-255 (max. 3 Zeichen als ASCII) | ACK/NAK | – |
| Get Volume | I | keine | Lautstärke | 0-255 (max. 3 Zeichen als ASCII) |
| Volume Up | U | keine | ACK/NAK | – |
| Volume Down | D | keine | ACK/NAK | – |
| Set AmplifierMode | X | 0-1 (max. 1 Zeichen als ASCII) | ACK/NAK | – |
| Fet Amplifier Mode | X | keine | 0 = NF-Verstärker aus 1=NF-Verstärker aktiv | |
| Get Version | V | keine | VΧ.Χ.Χ | wobei x Zahlen mit bis zu 3 Zeichen sein können Beispiel: v1.5.0 |
| Get Status | i | keine | P = Playlist active F = File active 0 = Off/not active Ex = Errorcode 1 = No SD or Filesystem 2 = FileError 3 = Playlist Error 4 = Playlist Entry Error 5 = Folder Error | |
| Set PowerMode | M | 0-3 (max. 1 Zeichen als ASCII) | ACK/NAK | – |
| Get PowerMode | m | keine | Powermode | 0: Idle+Sleep 1: Sleep 2: Idle 3: High Power (always on) |
| Set Folder | 0 | 0-255 (max. 3 Zeichen als ASCII) | ACK/NAK | 0 = Hauptverzeichnis 1-255 Folder001 bis Folder255 |
| Get Folder | 0 | keine | gibt den Namen des Ordners aus (max. 20 ASCII-Zeichen) | |
| Update | Z | u = Update f = Factory Reset r = SoftReset | ACK/NAK | Update ausführen, falls Datei im Hauptverzeichnis vorhanden SoftReset löst einen Neustart des Geräts aus FactoryReset löscht alle Einstellungen, auch die serielle Schnittstelle wird deaktiviert |
Schaltung
Die Schaltung in Bild 6 besteht aus drei Hauptkomponenten, dem Mikrocontroller, dem Schaltregler für Mikrocontroller und SD-Karte sowie dem Audioverstärker mit Boost-Converter. Wir beginnen bei den Eingangspins für die Versorgungsspannung. Durch 02 wird ein Verpolungsschutz realisiert. Vor allem bei der Montage auf einem Steckbrett kann eine Verpolung durch den Anwender relativ schnell entstehen.
Danach folgt der Schaltregler U4, der als Buck-Boost-Converter vom Typ ISL9122A ausgelegt ist. Hiermit werden aus dem Versorgungsspannungsbereich von 3-5 V sichere 3,3 V für den Mikrocontroller und die SD-Karte erzeugt. Zum dauerhaften Aktivieren des Schaltreglers wird der Enable-Eingang über R16 auf die Versorgungsspannung gelegt. C18, C19 und C21-C22 bilden die notwendigen Stützkondensatoren, L3 die Induktivität für den Schaltregler. Über L4 wird die Ausgangsspannung noch leicht gefiltert, bevor sie zum Controller U1 gelangt.
Beim Controller handelt es sich um einen EFM32PG23 von Silabs, der zwei 12-Bit-Digital-Analog-Converter (DAC) für die Ausgabe der Audiodaten bereitstellt und zudem genügend Rechenleistung aufweist, um sowohl die SD-Karte auszulesen als auch die MP3-Daten in Software zu decodieren.
Die SD-Karte wird nur bei Bedarf eingeschaltet, dazu fungiert der MOSFET Q1 als Schalter.
Die LEDs DS1 und DS2 zur Anzeige des Modulstatus werden direkt über Vorwiderstände vom Controller angesteuert. Ebenso sind auch die Tastereingänge direkt mit dem Controller verbunden. Extern steht dem Controller ein 39-MHz-Oszillator Y1 zur Seite, intern werden daraus jedoch 80 MHz über eine Phase-Locked-Loop (PLL) generiert.

L1 und C6-C13 dienen zur Filterung und Stabilisierung der Versorgungsspannungen von U1. Das Audiosignal wird an PB00 und PB01 generiert und über C3 und C4 entkoppelt weitergegeben, R2 und R3 dienen zur Entladung.
Die beiden Audiosignale für rechts und links können an der Stiftleiste Audio Out L + R an J1 abgegriffen werden. Die Pegel liegen bei maximaler Lautstärke bei einer USpitze-Spitze von ca. 1,6 V. Das Stereo-Audiosignal wird über die Addierstufe aus R13 und R17 zu einem Monosignal zusammengefügt, um dann über die Lautstärkenvorauswahl mit dem Trimmer-Potentiometer R18 zum Audioverstärker zu gelangen.
Wie bereits erwähnt, handelt es sich um einen Verstärker mit integriertem Boost-Converter, der die Eingangsspannung auf 5,5 V hochtransformiert. Dazu dienen zum einen die Filter und Stützkondensatoren C17, C24-C26, die Speicherdrossel L2 und der Widerstandteiler R11-R12, über den die Ausgangsspannung festgelegt wird. Das Audioausgangssignal wird dann über die Filter L5, L6 und C27, C28 auf den Lautsprecher ausgegeben.
Der Schaltausgang Out wird direkt vom Controller angesteuert, der Ausgang wechselt von 0 V auf 3,3 V, solange das Abspielen aktiv ist. Dies kann z. B. zum Aktivieren eines externen Verstärkers genutzt werden. Bei Verwendung des Ausgangs muss sichergestellt sein, dass niemals mehr als max. 10 mA fließen, da der Ausgang direkt an einen Controller-Pin angeschlossen ist und bei Überlastung den Controller zerstören könnte.
Zusammenbau
Der vollständige Lieferumfang kann Bild 7 entnommen werden. Bild 8 zeigt die Platinen mit den passenden Bestückungsdrucken.


Der Zusammenbau beschränkt sich auf die Stiftleisten J1, J2 und J4, J5, wobei die Stiftleisten für J4 und J5 etwas vorbereitet werden müssen. Dazu sind die mittleren Pins mit einer Spitzzange aus der Stiftleiste herauszuziehen, sodass für J4 nur die äußeren Pins und für J5 die jeweils zwei äußeren Pins stehen bleiben, siehe Bild 9 und 10.


Beim Anlöten ist besonders auf die daneben liegenden Komponenten zu achten. Durch die geringe Baugröße des Moduls ließ es sich nicht verhindern, dass in der Nähe der Stiftleisten auch andere Komponenten platziert wurden. Bitte achten Sie beim Einlöten der Stiftleisten darauf, dass diese plan und gerade eingelötet werden, wie es in Bild 11 zu sehen ist.
Sind die Stiftleisten eingelötet, können die beiden Platinen aufeinandergesetzt werden. Durch die unterschiedliche Anordnung der Pins lassen sich die Platinen nicht falsch zusammenstecken. Abschließend können die sechs Verbindungspins der beiden Platinen angelötet werden, um ein kompaktes Modul zu erhalten (Bild 12). Zum Schluss wird die SD-Karte in den SD-Kartenschacht eingeschoben (Bild 13).


Technische Daten
| Geräte-Kurzbezeichnung: | MSM5 |
| Wiedergabeformat: | MPEG 1.0 Audio Layer 3 (MP3: CBR, VBR, ABR) |
| Bitrate: | bis 320 kbit/s |
| Speichermedium: | microSD-Karte |
| NF-Ausgangsleistung: | max. 2 W an 80 bei 5 VDC |
| Wiedergabe: | auf Tastendruck bis zu 10 unterschiedliche MP3-Dateien oder UART |
| Playlists: | auf Tastendruck bis zu 10 Listen mit jeweils bis zu 255 Dateien |
| Tasteranschlüsse: | max. 10 – Achtung: max. 3,3 VDC |
| Statusanzeigen: | 2 Leuchtdioden (rot und blau) |
| Lautstärkevoreinstellung: | Trimm-Potentiometer |
| Lautstärkeeinstellung: | über Tastenkombination/UART |
| Leitungslängen: | max. 10 cm |
| Versorgungsspannung: | 3-5 VDC |
| Stromaufnahme Betrieb: | 50-1000 mA (je nach Lautstärke und Versorgungsspannung) |
| Stromaufnahme Stand-by: | 2,5 mA (Idle-Modus) 15 μΑ (Sleep-Modus) |
| Audioausgang: | bis 1,6 VSpitze-Spitze |
| Schaltausgang Out: | 0 V/3,3 VDC, max. 10 mA |
| Umgebungstemperatur: | 5-35 °C |
| Abmessungen: | 31,3 x 21,3 x 16,2 mm |
| Gewicht: | 8 g |
Stückliste
| Widerstände: | |
| 0 Ω/SMD/0805 | R8, R9 |
| 100 Ω/SMD/0402 | R4 |
| 470 Ω/SMD/0402 | R5 |
| 1 kΩ/SMD/0402 | R13, R17 |
| 22 kΩ/SMD/0402 | R12 |
| 100 kΩ/SMD/0402 | R1-R3, R14, R15 |
| 220 kΩ/SMD/0402 | R11 |
| 1 MΩ/SMD/0402 | R16 |
| Trimmer/5 kΩ/SMD | R18 |
| Kondensatoren: | |
| 1nF/50 V/SMD/0402 | C27, C28 |
| 10 nF/50 V/SMD/0402 | C12 |
| 100 nF/25 V/SMD/0402 | C2, C5-C8, C10, C14, C16, C19, C22, C24 |
| 220 nF/50 V/SMD/0603 | C20, C23 |
| 1 µF/16 V/SMD/0402 | C9 |
| 1 µF/50 V/SMD/0603 | C3, C4 |
| 10 µF/16 V/SMD/0805 | C11, C13, C15, C18, C21 |
| 22 µF/6,3 V/SMD/0603 | C1 |
| 22 µF/16 V/SMD/1206 | C17, C25, C26 |
| Halbleiter: | |
| EFM32PG23B210F256IM48-C | U1 |
| ΤΡΑ2013D1/SMD | U3 |
| ISL9122/SMD | U4 |
| IRLML6401/SMD | Q1, Q2 |
| LED/rot/SMD/0603 | DS1 |
| LED/blau/SMD/0603 | DS2 |
| Sonstiges: | |
| Chip-Ferrite, 6000 bei 100 MHz, 0603 | L1, L4 |
| Speicherdrossel, SMD, 4,7 μH/0,7 A | L2 |
| Speicherdrossel, SMD, 1,0 μH/2,1 A | L3 |
| Chip-Ferrite, 300 0 bei 100 MHz, 0603 | L5, L6 |
| Quarz, 39000 MHz, SMD | Y1 |
| Stiftleisten, 1x 10-polig, gerade, THT | J1, J2 |
| microSD-Kartenhalter | J3 |
| Stiftleisten, 1x 8-polig, gerade | J4, J5 |



