Hallo allerseits,
ich möchte gerne über I2C ein paar temperatursensoren ansteuern, welche länge des I2C busses steht mir da maximal zur verfügung? ist es sinnvoller, den Bus sternförmig oder in Reihe zu verdraten?
bei den temperatursensoren, die ich ansteuern will, handelt es sich um 4* DS 1621.
Gruß Martin
länge des I2C bus
Moderator: Guido Körber
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Hallo ...
Für Strecken bis 250m kann der P82B96 verwendet werden.
Datenblatt P82B96
Beim P82B96 wird auf der LX Seite eine High/Low Schwelle von U/2
verwendet , an statt der üblichen 1,5V bei 5V oder 1V bei 3,3V.
Bei einer möglichen Versorgungsspannung von 12V ergibt sich damit 6V als Schwellwert,desweiteren wird als Pullup ein 750 Ohm Widerstadt verwendet (Low Impedance).
Bei langen Strecken ist die max Bandbreite auf 100kHz beschränkt.
Die max Acknowledge-time ist auf max 3,4usec spezifiziert ...
Als delaytime wird ein Wert von 5nsec/m zu Grunde gelegt.
Bei der Verwendung von 2x P82B96 mit 12 V und 750 Ohm Pullup und 100m Strecke ergibt sich ein Wert von 2,55 usec,
bei 250m ergibt sich ein Wert von 3,3usec.
Also ergibt sich eine Max länge von 250 Metern bei einer Point to Point Verbindung , sollten noch andere Buskomponenten wie Extender oder Hubs verwendet werden, müssen deren Durchlaufzeiten berücksichtigen werden, da diese sich auf die max Strecke auswirken.
Eine galvanische Trennung kann ebenfalls mit
dem P82B96 realisiert werden.
Einen möglichen Loop wird vom 82B96 dabei verhindert.
mfg
R.Greinert
Für Strecken bis 250m kann der P82B96 verwendet werden.
Datenblatt P82B96
Beim P82B96 wird auf der LX Seite eine High/Low Schwelle von U/2
verwendet , an statt der üblichen 1,5V bei 5V oder 1V bei 3,3V.
Bei einer möglichen Versorgungsspannung von 12V ergibt sich damit 6V als Schwellwert,desweiteren wird als Pullup ein 750 Ohm Widerstadt verwendet (Low Impedance).
Bei langen Strecken ist die max Bandbreite auf 100kHz beschränkt.
Die max Acknowledge-time ist auf max 3,4usec spezifiziert ...
Als delaytime wird ein Wert von 5nsec/m zu Grunde gelegt.
Bei der Verwendung von 2x P82B96 mit 12 V und 750 Ohm Pullup und 100m Strecke ergibt sich ein Wert von 2,55 usec,
bei 250m ergibt sich ein Wert von 3,3usec.
Also ergibt sich eine Max länge von 250 Metern bei einer Point to Point Verbindung , sollten noch andere Buskomponenten wie Extender oder Hubs verwendet werden, müssen deren Durchlaufzeiten berücksichtigen werden, da diese sich auf die max Strecke auswirken.
Eine galvanische Trennung kann ebenfalls mit
dem P82B96 realisiert werden.
Einen möglichen Loop wird vom 82B96 dabei verhindert.
mfg
R.Greinert
Hallo,
habe einen DS1621 an einem ca. 7 Meter langem Kabel dran und er funktioniert noch prima. Wie das mit 4 Bausteinen aussieht weiß ich nicht.
Das Teil hängt bei mir an einer Linux-Maschine, um die Außentemperatur zu erfassen und in eine MySQL-Datenbank wegzuschreiben. Die Clients können diese Daten anschließend z.B. per Excel visualisieren.
Habe einfach defekte Netzwerkkarten als Organspender für die Netzwerbuchsen verwendet und diese direkt auf die IO-Warrior-Platine gelötet. Von da an gehts über CAT-Kabel bis zum DS1621-Baustein, der auch wiederrum direkt auf eine LAN-Buchse gelötet wurde. Da ich gerade kein passendes Kabel zur Hand hatte, habe ich zwei Kabel (2 und 5 Meter) per RJ45-Verbinderbox verlänert. Funktioniert nun schon über zwei Jahre...
Habe eher das Problem, daß der IO-Warrior-Baustein alle paar Stunden aus dem USB-Subsystem fliegt und anschließend vom Betriebsystem wieder neu erkannt wird... Denk das liegt aber daran, daß ich einen Quartz als Frequenzgenerator für den IOW40 nehm.... :oops:
Gruß
Gerhard
PS: Schau dir evtl. auch mal: "http://www.heise.de/ct/ftp/projekte/com2lan/" an. Damit kannst du z.B. PT1000-Fühler oder auch I2C ansprechen. Du brauchst nur Ethernet an dem Ort....
habe einen DS1621 an einem ca. 7 Meter langem Kabel dran und er funktioniert noch prima. Wie das mit 4 Bausteinen aussieht weiß ich nicht.
Das Teil hängt bei mir an einer Linux-Maschine, um die Außentemperatur zu erfassen und in eine MySQL-Datenbank wegzuschreiben. Die Clients können diese Daten anschließend z.B. per Excel visualisieren.
Habe einfach defekte Netzwerkkarten als Organspender für die Netzwerbuchsen verwendet und diese direkt auf die IO-Warrior-Platine gelötet. Von da an gehts über CAT-Kabel bis zum DS1621-Baustein, der auch wiederrum direkt auf eine LAN-Buchse gelötet wurde. Da ich gerade kein passendes Kabel zur Hand hatte, habe ich zwei Kabel (2 und 5 Meter) per RJ45-Verbinderbox verlänert. Funktioniert nun schon über zwei Jahre...
Habe eher das Problem, daß der IO-Warrior-Baustein alle paar Stunden aus dem USB-Subsystem fliegt und anschließend vom Betriebsystem wieder neu erkannt wird... Denk das liegt aber daran, daß ich einen Quartz als Frequenzgenerator für den IOW40 nehm.... :oops:
Gruß
Gerhard
PS: Schau dir evtl. auch mal: "http://www.heise.de/ct/ftp/projekte/com2lan/" an. Damit kannst du z.B. PT1000-Fühler oder auch I2C ansprechen. Du brauchst nur Ethernet an dem Ort....