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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.