Forum: Mikrocontroller und Digitale Elektronik Verbinden von STM32ern mit unterschiedlichen Pegeln


von AVerr (Gast)


Lesenswert?

Hallo,

ich habe hier 2 Boards mit STM32ern: STM32F4 Discovery und STM32H7A3 
Nucleo und würde gerne eine Kommunikation zwischen beiden aufbauen 
mittels I2C (und einem GPIO Pin).

Nun haben beide aber leicht unterschiedliche Pegel:
- das F4 Discovery läuft mit 3V (gemessene 2,98V)
- das H7 Nucleo läuft mit 3.3V (gemessene 3,45V)

Wäre der Unterschied (knapp 0,5V) klein genug dass es keine Probleme 
gibt oder muss ich größere Vorkehrungen (Pegelwander?) treffen?

Meine Idee war nun da es um I2C (und einen GPIO den ich auch als Open 
Drain betreiben kann) geht, könnte ich da einfach nur den Pull-Up auf 
die niedrigere Spannung ziehen (die 3V vom F4). Der Pegel reicht dann 
trotzdem noch um bei dem H7 einen sauberen High Pegel zu erreichen.
Würde das so passen oder riskiere ich damit irgendwelche 
unvorhergesehenen Probleme?

Gruß,
AVerr

von Lutz (Gast)


Lesenswert?

Laut datasheet sollte das kein Problem sein. Die Massen müssen natürlich 
verbunden sein, sonst gibt es ja keine definierten relativen Pegel.

von AVerr (Gast)


Lesenswert?

Lutz schrieb:
> Die Massen müssen natürlich verbunden sein

Jawohl, habe ich vergessen zu erwähnen.

Vielen Dank, dann werde ich mich mal an's Basteln machen :)

von Stefan F. (Gast)


Lesenswert?

AVerr schrieb:
> Würde das so passen

Ja.

Zusätzlich ist der I²C Port bei den mir bekannten Modellen sogar 5V 
tolerant.

von QQ (Gast)


Lesenswert?

AVerr schrieb:
> das F4 Discovery läuft mit 3V (gemessene 2,98V)
> das H7 Nucleo läuft mit 3.3V (gemessene 3,45V)

Natürlich möglich, Beide Spannungen sind zulässig, aber meiner Meinung 
nach verwunderlich, dass ein 3.0V Spannungsregler und keiner mit 3.3V 
dem F4 Board verwendet worden sein soll. Entweder war der etwas 
billiger, deine Eingangsspannung ist zu niedrig oder du hast eine zu 
große last angeschlossen.

Auch 3.45V hören sich seltsam an. Ein 3,3V Spannungsregler der so 
ungenau und dann auch noch zuviel regelt?

Bitte überprüfe die Spannungswandler ICs, ob tatsächlich ein 3,0V bzw. 
3,3V Typ verbaut ist.

von AVerr (Gast)


Lesenswert?

QQ schrieb:
> Beide Spannungen sind zulässig, aber meiner Meinung
> nach verwunderlich, dass ein 3.0V Spannungsregler und keiner mit 3.3V
> dem F4 Board verwendet worden sein soll.

Das liegt wohl daran dass ein 3.3V Spannungsregler (LD3985M33R) 
verwendet wird, aber direkt dahinter eine BAT60J Diode steckt. Mit 
Forward Voltage Drop passen die ca. 3.0V recht gut.

Ja, die 3.45V machen mir auch etwas Sorgen. Laut Schaltplan müsste ein 
ST1L05CPU33R verbaut sein, der nicht so viel ausgeben dürfte. Ich werde 
das später noch überprüfen ob das so stimmt.

von AVerr (Gast)


Lesenswert?

Was die 3.45V betrifft kann ich Entwarnung geben ... ich weiß nicht 
warum mein Multitmeter (billiges Peaktech Teil) gestern die 3.45V 
angezeigt hat, aber Heute sind es 3.32V, macht auch mehr Sinn. Wird wohl 
Zeit für ein besseres Multimeter ...

von Walter T. (Gast)


Lesenswert?

AVerr schrieb:
> Wird wohl Zeit für ein besseres Multimeter

Oder frische Batterien. Das war oben nämlich meine erster Gedanke bei 
den erwähnten Spannungen.

von AVerr (Gast)


Lesenswert?

Walter T. schrieb:
> Oder frische Batterien.

Das ist der Witz an der Sache: ich habe erst vor 2 Tagen die Batterien 
gewechselt, sie sind also noch frisch.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AVerr schrieb:
> Das liegt wohl daran dass ein 3.3V Spannungsregler (LD3985M33R)
> verwendet wird, aber direkt dahinter eine BAT60J Diode steckt. Mit
> Forward Voltage Drop passen die ca. 3.0V recht gut.

Das machen die auf dem Disco Board, damit man auch extern 3,3V 
einspeisen kann (hinter der Diode). Wenn man das nicht möchte, kann man 
die BAT60 auch brücken mit dem Nebeneffekt, das die Betriebsspannung 
sauberer ist. Die kleine Diode ist nämlich ein ganz schöner Widerstand.

von Walter T. (Gast)


Lesenswert?

Da die ursprüngliche Frage jetzt geklärt ist:

Was ist der Anwendungsfall? Wozu verbindet man zwei MCUs mit viel 
Leistung durch eine Leitung mit wenig Bandbreite?

von AVerr (Gast)


Lesenswert?

Walter T. schrieb:
> Was ist der Anwendungsfall? Wozu verbindet man zwei MCUs mit viel
> Leistung durch eine Leitung mit wenig Bandbreite?

Weil das die 2 Boards sind die ich gerade da habe. Am Ende werden viel 
kleinere STM32er verwendet, aber erstmal will ich nur das Zusammenspiel 
der 2 Komponenten testen. Ja, gerade der H7 ist für den Zweck unnötig 
komplex, aber das hab ich schon im Griff ;)

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


Lesenswert?

AVerr schrieb:
> warum mein Multitmeter (billiges Peaktech Teil) gestern die 3.45V
> angezeigt hat, aber Heute sind es 3.32V, macht auch mehr Sinn.
Solche Messgeräte gefallen mir, wenn man für das sehnlichst gewünschte 
Ergebnis einfach ein wenig länger damit herummessen muss...  ;-)

AVerr schrieb:
> Meine Idee war nun da es um I2C
Wenn du schon 2 Leitungen für die Verbindung verwendest, warum dann 
nicht besser einen UART, der mit 8MBd bei weniger Protokoll- und 
Verwaltungsoverhead die Daten bidirektional unabhängig vom 
Übertragungszustand des Partners übertragen kann?

Schön, wenn man den I²C hat und 5 Slaves dran. Aber ich würde eine 
Kommunikation zwischen meinen eigenen 2 Geräten nicht mit einem 
Multimasterbus abhandeln. Schon das Gelecke mit der Busarbitrierung und 
das Gebettel um den Bus smat Einhaltung irgendwelcher Timings wäre mir 
viel zu umständlich.

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.