hier der Versuch, ein Raspi DigiAMP+ am ESP32-S3-DevKit-C Clone zu betreiben. Da gibt es einmal den I²S-Bus am DigiAMP+ (GPIO 18, 19, 21 - BCLK, LRC, DOUT) und den I²C Bus (GPIO 2, 3 - SDA, SCL) und Mute (GPIO 15 - 3V3). Das hatte ich mir mit einem RasPi 4 am Logikanalysator angesehen. auf dem I²C Bus kamen im Normal-Betrieb nur eine überschaubare Anzahl von Initialisierungen an: ADRS 0x4C - W 0x80, R 0, W 0x82, 0x10, usw. Dann hab ich versucht, mit der I2SAudio Bibliothek von https://github.com/schreibfaul1/ESP32-audioI2S ein Radio zum Laufen zu bringen. Die protokollierten I²C-Kommandos hatte ich mit einem zweiten esp32-I²C-Receiver vorher kontrolliert, ob die auch genauso rüberkommen. Tatsächlich hab ich da keinen Erfolg gehabt. Der I²C-Bus ist vom ESP32 gar nicht erreichbar. Was tut ein RasPi magisches mit seinem HAT, dass der in die Gänge kommt?
Bevor jemand fragt: ich habe das auch zusätzlich mit zwei 1k Widerständen an SDA, SCL gegen 3V3 versucht.
Karl-Heinz V. schrieb: > Bevor jemand fragt: Ich hoffe ja nicht, dass es verboten ist. Hast du dir denn schon die I2C-Adresse des digiAMP+ mittels Scanner ausgeben lassen ?
:
Bearbeitet durch User
Datenblatt studieren ist keine Option? Da steht alles Notwendige drin. https://www.ti.com/lit/ds/symlink/tas5756m.pdf
:
Bearbeitet durch User
Wie gesagt: ich komme an den I²C Bus nicht ran. Der Raspi schreibt auf und liest von einer Adresse 0x4C. Aber wenn man den I²C-Scanner auf dem ESP32 laufen lässt, findet der keine Adresse. Wenn ich versuche, einfach die Adresse anzusprechen, bekomme ich: send byte: 4 18:15:37.802 -> E (70241) i2c.master: s_i2c_synchronous_transaction(924): I2C transaction failed 18:15:37.802 -> E (70242) i2c.master: i2c_master_receive(1240): I2C transaction failed 18:15:37.802 -> returned: 0
nach dem Datenblatt müsste der TAS5756M mit einer I²C-Adresse 0x9x angesprochen werden können...
Karl-Heinz V. schrieb: > ich komme an den I²C Bus nicht ran. Dann verwende am ESP32-S3 mal andere Pins und teile der Wire Lib die Pins auch mit. Der GPIO3 ist ein Strapping Pin und macht dir da evtl. Probleme.
Da sich die Adresse in den oberen 7 Bit verbirgt, ist 0x4c auf dem Bus (inkl. R/W) 0x98. So steht das auch im Datenblatt.
:
Bearbeitet durch User
Harry L. schrieb: > So steht das auch im Datenblatt. Unabhängig davon, muss der Scanner ja etwas anzeigen, was er nicht macht. Aber ohne genauere Angaben vom TO ist das hier ein stochern im Nebel.
auf dem ESp32-S3 benutze ich die I²C-Pins 8 (SDA) und 9 (SCL), die default Pins. Was ist ein Strapping Pin? Was ist ein TO?
Echt jetzt ? Ein Datenblatt solltest du schon mal gelesen haben. Oder mal googeln. https://emalliab.wordpress.com/2024/05/20/esp32-strapping-pins/ TO ist ein Thread Opener. Was die I2C Pins betrifft, hast du im Eingangspost was anderes geschrieben.
Ich weiß zwar jetzt nicht was I²C mit I²S zu tun hat, aber letzteres läuft bei mir auf dem ESP32 mit der ESP8266Audio Lib für Arduino. https://github.com/earlephilhower/ESP8266Audio Strapping Pins sind welche die den Bootmodus bestimmen (Bootloader oder Flashing Mode) in deinem Fall GPIO 0, GPIO 3, GPIO 45, GPIO 46.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.