Hallo Leute,
ich brauche eure Einschätzung hinsichtlich hinsichtlich der Anfälligkeit
von I2C-Bus Hardware. Ich möchte eine Strom-/Spannungsmessung für
Kraftfahrzeuge realisieren.
Über einen Atmel lese ich über den I2C-Bus mehrere A/D-Umsetzer aus. Auf
dem Labortisch hat der Aufbau immer gut funktioniert. Prototypisch im
Auto montiert funktioniert die Datenübertragung nicht mehr.
Ich benutze den Code von Peter Fleury. Beim überprüfen des Slaves bleibt
der Code jedoch immer hängen. (
1 | if(!(i2c_start(slaveadresse+I2C_WRITE))) // Slave bereit zum Schreiben?
|
)
Ich vermute ein Hardwareproblem. Nachdem das Problem aufgetreten ist,
habe ich ein 2. Board eingesetzt. Dies hat kurzzeitig funktioniert, bis
ich die Pull-Up-Widerstände getauscht habe. Dann gleiches Problem wie
oben beschrieben.
Die Pull-Up-Widerstände habe ich von 4,7k auf 680R getauscht, da die
Flankensteilheit durch lange Busleitungen zu gering und dadurch die
Übertragung teilweise fehlerhaft war.
Sind diese Widerstände zu niederohmig und haben die I2C-Hardware des
Controllers zerstört? Bzw. ist im Atmel der Bus i.A. kurzschlussfest?
Habt ihr Anregungen für mich?
Danke,
Bastian