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

Re: Probleme mit I2C und C-Control II Station Kategorie: I²C-Bus (von André H. - 9.08.2004 8:44)
Als Antwort auf Probleme mit I2C und C-Control II Station von Chris - 5.08.2004 21:41
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Christian,

> Ich habe versucht I2C-Komponenten (MAX7311, PCF8574) an die C-Control II Station anzuschliessen.
> Dazu habe ich ein kleines Programm geschrieben dass Daten an die Ports schreibt. Soweit funktioniert
> es gut. Nur kann ich keine Daten von den Bausteinen lesen. Ich erhalte beim "Start" nicht einmal ein
> "ACK".  Auch wenn ich Daten an die Ports schreibe erhalte ich kein "ACK", obwohl es eigentlich
> funktioniert.

Ohne Deine Routinen zu kennen, kann ich dazu nichts sagen.
Es gibt viele mögliche Fehler Ursachen:
Falsche Adressierung (R/W-Bit), Repeatet-Start falsch eingesetzt etc.

Verwende am besten die vorhandenen Module pcf.c2 und max7311.c2 .

 
> Der I2C-Bus funktioniert doch als Open-Drain mit Pull-Up-Widerständen von einigen KOhm?

Ein klares Jain.
Ich musste im OS leider feststellen, daÃ? der Bus leider nicht als Open-Drain programmiert ist,
obwohl dies bei Port P3 möglich wäre. Ich werde einmal sehen, ob ich das in OSOPT V3.1
korregieren kann.

> Ich habe
> mal kurz SDA bzw. SCL der Station gegen GND gemessen. Dabei fliesst ein Strom von über 40mA!!

Mess niemals eine Port mit einer Shuntmessung gg. GND oder V+ !!
Wahrscheinlich hast Du den Port jetzt geschossen !
Wenn Du feststellen willst, ob ein Port durchgeschaltet oder hochohmig ist, solltest Du immer
den Strom begrenzen. z.B. mit einer LED + 470Ohm Vorwiderstand.

>  Dies
> ist wahrscheinlich auch der Grund, wieso die Bausteine keine Daten senden können. Ausserdem sind
> ja noch 2 330Ohmn Widerstände in Serie. Bei so einem kleinen Innenwiderstand erkennt die Station nie
> einen Low-Pegel von den Slaves. Auf dem Schema der Station sind keine Widerstände eingezeichnet.

Sobald Du Daten vom Bus liest, wird SDA als Eingang geschalten und wird somit hochohmig.
Da lesen funktioniert an der CC2 einwandfrei. Sonst würden meine ganzen Erweiterungen nicht funzen.
Wie gesagt, vermute ich, daÃ? in Deinen Routinen ein Fehler ist.
Aber es kann jetzt durch Deine Messung natürlich auch sein, da� Du die Ports geschossen hast.


> Hat jemand eine ähnliche Erfahrung gemacht oder hat jemand eine Idee was ich falsch mache. Sind
> die Treiber der Station etwa aktiv? i2c.init() habe ich ausgeführt. Woran könnte das liegen?

i2c.init() mu� nicht ausgeführt werden. Das macht das OS bereits nach einem Reset.
Poste einmal Deine Routinen und schreib', wie lang Deine Leitungen am Bus sind und
was für Kabel Du verwendest. Sonst kann ich Dir kaum helfen.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Probleme mit I2C und C-Control II Station (von Chris - 14.09.2004 20:09)
    Re: Probleme mit I2C und C-Control II Station (von André H. - 19.09.2004 1:28)