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