Hallo zusammen, ich bin auf der Suche nach einem RaspberryPi-ähnlichem Einplatinencomputer, der 2 I2C-Schnittstellen hat. Hintergrund: ich möchte mich damit zwischen zwei Geräte hängen die mit i2c kommunizieren, diese sollen nichts davon mitbekommen (und können auch nicht verändert werden). Das hiesst, dass der Computer beiden Geräten die jeweilige Gegenstelle vorgaukelt. Das RaspberryPi hat nur einen i2c cubieboard hat wohl mehrere, aber nur einen einzelnen auf den GPIO-Steckerleisten geführt kennt ihr grad einen, der sowas könnte? Danke
I2C schrieb: > > Das RaspberryPi hat nur einen i2c > cubieboard hat wohl mehrere, aber nur einen einzelnen auf den > GPIO-Steckerleisten geführt > Nein, der Raspberry Pi hat zwei davon, Neben dem 'P1' GPIO - Steckverbinder ist noch 'P5'. Auf dem ist der zweite I2C. Den Steckverbinder solltest du aber von unten einlöten, sonst wird es zu eng, die Stecker drauf zu bekommen.
schau doch mal die diversen arduinos oder cookieboard von coocox.org an, ob du da etwas passendes findest.
Der BeagleBone (Black) hat IIRC auch mindestens zwei...
Hmm, das BeagleBoard kannte ich noch gar nicht und das hat tatsächlich 2 i2c. Sehr schönes Ding! Danke für die Tipps.
Wenn der Einplatinencomputer nicht auch noch Slave spielen solle, dann ist Bitbanging auch eine Option.
I2C schrieb: > Das hiesst, dass der Computer beiden > Geräten die jeweilige Gegenstelle vorgaukelt. Muss das sein? Es genügt doch, wenn du auf den Leitungen mithörst. Gruss Reinhard
Zur Not könnte man auch mit GPIO Bit-Bangen. Normale 100 KHz-Kommunikation bekommt man damit auch hin.
>Muss das sein? Es genügt doch, wenn du auf den Leitungen mithörst
Na, der wills halt kopliziert machen.
Reinhard Kern schrieb: > Muss das sein? Es genügt doch, wenn du auf den Leitungen mithörst. Es reicht,wenn klar ist, was der Slave gesendet hat und was der Master. Wenn die Richtung mitprotokolliert werden soll wirds etwas komplizierter.
Es geht darum, in einem älteren Auto, welches einen CD-Wechsler hat (der notabene keinem Standard entspricht zu dem entsprechende Geräte gibt) einen HD-Player zu installieren, ohne den CD-wechsler ausser Betrieb zu nehmen. Lustigerweise entspricht das Protokoll dem I2C. Mithören habe ich mit einem AVR geschafft. Deshalb möchte ich mich quasi in die Mitte hängen. Mit der Taste "shuffle" würde ich dann die Quelle umschalten (von CD-wechsler zu externem Eingang (das das Autoradio nicht hat) oder eben Harddisk) und das entsrechende Audiosignal umschalten. Nur mithören würde auch gehen, aber dann zeigt das Autoradio weiterhin das was vom CD-Wechsler ankommt an und zusätzlich spielt der CD-Wechsler dann Shuffle wenn ich die Quelle umschalte... Deshalb möchte ich mich direkt dazwischen hängen und ggf. die Daten die angezeigt werden selbst senden. Zum Bitbanging: hätte ich mit einem AVR auch so gemacht. Nun könnt ihr mir nochmals helfen: da das Ding (ob Raspberry oder was auch immer) ein komplettes OS drauf hat, frage ich mich ob das noch funktioniert?! Wie echtzeitfähig sind die Dinger? Wie gesagt, wenn ich die Kommunikation mit einem AVR machen würde, hätte ich meine Bedenken. Kann da jemand auskunft geben ob das problemlos möglich ist?
Etwas verwirrend. Welche Daten werden über I2C übertragen ? Audio-Daten ?? Oder nur die Steuerung uns Anzeige des CD-Wechslers ?
:
Bearbeitet durch User
Ich würde das ganze tatsächlich mit einem AVR oder PIC mit zwei I2C-Schnittstellen realisieren. 1.: Wenn Du den Zündschlüssel umdrehst, willst Du, dass das ganze sofort funktioniert. Ein RaspPi wird aber erstmal eine halbe oder ganze Minute lang booten, bis er bereit ist. Für mich wäre das ein KO-Kriterium. 2.: Das Auto ist eine sehr unfreundliche Umgebung. Beim Anlassen kannst Du Spitzen von bis zu 40V auf der 12V-Versorgung haben. In einer Automotive-Umgebung kommt es darauf an, wirksame Schutzschaltungen gegen Störungen von außen einzubauen, um die Zuverlässigkeit sicherzustellen und die eigene Schaltung vor Beschädigungen zu schützen. Ein PIC ist hier ganz einfach robuster als ein hochintegrierter ARM, und leistungsmäßig sollte er völlig ausreichen. 3.: Linux ist kein Echtzeitsystem. Jedenfalls kein wirklich gutes. Ein FreeRTOS oder so wäre die bessere Wahl hier. Ein PIC18F25K22 hat 4 in Hardware realisierte I2C-Schnittstellen und kann mit 5V betrieben werden. Wenn Du mehr Leistung haben möchtest und 3.3V Betriebs- und Signalspannung ok sind, dann wäre zB ein PIC32MX150F128B was für Dich. Das ist ein 32 Bit 50 MHz PIC mit 2 I2C-Ports und 128k Flash und 32k RAM und kostet bei Reíchelt 3.50€. Bei den AVRs kenne ich keinen mit zwei I2C-Hardwareeinheiten, daher würde meine Wahl in diesem Falle auf PIC fallen. fchk
Zu deinen Bedenken: 1. ich würde das so machen, dass das System so arbeitet wie bisher, bis der OS läuft (Radio mit CD wechsler direkt verbunden). Sobald der PC läuft schaltet er sich dazwischen. Wenn ich einen kompletten PC im Auto habe, muss der immer erst booten. Wobei das Booten optimiert werden kann (bzw. über Hibernate o.ä.) 2. Das krieg ich hin. So wild ist das auch wieder nicht. Das Problem habe ich mit jeder Elektronik die im Auto ist. 3. Da habe ich keine Erfahrungen. Deshalb meine Frage weiter oben dazu. Bitbanging wird deshalb wohl ausfallen, aber ein i2c müsste doch schon gehen? Da es sich ohne hin nur um die Steuerdaten handelt, kommt es nicht auf jede Millisekunde an...
I2C schrieb: > 1. ich würde das so machen, dass das System so arbeitet wie bisher, bis > der OS läuft (Radio mit CD wechsler direkt verbunden). Sobald der PC > läuft schaltet er sich dazwischen. Wenn ich einen kompletten PC im Auto > habe, muss der immer erst booten. Wobei das Booten optimiert werden kann > (bzw. über Hibernate o.ä.) Kann man so machen, aber das wäre dann nochmal etwas, was die Komplexität erhöht. Ein PIC ist sofort da, einfach zu beschalten, hat kein Filesystem, was beschädigt werden kann, und ist aus, wenn er aus sein soll. So macht das auch die Zubehörindustrie, und so machen es auch die Hersteller selber. Wobei die dann natürlich AEC100 Automotive-qualifizierte Teile verbaut, die von -40 bis +85 oder bis +125°C funktionieren, die Boards mit Schutzlack versiegeln, etc etc. Das ist der Weg, den man in diesem Fall geht. fchk
Frank K. schrieb: > Ein PIC ist sofort da, einfach zu beschalten, hat > kein Filesystem, was beschädigt werden kann, und ist aus, wenn er aus > sein soll. So macht das auch die Zubehörindustrie, und so machen es auch > die Hersteller selber. [ ] Du hast Ahnung von dieser Industrie. Max
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.