Forum: Mikrocontroller und Digitale Elektronik I2S - Kein Ton mehr dank Level Shifter


von Bernd (b_b304)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuche gerade mit einem ESP32 per I2S Audiosignale auszugeben. Als 
I2S-Slave verwende ich ein kleines China-Modul mit MAX98357 Chip.

Wenn ich den ESP32 direkt an den MAX anschließe, funktioniert alles 
einwandfrei. Die Audiosignale werden wie erwartet ausgegeben.

Da der MAX98357 aber mit 5V läuft, habe ich es gut gemeint, und einen 
Pegelwandler spendiert (SN74AHCT125N). Damit werden alle drei Signale 
vom ESP32 auf 5V gehoben.

Mit dem Oszilloskop sehen die Signale auch gut aus (soweit ich das 
beurteilen kann). Allerdings scheinen sie dem MAX98357 nicht mehr zu 
gefallen. Denn der bleibt jetzt komplett stumm.

Die Schaltpläne findet Ihr oben.
Habt ihr eine Idee, was hier schief laufen könnte?

von Sebastian W. (wangnick)


Lesenswert?

Bernd schrieb:
> Da der MAX98357 aber mit 5V läuft, habe ich es gut gemeint, und einen
> Pegelwandler spendiert (SN74AHCT125N). Damit werden alle drei Signale
> vom ESP32 auf 5V gehoben.

Was schief läuft weiss ich auch nicht. Aber lt. Datenblatt des MAX98357A 
(von https://www.analog.com/en/products/MAX98357A.html) liegt VIH nicht 
höher als 1.3V, so dass der Pegelwandler unnötig ist.

LG, Sebastian

von Wastl (hartundweichware)


Lesenswert?

Bernd schrieb:
> Die Schaltpläne findet Ihr oben.

Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut,
nachmacht oder verfälscht, insbesondere bei existierenden
Schaltungen die Abblock-Kondensatoren weglässt oder falsch
verschaltet oder selbst solche Schaltungen entwirft, in Verkehr
bringt und/oder aufbaut ohne Abblock-Kondensatoren nach Hersteller-
Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom
Mikrokontroller-Forum nicht unter zwei Jahren bestraft.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Bernd schrieb:
> Allerdings scheinen sie dem MAX98357 nicht mehr zu gefallen.
Wenn du das 3V Signal und das 5V Signal am Oszi übereinander lesgst, ist 
dann der einzige Unterschied der Pegel?

Wastl schrieb:
> Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut,
Auch Eingänge von CMOS ICs wie zB 4Y des Pegrlwandlers sollten nicht 
offen gelassen, sondern auf einen definierten Pegel gelegt werden.

> nach Hersteller-Empfehlungen
Im Datenblatt ist in jedem Beispiel je ein 100n und ein 10u Kerko als 
Abblockung drin und so ist das als Mindestenausstattung auf der Seite 33 
beschrieben. Zudem steht da auch noch was zum Layout.

Das 'exposed pad' soll laut DB übrigens an eine "solid ground plane" 
angeschlossen und nicht einfach ausge'x't werden.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Wenn man mal total crazy drauf ist, kann man auch so'n kleinen 
Serienwiderstand in der Bitclk vorsehen. Aber nur fuer ganz Flippige ;-)

Gruss
WK

von Jobst M. (jobstens-de)


Lesenswert?

Wastl schrieb:
> Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut [...]

Er benutzt ja fertige Module - abgesehen vom 125er.

Aber VIH vom HCT125 (bei 5V) liegt über den 1,3V des MAX und ist damit 
sogar ehr störend.

Lösung: Benutz einfach die funktionierende Schaltung.


Gruß
Jobst

von Wastl (hartundweichware)


Lesenswert?

Jobst M. schrieb:
> Er benutzt ja fertige Module - abgesehen vom 125er.

Ja und? Braucht es da nichts weil es "nur" ein 125er ist?
Ein "125er" schaltet genau so schnell und stromfressend
(Impulsbelastung) wie ein Bustreiber aus der selben
Gatter-Familie.

Von der Stromversorgung war übrigens noch gar keine Rede.
Der ESP32 ist ein Stromfresser, zusätzliche Elkos sind
angebracht, abhängig von Stromversorgung und Aufbau
(Masseverbindung, Verkabelung).

Die Minimal-Ausrüstung an Kondensatoren auf den Modulen
reicht nur unter optimalen Bedingungen.

von Bernd (b_b304)


Lesenswert?

Sebastian W. schrieb:
> Was schief läuft weiss ich auch nicht. Aber lt. Datenblatt des MAX98357A
> (von https://www.analog.com/en/products/MAX98357A.html) liegt VIH nicht
> höher als 1.3V, so dass der Pegelwandler unnötig ist.

Danke für den Hinweis! Dann werde ich mir den Shifter natürlich sparen. 
Problem gelöst ;-)

Dergute W. schrieb:
> Wenn man mal total crazy drauf ist, kann man auch so'n kleinen
> Serienwiderstand in der Bitclk vorsehen. Aber nur fuer ganz Flippige ;-)

Was ist denn da die Daumenregel? Wann/wie/wo benötigt man einen 
Serienwiderstand? Und wie ist der zu dimensionieren?

Lothar M. schrieb:
> Im Datenblatt ist in jedem Beispiel je ein 100n und ein 10u Kerko als
> Abblockung drin und so ist das als Mindestenausstattung auf der Seite 33
> beschrieben. Zudem steht da auch noch was zum Layout.
>
> Das 'exposed pad' soll laut DB übrigens an eine "solid ground plane"
> angeschlossen und nicht einfach ausge'x't werden.

Alles richtig und wichtig. Bei meinem China-Modul ist das bereits so 
umgesetzt.

von Steve van de Grens (roehrmond)


Lesenswert?

Bernd schrieb:
> Was ist denn da die Daumenregel? Wann/wie/wo benötigt man einen
> Serienwiderstand? Und wie ist der zu dimensionieren?

Das Fachwort zum vertiefen ist Serienterminierung.

Ohne Terminierung:

Das Signal geht als Welle durch die Leitung und wird von deren Ende 
zurück reflektiert. Dann erreicht die Welle wieder den Anfang der 
Leitung und wird erneut reflektiert. Nun erreicht sie zum zweiten mal 
das Ende der Leitung.

SIehe erstes Bild auf 
https://www.robkalmeijer.nl/techniek/electronica/radiotechniek/hambladen/ukw-berichte/1985/page152/index.html

Das IC am Ende der Leitung könnte somit zwei (oder mehr) steigende 
Flanken sehen, wo eigentlich nur eine gewollt war. Je steiler die 
Flanken sind, umso ausgeprägter ist der Effekt.

Mit einem Widerstand zwischen IC-Ausgang und Leitung kann man die 
Reflexionen reduzieren. Vereinfacht gesagt passiert dies: Die Welle die 
vom Ende der Leitung zurück reflektiert wurde, muss durch den 
Widerstand. Der verheizt die Energie der Welle, so dass sie nicht 
mehrfach durch das kabel hin und her läuft.

Das funktioniert an Besten, wenn der Wert des Widerstandes (zusammen mit 
dem Ausgangswiderstand des IC, der leider oft unbekannt ist) dem 
Wellenwiderstand der Leitung entspricht. Leitungen haben meist einen 
Wellenwiderstand zwischen 50 und 120 Ohm. CMOS Mikrochips haben meistens 
einen Ausgangswiderstand zwischen 20 und 50 Ohm (je schneller umso 
geringer). Den optimalen Wert kann man kaum vorher berechnen, aber mit 
Messgeräten ermitteln. Fange mal mit 47 Ohm an.

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.