Der DF-Player ist mit seiner Größe von nur 2 cm x 2 cm ein hochintegriertet MP3-Player, aus dem sich mit nur wenigen zusätzlichen Bauteilen eine Musikbox aufbauen lässt. Integriert auf diesem Baustein ist alles:

Dieser nahezu "gebrauchsfertige" Baustein wird im TonUINO eingesetzt, wodurch das Programm des TonUINO von vielen Aufgaben der SD-Karten Verwaltung entlastet ist.
Das Programm des TonUINO übernimmt die volle Kontrolle über den DF-Player, indem es ihn über die serielle Schnittstelle steuert. So werden die Auswahl von Musikstücken über RFID-Karten und auch andere Funktionen möglich, was den TonUINO zu weit mehr, als nur einer Misikbox macht.

Im laufe der Zeit sind viele Varianten (Nachbauten) des DF-Players entstanden, die alle unter dieser Bezeichnung gehandelt werden. Jeder Hersteller reklamiert zwar, vollständig kompatibel mit dem Original zu sein, was jedoch nur für die Grundfunktionen zutrifft.
Gerade bei der Steuerung über die serielle Schnittstelle offenbaren sich teilweise recht gravierende Abweichungen, so dass in der SW des TonUINO für fast jede Variante Anpassungen vorgenommen werden mussten.
Die Einstellung für die verwendete DF-Player Variante muss VOR dem Compilieren in der TonUINO SW vorgenommen werden.


Df-Player Pinbelegung

Pin Signal
Vcc Versorgungsspannung
RX serielle Schnittstelle
TX serielle Schnittstelle
DAC_R Audio R (AUX-Pegel)
DAC_L Audio L (AUX-Pegel)
SPK 1 Lautsprecher +
GND Masse / Ground
SPK 2 Lautsprecher -
Busy Signal Busy
USB - USB Daten -
USB + USB Daten +
ADKEY2 Anschluss Tastenmatrix 2
ADKEY1 Anschluss Tastenmatrix 1
IO 2 Anschluss Taste 2
GND Masse / Ground
IO 1 Anschluss Taste 1

DF-Player - Decoder Chip

Die DF-Player werden mit unterschiedlichen Decoder Chips ausgeliefert, die zwar in den Grundfunktionen alle kompatibel sind, in Umsetzung und Verarbeitung von Steuerbefehlen aber Unterschiede aufweisen. Das führt dazu, dass für die fehlerfreie Funktion verschiedene Wartezeiten zwischen den Steuerbefehlen zu beachten sind.

Die TonUINO Firmware enthält bereits eine Vielzahl solcher Anpassungen, die anhand der Bezeichnung des Decoder Chips ausgewählt werden kann.
Damit diese Anpassung korrekt vorgenommen werden kann, muss die Bezeichnung des Decoder Chips (siehe Abbildung) vor dem Zusammenbau notiert werden.



Decoder Chip - Anpassung der TonUINO Firmware

Anpassungen für folgende Decoder Chips sind verfügbar: Die teilweise recht umfangreichen Anpassungen können vor dem Kompilieren der Firmware einfach durch Auswahl des entsprechenden Decoder Chips aktiviert werden.
Dazu sind in der Datei "constants.hpp" entsprechende Zeilen vorgesehen:
//#define DFMiniMp3_T_CHIP_GD3200B
//#define DFMiniMp3_T_CHIP_MH2024K16SS
//#define DFMiniMp3_T_CHIP_LISP3
//#define DFMiniMp3_T_CHIP_MH2024K24SS_MP3_TF_16P_V3_0
#define DFMiniMp3_T_CHIP_Mp3ChipIncongruousNoAck

Als Standard ist die letzte Zeile für "DFMiniMp3_T_CHIP_Mp3ChipIncongruousNoAck" aktiv, so dass allgemeine Einstellungen aktiviert werden, mit denen auch unbekannte Decoder Chips zumindest in den Grunfunktionen zu betreiben sind.
Sollen aber Anpassungen für einen bekannten Decoder Chip aus der Liste aktiviert werden, mussen in der betreffenden Zeile die Schrägstriche (//) am Zeilenanfang entfernt werden.

Wichtig ist dabei, dass nur EINE Zeile zur Anpassung aktiviert sein darf.
Entsprechend müssen die 2 Schrägstriche wieder am Anfang der nicht mehr benötigten Zeile eingesetzt werden.

DF-Player prüfen - ganz ohne Software

Der Test wird überprüfen, ob der DF-Player prinzipiell funktionsfähig ist.
Dazu wird folgendes benötigt:
Der DF-Player soll im Test die Sound-Datei von der SD-Karte abspielen

Testaufbau

Der notwendige Testaufbau kann schnell auf einem Breadboard zusammengesteckt, oder notfalls sogar "fliegend" verdrahtet werden.

Der Test kann sogar am eingebauten DF-Player auf der TonUINO Platine vorgenommen werden.
Da der Pin IO_1 auf der TonUINO Platine nicht verbunden ist, kann er gefahrlos gegen GND gezogen werden.
Es ist nur zu beachten, dass eine SD-Karte mit angepasstem Inhalt gesteckt ist.
Der Testablauf ist dann gleich. Vorteil: Der Lautsprecheranschluss auf der Platine ist gleichzeitig auch überprüft.

SD-Karte und Inhalt

Eine SD-Karte, die bereits für den TonUINO vorbereitet wurde, ist für diesen Test eigentlich nicht geeignet, da der DF-Player ohne Softwaresteuerung eine etwas andere Datenstruktur erwartet / benötigt.
Die ideale SD-Karte für diesen Test ist ebenfalls FAT32 formatiert, enthält aber keine weiteren Verzeichnisse
So kann der DF-Player bis zu 3000 Dateien verwalten. Das bedeutet aber, dass anders als für den TonUINO, nun die Audio-Dateien 4-stellig nummeriert sein müssen.
Die Audio-Datei, die der DF-Player für unseren Test abspielen soll, muss also 0001.mp3 heißen.

Testablauf

  1. Eine entsprechend vorbereitete SD-Karte steckt im DF-Player
  2. Die Spannungsversorgung wird eingeschaltet (Die LED des DF-Players leuchtet NICHT)
  3. Pin IO_1 des DF-Players wird kurzzeitig mit GND (Taster drücken) verbunden.
    Der DF-Player startet die Wiedergabe der Audio-Datei (Die LED am Player leuchtet solange die Wiedergabe läuft).
  4. Der Sound ist über den Lautsprecher zu hören.

Ist der Sound zu hören, gilt der DF-Player mit dem integrierten Verstärker als funktionsfähig.


falsche Geschwindigkeit der Wiedergabe

Die TonUINO Software steuert zwar den DF-Player, übergibt aber nur Befehle wie Die Decodierung der mp3-Datei, also das Abspielen, übernimmt dann der DF-Player völlig autonom und meldet nur an die TonUINO SW zurück, wenn er den Befehl ausgeführt hat.
Ursachen für Geschwindigkeitsunterschiede sind also alleinig bei den DF-Playern und / oder den mp3-Dateien zu suchen.

Zum Verständnis der Codierung von mp3-Dateien sind 2 Angaben wichtig: Somit ist eine originalgetreue Wiedergabe einer mp3-Datei nur möglich, wenn der DF-Player genau dieselbe Abtastrate zur Decodierung verwendet, wie sie auch bei der “Aufnahme” verwendet wurde. Diese Angaben stehen im “Header” einer jeden mp3-Datei, so dass sich die Player darauf einstellen können.

Nach Spezifikation unterstützt der DF-Player eine ganze (aber feste) Anzahl gebräuchlicher Abtastraten. Ist allerdings eine Abtastrate verwendet / angegeben worden, die nicht in das (vom DF-Player) vorgegebene Raster passt, wird versucht mit der am nächsten liegenden Abtastrate zu decodieren, was dann zur Abweichung der Wiedergabegeschwindigkeit führt.

In diesem Zusammenhang kommt nun der Decoder-Chip des DF-Players in Spiel. Alle Hersteller reklamieren zwar Kompatibilität, im Detail gibt es jedoch teilweise entscheidende Unterschiede. Die TonUINO SW bietet dazu Anpassungen für die unterschiedlichen Decoder-Chips, die sich allerdings ausschließlich auf die Befehlsverarbeitung beziehen, NICHT auf die eigentliche Decodierung.
Hierzu wäre es nun interessant zu wissen, mit welchem Decoder-Chip ein DF-Player mit Geschwindigkeitsabweichung ausgerüstet ist.

Auch die mp3-Datei selbst kann Ursache sein, wenn Um Abweichungen in der mp3-Datei selbst zu erkennen, kann die Datei mit dem Programm " Audacity" analysiert werden und ggf. mit der gebräuchlichen Abtastrate von 44,1 kHz neu codiert / repariert werden.