I2C/TWI-Interface

Gibt es ausser mir noch Interessenten, die gerne I2C/TWI-Geräte über IPS steuern möchten?

I2C/TWI ist ein 2-Wire Interface, welches von Phillips schon vor längerer Zeit (vor 1-Wire :rolleyes: ) für die Kommunikation zwischen ICs entwickelt wurde und für das es viele Geräte gibt. Die Buslänge ist aber wesentlich kürzer als bei 1-Wire.

Als Interface (IO-Modul) würde ich erstmal das ELV-Parallel-Interface und das hier im Forum erwähnte serielle Interface von Jürgen Holter verwenden. Als Device könnten dann Module für IO(PCF8574), Temperatur (LM75), RTC (PCF8583), AD-Wandler (PCF8591) und EEPROMS/ChipKarten (24Cxx) kommen.
Weitere Devices wären prinzipiell möglich, habe ich aber nicht selber.

Tommi

Also ich wäre interessiert. Gibt es dafür dann ein neues Modul?

Das hätt tatsächlich was…

Ich hab mal bei nem Kunden große aktive Lautsprecher verbaut. Die hatten ein Display zur Anzeige des Sendernamen/Titel/Interpret. Die Display-Daten wurden hin und die Fernbedienungsdaten zurück über IIC realisiert.

Aber wie lang geht denn das? Wir haben Kabel über 25m verlegt ohne probleme. Es gab zwar In-Line-Verstärker, aber wir sind ohne ausgekommen…

Kann mich nicht mehr an den Typ der Boxen erinnern, aber der Hersteller was B&O, da bin ich mir relativ sicher… amKopfKratz Oder doch nicht… :confused:

Toni

Eine Kurzinfo über I2C/TWI kann man neben den Original Phillips-Seiten auch hier finden.
Möglich wären einige Meter, allerdings auf Kosten der Geschwindigkeit, wie dieser Artikel beschreibt.

Dafür würde ich ein oder zwei IO-Module (für die parallele und für die serielle Schnittstelle) und für jedes Gerät nach und nach ein Device-Modul versuchen zu bauen.

Tommi

Tommi, du scheist dich ja ein bissel mit dem Thema auszukennen…

Es gibt so Displays, die man mit IIC ansteuern kann. Kennst du da vielleicht das eine oder ander mit Namen? Wollt die googeln, find aber nichts gescheites. Mir fallen auch die Bezeichnungen nicht mehr ein… :frowning:

Toni

Ich hatte bisher mehr mit Standard-Displays zu tun, denen halt ein serielles Modul vorgesetzt wurde. Sowas gibt es auch zu kaufen, z.B. hier:
http://www.channaa.com/eng/html/lcd_modules.html

Displays mit eingebautem Interface gibt es z.B. hier, aber dann eine Preisstufe höher:
http://elmicro.com/de/seriallcd.html oder bei Conrad (ab 190Euro)

Es gibt einen Chip, mit dem man LEDs(7Segment)-Anzeigen ansteuern kann, ELV hat im Ausverkauf dazu noch einen Bausatz LED-Board.

Das von Paresy vorgestellte Touchpanel kann wohl auch I2C.

Einfach mal nach „I2C Display“ googeln.

HTH
Tommi

Da gibt es alle möglichen I2C - Adaper, selbst für Grafik LCD’s:

http://www.channaa.com/html/produkte.html

Whoa… Danke, mehr als ich erwartet hatte. Die sind ja erschwinglich…

Ich kenn den IIC aus der Unterhaltungselektronik, muss aber gestehen, dass ich mich nie näher damit beschäftigt habe… Nur Teile tauschen…:smiley:

Meine Vision ist nun, neben ein paar Tasten auch ein Display (hab ich das richtig gesehen? ein 4x20 Display? Was könnte man da alles mit realisieren? träum) zu installieren um Sendernamen, Titel, Interpret, Zimmertemperatur anzuzeigen. Auf diese Weise hätte man die Möglichkeit ein einfaches und vergleichsweise unauffälliges Bedienpult an der Tür zu haben. Mit dem IPS-SDK und nem Rückkanal über FS20 Sender sollte da schon was machbar sein.

Für ne reine Anzeige könnte die Übertragungsrate schon echt niedrig sein. Habt ihr eine Vorstellung davon wie lang man die Strippen machen könnte? Vielleicht auch ne grobe Schätzung?

Toni

wenn Du nur ein LCD-Display mit ein paar Tasten anschliessen willst, kannst Du heute schon das ULA200 verwenden (6Tasten, max. 4x20 Display).
Das wird an USB angeschlossen und wird (mit extentender) weiter reichen als I2C, was nur bis 3m empfohlen wird.

Tommi

Zum Staunen:
Eine Haussteuerung über I2C, Reichweite wird da auch behandelt.
http://www.hauscomputer.gmxhome.de/
Na was sagt ihr? :slight_smile:

Nett… Aber als ich die Screenshots ( wie lange sagt man denn schon nicht mehr Bildschirmkopie - musste schmunzeln, lange nicht mehr gehört den Ausdruck :o ) gesehen habe war ich doch froh, dass es IPS gibt…

Die Länge des Busses wird da nicht behandelt. Oder hab ichs nur nicht gefunden? Irgendwo stand ganz beiläufig was von bis zu 100m. Aus meiner Praktischen Erfahrung weiss ich, dass auch 25m drin sind. Hatte, ja schon drüber geschrieben.

@tommi: Mit 5 Metern komm ich nirgends hin. Hab im Kopf grad überschlagen, dass ich minimum 15m bräuchte. Nach Möglichkeit halt im TP-Kabel.

Toni

Hallo tommi,

I2C hört sich interessant an. Ich habe selbst schon mit I2C im „Kurzstreckenbetrieb“ experimentiert und bin zufrieden. Für Langstrecken gibt es mitlerweile Verstärker IC’s und Extender, hiermit sollten große Entfernungen auch kein Problem mehr darstellen.

Hier gibt es reichhaltiges Zubehör für I2C und auch einen RS232 to I2C Adapter:

http://cctools.hs-control.de/

Grüße, Keule

Hallo tommi,

jetzt wirds auch fuer mich interessant. In 2006 wird es einen I²C LEDDIM geben. Der macht PWM mit 8 Ausgaengen und ist mit 500mA (insgesamt 2A) belastbar. Sowas suche ich schon laenger fuer meine Saunabeleuchtung, bisher habe ich so eine RGB LED Lampe, aber das ist der Farbwechsel einfach zu unangenehm.

Gruss Torro

Ich kann ja mal anfangen, was zu Basteln. Dann kann jeder seine eigenen Erfahrungen machen.

Zum Thema Hausbus gibt es einen interessanten Artikel, der verschiedenen Hausbussysteme (EIB/Powernet/I2C/RS-485/1-Wire/Ethernet) miteinander vergleicht. Ich würde mich nach diesen Informationen für RS-485 entscheiden, als „Nahbereichs-Bus“ für 1-wire oder I2C.

Edit:

Im gleichen Umfeld wurde auch ein Hausbus-Projectgestartet, welches auf OpenCan mit AVRs und externem Controler basieren soll.

Aber lest es selbst.

Tommi

Hallo Tommi,

leider sind diese Informationen schon etwas älter, was den I2C Bus betrifft :frowning: . Ich habe jetzt nach einem halben Jahr mal wieder auf die Seite http://cctools.hs-control.de/ gesehen und war erstaunt wie viele neue Module es für den I2C Bus gibt um die Reichweite zu erhöhen.

Hier ein Beispiel:

Der I2C-Tranceiver dient zum sicheren Übertragen von I²C-Bus-Signalen
über längere Strecken.
Es wird dabei CAN-Bus-Hardware verwendet. Die Signale werden so als
differential-Signale über je ein Adernpaar für SDA und SCL übertragen.
Eine extra Masse-Leitung muß nicht mitgeführt werden.
Am so entstehenden Differiential-Bus können mehrere I²C-Bus-Transeiver
betrieben werden.

Hier noch ein Link zum Datenblatt - I2C Differentialbus:
http://www.semiconductors.philips.com/acrobat_download/applicationnotes/AN460_1.pdf

Den Tranceiver gibt es für 19€ für die Hutschiene.

Ich werde wohl mal ein bischen mit dem I2C experimentieren. :smiley:

Grüße, Keule

Ich hab nochmal wegen der Kabellängen gegoogelt… Ich poste das hier mal um „das Wissen“ zu erweitern… :wink:

Auszug aus nem Forum:

> Wie lange darf eigentlich der I2C Bus sein mit CAT5 Kabel ?

Das kommt auf die Art des Busses (ungepuffert, gepuffert, Tranceiver) und die Anzahl der I²C-Bus-Bausteine an. Je mehr Bausteine am I²C-Bus sitzen, desto kürzer muß dieser sein. Mein Extremtest mit dem I²C-Bus betrug fast 100m. Auf der Gegenseite befand sich aber nur ein einzelner PCF8574 mit einem LCD. Der Bus war ungepuffert mit lediglich 10k extra Pull-Ups am Ende der Leitung Als Kabel kam normale geschirmte PC-Steuerleitung zum Einsatz.

Als Faustregel kann man aber folgendes sagen:
ungepufferter Bus bis max. 20m
gepufferter bis ca. 100m mit entsprechend kleinen Pull-Ups auf der gepufferten Seite
Tranceiver-Bus: max. Länge noch nicht getestet. Der Letzte Wert lag, soviel ich weiß bei 180m.

> Kann ich ein anderes Kabel auch noch verwenden außer dem CAT5 Kabel wo ich dann
> keine Probleme habe?

Statt CAT5 kann man auch geschirmte PC-Steuerleitung(Litze) verwenden (z.B.: LIYCY) Eher ungeeignet sind Fernmeldeleitungen.

Toni

Hi Folks und insbesondere Keule,
ich habe mal eine kleine Frage. Wie sieht es eigentlich hier mit der Integration des I2C Busses im IPS aus. Ich habe einen Arbeitskollegen, der großes Interesse an IPS hat, jedoch nur wenn der I2C Bus unterstützt wird. Er möchte meherere der im CC Net erwähnten I2C RT16 HS 16 Fach Relaistreiber einsetzten. Dies setzt jedoch vorraus, das I2C PC Interface zum Einsatz kommt, welches dort auch angeboten wird. Hat da schon jemand Erfahrungen? Oder vielleicht schon eine passende DLL? :wink:

MfG

Schlimmerfinger

Darum dreht sich doch schon der ganze Thread hier!:eek:

Momentan gibt es noch nichts.

Ich wollte mich aber mal hinsetzen und ein (bzw. mehrere) Module machen, falls das nicht zufälligerweise doch mehr in der Roadmap von M&M:D aufsteigen sollte.

Was ich konkret machen will, habe ich ja schon weiter oben beschrieben. Es ist jedoch ziemlich unwahrscheinlich, das ich genau dieses Interface implementieren werde. Aber das ist vielleicht auch gar nicht notwendig, da (bei mir) die Hardware vom Protokoll getrennt werden soll. Also (mal sehen) ein oder 2 IO-Module(für die beschriebene Hardware), einen Splitter( fürs I2C-Protokoll) und einige der Devices, die ich auch selber habe.

Leider gibt es aktuell wohl Kompatibilitäts-Probleme mit meiner Hobby-Entwicklungsumgebung, die es erst zu lösen gilt, bevor ich damit anfangen kann. Hilfe ist übrigens jederzeit willkommen!

Tommi

Hallo,

so weit ich gesehen habe übernimmt bei diesem Interface der Rechner das I2C Timing. Schöner wäre ein Controller / IC der den Bus selbstständig steuert und z.B. seriell (RS232) per Kommandos zu erreichen ist.

Im Netz habe ich zum Thema einen neuen IC von Philips gefunden:

http://www.standardics.philips.com/products/bridges/uart.i2c.master.gpio/~SC18IM700/#SC18IM700

Da dieser IC scheinbar noch nicht verfügbar ist, hatte ich schon überlegt ein eigenes Interface auf Basis CControl zu bauen. Dieses Interface könnte dann gleich noch ein paar Aufgaben (z.B IPS Watchdog, Alarm…) unabhängig vom IPS übernehmen.

Grüße, Keule

@Schlimmerfinger
Kannst Deinem Arbeitskollegen ca 75 Euro abluxsen? Dann gibt es was fertiges auf:
http://www.channaa.com/html/rs232_i2c_adapter.html
Wenn es jemand preiswerter hat, postet es.:slight_smile: