Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem I2C Bus


von Julian K. (darksoldier)


Lesenswert?

Guten Abend,

ich bastele derzeit an einer Schaltung die LEDs ansteuern soll. 
Gesteuert werden diese mit 8 mal MAX7313 an einem Bus mit 
unterschiedlichen Adressen. Als Microcontroller wird ein XMC4400 (512k 
64 pin) verwendet. Zur Versorgung wird ein TPS62131 fixed output voltage 
step down DC/DC von 3.3 bis 17 V Vin und 3.3 V Vout verwendet. 
Eigentlich funktioniert im niedrigen Spannungsbereich alles wunderbar.

Und nun zu meinem Problem: Sobald von aussen mehr als 6-7 Volt (mal so 
mal so) an den dcdc angeschlossen werden hängen sich die Treiber auf und 
SDA wird permanent auf Low gezogen, sodass keine Kommunikation mehr über 
den Bus laufen kann. Hat jemand schonmal dieses Problem gehabt? Bzw 
Ideen woran das liegen könnte?
Ich verstehe nicht was sich ändert nur das die Eingangsspannung 
verändert wird. Der Ripple und die 3.3 V auf dem Board bleiben konstant 
egal ob man von Aussen 3.5 6 oder 17 Volt anschliesst.

Vielen Dank für Tipps!

von Sven B. (scummos)


Lesenswert?

Pufferkondensatoren an jedem IC sind vorhanden?

von Olaf (Gast)


Lesenswert?

Dein Layout ist misst und der Schaltregler kommt in einen Arbeitsbereich 
wo er seine Umgebung ganz besonders versaut.

Olaf

von Julian K. (darksoldier)


Lesenswert?

Pufferkondensatoren sind vor jedem Treiber Chip 100n und nach dem Dcdc 
10 und 22u (etwas mehr als im Datenblatt steht).


Inwiefern meinst du das mit dem Layout, Emv mäßig? Eigentlich sitzt der 
Dcdc alleine und hat ca 1.5cm Platz um sich herum wo nix ist.

von Olaf (Gast)


Lesenswert?

Schaltplan, Layout, Photo...

Olaf

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


Angehängte Dateien:

Lesenswert?

Julian K. schrieb:
> Inwiefern meinst du das mit dem Layout, Emv mäßig? Eigentlich sitzt der
> Dcdc alleine und hat ca 1.5cm Platz um sich herum wo nix ist.
Lass mal den Schaltplan und das Layout sehen. So eine kleine Bissgurke 
mit 2,5MHz Schaltfrequenz möchte schon ein sehr gutes Layout und die 
richtigen Bauteile haben...

> Eigentlich sitzt der Dcdc alleine und hat ca 1.5cm Platz um sich herum
> wo nix ist.
Wurde das Layoutbeispiel aus dem Kapitel 11 des Datenblatts in allen 
Punkten penibel eingehalten und gehören zu deiner Definition des "DCDC" 
auch die Kondensatoren und die Spule? Hast du das erwähnte EVAL-Board 
SLVU437 und die Gerberdaten SLVC394 mal genau angeschaut?

Und mach mal einen Test:
Klemm die Masseklemme des Tastkopfes an einen Massepunkt in der Mitte 
deiner Platine. Und dnn misst du mit der Tastkopfspitze mal ein paar 
andere Massepunkte auf deiner Platine (ja richtig: Masse gegen Masse). 
Was siehst du?

: Bearbeitet durch Moderator
von Olaf (Gast)


Lesenswert?

> SDA wird permanent auf Low gezogen, sodass keine Kommunikation mehr über
> den Bus laufen kann. Hat jemand schonmal dieses Problem gehabt?

Noch ein Tip am Rande...

Du hast sehr wahrscheinlich ein Problem mit deinem Layout welcher als 
Folge die I2C Kommunikation stört. Und als Folge kommt es dann zu dem 
Phaenomen das die SDA Leitung auf Low bleibt. Du solltest dich erstmal 
darum kuemmern letzteres zu loesen. Also I2C-Fehler erkennen, SCK 
wackeln, I2C neu initialisieren. Du hast jetzt gerade einen prima 
Stoergenerator auf deinem Board, nutze ihn. :-)

Und danach loesst du das Problem mit deinem Schaltregler.

Die Probleme mit der I2C Kommunikation haben naemlich ganz viele Leute. 
Nur viele Leute wissen das gar nicht. Die bauen dann Schaltungen die 
sich zweimal im Jahr aufhaengen wenn eine externe Stoerung einstreut.

Olaf

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.