A2DP zu I2S via ESP32 und ADAU1701

+A -A
Autor
Beitrag
fmsndx
Neuling
#1 erstellt: 07. Sep 2022, 15:47
Moin Community,

ich habe aktuell ein Projekt in dem ich Musik/Audio über Bluetooth (A2DP) an einen ESP32 schicke und dieser wiederum über I2S an den ADAU1701 und dann (aktuell) über Analog auf Klinke.
Ich hatte ein Testaufbau mit Jumpercabeln an einem ESP32-dev-kit und dem FreeDSP-Classic board getestet. Dies hat sehr stark gerauscht und geknackt, habe ich mich dann entschieden ein ESP32 Chip und den ADAU1701 auf eine Platine zu setzen und die I2S Leiterbahnen gleichlang zu designen (Laufzeit).

Das funktioniert deutlich besser. Leider knackt die Musik/Audio immer noch (hab am Ausgang den analogen Filter vergessen :L). Des Weiteren hört sich die Musik/Audio sehr gepicht an, vermute das Liegt daran, dass die BCLK des I2S zwischen ESP32 und DSP nicht richtig ist. Und hier kommt mein Problem, ich habe nun einige verschiedene Einstellungen im ESP und DSP (SigmaStudio) vorgenommen, leider kriege ich das mit dem Pitch nicht hin.

Den ESP32 programmiere ich in Platform.io. Für das Umsetzen von A2DP auf I2S nutze ich folgende Bibilothek: ESP32-A2DP
Für das Flashen über I2C des ADAU1701 nutze ich diese Bibilothek: SigmaDSP

Mein SigmaStudio Projekt ist auf das minimalste runtergeschraubt:
SigmaStudio Schematic

Die Hardware Einstellungen sehen wie folgt aus:
SigmaStudio Hardware Config

Meine aktuelle I2S Einstellung für die Bibilothek auf dem ESP32 sieht wie folgt aus:
ESP32 I2S Config

Die Konfiguration ist so, dass hierbei der DSP der Master ist, ich habe es aktuell nicht hinbekommen den ESP als Master laufen zu lassen. Hat da jemand einen Tipp?

Mit der buffer_len von 256 und buffer_count von 8 läuft es wie oben beschrieben.

Hat jemand einen Tipp oder weiß wie ich den ADAU1701 oder ESP einstellen muss?

Vielen Dank und schönen Nachmittag
fmsndx
AusdemOff
Inventar
#2 erstellt: 07. Sep 2022, 15:53
Wo ist denn dein Systemtakt, oder habe ich da was übersehen?
fmsndx
Neuling
#3 erstellt: 07. Sep 2022, 16:13
Welchen Systemtakt meinst genau?

Verbaut ist ein Quarz mit 12.288 MHz. Und der PLL mode steht akutell auf (vom FreeDSP übernommen, lässt sich ändern): PLL_MODE0 = LOW und PLL_MODE1= HIGH -> Laut Datenblatt: 256 x fs.

Sample Rate (fs) in SigmaStudio steht auf 44,1kHz.

Edit:
und in der Hardware Conig:
Frame Sync Freq.; internal clock/1024
BCLK Freq.: internal clock/16


[Beitrag von fmsndx am 07. Sep 2022, 16:16 bearbeitet]
MK_Sounds
Stammgast
#4 erstellt: 07. Sep 2022, 16:43

fmsndx (Beitrag #3) schrieb:
Verbaut ist ein Quarz mit 12.288 MHz.
...
Sample Rate (fs) in SigmaStudio steht auf 44,1kHz.

Das kann so ja nicht funktionieren, Samplerate und MCLK passen nicht zusammen...
Entweder einen ASRC im ESP implementieren oder Quarz auslöten und passenden bestücken.
fmsndx
Neuling
#5 erstellt: 07. Sep 2022, 16:56
Dank dir!

Bin neu in der Thematik. Das kann bestimmt berechnen oder?
Buddy_Casino
Stammgast
#6 erstellt: 08. Sep 2022, 07:22

fmsndx (Beitrag #1) schrieb:

Meine aktuelle I2S Einstellung für die Bibilothek auf dem ESP32 sieht wie folgt aus:
ESP32 I2S Config


Hast du geprüft ob 44100Hz stimmt? A2DP kann auch 48Khz sein, vl kommt da das Pitch Problem her?
Ist schon viele Jahre her, aber AFAIK ist es leider nicht möglich die ESP32 I2S Master Clock auf einen GPIO zu führen. Es gibt übrigens den AUDIO_PLL, das empfiehlt sich, gibt wesentlicher weniger noise. In frühen Revisionen gabs einen Bug und der hat hat nicht funktioniert, sollte aber schon länger kein Problem mehr sein.
MK_Sounds
Stammgast
#7 erstellt: 08. Sep 2022, 09:33

fmsndx (Beitrag #5) schrieb:
Das kann bestimmt berechnen oder?


Du schreibst doch selbst einen Beitrag weiter oben:

fmsndx (Beitrag #3) schrieb:
Verbaut ist ein Quarz mit 12.288 MHz. (...)
Und der PLL mode steht akutell auf -> Laut Datenblatt: 256 x fs.

256 x 44.100 Hz ist nunmal nicht 12,288 MHz...
Und der ADAU1701 hat keinen ASRC.


[Beitrag von MK_Sounds am 08. Sep 2022, 09:34 bearbeitet]
Suche:
Das könnte Dich auch interessieren:
Raspberry Pi -> ADAU1701 DSP I2S Treiber
MK_Sounds am 21.05.2018  –  Letzte Antwort am 06.05.2023  –  46 Beiträge
ADAU1701+i2s BT-Empfänger Verbindung Hilfe
staticV3 am 02.07.2020  –  Letzte Antwort am 03.07.2020  –  4 Beiträge
ADAU1701 PCM1808 kein Ton
guppyfighter am 26.12.2022  –  Letzte Antwort am 03.01.2024  –  4 Beiträge
Raspberry mit I2S DAC
Heldenhaft2 am 15.07.2013  –  Letzte Antwort am 15.11.2013  –  4 Beiträge
Raspberry Volumio I2S Dac
r1960 am 09.01.2019  –  Letzte Antwort am 24.01.2019  –  10 Beiträge
ADAU1701 Eval Board - Talkthrough Messung
-/Nighthawk/- am 31.07.2016  –  Letzte Antwort am 02.08.2016  –  2 Beiträge
Philips CDM 12 Laufwerk I2S
Askannon am 11.03.2020  –  Letzte Antwort am 26.03.2020  –  4 Beiträge
Sure Dsp + Keystone Dab Radio i2s
creapetime am 31.10.2017  –  Letzte Antwort am 07.11.2017  –  4 Beiträge
Mal wieder ein neues ADAU1701-Board
Kay* am 06.05.2020  –  Letzte Antwort am 08.06.2020  –  21 Beiträge
miniDSP 2x4 kit v1.9 I2S-Schnittstelle
KGB-Chef am 05.06.2020  –  Letzte Antwort am 05.06.2020  –  5 Beiträge
Foren Archiv
2022

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.961 ( Heute: 10 )
  • Neuestes MitgliedPaat24
  • Gesamtzahl an Themen1.557.029
  • Gesamtzahl an Beiträgen21.671.038