Re: I2C-Bus defekt? Kategorie: I²C-Bus (von ChristianS - 9.09.2005 14:42) | ||
Als Antwort auf Re: I2C-Bus defekt? von ChristianS - 9.09.2005 13:50 | ||
| ||
Hallo, noch ein Nachtrag: Den Kabelbruch kann ich ausschlie�en. Wer hat noch eine Idee? ChristianS > Hallo, > zuerst einmal vielen Dank für die umfangreiche Antwort. > Ich habe zuerst das 2. Progrämmchen ausprobiert. Dabei habe ich alle Busteilnehmer entfernt. > Folgendes habe ich festgestellt: > > Wenn State=0 ist, dann sind SCL und SDA auf 1gesetzt, mit der Ground-Brücke lassen sich die > Zustände jeweils auf 0 setzen. > > Ist State=1, dann sind SCL und SDA auf 0 gesetzt und ändern Ihren Zustand mittels > Ground-Brücke nicht. > > Wenn ich das jedoch richtig verstanden habe, sollte sich bei State=1 der Zustand mittels Brücke > auf 0 ändern lassen, und nicht umgekehrt, oder? > > Der Wechselblinker funktioniert übrigens auch. Dann kann nur die Relaisplatine einen Defekt haben, > oder es liegt zwischen CC2 und Relaisplatine ein Kabelbruch vor. Die Versorgungsspannungen von > 5V und 12V sind auf jeden Fall O.K. und wie gesagt, das Programm läuft/lief seit einem halben Jahr > ohne Macken und ohne den Programmcode zu ändern, daran kann´s auch nicht liegen. > > > > Du kannst die Ports des I²C-Busses sehr einfach testen: > > thread main > > { > > sfr.set_P3(((sfr.get_P3() and 0xFEFF) or 0x200)); > > sleep 2000; > > sfr.set_P3(((sfr.get_P3() and 0xFDFF) or 0x100)); > > sleep 2000; > > } > > > > Hier sollte sich sich an SDA und SCL ein Wechselblinker mit 4 Sekundentakt ergeben. > > Wenn das nicht funktioniert, sind die Ausgangstreiber geschossen. > > > > > > Du kannst auch einmal folgendes Testprogramm ausprobieren: > > inline function get_DP3() returns int > > { > > inline vmcodes.VM_LOAD_ABSOLUTE_INT; > > inline 0xFFC6; > > } > > inline function set_DP3(int value) > > { > > inline vmcodes.VM_STORE_ABSOLUTE_INT; > > inline 0xFFC6; > > } > > > > int x,state; > > thread main > > { > > hwcom.setspeed(8); > > sfr.set_ODP3(sfr.get_ODP3() or 0x0300); > > sfr.set_P3(sfr.get_P3() and 0xFCFF); > > set_DP3(get_DP3() and 0xFCFF); > > // set_DP3(get_DP3() or 0x0300); > > > > loop > > { > > if ports.getHostkey() state=state xor 1; > > if state > > { > > // sfr.set_P3(sfr.get_P3() and 0xFCFF); > > set_DP3(get_DP3() or 0x0300); > > } > > else > > set_DP3(get_DP3() and 0xFCFF); > > > > x=sfr.get_P3() shr 8; > > hwcom.num(system.second());hwcom.tab(); > > hwcom.put(state or 0x30);hwcom.tab(); > > hwcom.put((x and 1) or 0x30); > > hwcom.put(((x shr 1) and 1) or 0x30); > > hwcom.ret(); > > sleep 500; > > } > > } > > > > Es ist zwar dazu gedacht die Open-Drain-Funktionalität an Port3 zu testen, > > allerdings ist es auch ein hilfreiches Testprogramm für die Ports des I²C-Busses. > > Zum Bedienen brauchst Du ein Terminalprogramm(z.B. Hyperterminal) mit 57.600 Baud > > und die Hosttaste. > > Wenn State=1 ist, kannst du mit einer Brücke nach GND testen, > > ob am Eingang dann ein Low-Pegel erkannt wird. > > Wird aber bei State=1, ohne da� etwas an den Busleitungen angeschlossen ist, dennoch > > ein Low-Pegel erkannt, ist höchstwarscheinlich der betreffende Port geschossen. > > > > Im Hyperterminal bekommst Su folgenden Datenrahmen: > > Sekunde Sollwert Istwert > > 00 1 11 (nur als Bsp.) > > Die Dritte Zahl spiegelt den Zustand der Busleitungen wieder. > > Die erste Ziffer ist SCL, die zweite SDA. > > > > MfG André H. > > > > > > > Hallo, > > > ich habe seit ca.: einem halben Jahr an meiner CC2-Station die PCF/MAX-Rel8-Erweiterung > > > über den I2C-Bus angeschaltet. �ber eines der Relais wird eine Aussenbeleuchtung gesteuert. > > > Seit ca: 4 Wochen funktioniert die Ansteuerung nicht mehr; am Programm und an der HW wurde > > > nichts geändert. > > > > > > Es sieht so aus, als würde die Erweiterung nicht mehr angesteuert bzw. initialisiert. Ich habe den > > > Verdacht, als sei der I2C-Bus der Station defekt. Gibt es eine Möglichkeit, dies möglichst einfach > > > und zuverlässig zu testen? > > > Ich habe auch versucht, alte "Testprogramme" laufen zu lassen, ohne Erfolg. > > > > > > Wenn jemand eine gute Idee hat, wäre ich dankbar. > > > ChristianS. | ||
Antwort schreiben Antworten: Re: I2C-Bus defekt? (von ChristianS - 9.09.2005 15:16) Re: I2C-Bus defekt? (von Werner Radfelder - 11.09.2005 23:57) Re: I2C-Bus defekt? (von ChristianS - 12.09.2005 12:15) Re: I2C-Bus defekt? (von ChristianS - 26.09.2005 19:30) |