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.

Bild 1: Größenvergleich MSM4 zu MSM5
Bild 1: Größenvergleich MSM4 zu MSM5

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.

Bild 2: Geräteübersicht
Bild 2: Geräteübersicht

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

TastenkombinationFunktionTastenkombinationFunktion
1+2beim Starten gedrückt → Update2+3Tastenmodus 0 normales Abspielen
1+3akustische Versionsnummernausgabe2+4Tastenmodus 1 normal mit direktem Nachtriggern
1+4Autoplay ein-/ausschalten
1+5Powermode Idle + Sleep2+5Tastenmodus 2 Play While Pressed
1+6Powermode Sleep
1+7Powermode Idle2+6Tastenmodus 3 Play While PressedLoop
1+8Audioverstärker ein-/ausschalten
1+9Powermode High-Power-Mode2+7Tastenmodus 4 PlayToEnd
1+10Update starten2+8Tastenmodus 5 RandomAndRow
2+9Tastenmodus 6 RandomAndRomToEnd
2+10Werkseinstellungen wiederherstellen
TastenkombinationFunktion
5+6Hauptverzeichnis der SD-Karte auswählen (Ausgabe Folder0)
5+7Folder001 auswählen
5+8Folder002 auswählen
5+9Folder003 auswählen
5+10Folder004 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.

Bild 3: Demoaufbau mit Soundwürfel und mit einem Steckboard
Bild 3: Demoaufbau mit Soundwürfel und mit einem Steckboard

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.

Bild 4: USB-UART-Wandler UM2102N
Bild 4: USB-UART-Wandler UM2102N

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

AntwortASCIIBedeutung
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_RANGEWert 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:

  1. 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).
  2. 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.

Bild 5: Beispielausgabe mit HTerm
Bild 5: Beispielausgabe mit HTerm

Tabelle 4: UART-Befehle

BefehlASCIIDatenAntwortBeschreibung
Open FileF16-Bit-Datei-Nummer (max. 5 Zeichen als ASCII)ACK/NAKöffnet Datei mit angegebener Nummer 1 bis 65535
Get FilenamefkeineDateinamegibt die ersten 20 Zeichen des Namens aus
Stop FileGkeineACK/NAKstoppt Datei
Open PlaylistP16-Bit-Datei-Nummer (max. 5 Zeichen als ASCII)ACK/NAKöffnet Playlist mit angegebener Nummer 1 bis 65535
Get PlaylistnamepkeineDateinamegibt den Namen der Playlist aus (max. 20 ASCII-Zeichen)
Stop Playlist0keineACK/NAKstoppt Playlist und Datei
Set KeyModeK0-6 (siehe Get KeyMode) (max. 1 Zeichen als ASCII)ACK/NAKsetzt das Tastenverhalten
Get KeyModekkeineKeyModeGibt 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 AutoplayA0-1 (max. 1 Zeichen als ASCII)ACK/NAKsetzt das Autoplay-Verhalten
Get AutoplayakeineAutoplay0 = aus
1 = aktiv
Set VolumeL0-255 (max. 3 Zeichen als ASCII)ACK/NAK
Get VolumeIkeineLautstärke0-255 (max. 3 Zeichen als ASCII)
Volume UpUkeineACK/NAK
Volume DownDkeineACK/NAK
Set AmplifierModeX0-1 (max. 1 Zeichen als ASCII)ACK/NAK
Fet Amplifier ModeXkeine0 = NF-Verstärker aus
1=NF-Verstärker aktiv
Get VersionVkeineVΧ.Χ.Χwobei x Zahlen mit bis zu 3 Zeichen sein können Beispiel: v1.5.0
Get StatusikeineP = 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 PowerModeM0-3 (max. 1 Zeichen als ASCII)ACK/NAK
Get PowerModemkeinePowermode0: Idle+Sleep
1: Sleep
2: Idle
3: High Power (always on)
Set Folder00-255 (max. 3 Zeichen als ASCII)ACK/NAK0 = Hauptverzeichnis
1-255 Folder001 bis Folder255
Get Folder0keinegibt den Namen des Ordners aus (max. 20 ASCII-Zeichen)
UpdateZu = Update f = Factory Reset r = SoftResetACK/NAKUpdate 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.

Bild 6: Schaltbild aller Komponenten des MSM5
Bild 6: Schaltbild aller Komponenten des MSM5

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.

Bild 7: Lieferumfang
Bild 7: Lieferumfang
Bild 8: Vorder- und Rückseite der beiden Platinen (Originalgröße)
Bild 8: Vorder- und Rückseite der beiden Platinen (Originalgröße)

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.

Bild 9: So kann man einzelne Stifte aus einer Stiftleiste herausziehen
Bild 9: So kann man einzelne Stifte aus einer Stiftleiste herausziehen
Bild 10: Die vorbereiteten Stiftleisten
Bild 10: Die vorbereiteten Stiftleisten

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.

Bild 11: Eingelötete Stiftleisten
Bild 11: Eingelötete Stiftleisten
Bild 11: Eingelötete Stiftleisten
Bild 11: Eingelötete Stiftleisten
Bild 11: Eingelötete Stiftleisten

    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).

    Bild 12: Fertig aufgebautes Modul
    Bild 12: Fertig aufgebautes Modul
    Bild 13: Einsetzen der SD-Karte
    Bild 13: Einsetzen der SD-Karte

    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/0402C12
    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/0805C11, 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

    Weitere Beiträge