Forum: Mikrocontroller und Digitale Elektronik Raspi DigiAMP+ am ESP32-S3-DevKit-C Clone


von Karl-Heinz V. (khvolk)


Angehängte Dateien:

Lesenswert?

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?

von Karl-Heinz V. (khvolk)


Lesenswert?

Bevor jemand fragt: ich habe das auch zusätzlich mit zwei 1k 
Widerständen an SDA, SCL gegen 3V3 versucht.

von Dieter S. (hotsystems)


Lesenswert?

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
von Harry L. (mysth)


Lesenswert?

Datenblatt studieren ist keine Option?
Da steht alles Notwendige drin.

https://www.ti.com/lit/ds/symlink/tas5756m.pdf

: Bearbeitet durch User
von Karl-Heinz V. (khvolk)


Lesenswert?

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

von Karl-Heinz V. (khvolk)


Lesenswert?

nach dem Datenblatt müsste der TAS5756M mit einer I²C-Adresse 0x9x 
angesprochen werden können...

von Dieter S. (hotsystems)


Lesenswert?

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.

von Harry L. (mysth)


Lesenswert?

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
von Dieter S. (hotsystems)


Lesenswert?

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.

von Karl-Heinz V. (khvolk)


Lesenswert?

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?

von Dieter S. (hotsystems)


Lesenswert?

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.

von Alexander (alecxs)


Lesenswert?

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
Noch kein Account? Hier anmelden.