die Frage danach wurde schon hier und da gestellt, aber es gab darauf noch keine wirkliche Antwort. In diesem Thread soll es um beide Seiten der Baustelle gehen.
Dort steht nur das es geht, die zu nutzenden Links, theoretische Timingprobleme. Nichts über Softwareeinstellungen: http://www.dimdim.gr/2014/12/the-rasberr...rough-i2s/[URL="http://www.dimdim.gr/2014/12/the-rasberry-pi-audio-out-through-i2s/"]
[/URL]
Was geht bisher mit dem achtkanal-Plugin von 2.0.3?
Wenn ich das Plugin und die Codestellen richtig verstehe:
Die Signale vom Expansion Port sind an SDATA_IN3 angeschlossen, welche zu INPUTS 40..47 werden.
Sie landen auf dem Eingangsmultiplexer, der im Prinzip schon per Weboberfläche eingestellt werden kann, wenn dsp.html erweitert wird (Optionen mit 0x00020000 bis 0x00020007 für ADDR_EXP)
Das Plugin ist eingestellt für acht Kanäle je 32 Bit (Hardware Config/Register Controls/Serial Ports/SDATA_IN3
Nötige Änderung am Plugin?
Reicht eine neue Übersetzung mit geänderten Einstellungen für SDATA_IN3 aus? Welche "Word Length", welchen "TDM Mode" muss man einstellen?
Wie weiter?
Ich werde demnächst probieren I2S auf dem Raspi zum laufen zu bringen. Ob das dann funktioniert kann ich nicht wirklich beurteilen, nur mit dem Oszi die Ausgangssignale messen -- dann melde ich mich wieder. Hoffentlich kann man daran sehen, welches Format das ist und was im Plugin eingestellt werden muss.
Ich würde mich natürlich freuen, wenn jemand anders hier etwas beitragen kann und möchte!
wenn ich mich recht entsinne gibt es seit Kernelversion 3.17 den Device tree. Uralte Beiträge zur Nutzung von I2S am RPi bringen also nichts.
Alles relevante hatte ich in https://www.diy-hifi-forum.eu/forum/show...post291424 eigentlich schon geschrieben...
Link auf den Treiber für den ADAU1701 ist auch dabei. Ändert man die Ausgangskonfig eben auf 8 x 32 Bit, dann passt das auf TDM8. Overlay kompilieren, einbinden, fertig.
vielen Dank für den Hinweis, das hatte ich in dem Thread wohl übersehen.
Damit bekomme ich aus dem Raspi ein Signal heraus (LRCLK 48kHz, BCLK ~12,3 MHz, Datensignal auch vorhanden) aber es erscheint nichts am Ausgang des Aurora, vermutlich weil dessen Einstellungen
[ATTACH=CONFIG]58139[/ATTACH]
nicht zu denen passen, die Du dort https://github.com/MKSounds/ADAU1701-I2S...spberry-Pi beschreibst.
Die Aurora-Quellen habe ich durch Modifikation von dsp.html auf 0x00020000 und 0x00020001 eingestellt.
Welche der beiden Seiten ändere ich nun? Lieber nicht das Aurora-Plugin, aber nachdem ich nun eine Win64-Kiste aufgetrieben und SigmaStudio installiert habe, ist das vielleicht (kurzfristig) einfacher als den raspi zu ändern, denn da fehlt mir Wissen und/oder Hilfe: mit
konnte ich zwar aus der dts-Datei etwas machen, was irgendwie ähnlich der beigelegten .dtbo ist, aber eben erstens nicht identisch und zweitens habe ich keine Ahnung, wie ich die .dts ändern muss, damit das Raspi-Signal zum Aurora passt.
Wieder freue ich mich über sachdienliche Hinweise, ansonsten versuche ich es in den nächsten Tagen mit geänderten Einstellungen für SDATA_IN3 im Aurora-Plugin.
Leider noch kein Erfolg, der Aurora bleibt stumm: ich habe das 8channel-Plugin vom Aurora (weiter 2.0.3 als Basis) genommen und die SDATA_IN3-Einstellungen verändert, so dass sie zum unveränderten https://github.com/MKSounds/ADAU1701-I2S...spberry-Pi passen sollten, also:
LRCLK polarity: falling edge (LRCLK = 0 = left channel, LRCLK = 1 = right channel)
BCLK data change: falling edge
Transmission: MSB first
MSB position: delayed by 1 BCLK
Ich habe nur "MSB Position" auf "I2S - BCLK delay by 1" verändert, "LRCLK type" auf "50/50 duty cycle clock", "TDM Mode" auf "2 channels, 32bit".
Beide Varianten von "BCLK Polarity" habe ich ausprobiert.
Oszi-Bilder vom ersten Versuch sind angehängt:
[ATTACH=CONFIG]58164[/ATTACH][ATTACH=CONFIG]58165[/ATTACH][ATTACH=CONFIG]58166[/ATTACH]
Danach auch noch Test mit "TDM Mode" wieder auf "8 channels".
Im SigmaStudio geschaut, ob die Eingangsmultiplexer die Reihenfolge haben wie das Enum im Code -- denn daraus hatte ich 0x0002 für Exp abgeleitet...und das ist es! Exp ist an vierter Stelle verbunden, also im Vergleich zum bisherigen Gedanken ESP und Exp vertauscht. Damit tönt es dann auch!
Jetzt muss ich hier ein paar aufgerissene Baustellen bearbeiten, dann werde ich das ganze besser beschreiben und in meinem github-repo mit dem alternativen 2.0.3-Derivat die Änderungen zur Verfügung stellen.
ebapst schrieb:Damit bekomme ich aus dem Raspi ein Signal heraus (LRCLK 48kHz, BCLK ~12,3 MHz, Datensignal auch vorhanden) aber es erscheint nichts am Ausgang des Aurora, vermutlich weil dessen Einstellungen
Aus dem Raspberry kommen gar keine Signale raus, der ist als Slave konfiguriert.
Zitat:Die Aurora-Quellen habe ich durch Modifikation von dsp.html auf 0x00020000 und 0x00020001 eingestellt.
Welche der beiden Seiten ändere ich nun?
Keine Ahnung, was du da genau geändert hast.
Am Aurora würde ich erstmal nichts ändern. Man muss mal im Layout prüfen, ob jeder serielle Port eigene Clocks hat. Könnte sonst sein, dass der ADC/DAC nicht mehr richtig funktioniert. Man kann ja alles auf die Konfig mit TDM8, 48 kHz auslegen.
Nach einem kurzen Blick in das Sigma Studio File vom 8 Kanal PlugIn scheint der LRCLK type tatsächlich auf Pulse zu stehen. Ist wohl die default Einstellung in Sigma Studio. Macht aber eher weniger Sinn. Die meisten Devices kommen unter TDM8 aber mit beidem klar (50/50 oder Pulse). Würde ich generell auf 50/50, also wie bei I²S stellen. Der Rest wie gehabt (TDM8, 48 kHz).
Dann halt LRCLK, BCLK und die Datenleitung an Expansion Port und Raspberry anklemmen.
konnte ich zwar aus der dts-Datei etwas machen, was irgendwie ähnlich der beigelegten .dtbo ist, aber eben erstens nicht identisch und zweitens habe ich keine Ahnung, wie ich die .dts ändern muss, damit das Raspi-Signal zum Aurora passt.
Das einzige was man ändern muss, ist die Kanalanzahl von 2 auf 8 stellen. Dann eben mit dem von dir zitierten Command neu kompilieren (copy & paste in die Kommandozeile). Dann nach Anleitung einbinden.
Sollte funktionieren.
wie vorhin schon geschrieben: es funktioniert jetzt. Nachdem ich das DSP-Plugin geändert hatte, war es wohl ein Fehler in der Kanalauswahl auf ESP32 und/oder DSP-Seite. Wie ich jetzt beim Aufräumen bemerke, ist das allerdings noch nicht ganz gefixt. Irgendwas ist da noch komisch, noch nicht reproduzierbar. Hoffentlich am Wochenende aufgelöst...
Worum ging es?
Einen Raspberry Pi (Zero) über den Expansion Port mit dem Aurora verbinden, damit die USB-Ports beider Geräte für andere Dinge frei sind.
Wie ist der letzte Stand bzgl einer Signaleinspielung zum Aurora via I2S ?
Funktioniert das mit der aktuellen Firmware und dem 7.1. PlugIn (AddOnB) ?
Mein Aurora läuft jetzt mit einem Arylic-Streamer über optical-in einwandfrei.
ich überlege, ob ich die Kernplatine des Streamers (LinkPlay) direkt mit dem Aurora in ein und das selbe
Gehäuse einbaue und die Verbindung via I2S herstelle.
Beim Sure-DSP bin ich auch so vorgegangen, hat einwandfrei funktioniert.
TangBand schrieb:Moin
Wie ist der letzte Stand bzgl einer Signaleinspielung zum Aurora via I2S ?
Mein Aurora läuft jetzt mit einem Arylic-Streamer über optical-in einwandfrei.
ich überlege, ob ich die Kernplatine des Streamers (LinkPlay) direkt mit dem Aurora in ein und das selbe
Gehäuse einbaue und die Verbindung via I2S herstelle.
Beim Sure-DSP bin ich auch so vorgegangen, hat einwandfrei funktioniert.
Ideen?
Gruß TB
Das Linkplay A31 läuft fix auf 44,1 kHz-Basis und ist Clock Slave auf dem I2S. Aurora auf 48 kHz und Master. Das wird so also nix.
Was gehen könnte ist das komplette Arylic up2stream (das liefert auch den Clock) an den DSP hängen und durch den ASRC routen.
Im Moment geht die Musik folgenden Weg:
Vom Up2StreamBoard zum externen SPDIF-Board
Von dort via optischem DigiKabel zum optical-in des Aurora
Vom Aurora mittels Abgriff auf der Platine zu den Cinch-Buchsen
Von da zu meinen Gremlin Class-D Enstufen (vorher war da das SureDSP dazwischen)
Funktioniert einwandfrei, ist aber nicht so ganz der "direkte" Weg
Deswegen wäre es sicher verlustärmer, wenn ich vom Up2Stream via I2S direkt
ins Aurora käme
TangBand schrieb:Funktioniert einwandfrei, ist aber nicht so ganz der "direkte" Weg
Deswegen wäre es sicher verlustärmer, wenn ich vom Up2Stream via I2S direkt
ins Aurora käme
Ist schon etwas "von hinter durch die Brust ins Auge"
Klemm den Up2Stream halt mal an und teste es. In Sigma Studio einfach den Input durch den ASRC routen und dann im Workspace verwenden.
Danke für die Antwort, nur verstanden hab ich sie nicht.....
Sigma Stidio kommt doch jetzt hier gar nicht vor?
ich kann das Up2StreamPro mittels ACP-Workbench konfigurieren, also auch die Digitalausgänge.
Wo muss ich mit dem I2S-Signal beim Aurora denn rein?
Wenns zu kompliziert wird, dann bleibts halt so wie es jetzt ist.
Noch mal ne andere Frage zur Eingnagswahl beim Aurora:
Nehmen wir an ich habe drei Zuspieler via optical-in (1-3 eingesteckt).
Auf welchem Wege wird dann die Quellenwahl beim Aurora durchgeführt?
Durch Durchschalten der Presets oder hat sich irgendwo ein "Eingangswahlschalter" versteckt.
TangBand schrieb:Sigma Stidio kommt doch jetzt hier gar nicht vor?
ich kann das Up2StreamPro mittels ACP-Workbench konfigurieren, also auch die Digitalausgänge.
Wo muss ich mit dem I2S-Signal beim Aurora denn rein?
Du verwendest einen Sigma DSP, wie soll in dieser Kette kein Sigma Studio vorkommen? Ein Aurora-Plugin ist ja nichts anderes als ein Sigma Studio Projekt.
Fakt ist: Wenn der Up2Stream 44,1 kHz ausgibt, muss das Signal eben durch den ASRC um auf 48 kHz zu kommen.
Das kann man in Sigma Studio einfach auswählen. Wie das der Aurora speziell macht hat mich bisher noch nicht wirklich interessiert. Du kannst ja auch ein beliebiges Sigma Studio Projekt auf den Aurora hochladen.
aber ich verstehe jetzt nicht wirklich, wie ich das machen könnte
Egal, mit der optischen Variante läufts ja erstmal.
Kannst Du mir denn bei der Frage der Eingangswahl / Quellenwahl weiterhelfen?
Wie kann ich z.B. zwischen den Eingängen optical in 1-4 durchschalten ohne dafür immer
mit der Webobefläche zu arbeiten?
Gibt es optinonal einen Eingangswahlschalter oder muss man jede Quelle als ein Preset abspeichern
und dann mit dem Drehgeber auswählen?
Das mit den Presets hätte natürlich den Vorteil, dass ich jeden Zuspieler auch in der Lautstärke
einzeln abstimmen könnte.
Z.B. ist meine blöde Magenta-TV-Box extrem leise am Tonausgang