Forum: Mikrocontroller und Digitale Elektronik Protokoll für schnelles Mikrocontrollernetzwerk?


von Arvid Teichtmann (Gast)


Lesenswert?

Hallo,

möchte mehrere schnelle uC innerhalb eines Gerätes vernetzen und suche
dazu ein passendes Protokoll. Die Rahmenbedingungen sind:
- Multi-Master fähig
- 10MBit Durchsatz
- Hoher Anteil an Streamingdaten (Messwerte), gemischt mit Messages
- SW-Update über uC-Netzwerk möglich
- störsicher

Eine Analyse bestehender Protokolle / Schnittstellen sieht wie folgt
aus:
SPI: nicht Multi-Master fähig.
Ethernet: zu teuer und zu umständlich.
CAN: Geschwindigkeit ok, Kollisionserkennung ok, aber ungeeignet für
Streamdaten, da CAN ein Message-orientiertes Protokoll ist und maximal
8 Bytes Daten pro Paket übertragen kann.
SNAP über RS-485-Bus: Kommt meinen Vorstellungen schon recht nah, hat
aber keine Kollisionserkennung.

Als Hardwareschnittstelle werde ich wohl CAN oder RS-485 nutzen, nur
habe ich bislang kein passendes Protokoll gefunden.
Hat dazu jemand Hinweise oder sowas schonmal selber gemacht?
Danke für alle Tipps.

Gruss
Arvid

von Jörn (Gast)


Lesenswert?

Hi,

warum ist das SPI Protokoll nicht Multimaster fähig?
Ich würde sagen, das Ganze läßt sicht so modifizieren, dass es
funktioniert.

Siehe :
http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/public_download.jsp?oid=10064&parent_oid=13747

Gruß Jörn

von rastlos ratlos (Gast)


Lesenswert?

schau dir mal VME an.

von Jochen (Gast)


Lesenswert?

Du brauchst 10MBit?
Meines Wissens kann CAN aber nur 1MBit.

von Georg (Gast)


Lesenswert?

Hei!
In dem Siemens-Datenblatt ist eh alles beschrieben was du brauchst.
Den C-Code kann man fast 1:1 übernehmen.
Um auf die 10Mbit zu kommen programmierst du dir dafür einfach einen
eigenen µC. Die Leitungen sollten halt nicht zu lang sein.
Aber so wird das Ganze sicher klappen.

Tschüss

von Peter D. (peda)


Lesenswert?

10MBit ist ja wirklich recht heftig, mit nem AVR nicht zu schaffen.

Bestenfalls mit nem C8051F120 bei 100MHz, aber viel kann der dann auch
nicht nebenbei machen.


Und das CAN keinen Stream übertragen kann, ist mir neu.
Wir machen alle Softwareupdates über CAN, der Stream wird dann eben
paketweise übertragen (max 11 Byte je Paket).


Peter

von hans (Gast)


Lesenswert?

Warum nicht beide (CAN & RS485) gleichzeitig, sind nur 4 Adern.

Über RS485 werden nur die streaming Daten uebertragen, die
Arbitrierung des RS485 wird über CAN gesteuert, und die restlichen
Messages werden ueber CAN verschickt.

von Arvid Teichtmann (Gast)


Lesenswert?

Hallo,

danke für die Hinweise.

@Peter:
> 10MBit ist ja wirklich recht heftig, mit nem AVR nicht zu schaffen.
...sorry, ich meinte auch 1MBit.

> Und das CAN keinen Stream übertragen kann, ist mir neu.
> Wir machen alle Softwareupdates über CAN, der Stream wird dann eben
> paketweise übertragen (max 11 Byte je Paket).
...das Problem sind nicht die Softwareupdates, da hat man ja genügend
Zeit und es hustet auch keiner dazwischen.
Da würde CAN schon prima funktionieren.
Das Problem sind grosse Datenmengen im laufenden Betrieb.
Mir liegen Erfahrungsberichte namhafter Firmen vor, die versucht haben,
Streamdaten geräteintern über CAN zu übertragen und damit erhebliche
Probleme bekommen haben (Paketverluste, weiteres Protokoll auf CAN
aufsetzen).

@hans:
...hm, ist auch noch eine Möglichkeit, hört sich aber eher umständlich
an, werd mal drüber nachdenken.

Gruss
Arvid

von Helmut Ruoß (Gast)


Lesenswert?

Hallo Arvid,

was ist aus Deiner Vernetzung geworden?
Habe damit beruflich auch zu tun, allerdings nicht in DEN
Geschwindigkeiten - mir reichen die 1 MBit von CAN.
Kannst Dich ja mal melden (auch privat wenn Du mich noch kennst...
;-)==> Baltrum)

Gruß,
Helmut

von Thorsten L. (tlauf)


Lesenswert?

*abo

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.