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

Re: pcf8574 Kategorie: I²C-Bus (von Migi, http://cc2-Haussteuerung.de - 12.03.2008 9:34)
Als Antwort auf Re: pcf8574 von Ralf Metzner - 12.03.2008 8:52
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, eigenes Board, OSOPT V3.0
Hallo Ralf,

du hast einen absoluten Mini-Bus.
SchmeiÃ? die Leitungstreiber raus, setze die Pull-Up's.
Bau keinesfalls die die 330Ohm Reihenwiderstände ein. Die werden die Qualität eher verschlechtern.
Bei einem so winzigen Bus würde ich Pull-Up's mit 2,2kOhm als Kompromis empfehlen.
Nach I2C-Spezifikation soll eigentlich der Pull-Up den Busverhältinissen angepasst werden.
Anzahl der Teilnehmer und Leitungslänge sind hier die Faktoren.
Hier habe ich auch ein paar Worte dazu geschrieben:
http://www.cc2-haussteuerung.de/Technik/Technische%20Infos.pdf

Auf den Einsatz mit dem Y2-Kondensator würde ich auf jeden Fall verzichten. Der macht wieder die
Buskapazität grö�er und somit die Qualität schlechter.
Geschirmte Leitung ist immer gut. Aber mach erst mal das von mir beschriebene und dann kannst du
schirmen.

Ciao
MiGi
 

> Hallo MiGi,
> ich habe gestern noch einen Leistungstreiber an das längste Ende des I2C-Busses gesteckt, dadurch
> sind die Störungen seltener geworden. Ich habe jetzt nur noch selten einen Störimpuls, manchmal ist
> 5-10 Minuten Ruhe. Ich werde heute noch den Schirm der I2C-Leitung mit einem Y2-Kondensator
> (Tipp von Martin/nitraM:-) an GND anschliessen. Das mit den Pull-ups werde ich auch testen, berichte
> dann morgen darüber. In "MSR mit cc2" steht man kann auch noch je einen 330 Ohm Widerstand in
> Reihe zu SCL und SDA legen, um kurze Störimpulse zu dämpfen.
>
> Mein Bus sieht so aus
>
> c-control----->Leitungstreiber--(30cm)-->pcf8574--(30cm)--->Tastaturmodul(8574)--(30cm)
> --->pcf8574--(30cm)--->DS1631---(100cm)---->Leitungstreiber-----DS1631
>
> Also c-control, direkt angeschlossener Leitungstreiber, dann 30cm Kabel, dann ein Conrad pcf8574
> (19 88 48), wieder 30cm Kabel und dann die Tastatur von Conrad(19 83 56) mit zusätzlich angelötetem
> Interupt usw.
> Die DS1631 sind Thermometer von Conrad (19 82 98)
> Laut Conrad kann man nicht genug Leitungstreiber einsetzen...
>
> Originatton Conrad:
>
> I²C-Leitungstreiber-Modul
>
> Dieses Modul ist ein aktives Pull-Up-Modul und sorgt bei langen Leitungslängen mit hohen
> kapazitiven Lasten für steile Signalflanken auf den Busleitungen. Mit dem Leitungstreiber-Modul
> wird die Anstiegszeit unter 1 µs, bei 200 pF Bus Kapazität gehalten. Bei grö�eren Bus-Kapazitäten
> (oder gro�en Leitungslängen) können einfach mehrere Module parallel betrieben werden. Da alle
> Anschlüsse (auch TXD/RXD) parallel durchverdrahtet sind, kann das Modul ebenso als
> �bergangsadapter vom Schnittstellen- Steckverbinder auf Anschlussklemmen (1 mm²) benutzt werden.
>
> Ich probiere weiter und berichte......
>
> GruÃ?
> Ralf
>
>
> > Hallo Ralf,
> >
> > den Leitungstreiber kannte ich bisher nicht. Ich habe ihn mir angesehen und verstehe die Anleitung so,
> > dass der Leitungstreiber den Pull-Up-Widerstand ersetzt.
> > Das heiÃ?t, der Leitungstreiber ist sozusagen ein dynamischer Widerstand, der seinen Wert den
> > Anforderungen entsprechend verändert. Hast du ein ausgedehntes I2C-Netz mit vielen Teilnehmern,
> > mu� der Pull-Up-Widerstand einen kleinen Wert haben, damit die Signale die erforderliche Qualität
> > aufweisen. Die Leitungskapazitäten und die Eingangskapazität eines Teilnehmers sorgt nämlich
> > für ein verschleifen der Signalflanken. Diesem Effekt versucht man nun mit dem Modul entgegen zu
> > wirken.
> > Allerdings behaupte ich, dass deine Probleme durch genau dieses Modul verursacht werden.
> > Wenn der sogenannte Leitungstreiber, der eigentlich gar keiner ist, den Pull-Up-Widerstand sehr klein
> > macht, sind die Busteilnehmer nicht mehr in der Lage den daraus resultierenden Strom gegen Masse
> > flie�en zu lassen um die Informationen zu übertragen.
> > Die bei dir auftretenden Effekte sind auch logisch. Durch intensiven Signalaustausch werden die
> > Bausteine überlastet, erwärmen sich und sind dann nicht mehr in der Lage fehlerfrei die Daten zu übertragen.
> >
> > Wenn du mich fragst, ich würde das sogenannte Treibermodul erst einmal ausbauen, dieses durch
> > 1KOhm-Widerstände (das ist die Grenze nach unten) von SCA und SCL jeweils auf 5V ersetzen.
> > Dann schaust du, ob es überhaupt funktioniert, und wenn Ja, ob die Qualität besser geworden ist.
> > Wenn man lange Leitungslängen zu überbrücken hat ist der richtige Weg, an jedem Leitungsende ein
> > Leitungstreiber zu platzieren. Der Sender und Empfänger ist dann jeweils am "Lokalbus" angeschlossen,
> > die Leitung selbst ist der "Fernbus".
> > Fernbus: Pull-Up ist ca. 330 Ohm
> > Lokalbus: Pull-Up ist > 1kOhm
> >
> > So, nun ausprobieren und Status melden.
> >
> > Viel Erfolg
> > MiGi
> >
> >
> > > Hallo,
> > > ich habe das kleine Treibermodul von Conrad 19 82 80, sonst keine Pull-ups (???),
> > > müssen da welche rein?
> > >
> > > Es hat sich mittlerweile schon einiges ergeben, Martin hat mir hier intensiv weitergeholfen.
> > > Ich habe:
> > >
> > > - Am Conrad Tastaturmodul die fehlende Interuptleitung angelötet. und bis zur c-control geführt.
> > >
> > > - Software so geändert, das die Module definiert und in der richtigen Reihenfolge initialisiert und
> > >  angesprochen werden.
> > >
> > > - I2C-Verteiler von Conrad (19 11 93) rausgeschmissen, neue Busleitung gelötet (ca.2 Meter).
> > >   (Werde ich allerdings nochmal machen, und die Adernpaare so nutzen, das immer je eine
> > >   GND-Leitung mit SCL, SDA, Interupt und 5V in einem Paar liegt, was im Moment nicht der Fall ist)
> > >
> > > Jetzt läuft die Sache soweit ganz gut, bis auf gelegentliche Störungen auf dem I2C-Bus, die sich
> > >  folgendermassen äuÃ?ern:
> > >
> > >    Die Thermometer zeigen kurz falsche Werte an (teilweise negativ), belegte Eingänge auf dem
> > >    PCF-Portexpander "verschwinden" kurz. Die Störungen dauern nur einen Impuls und treten im
> > >    Abstand von 10sec bis 30sec auf. Im Schaltschrank ist ein Frequenzumrichter, der natürlich
> > >    schon ordentlich Störungen verursachen kann.
> > >
> > > Ich werde noch versuchen:
> > >
> > >    - Pull-up-Widerstände an die Conrad-Tastatur anlöten. Verwende externe Taster, die mit relativ
> > >      langen(30 cm) Leitungen an das Modul gelötet sind.
> > >
> > >    - Unter Umständen Tastaturmodul ersetzen durch PCF-Portexpander (Acht Eingänge für 8 Tasten).
> > >
> > >
> > > GruÃ?
> > > Ralf
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > > Hallo Ralf,
> > > >
> > > > welche Werte haben die Pull-Up-Widerstände an SDA und SCL vom I2C-Bus?
> > > >
> > > > GruÃ?
> > > > MiGi
> > > >
> > > >
> > > > > Hallo,
> > > > > erst mal ein groÃ?es Lob an dieses Forum und diese Seite. Ich konnte alle Informationen die ich zum
> > > > > programmieren brauchte hier finden. Jetzt habe ich aber ein Problem und komme nicht dahinter.
> > > > > Ich habe am I2C-Bus 2 Thermometer, 1 PCF-Keyboard und 2 pcf-portexpander (nicht die A-Version,
> > > > >  einen als Eingänge und einen als Ausgänge). Es hat zuerst alles funktioniert wie gewünscht, jedoch
> > > > > gab es dann immer häufiger Fehlmeldungen der Eingangskarte, die Eingänge als gesetzt übergab,
> > > > > obwohl sie definitiv nicht belegt waren. mit entfernen des als Ausgang verwendeten Portexpanders
> > > > > verschwanden die Probleme zunächst. Nach mehreren Versuchen bekomme ich jetzt die Portexpander
> > > > > nur noch sporadisch zum laufen, teilweise aber erst nach längerem Ausschalten der C-Control. Die
> > > > > PCF-Tastatur funktioniert auch nicht mehr. Das alles, obwohl ich alles in den Zustand zurückversetzt
> > > > > habe in dem alles funktioniert hat. Was immer geht sind die Thermometer (DS1631). Als Adressen habe
> > > > > ich 4 für die Tastatur, 6 für die Eingänge und 7 für die Ausgänge. Treibermodul für den I2C-Bus ist auch
> > > > > eingebaut. Wie werden die Portexpander richtig als Ein bzw. Ausgang initialisiert? Was genau bedeutet
> > > > > pcf.on() bzw.pcf.off()? Die Eingänge sind einfache Schalter und die Ausgänge sollen einen Frequenzum-
> > > > > richter steuern. Falls jemand eine Idee hat wo hier der Fehler liegen könnte bitte ich dringend um Hilfe.
> > > > >
> > > > > Vielen Dank.

Meine Seite: http://cc2-Haussteuerung.de


    Antwort schreiben


Antworten:

Re: pcf8574 (von nitraM - 12.03.2008 11:58)
    Re: pcf8574 (von Migi - 12.03.2008 19:05)
        Re: pcf8574 (von nitraM - 12.03.2008 19:48)
            Re: pcf8574 (von Migi - 13.03.2008 10:20)
Re: pcf8574 (von Ralf Metzner - 12.03.2008 10:37)
    Re: pcf8574 (von Migi - 12.03.2008 19:11)
    Re: pcf8574 (von Migi - 12.03.2008 19:11)
        Re: pcf8574 (von Ralf Metzner - 13.03.2008 8:11)
            Re: pcf8574 (von Ralf Metzner - 14.03.2008 10:39)