Forum: Mikrocontroller und Digitale Elektronik schneller interner Bus


von Georg (Gast)


Lesenswert?

Ich suche seit längerer Zeit einen Bus für unser System:
folgende Spezifikationen sollen erfüllt werden:
Nutzdatenrate von mind 2MByte/s, Geräte können während des Betriebes 
entfernt, bzw. hinzugefügt werden, kein serieller Bus( Ausfall eines 
oder mehrere Teilnehmer sollte nicht das ganze System blockieren),max 
Buslänge 50 cm...

Durch hab ich alle konventionellen Feldbusse(ProfiBus, Interbus,....) 
und auch schon Echtzeit Ethernet Varianten (EtherCAT, PowerLink,...) Die 
Varianten sind entweder zu teuer oder erfüllen nicht die Anforderungen. 
Gibt es sonst noch irgendwelche high-perfomance Bussysteme?

von (prx) A. K. (prx)


Lesenswert?

Single Master: SPI.

von Rico (Gast)


Lesenswert?

CAN Bus
SPI
TWI

von (prx) A. K. (prx)


Lesenswert?

PS: ebenfalls USART synchron.

von Georg (Gast)


Lesenswert?

Also ich habe vergessen zu sagen, dass sich am Bus bis zu 30 Teilnehmer 
befinden können.

von (prx) A. K. (prx)


Lesenswert?

Rico schrieb:

> CAN Bus
> TWI

Bei mindestens 20 Mbps?

von ich (Gast)


Lesenswert?

>kein serieller Bus

>ProfiBus, Interbus,EtherCAT, PowerLink
sind bei mir alles serielle Busse.

Wie sieht die Umgebung aus? Im Schaltschrank? Freiluftverdrahtung in 
einer Maschine? Auf einer Leiterplatte?
2MB/s sind jetzt nicht so viel, allerdings zuviel für einen Feldbus wie 
du schon erkannt hast.

von (prx) A. K. (prx)


Lesenswert?

Georg schrieb:

> Also ich habe vergessen zu sagen, dass sich am Bus bis zu 30 Teilnehmer
> befinden können.

Grad dann würde ich mich aufs Serielle verlegen, denn ein paralleler 
Multidrop-Bus mit 30 Teilnehmern ist aufgrund der vielen Treiber 
vergleichsweise aufwendig.

von Georg (Gast)


Lesenswert?

Also CAN und TWI scheiden bezüglich Datenrate aus! Bei SPI gibt es das 
Problem mit der Adressierung und ich habe noch keinen günstigen µC 
gefunden der als SPI Slave mit ~40 MHz arbeiten kann.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Georg schrieb:
> Also ich habe vergessen zu sagen, dass sich am Bus bis zu 30 Teilnehmer
> befinden können.
Muss der Bus Multi-Master-fähig sein?
Wenn ja: wer macht die Arbitrierung?

von Peter D. (peda)


Lesenswert?

Georg schrieb:
> kein serieller Bus( Ausfall eines
> oder mehrere Teilnehmer sollte nicht das ganze System blockieren),max
> Buslänge 50 cm...

Wenn ein Teilnehmer den Bus blockiert, ist es völlig wurscht, ob seriell 
oder parallel.
Im Gegenteil, ein serieller Bus läßt sich im Fehlerfall leichter 
trennen.


Peter

von Georg (Gast)


Lesenswert?

Nein, ein Master und dumme Slaves(liefern nur Daten). Nur die Slaves 
müssen eindeutig zuweisbar sein(eindeutige Adressierung). Und die 
Entfernung einer oder mehrerer Teilnehmer darf nicht die Kommunikation 
stören(NT seriell)

von ich (Gast)


Lesenswert?

Wie aufwendig darf es denn werden? Was heißt "günstig"? Ist ein CPLD der 
das SPI handelt zu teuer?
Bei einem CPLD kannst du ev. auch was eigenes implementieren, spontan 
fällt mir ein, dass man z.B ein SPI mit z.B. 2 oder 4 Datenleitungen 
basteln könnte.
Ist halt die Frage ob es was standardisiertes sein muss und was es 
kosten darf

von Guckel (Gast)


Lesenswert?

Georg schrieb:
> Die Varianten sind entweder zu teuer ....
> Gibt es sonst noch irgendwelche high-perfomance Bussysteme?

Du wirst nichts finden, high-performance (was immer das sein mag) ist 
eben teuer.
Ad hoc fiel mir noch der VME-Bus ein, schnell, parallel, aber nichts für 
den kleinen Hunger zwischendurch :-)

von Georg (Gast)


Lesenswert?

Momentan schwebt mir eine M-LVDS Lösung mit FPGA's im Kopf herum, nur 
dass mir das Abschätzen der Dauer für komplette 
Eigenentwicklung(Protokoll,..) die Erfahrung fehlt.

UND ihr antwortet mir zu schnell :)

von (prx) A. K. (prx)


Lesenswert?

Georg schrieb:

> Bei SPI gibt es das Problem mit der Adressierung

Wieso? 5 Adressbits und fertig.

> und ich habe noch keinen günstigen µC
> gefunden der als SPI Slave mit ~40 MHz arbeiten kann.

Da liegt der Hase im Pfeffer, zumal klassische µC-Slaves ohnehin leicht 
in Gefahr laufen, an 2MB/s zu ersaufen. In µCs integriert gibts solche 
Slaves praktisch nur mit 100Mb Ethernet. Bleibt nur, einem µC mit 
I/O-Bus ein CPLD ans Bein zu binden, aber so viel simpler als Ethernet 
wirds dann auch nicht.

von (prx) A. K. (prx)


Lesenswert?

Georg schrieb:

> Momentan schwebt mir eine M-LVDS Lösung mit FPGA's im Kopf herum, nur
> dass mir das Abschätzen der Dauer für komplette
> Eigenentwicklung(Protokoll,..) die Erfahrung fehlt.

Ähem - Ethernet ist dir zu teuer, aber dafür langts?

von Georg (Gast)


Lesenswert?

Ethernet selbst nicht, nur das die Anpassung der 
Busse(EtherCAT,PowerLink,..) zu teuer ausfällt.

von ich (Gast)


Lesenswert?

>M-LVDS

Wie sieht es mit dem Busabschluss aus? Was passiert wenn ein Slave 
entfernt wird?

von ich (Gast)


Lesenswert?

Eventuell selbst basteln? Mit 9 Leitungen (8x Daten + Clock) reichen mit 
Start/Stop-Bedingung also 2Mhz. Erst die Adresse (30 Slaves + Master = 
5bit, bleiben 3 bit für Commands wie Read/Write/"Dauer-Read" etc), 
danach die Daten. Das Protokol kann man somit auch selbst Schreiben.

von ich (Gast)


Lesenswert?

Hey ich!
ich bin ich :-)

von (prx) A. K. (prx)


Lesenswert?

Georg schrieb:

> Ethernet selbst nicht, nur das die Anpassung der
> Busse(EtherCAT,PowerLink,..) zu teuer ausfällt.

Schau dich doch mal bei den üblichen Verdächtigen für die Komponenten 
von Ethernet-Switches um. Vielleicht befindet sich unter deren 
Switching-Engines etwas, dass sich für eine örtlich begrenzte Kopplung 
ohne viel Treiberzirkus eignet.

von Falk B. (falk)


Lesenswert?

PCI? Ist glaub ich als Compact PCI sogar hotplug fähig.

von (prx) A. K. (prx)


Lesenswert?

Falk Brunner schrieb:

> PCI? Ist glaub ich als Compact PCI sogar hotplug fähig.

Mit 30 Slaves wird das aber auch ein bissel komplexer.

von Sam .. (sam1994)


Lesenswert?

Was spricht denn gegen SPI? Kleine Abänderung reicht um das ganze für 30 
Slave zu machen: Das erste Byte vom Master bestimmt die Adresse und erst 
dann darf der Slave senden.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

SCSI
Oder WLAN-Module per Kabel verbinden

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.
Lade...