mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gigabit Ethernet?


Autor: Franky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich möchte einen CCD-Sensor mit einem Mikrocontroller auslesen um die 
Daten
dann über Gigabit an meinen PC zu senden.
Ich habe mir schon die Finger wund gegoogelt und finde einfach kein 
Projekt
der sich mit Gigabit Modulen beschäftigt, bzw ich finde keine Gigabit 
Module zum kaufen.
Ich stelle mir das wier hier vor 
(http://www.micro4you.com/store/ENC28J60-Ethernet-M...) 
nur mit 1000BaseT statt 10BaseT.

Wäre schön wenn mir da jemand Links oder Quellen geben könnte.
Ich danke im Voraus für alle Beiträge.

Gruß
Frank

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider gibt es meines Wissens keine Module für GbE. Das liegt offenbar 
schon an den sehr hohen Anforderungen, denn mit einem Microcontroller 
kommt man da nicht weit. Im Normalfall ist da ein FPGA nötig, um die 
Daten überhaupt so schnell verarbeiten zu können. Wir haben das für ein 
Projekt mal begonnen, aber aus Aufwand-Gründen dann abgebrochen. Eine 
zuverlässige, schnelle und flexible Implementierung von UDP/IP oder 
TCP/IP ist relativ aufwendig. Wir hatten das mit dem Virtex 4 FX von 
Xilinx probiert. Der hat einen GbE MAC und einen PPC Prozessor on Board.

Muss es denn unbedingt GbE sein? USB 2.0 HighSpeed reicht nicht?

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem dürfte schlicht die hohe Datenrate sein. Es nützt ja nichts, 
auf der Leitung 1000 MBit zu haben und diese Daten dann nicht in den 
Controller zu bekommen. Man muss die ja dann auch noch verarbeiten. Mit 
SPI ist da nichts zu machen, PCI hat dann schon eine ganze Menge 
Anschlüsse.

Deswegen reicht 100 MBit in den meisten Fällen eben aus. Mehr kannst Du 
eh nicht verarbeiten. Wenn Du einen Micro hast (da reden wir dann schon 
mal von eine Intel Atom oder ähnlichem), der 1 GBit/s senden kann, ist 
so ein Modul Dein kleinstes Problem. Dann packst Du das Gigabit 
Interface mit auf Dein xx Lagen Multilayer.

Die Anwendung spricht aber eher dafür, dass 100 MBit völlig ausreicht.

Gruss
Axel

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbst im PC ist Gigabit-Ethernet nicht gerade die leichteste Übung.
Da werden Betriebssystemarchitekturen benutzt, die mit "zero copy"
arbeiten, d. h. die Stelle im Speicher, an der der Ethernetadapter
den Rahmen empfangen und per DMA hinterlegt hat, ist am Ende die
gleiche Stelle, die auch die Applikation benutzt, um ihn zu lesen.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"zero copy" gabs beim Mac schon 1983.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst Du die Lisa? Der Würfel-Mac kam '84 heraus und hatte gnadenlose 
128 kiB RAM, aber nichts, was man heute als Netzwerkinterface bezeichnen 
wollen würde.

Wo soll da "zero-copy" durchgeführt worden sein?

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lisa, hm. Ich kenne mich nur mit dem Mac aus, auch wenn Teile des MacOS 
aus der Lisa übernommen wurden.
Beschrieben ist das Ganze in den dicken Wälzern, die man mittlerweile 
runterladen kann. Ich hatte die damals noch für viel Geld in Papier 
kaufen müssen. AppleTalk-Buch beschreibt alles haargenau. Bereits der 
erste Mac hatte LocalTalk - was das machte.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dazu gibt es auch jede Menge fertiger GigE Kameras, die nutzen alle 
FPGAs für diese Aufgabe.

Autor: Michelle Konzack (Firma: electronica@tdnet) (michellekonzack) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Franky schrieb:
> Ich stelle mir das wier hier vor
> (http://www.micro4you.com/store/ENC28J60-Ethernet-M...)
> nur mit 1000BaseT statt 10BaseT.

Zwar nicht 1000 Mbit, aber immer hin 100 Mbit, auch wenn der SPI nur 14 
MHz hat und er funktioniert wesentlich schneller, wenn Du das 
Parallel-Interface verwendest:

    ENC424J600
    http://www.microchip.com/wwwproducts/Devices.aspx?...

Grüße
Michelle

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yep, aber was nützt ein superschnelles Interface zum 
Ethernet-Controller, wenn der Core zu langsam ist und keine vernünftige 
Datenrate hinbekommt.

Andererseits dürfte es schon schwierig sein, bei Controllern mit 
hinreichend Schmackes im Core ein halbwegs aktuelles Exemplar zu 
kriegen, das noch kein Ethernet mit an Bord hat.

Autor: Master of Electrical Problems (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem bei den Gigabitnetzwerken ist die hohe Datenrate. So gibt es 
z.B. auch keine Tokenring-Netzwerke mehr, da es an den Knotenpunkten 
immer zu Datenstaus kam und eine Drosselug der Übertragungsfrequenzen 
nötig war, um die Kommunikation aufrechtzuerhalten. Solche Probleme 
traten früher meisst dann auf, wenn Druckauftraege an Netzwerkdrucker 
gesendet wurden oder intervallgeschachtelte HDD-Spiegelungen zur 
Datensicherung erfolgen. Darum ging man schon beim Übergang vom 80486 
zum Pentium I dazu über, als neuen Standard das Ethernet zu etablieren 
und Randerscheinungen wie das Tokenring-Verfahren zu vergessen. Zunächst 
begann man mit Datenübertragungsraten von etwa 10MBit am Anfang der 
90er. Mit zunehmender Frequenzsteigerung kam man im Laufe der Zeit auf 
Datenübertragungsrten von 100MBit, manchmal auch 200MBit, je nach 
gewählter interner Taktung. Aber für Hobbyanwendungen wie Deine 
beschriebene gewünschte Funktion war zu Beginn noch kaum etwas zu haben. 
Man musste früher am besten Netzwerkkarten kaufn und die Teile dort 
draufgebauten Komponenten verwenden. Erst Mitte 2005 überhaupt sind 
Ethernet-Komponenten auch für den Hobbybereich verfügbar, vorher war das 
Ethernet nicht mal Industriestandard, dort verwendete man - wenn 
überhaupt neben Telefonleitungen - nur serielle Datenleitungen wie 
RS232, falls Dir das ein Begriff ist. Die Entwicklung der 
Computerkomponenten geht also in der Regel immer schneller als die 
Verfügbarkeit von Bastlerbauteilen für Hobbyelektriker, um die modernen 
Arten der Kommunikation nutzen zu können.

Ein Lösungsvorschlag wäre also folgender, wenn Du Deine Komponente in 
ein Gigabit-Lan einspeisen willst - nimm bereits bewährte 
100MBit-Komponenten und kaufe als Zwischenkommunikationseinheit ein 
billiges Gigabit-Switch z.B. von Reichelt

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=ECA... 
.

Das zusätzliche Switch gestattet Dir dann eine Verbindung zur 
Gigabitverkabelung, ohne dass Du die übrigen Komponenten Deines 
Netzwerkes verlangsamst, denn das Gigabit-Switch tastet in 100MBit-Raten 
Dein angeschlossenes Gerät auf der einen Seite ab und speist die 
Ergebnisse in passender Gigabit-Taktung in das Gigabit-Lan dann ein, 
somit brauchst Du Dir darüber keine Gedanken mehr zu machen.

Autor: Carsten S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit wann ist Ethernet das nonplusultra?

Autor: Master of Electrical Problems (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carsten S. schrieb:
> Seit wann ist Ethernet das nonplusultra?

Seit etwa 2001, als auf der Cebit die Ele

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carsten S. schrieb:

> Seit wann ist Ethernet das nonplusultra?

Seit viele adäquatere und technisch bessere Lösungen mit dem eine 
Grössenordnung günstigeren Preis von Lösungen auf Basis Ethernet 
konkurrieren.

Autor: Master of Electrical Problems (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Seit viele adäquatere und technisch bessere Lösungen mit dem eine
> Grössenordnung günstigeren Preis von Lösungen auf Basis Ethernet
> konkurrieren.
>

was sind denn bessere Lösungen als Ethernet? Usb etwa ... 
lachlachlach...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Storage beispielsweise Fibre Channel. Da aber in der Entwicklung von 
Ethernet viel mehr Geld steckt, geht die Tendenz dahin, Ethernet als 
Basis zu verwenden. Sei es über TCP/IP (iSCSI), sei es direkter (FCoE).

Bei High-Performance-Clustern ist es ähnlich. Ethernet ist anderen 
Lösungen zur Rechnerkopplung unterlegen, aber sehr viel billiger.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anderes Beispiel mit kleineren Raten: Telefonie&Co. TCP/IP wie auch 
Ethernet sind dafür grässlich schlecht geeignet. Dennoch findet man 
beides auch dort mittlerweile an allen Ecken und Enden, im DSL 
mittendrin, oben drauf als VOIP, in Standleitungsnetzen als Interface, 
oben drauf zum Tunneln klassischer ISDN-Standleitungen, ...

Autor: Franky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jungs,
vielen Dank für die Antworten.
Das scheint doch aufwändiger zu sein als angenommen. Ich werde erstmal 
auf ein 100Mbit/s Modul zurückgreifen oder gleich mit dem Grasshopper 
experimentieren, der hat glaube ich die 100Mbit/s auf dem Chip.
Nochmals vielen Dank für die Antworten
Frank

...sofern doch noch irgendwo Infomaterial zu einem Gigabit Ethernet 
Modul auftaucht, bitte posten.

Autor: Matthias S. (dachs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundfrage: Wieviele Daten muessen denn in welcher Zeit uebertragen 
werden?

Autor: Ziff (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem mit dem Gigabit Ethernet ist in der Tat, die Daten auf den 
Bus zu bekommen. Erst muss man mal einen Controller haben, der es 
beinhaltet. Ein AVR32UC3 gehoert zB nicht dazu. Macht ja auch nur 
lumpige 90 MIPS und hat dabei ein 100MBit Interface. Ein naechster, der 
AVR32AP7000 hat 2 100MBit Interfaces, was als genuegend fuer 150MHz mit 
210 MIPS gesehen wird. Moeglicherweise gibt's mal etwas mit 1GBit. Zu 
diesen Controllern gibt's dann ein Linux und Treiber. Das war's dann 
auch mit Echtzeit. Alternativ kann man ohne Betriebssytem was mit ASM 
zusammelkloppen, nachdem man sich die Standardwerke bezueglich Ethernet 
und Packeten reingezogen hat.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, schon bei 125MByte kann man schlechter verkaufen.

Autor: vuyfv (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Machen koennte man Vieles, aber wie oben schon gefragt wurde:
Kommen denn tatsaechlich soviele Daten, dass Gigabit noetig ist?
Wenn nicht, warum soll es dann Gigabit sein?

Gast

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine normale Festplatte kann den Datenstrom gar nicht kontinuierlich 
speichern.

Autor: vuyfv (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wage auch zu bezweifeln, dass aus einem CCD-Sensor soviele Daten 
herauskommen.

Gast

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich wage auch zu bezweifeln, dass aus einem CCD-Sensor soviele Daten
> herauskommen.

Och das kann man schon provozieren. Nehmen wir mal unkomprimiertes 
1080p50 an, dann bekommt man da
1080 Zeilen *1920 Pixel/Zeile *50/s ≈ 99MPixel/s
Wenn man dann noch adäquat (nicht) komprimiert, z.b. in RGB32, dann geht 
das auch nicht mehr durch Gigabit Ethernet durch.

Ob man sowas mit einem handelsüblichen Mikrocontroller verarbeiten will 
ist aber eine ganz andere Frage ;-)

Nix für ungut

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abdul K. schrieb:
> Eine normale Festplatte kann den Datenstrom gar nicht kontinuierlich
> speichern.

ich weiss ja nicht was du unter aktuellen festplatten verseht aber jeder 
aktuelle ( > 500GB ) kann über 100Mbyte/s schreiben. Auserdem gibt es ja 
auch noch Raid-Controller da sind auch 300Mbyte/s nicht das Problem.

Autor: Anzahl Blaetter eines Purzelbaumes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage des CCD. Bei lumpigen 4000x2500 (10Mega) pixeln zu 1 Hz ist 
man bei 10MSample zu 3x8bit, macht 30MByte. Nun gibt es Leute, die 
empfinden ein Video mit 1Hz als etwas lahm, und dann geht die Datenrate 
eben hoch. Will damit sagen, mit einer CCD kann man nahezu beliebige 
Datenmengen produzieren. Ein Kompressor ist etwas Ergibiges und etwas 
beliebig Aufwendiges.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Abdul K. schrieb:
>> Eine normale Festplatte kann den Datenstrom gar nicht kontinuierlich
>> speichern.
>
> ich weiss ja nicht was du unter aktuellen festplatten verseht aber jeder
> aktuelle ( > 500GB ) kann über 100Mbyte/s schreiben. Auserdem gibt es ja
> auch noch Raid-Controller da sind auch 300Mbyte/s nicht das Problem.

Ich ging vom normalen PC aus mit SATA 150 oder 300MBit/sec. Klar, hier 
fahren natürlich alle RAID mit Linux auf 8-Core. Ich halt nicht und die 
Leute die ich kenne, auch nicht.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abdul K. schrieb:

> Ich ging vom normalen PC aus mit SATA 150 oder 300MBit/sec.

SATA I = 1,5Gbit/sec = 150MByte/sec (theoretisch).

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, dann war da ein grober Fehler meinerseits.

Autor: Reinhard S. (rezz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master of Electrical Problems schrieb:
> Es gibt jetzt auch bald Terabit-Lan.

Sicher? Die nächste Stufe wäre doch erstmal 100 Gbit/s.

Autor: Michelle Konzack (Firma: electronica@tdnet) (michellekonzack) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anzahl Blaetter eines Purzelbaumes schrieb:
> Eine Frage des CCD. Bei lumpigen 4000x2500 (10Mega) pixeln zu 1 Hz ist
> man bei 10MSample zu 3x8bit, macht 30MByte. Nun gibt es Leute, die
> empfinden ein Video mit 1Hz als etwas lahm, und dann geht die Datenrate
> eben hoch. Will damit sagen, mit einer CCD kann man nahezu beliebige
> Datenmengen produzieren. Ein Kompressor ist etwas Ergibiges und etwas
> beliebig Aufwendiges.

Ich bekomme vorassichtlich nächste Woche meinen 12 MPixel Image-Sensor 
mit 60 frames und koste gut 280 Euro.

Das währen theortisch 2,1 GByte/Sekunden

ABER (!!!) dise Image-Sensoren übertragen die Daten nicht wie normale 
Image-Sensoren die Du einfach im Microcontrolelr (z.B. Atmel 
AT91SAM9263) Interface anschließt.

Du bekommst von diesen Image-Sensoren "lossless-compressed data 
streeems" und mußt dementsprechend auch die API der Hersteller 
verwenden.

Danach bekomste bei einer 12 MPixel und 60 fps gut 180 MByte/Sekunde

Ohne PCIe 4x oder 8x geht da garnichts mehr und die Vorbearbeitung des 
Datenstreams wird auf den PCIe Karten sowieso durch einen DSP erledigt

Grüße
Michelle

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.