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?
Also ich habe vergessen zu sagen, dass sich am Bus bis zu 30 Teilnehmer befinden können.
>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.
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.
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.
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?
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
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)
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
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 :-)
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 :)
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.
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?
Ethernet selbst nicht, nur das die Anpassung der Busse(EtherCAT,PowerLink,..) zu teuer ausfällt.
>M-LVDS
Wie sieht es mit dem Busabschluss aus? Was passiert wenn ein Slave
entfernt wird?
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.
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.
Falk Brunner schrieb: > PCI? Ist glaub ich als Compact PCI sogar hotplug fähig. Mit 30 Slaves wird das aber auch ein bissel komplexer.
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.
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.