Forum: Mikrocontroller und Digitale Elektronik Schnelle Datenübetragung uC-PC über 5Meter Kabel - welcher Bus


von Wolfgang E. (wolfgang2)


Lesenswert?

Hallo Forum,
ich muss 16 Analogkanäle mit jeweils 10kSamples/sec und 24 Bit !! 
sampeln und das Ganze via 5 Meter Kabel in ein PC Motherboard bringen.

Der ADC ist schon ausgesucht
(http://focus.ti.com/lit/ds/symlink/ads1258.pdf)
die Frage ist, wie bekomme ich die knapp 5 MBit/sec in das PC Board ? 
Welcher Bus ?

Gedanken dazu:
- RS485 wäre ja nett, aber
1) kenne ich kein PC Board welches RS485 oder einen ausreichend 
schnellen UART hat und
2) weiss ich auch nicht, ob die USARTS der gängigen uC's (ATMega, Picxx) 
so schnell sind.

- USB "direkt" d.h. mit uC welcher von sich aus USB kann hat zwei 
Probleme:
1) Hoher Software Aufwand beidseitig (welcher DeviceType, HID ? )
2) USB enumeriert beim Anstöpseln des USB Devices. Wenn danach "was 
passiert" (ESD oder sonstige Störung) ist das Device tot.
3) 5 Meter Kabel und USB ?

- USB via FTDI FT232R
* USB-Serial ist zu langsam
* "BitBang mode wäre ev. möglich, aber auch hier: Enumeration und 
Kabellänge...


- Ethernet:
Meinerseits Null Erfahrung wie man via Ethernet viele Daten schnell 
überträgt. Wäre in dieser Anwendung ja ein "Streaming". Schaffe ich da 
mit einem "üblichen" uC die 5 MBit/s ? Da ist ja noch eine Menge 
Protokoll dabei (IP&UDP oder sowas ..)

Bin für jeden Vorschlag dankbar, auch was sonstige alternative Busse 
angeht. I2C, SPI und ähnliche, im Prinzip für die verbindung auf 
Leiterplattenebene gedachten Busse, fallen wegen Kabellänge + 
Geschwindigkeit ja wohl aus.

von ich (Gast)


Lesenswert?

>- USB via FTDI FT232R
Nimm ein High Speed USB2 Gerät wie den FT2232. Der schafft deutlich 
mehr. Und wenn du ihn im FIFO Mode betreibst kannst du auch 8 Bit 
parallel schreiben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der FT2232 (D, L oder C) ist kein Highspeed-USB2-Gerät, das ist nur die 
Ausführung mit dem Suffix H, also der FT2232H.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

sinnvollerweise kannst du nur etwas verwenden, was am PC vorhanden ist 
oder zumindest was man als PC-Schnittstelle zukaufen kann - sonst 
müsstest du ja die PC-Schnittstelle auch noch entwickeln. Damit fallen 
leider so schöne Sachen wie LVDS weg, eigentlich bleiben nur USB und 
Ethernet (Firewire bringt keinen Vorteil gegenüber USB). Allerdings 
halte ich nur "direkten" USB-Anschluss für sinnvoll und nicht den Umweg 
über serielle oder parallele Devices.

Du hast also die Auswahl zwischen 2 sauren Äpfeln: entweder du besorgst 
TCP/IP-Software und arbeitest dich da rein (kriegt man für viele µC 
fertig und ausgereift), oder du entwickelst einen entsprechenden 
USB-Client. Auch dafür gibts zur Hardware auch Software, aber schon die 
Formalien (Mitgliedschaft bei usb.org, eigene IDs) kosten einige 
Tausender, was aber vermutlich bei den Gesamtkosten nicht mehr so sehr 
ins Gewicht fällt.

Ich denke, Ethernet wird um einiges billiger zu entwickeln sein, es gibt 
keine Lizenzkosten und Software zum Empfang ist in vielen 
Programmiersprachen verfügbar.

Gruss Reinhard

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Mit dem Wiznet W5300 sind bis zu 5MByte/s über Ethernet möglich.Ist sehr 
simpel ansprechbar (fast wie RS232) und bietet hohe Datensicherheit.

Grüße

von Christian F. (Gast)


Lesenswert?

Bei Ethernet müssen aber MACs gekauft werden oder täusche ich mich da?

von Reinhard Kern (Gast)


Lesenswert?

Christian F. schrieb:
> Bei Ethernet müssen aber MACs gekauft werden oder täusche ich mich da?

Kommt drauf an, was du kaufst, bei einer PC-Karte oder Motherboard ist 
ja auch eine gültige MAC drin. Damit musst du dich bloss beschäftigen, 
wenn du die Ethernetschnittstelle ganz zu Fuss aufbaust.

Gruss Reinhard

von (prx) A. K. (prx)


Lesenswert?

Christian F. schrieb:

> Bei Ethernet müssen aber MACs gekauft werden oder täusche ich mich da?

Wenn du mit MAC die MAC-Adresse meinst (der Begriff MAC steht in diesem 
Kontext für Media Access Control, einem Teil der Ethernet-Hardware): 
Wenn du das Gerät in Serie verkaufen willst, wär's schon besser, es hat 
eine universelle Adresse.

Für ein Einzelstück tut es jede im Netz nicht verwendete Adresse. Da 
kannst du selbst etwas erfinden, oder beispielsweise die einer 
Ehernet-Karte aus dem Müll verwenden.

von Christian R. (supachris)


Lesenswert?

Für max. 5m ist USB doch prädestiniert. Nimm einen FT2232H oder einen 
Cypress FX2, wenn du etwas flexibler sein willst. Probleme beim 
Anstöpseln, Enumeration, ESD usw. sind Designfehler. Wir vertreiben 
äußerst erfolgreich Prüfgeräte mit dem FX2 von Cypress, da ist bisher 
auch im rauhen Industrie-Einsatz in China noch kein einziges Byte 
verloren gegangen. Auch gibts keine sonstigen Probleme mit USB. Da kann 
man USB Sticks usw. anstecken wie man will während der Messung, keine 
Ausfälle. Alles eine Frage der Software/Firmware.

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.