PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schnelles Bastler Interface mit billigem Slave Board



flo1
04.01.2013, 23:48
Es soll Bastler Interface heißen !!! ](*,)

Hallo Roboternetz

Ich hab oft das Problem das ich kleine Projekte mit hohem Datendurchsatz (zu hoch für RS232) umsetzen möchte (hauptsächlich Analog und Digital IO) und öfter auch mehrere gleichzeitig betreiben. Mir ist es aber zu nervig jedes Mal irgendeinen schnell zusammengeschusterten libusb Treiber zusammen zu fudeln.

Darum habe ich mich dazu entschieden ein einfaches Interface mit hohem Durchsatz (mindestens 100Mbits up / down) und einem möglichst einfach gehaltenem Handshake zu implementieren und ein dazu passendes Slaveboard (<10€) zu entwerfen, zusätzlich soll das Interface gut isolierbar sein. (ein zweites USB braucht keiner)

Ich dachte daran als Stecker und, die Standart RJ45 mit Patchkabeln zu verwenden (hohe Verfügbarkeit, geringer Preis).
Die beiden Paare die am Stecker "außen" liegen (quasi pin 1, 2 und 7, 8) als differentielles Paar für die schnelle Datenübertragung Slave to Host und Host to Slave, am bestenen als 10b8.
ein Paar als asynchron TX und RX für Identifikation / Handschake und Programmierung des Slaves.
ein Paar als GND / 3V3.

Für das Board dachte ich an einen lowend MCU an den geht TX und RX, dazu ein lowend FPGA wie ein ice40 (Hauptsache mit einem PLL) um die schnelle Kommunikation zu handeln.

Mal Kosten überschlagen (Preise völlig ohne Gewähr)

ice40HX1 ~5€
billiger ARM ~3€ (evtl. weiteres einspar Potential durch PIC / AVR)
12Mhz Oszillator ~1€ (evtl. weiteres einspar Potential durch Quarz und Taktausgang)
1V2 2V5 kombi LDO ~1,50€
RJ45 Buchse ~0,50€
Hünerfutter ~1€

zusammen ~11€ wenn man mehr als 10 machen würde sicher unter 11€

Was haltet ihr davon, überflüssig? dringend nötig? gibts vielleicht schon?

Beste Grüße flo1

schorsch_76
05.01.2013, 09:58
100 MBit up/Down wird mit einem AVR/Pic nicht gehen, da die höchst getakteten Atxmegas (ausserhalb der SPez). mit afaik 48MHz laufen.

100 MBit up/Down ist bsp. Ethercat. Dazu gibts auch OpenSource Treiber welche unter Linux laufen. CAN Bus läuft afaik bis ca. 1MBit (als ich vor ca. 10 Jahren das letzte Mal damit ein Projekt hatte). Ich würde an deiner Stelle auf CAN setzen, da es dafür recht einfache Chips geht. Schau ma auf kampis Seite. http://kampis-elektroecke.de/?cat=20

Gruß
Georg

oberallgeier
05.01.2013, 10:19
... kleine Projekte mit hohem Datendurchsatz umsetzen ... (mindestens 100Mbits up / down)...Welche Endgeräte bedienst Du dabei? Mainframe <=> Mainframe, Cluster <=> Cluster, PC <=> PC, Mainframe <=> PC, PC <=> Controller - oder was sonst? Deine Geschwindigkeitsangabe deutet auf etwas "Größeres" hin, da nistet sich in meinem Kopf gleich der Gedanke "LWL" ein !?!? Ist das Bastlerniveau? Jedenfalls klingts mir nicht nach "kleine Projekte".

PC/USB <=> Controller bediene ich mit 256 kBd, sicher geht da mehr, habe ich noch nie geprüft, aber das ist ja weitab von Deinem Ziel. Geht dafür mit simplen FTD232-UART - und das wäre nach meiner Meinung eher Bastlerniveau. Kann aber sein, dass ich da zu primitiv denke.

flo1
05.01.2013, 12:16
100 MBit up/Down wird mit einem AVR/Pic nicht gehen...

Seh ich auch so, darum ein ice40, die differentiellen Eingänge sind laut Datenblatt mit biszu 256 Mhz Taktbar.


... LWL ...

Wollte ich schon immer mal was mit machen, würde aber sicherlich den Kostenrahmen sprengen und ist glaubich auch erst ab 1Gbits sinnvoll.


Also momentan benutze ich für PC<=>Projekt Kommunikation die SAM3U (mein lieblings Controller). Gibts ab 5€ und die machen USB2.0 HighSpeed, dahinter hab ich dann ein FPGA in das ich die Daten reinschiebe. Wo da das Transferlimit liegt hab ich noch nicht wirklich ausgereizt.

Naja und mit kleinere Projekte mein ich zum Beispiel mal einfach nur einen 10MSPS 10bit ADC anschließen, da hat man schon seine 100Mbits.