Hallo! Ich möchte eine I²C Kommunikation über ca. 20m gesamtlänge realisieren. Dafür wollte ich, analog zum Hausbus-Wikieintrag, den PCA9600 als Bustreiber nehmen. (http://www.nxp.com/documents/data_sheet/PCA9600.pdf) Ich bin mir noch nicht so sicher wie viele Leitungen ich brauche. Signal,Takt und GND sollten doch reichen,oder? Jeder Slave hat seine eigene Stromversorgung. Dann habe ich an XLR Kabel gedacht (Robust,Dreipolig,Omnipräsent) ohne allerdings zu wissen ob der innere Kabelaufbau geeignet ist für mein Vorhaben. Für DMX werden diese Kabel ja auch verwendet. Liebe Grüße, Bernd
Bernd schrieb: > Ich möchte eine I²C Kommunikation über ca. 20m gesamtlänge realisieren. Völliger Blödsinn. Gepfusche bis zum Umfallen. Nein glaub mir damit hast du keinen Spaß. Nimm einen Hausbus der auf CAN basiert und du bist glücklich und störungsfrei.
Ich habe seit 6 Jahren problemlos einen I2C-Hausbus mit 16 Meter Länge am laufen (Geschwindigkeit 100 kHz). Verwendet habe ich ganz normales CAT5 Netzwerkkabel. Treiber: P82B715 PN
Lehrmann Michael schrieb: > Bernd schrieb: >> Ich möchte eine I²C Kommunikation über ca. 20m gesamtlänge realisieren. > > Völliger Blödsinn. Gepfusche bis zum Umfallen. Der Hersteller des Treiberbausteines sagt, dass er dafür gedacht ist und wird sich da hoffentlich was bei gedacht haben...
Naja wenn wir jetzt allerdings einmal die Grundverwendung von I2C ansehen ist diese Kommunikation für platinen entwickelt worden. für hausbus Sachen sind andere Systeme besser geeignet.
Hi >Naja wenn wir jetzt allerdings einmal die Grundverwendung von I2C >ansehen ist diese Kommunikation für platinen entwickelt worden. für >hausbus Sachen sind andere Systeme besser geeignet. I2C hat sich halt auch gemausert: http://www.google.de/url?sa=t&rct=j&q=an10658&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fapplication_note%2FAN10658.pdf&ei=V2v3TputI8_GswaipfDzDw&usg=AFQjCNHDGumqUNtsum_IPisOPCl75Dm5Jg&cad=rja MfG Spess
Ich möchte PWM-Module ansteuern und die laufen eben über I²C und nicht über CAN. Daher wäre I²C schon ganz gut. Gruss Bernd
Bernd schrieb: > Ich möchte PWM-Module ansteuern und die laufen eben über I²C und nicht > über CAN. Daher wäre I²C schon ganz gut. Dann nimmst Du eben pro Knoten einen kleinen PIC18F25K80 für 1.95€ das Stück (hat 1 CAN und 1 I2C) als Umsetzer. Das funktioniert wenigstens hinterher. fchk
Den Rechtecken in einem CAT5 Kabel ist es ziemlich wursch, welches Protokoll sie transportieren. Die Physik ist für alle gleich.
Schau dir mal den P82B96 an. Ich hab da mal gelesen, daß jemand mit diesem Baustein an beiden Seiten der Leitung und einem Buspegel von 12V einige 100m zuverlässig überbrückt hat. Wichtig war da, SCL und SDA nicht im gleichen Paar zu haben, sondern immer eine Datenleitung mit einer Versorgung zu führen. Die Pullups, die wegen der höheren Treiberleistung der P82B96 recht niedrig sein können, sollten auf beide Seiten aufgeteilt werden. MfG Klaus
Ich glaube der PCA9600 ist das Nachfolgemodell von dem Chip. Ich finde keine JR45 Printbuchsen. Weiss da Jemand weiter? (Alleine deswegen wäre XLR schon praktischer.. ) Gruss Bernd
Bernd schrieb: > Ich glaube der PCA9600 ist das Nachfolgemodell von dem Chip. > Ich finde keine JR45 Printbuchsen. Weiss da Jemand weiter? (Alleine > deswegen wäre XLR schon praktischer.. ) Conrad? 716196 - 62 > Gruss > > Bernd
Bernd schrieb: > Ich glaube der PCA9600 ist das Nachfolgemodell von dem Chip. Sieht so aus. Bernd schrieb: > Ich bin mir noch nicht so sicher wie viele Leitungen ich brauche. > Signal,Takt und GND sollten doch reichen,oder? Jeder Slave hat seine > eigene Stromversorgung. Du solltest aber die Busversorgung, an der die Pullups hängen, mit in die Leitung nehmen, mal unabhängig, ob der Slave auch davon versorgt wird. Schau dir mal Fig 13. Long distance I2C-bus communication im PCA9600 Datenblatt an. MfG Klaus
> Ich hab da mal gelesen, daß jemand mit diesem Baustein an beiden > Seiten der Leitung und einem Buspegel von 12V einige 100m zuverlässig > überbrückt hat. sogar 200 Meter bei 100kHz es ist eigentlich egal was für ein Stecker Du nimmst, Du solltest nur beachten wofür wird der Stecker noch verwendet, könnte ein vertauschen eine Schädigung mit sich führen, Kontakt-Sicherheit und Strom-Belastbarkeit ist auch wichtig bei Auswahl. Bei XLR-Verbindungen könnten die Kabel mit Bühnen-Geräte vertauscht werden ... würde ich ich empfehlen ... Gruss Ralf
um sicher zu gehen, Signalwege mit einem P82B96 auftrennen und mit einem rs422 Treiber jedes der vier Signale mit einem Aderpaar verbinden (4x2)
Jenachdem um was es dir geht, wäre vielleicht sogar DMX eine Lösung. RS485, 50m mit Mikrofonkabel möglich und 250kbit/s Übertragungsrate. Allerdings nur in eine Richtung. Du kannst aber die 5 poligen DMX für eine Richtung auf den 5er-Standard verkabeln und die 2 freien Pins für D+ und D- für den Rückweg verwenden.
http://ics.nxp.com/literature/other/interface/pdf/bus.buffers.p82b96.pca9600.pdf solltest Du mal anschauen ...
numurai schrieb: > Den Rechtecken in einem CAT5 Kabel ist es ziemlich wursch, welches > Protokoll sie transportieren. Die Physik ist für alle gleich. Dir ist schon klar, dass es verschiedene Methoden gibt Rechtecksignale zu übertragen? Schonmal was von differentieller Übertragung gehört -> CAN-Bus?! Fehlerkorrektur? Die Physik ist zwar für alle gleich aber sie bedienen sich verschiedener physikalischer Prinzipien. Ich weiß auch dass sich der I2C prinzipiell für sowas eignet. Das ist allerdings und das muss man hier mal deutlich betonen eine Bastlerlösung. Wenn ich einem Kunden sowas anbiete dann lacht der sich kaputt. Das hat was von solchen Heißkleberattacken denen einige Bastler immer wieder verfallen. Da wird dann alles mit Heißkleber zugepampt. Der Zweck des I2C liegt wie bereits erwähnt nicht in der Langstreckenübertragung, sondern in einem niederratigem Bussystem für die Kommunikation innerhalb einer Einheit bzw. auf einer Platine oder bestenfalls auf einem Platinenarray. Für große Distanzen gibt es andere Bussysteme die unempfindlicher gegen Störungen sind. Ganz oben steht da der CAN bzw. im Bereich der Hausautomatisierung der EIB Bus (der dem CAN sehr ähnlich ist). Ansonsten ist noch Ethernet üblich. Dennoch kann ich verstehen, dass man auf eine derart einfache Lösung wie I2C zurückgreift. Zu viel sollte man sich da allerdings nicht erwarten. Gerade wenn es um Störungen, etc geht.
Lehrmann Michael schrieb: > Ich weiß auch dass sich der I2C prinzipiell für sowas eignet. Das ist > allerdings und das muss man hier mal deutlich betonen eine > Bastlerlösung. Wenn ich mir so die Datenblätter und App. Notes von NXP zu den Bustreibern wie dem P82B96 oder dem PCA9600 ansehe, kommt es mir nicht so vor, als seien die extra für Bastler geschrieben. Man sollte aber auch verstehen und berücksichtigen, was da geschrieben steht. MfG Klaus
Hallo Bernd, ich würde dir empfehlen, auf jeden Fall ein Kabel mit geschirmten Twistet-Pair-Leitungen zu verwenden. Falls der I2C-Bus funktioniert: perfekt. Falls er nicht funktioniert, kannst du mit geschirmten Twistet-Pair immer noch RS485, CAN o.ä. machen. Du hast dann alle Möglichkeiten offen.
Bernd schrieb: > Ich möchte eine I²C Kommunikation über ca. 20m gesamtlänge realisieren. Mann kann auch mit einem Panzer in den Urlaub fahren. Nur: mit einem Van ist das praktischer und angenehmer... Bernd schrieb: > Ich finde keine JR45 Printbuchsen. Such mal nach RJ45... Klaus schrieb: > Ich hab da mal gelesen, daß jemand mit diesem Baustein an beiden > Seiten der Leitung und einem Buspegel von 12V einige 100m zuverlässig > überbrückt hat. Ich habe da mal gelesen, dass einer von einer 100m hohen Klippe gesprungen und danach 40m tief getaucht ist. Nur: warum sollte ich das auch tun, wenns andere passende Übertragungsmedien gibt? Klaus schrieb: > Wenn ich mir so die Datenblätter und App. Notes von NXP zu den > Bustreibern wie dem P82B96 oder dem PCA9600 ansehe Das Problem beim I2C (wie beim CAN) ist, dass jedes Bit sowohl vom Master wie auch vom Slave manipuliert werden kann (I2C: Clock-Stretching), und deshalb die Übertragungsrate entsprechend niedrig gewählt werden muß.
Ja, das typische Problem, wenn sachliche Argumente auf Pseudoargumente wie "ja aber geht doch" und "ja aber der Hersteller bietet doch Treiber an" stoßen. Natürlich gibt es immer Anwendungen, in denen es extrem billig sein muss und es absolut nicht auf Übertragungssicherheit und Zuverlässigkeit ankommt (China-Spielzeug). Für solche Anwendungen bietet der Hersteller diese Chips an. Wenn die eigene Lösung ebensowenig zuverlässig sein darf, kann man es machen. Eine gute Lösung ist es dann aber immer noch nicht. Bernd schrieb: > Dann habe ich an XLR Kabel gedacht (Robust,Dreipolig,Omnipräsent) ohne > allerdings zu wissen ob der innere Kabelaufbau geeignet ist für mein > Vorhaben. Für DMX werden diese Kabel ja auch verwendet. Dazu ein kleiner Hinweis: XLR ist nicht gleich XLR. Es gibt die normalen Mikrofonkabel, die nicht unbedingt geeignet sein müssen. Für DMX werden normalerweise spezielle Twisted-Pair-Kabel mit definierten Wellenwiderstand eingesetzt, also ähnlich wie Ethernet.
Lothar Miller schrieb: > Nur: warum sollte ich das > auch tun, wenns andere passende Übertragungsmedien gibt? Was bedeutet hier "passend" ? Natürlich gibts viele Medien vom Dosentelefon bis zu Satellitenlink. Bernd schrieb: > Ich möchte PWM-Module ansteuern und die laufen eben über I²C und nicht > über CAN. Daher wäre I²C schon ganz gut. Ob es in diesem Fall (20m) sinnvoll ist, I²C auf CAN zu wandeln, und dann wieder zurück, mit all den dabei entstehenden Problemen: mehr Hardware - mehr Fehler; mehr Code - mehr Bugs; mehr Layer - mehr Latency, sollte man sich gut überlegen. MfG Klaus
Lehrmann Michael schrieb: > Ich weiß auch dass sich der I2C prinzipiell für sowas eignet. Das ist > allerdings und das muss man hier mal deutlich betonen eine > Bastlerlösung. Wenn ich einem Kunden sowas anbiete dann lacht der sich > kaputt. Das hat was von solchen Heißkleberattacken denen einige Bastler > immer wieder verfallen. Da wird dann alles mit Heißkleber zugepampt. Vielleicht hast du selber so eine "Bastlerlösung" zu Hause. In HDMI/DVI/VGA Kabeln ist auch ein I²C Bus drin :) >ich würde dir empfehlen, auf jeden Fall ein Kabel mit geschirmten >Twistet-Pair-Leitungen zu verwenden. Würde ich auch sagen. Hab auch schon I²C / 100kHz über 100m laufen lassen. Dabei hatte ich auch ein Cat5 Kabel genommen. Und wie im I²C Hausbus Beitrag schon steht kannst du auch I²C per RS485/CAN übertragen. Einfach direkt gewandelt ohne Controller und Software: http://www.mikrocontroller.net/articles/I2C_als_Hausbus#Differentielle_.C3.9Cbertragung
Jörg S. schrieb: > Und wie im I²C Hausbus Beitrag schon steht kannst du auch I²C per > RS485/CAN übertragen. Einfach direkt gewandelt ohne Controller und > Software: > http://www.mikrocontroller.net/articles/I2C_als_Ha... Nur braucht das Kabel dann 4-5 Adern (ggf. noch Masse), anstatt 2-3 Adern bei CAN oder RS-485.
Also ich bin Student der angewandten Theaterwissenschaft und das ganze ist für eine Lichtinstallation die in Echtzeit ueber MAX/MSP angesteuert wird. Daher ist es mir egal ob es Bastlercharakter hat oder nicht - verkaufen werde ich das ganze vorerst sowieso nicht. Wie erwähnt möchte ich nur Lämpchen über die PWM Ic's steuern. Wenn da mal kurz die falsche Lampe angeht juckt mich das nicht sonderlich. Gruss Bernd
@Bernd (Gast) lass Dich nicht von deinem I2C-Weg abbringen, das was Du vor hast, kann sehr wohl funktionieren. Wie Du schon selber Recherchierst hast sind die beiden I2C-Treiber P82B96 oder PCA9600 die richtige Wahl. Das Verbindungskabel und die Steckverbindung müssen gut gewählt sein, dabei auf ausreichend Signal-Masse achten. Die Aktoren würde ich dann galvanisch vom I2C-Bus entkoppeln, um jegliche Störungen vom Bus fern zu halten. Leider haben einige hier ein Problem mit dem I2C-Bus ... warum auch immer ? Gruss Ralf
Mein Hausbus läuft auch seit mehreren Jahren anstandslos mit P82B715 Treibern. Länge geschätzt 30 Meter. Als Kabel habe ich ungeschirmte nicht verdrillte 4-adrige Litze verlegt, was sicher nicht optimal ist aber aus nicht-elektrischen Gründen sinnvoll war. Versorgung aller Geräte mit 5V über den Bus. Es gibt definitiv Störungen auf dem Bus. Lässt sich aber gut in den Griff kriegen: - Der Master sendet mit niedrigem Takt. Ich bin bei unter 100 kHz, 100 kHz geht aber auch noch. - Gesendet wird mit dem SMBUS Protokoll mit CRC Fehlererkennung und wenig Daten pro Paket. - Saubere Programmierung (bei mir hängen PICs als Geräte am Bus), damit nicht ein einzelnes Amok laufendes Gerät den Bus auf low zieht und alle anderen blockiert. Wenn ich heute neu aufsetzen müsste, würde ich auch über CAN nachdenken (ist technisch schon sehr schön auf Fehlertoleranz getrimmt), aber I2C macht Spaß, weil man die Bits am Oskar noch gut einzeln sehen und von Hand dekodieren kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.