Forum: Mikrocontroller und Digitale Elektronik I²C Funkbrücke


von Jo (Gast)


Lesenswert?

Hallo zusammen,

ich möchte gerne eine I²C Funkbrücke aufbauen. Angedacht ist eine 
Kombination aus µC  und RFM12 Modul.
Die RFM12 bieten aber nur einen Kanal zur Übertragung (halbduplex), 
erschwerend kommt dazu, dass SDA bidirektional ist


Kennt jemand vielleicht einen Lösungsansatz (möglichst auf RFM12), wie 
sich das Ganze übertragen lässt??

Thx für Eure Hilfe

Jo

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

dann schau dir mal die gängigen Projekte zu RS232 Funkbrücken an.
Die Funktionen für RS232 ersetzt du "einfach" durch welche für I2C.
Im übrigen ist I2C genau wie der Funkkanal nur halbduplex, nur das du an 
der Funkseite natürlich nicht so schnell dir Richtung wechseln kannst!

Eine für alle I2C-Bausteine transparente Übertragung wirst du nicht 
hinbekommen, da der µC einen Datenframe immer komplett entgegennehmen 
muss um die Daten dann über Funk weiterzuleiten. Dazu muss der µC 
natürlich wissen was für Daten kommen können da die Protokolle ja recht 
unterschiedlich sind.
Und ob ein IC2-Master u.U. mal eben ein paar Sekunden warten will bis 
deine Funkbrücke die Adresse zur Datenabfrage an die Gegenstelle 
übermittelt hat und die Daten dann wieder zurückkommen ist noch eine 
ganz andere Frage.


Sascha

von Jörg S. (joerg-s)


Lesenswert?

Sascha Weber schrieb:
> Und ob ein IC2-Master u.U. mal eben ein paar Sekunden warten will bis
> deine Funkbrücke die Adresse zur Datenabfrage an die Gegenstelle
> übermittelt hat und die Daten dann wieder zurückkommen ist noch eine
> ganz andere Frage.
Das geht generell nicht. I2C ist so aufgebaut das sofort "geantwortet" 
werden muss und das auch noch auf der Sendeleitung (SDA). Also 
vollkommen anders als bei RS232.

Wenn dann hat man nur eine Chance wenn man die Signalzustände bzw. Pegel 
der Leitungen ständig abfragt und sendet. Also keine Byte oder Bit 
übertragung sondern nur die Zustände von SDA und SCL.

Möglich ist es sicher sowas aufzubauen, aber wohl nicht so ganz einfach.

von O. H. (ohagendorf)


Lesenswert?

Es geht zwar nicht direkt aber mit einem speziellen Controller ist es 
sicherlich möglich, z.B. den UART - I²C Bus Controller SC18IM700. Dieser 
Controller wird über die serielle Schnittstelle mittels ASCII Commandos 
gesteuert und es können I²C Slave angeschlossen werden. Die serielle 
Schnittstelle geht dann über Funk. Dazu gibt es ja genügend Beispiele.

Gruß
Olaf

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Den I2C Bus kann man beliebig lange "Pausieren" indem man einfach die 
CLK Leitung auf GND zieht. Während diesem Zustand hat man genügend Zeit 
von der Gegenstelle das ACK Bit ab zu fragen und aus zu tauschen.

I2C über Funk zu realisieren ist machbar, aber wird immer eine Krücke 
bleiben.

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
Noch kein Account? Hier anmelden.