Forum: Mikrocontroller und Digitale Elektronik TCA9555 - Fehler bei einem I/O


von Frgr (Gast)


Angehängte Dateien:

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.

von Teo D. (teoderix)


Lesenswert?

Wo sind die Abblockkondensatoren?
Häng mal ein Oszi an die Versorgungs-Pins des µC.

von Frgr (Gast)


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?

von Andreas H. (ahz)


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.

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.