projekte:2025:usb_to_spdif

USB zu S/PDIF Adapter

Ein Projekt von: H3

Je nach Betriebssystem und Software gibt es unterschiedliche Lösungen um Audio auf die Musikanlagen des Space zu bekommen. Chromecast für Android mit Google Diensten, AirPlay für Apple-Geräte. Wer diese Protokolle nicht unterstützt kann sich per HDMI Verbinden. Viele Smartphones unterstützen jedoch keine Videoausgabe über ihren USB-Anschluss. Mittlerweile ist auch die 3.5mm-Klinkenbuchse selten verbaut. Übrig bleibt Audio über USB, was von fast allem beherrscht wird. Eine USB-Soundkarte mit Klinkenbuchse würde hier eine einfache Lösung bieten, kommt jedoch mit einem Problem: Brummen. Eine Längere Verbindung wie sie vom Verstärker auf der Brücke zur Couch nötig wäre fängt erfahrungsgemäß zu viele Störungen auf. Ich finde es macht mehr Sinn, die Übertragungskette bis zum Verstärker digital zu halten. Daher habe ich diese Lösung entwickelt:

Auf einem RP2040 läuft eine modifizierte Version der FoxDAC-Firmware, aus der alles entfernt wurde was nicht zur USB oder S/PDIF funktionalität gehört. Am Pin des S/PDIF-Ausgang ist eine LED angeschlossen, welche in ein TOSLINK-Kabel leuchtet. Dieses ist mit dem Verstärker verbunden. Aktuell ist ein recht großes Entwicklungsboard von N.M. im Einsatz, da Ich nichts anderes mit einem RP2040 übrig hatte. Auch ist die Ausrichtung der LED mit dem TOSLINK-Kabel nicht stabil. Beides wird in Zukunft verbessert.

Um gleichzeitig den Akku des Smartphones laden zu können wurde eine Adapterbox aus Resten zusammengebaut. Ein USB-C Lade- und Kopfhörer-Adapter mit beschädigter Audioschaltung wird wiederverwendet, um per USB-C Power-Delivery auszuhandeln, dass ein Smartphone bis zu 12V vom Netzteil anfrägt und gleichzeitig seinen USB-Anschluss auf Host-Modus schaltet. Dazu wied in das Adapterboard ein Netzteil eingesteckt und die CC-Leitung (für USB-PD-Kommunikation) an das Handy durchgereicht. Die USB-Datenleitungen D+/D- werden aber zum RP2040 abgezweigt, statt diese mit der defekten Audioschaltung des Adapterboards zu verbinden. Somit lädt das Smartphone und erkennt gleichzeitig den RP2040 als Kopfhörer. Da sich die Stecker von USB-C Kabel auf Dauer abnutzen wird das Kabel zum Handy mit einer Buchse an der Box verbunden, anstatt es fest zu verlöten. So ist es einfach wechselbar. USB-C-Buchsen haben normalerweise 2 CC-Pins verbunden, da ein Kabel, welches nur eine CC-Leitung hat, je nach Drehung entweder den einen oder den anderen CC-Pin der Buchse benutzt. Da das Adapterboard jedoch ursprünglich eine integriertes Kabel hatte, hat es nur einen CC-Pin. Da nur ein CC-Pin der Buchse verbunden ist, funktioniert das Kabel zum Handy nur in einer Drehrichtung. Man könnte beide CC-Pins der Buchse miteinander verbinden, was jedoch zu Problemen mit Kabeln über 60W Maximalleistung führt, denn diese haben im Stecker einen Chip um die Maximal zulässigen Werte des Kables zu Speichen. Diese Chip versorgt sich über den zweiten CC-Pin und stört den CC-Bus wenn beide CC-Pins miteinander verbunden sind. Da dieses Verhaltenvermutlich verwirrender ist, als den Stecker drehen zu müssen, wurde sich hierfür entschieden.

  • projekte/2025/usb_to_spdif.txt
  • Zuletzt geändert: 2025/09/03 01:37
  • von hacker3000