Einplatinen-PC mit 2 i2c Schnittstellen gesucht

Gast #3405549
Lesenswert?

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
Gast #3405554
Lesenswert?

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.
Gast #3406003
Lesenswert?

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?
#3406279
Lesenswert?

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
Gast #3406784
Lesenswert?

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...
#3406927
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren