Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Verzweifelung bei I2C-Port 16 HS bzw. Portexpander MAX7311AWG Kategorie: I²C-Bus (von Tobias Behrendt - 11.09.2010 21:33)


Hallo

Ich habe ein Problem was ich mir einfach nicht mehr erklären kann und hoffe hier auf einen Retter.
In meiner Schaltung sind:
- drei Sensoren (2xDruck u. 1xTemperatur)über multiplexer PCA9548A (da alle drei die gleiche Adresse)
- zwei Relaisplatinen PCF/MAX-Rel8 mit PCF8574
- ein I2C-Port 16 HS Portexpander mit MAX7311AWG
verbaut.

Das ganze wird mittels eines I2C-RS232-Koppler am Rechner über ein entsprechendes Java Programm ausgelesen.
Die Abfrage wiederholt sich alle 100 ms.
An die Ports des MAX7211 ist ein Tastenfeld mit acht Tasten angeschossen.

Nach eine unbestimmbaren Zeit X fängt der Portexpander an die Datenbytes in der falschen Reihenfolge zu liefern.
Leider was ich absolut nicht warum, weshalb und noch viel wichtiger was ich tun kann um die Datenrichtig einzulesen.
Ein abschalten der Spannungszufuhr und ein entsprechender Neustart und es geht wieder bis zum Punkt X.

In meinem letzten Versuch hab ich das MSB jedes Datenbytes als Prüfbit geopfert und hab das MSB des ersten
Datenbytes mittels Pulldown auf "0" gesetzt. Das MSB des zweiten Datenbytes mittels Pullup auf "1".

Hintergedanke war das ich so per Software eindeutig erkennen kann welchesn Datenbyte gerade gesendet wird,
auch wenn eine Drehung stadtfindet.

Dabei hatte ich heute leider die Erfahrung gemacht das auch dies nichts nutzt.
Nach einer Laufzeit von ca. 1h bekamm ich "7FFF" als Zustandn der Ports zugesendet,
was von den Prüfbits her richtig war, aber nicht von den Eingaben der Tastatur.

WAS MACHE ICH FALSCH.

Warum kommt es überhaupt zur Drehung der Datenbytes. Gibt es Gründe die dazu führen können.
Die drei Temperatursensoren senden ebenfalls zwei Datenbytes und da tritt dieser Fehler überhaupt nicht auf,
weshalb ich die Fehler nun nicht mehr beim Buss oder Programmierung versuche zu finden...

Ich hoffe jemand kann mir helfen


    Antwort schreiben


Antworten: