TCA9555 - Fehler bei einem I/O

Gast #5961303
Lesenswert?

Tach auch!

Ich habe eine kleine Schaltung mit einem ATMega1284p und zwei TCA9555.
An einem dieser TCAs habe ich lediglich Pinheader angeschlossen um 
verschiedene Konfigurationen einstellen zu können (siehe Schaltplan).
Ich lasse mir den Status der Inputs des TCAs permanent über UART 
ausgeben. Dabei habe ich aktuell das Problem, dass eines dieser als 
Input konfigurierten Pins nicht korrekt funktioniert. Sobald ich diesen 
Pin mit Ground verbinde, stürzt mein Atmega ab.
Ich bekomme keine Ausgaben per UART mehr und auch die I2C Verbindung 
bricht ab.

Hier ist einmal die I2C Kommunikation:
Start, h48 [ h24 | WR ], h00,
Restart, h49 [ h24 | RD ], hFF, hFF, Stop
% P07 wird mit Ground verbunden
Start, h48 [ h24 | WR ], h00,
Restart, h49 [ h24 | RD ], h7F, hFF,  % Ab hier hängt sich alles auf

Ich habe den Pin durchgepiepst; es exestiert keine direkte Verbindung zu 
Ground, Vcc, SDA oder SCL. Der besagte Pin liegt auch absolut nicht in 
der Nähe von +5V (siehe Boardlayout im Anhang).
Zwischen diesem und den anderen Pins und Ground messe ich einen Strom 
von 50 µA.

Bei der Software kann ich auch keinen Fehler erkennen:
1
#define CR_IN0  0x0
2

3
uint8_t lport, uport;
4
i2c_start_wait(TCA_MS + I2C_WRITE);
5
i2c_write(CR_IN0);
6
i2c_rep_start(TCA_MS + I2C_READ);
7
lport = i2c_readAck();
8
uport = i2c_readAck();
9
i2c_stop();

Irgendwie stehe ich auf dem Schlauch und kann kein Fehler entdecken.
Habt ihr irgendwelche Tipps wie ich den Fehler eingrenzen könnte?

Beste Grüße!
Felix.
Angehängte Dateien:
Gast #5961452
Lesenswert?

Tatsächlich vergessen :S
Trotzdem reden wir von einem maximalen Strom von 50uA.
Außerdem funktioniert es bei den übrigen 15 Pins.

Ich werde es aber morgen nachholen! Danke für den Hinweis.

Gibt es sonst noch Ideen wie ich den Fehler eingrenzen kann?
#5961467
Lesenswert?

Frgr schrieb:
> Gibt es sonst noch Ideen wie ich den Fehler eingrenzen kann?

Nur eine Idee, da Dein Schaltplan leider unvollständig ist:

Aus dem Datanblatt:

"9.3.3 Interrupt (INT) Output
An interrupt is generated by any rising or falling edge of the port 
inputs in the input mode."

Wie wird das behandelt?

/regards

P.S:
Was passiert denn, wenn Du einen anderen Port nach GND ziehst?
Bei einem Short auf dem Board sollte das ja dann klappen.
A.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren