Forum: Mikrocontroller und Digitale Elektronik ETH-basiertes Backplane für Meß-/Steuerkarten


von Enrico W. (Firma: metux IT consult) (nekrad)


Lesenswert?

Hallo Leute,


ich tüftel gerade an einer Konzeption für ein Ethernet-basiertes 
Backplane für Industrieanwendungen wie zB. Messen und Steuern.
(im Prinzip so ähnlich wie cRIOs oder IONIA, nur halt komplett FOSS und 
für richtige Software, ohne Labview-Gebastel, nutzbar).

Optimalerweise würde ich direkt (G)MII rausreichen (extra PHYs sparen) 
und direkt einen fertigen Switch-Chip aufs Backplane kleben.
Der Vorteil daran ist, daß es ja MCUs/SOCs mit MII wie Sand am Meer 
gibt.

Ein kniffliges Problem ist noch clocksync. Schließlich soll es ja auch 
möglich sein, daß zB. verschiedene ADCs und andere Dinge (auf 
verschiedenen Karten) synchron laufen (oder zumindest genaue Timestamps, 
damit die Phasenkorrektur hinterher in SW gemacht werden kann).
Das BP könnte ja auf einem extra PIN ein saubers Rechteck (zB. 
10/100MHz) liefern. Aber das gibt mir nur die Phase, nicht das Offset 
(reicht mir nicht, wenn ich nicht innerhalb deutlich 1 clockcycle einen 
Timecode zwischen den Karten geschickt und verarbeitet bekomme :o)

Müßte also noch irgendwie einen Timecode da reincodieren. Per 
bit-banging auf den kleinen MCUs wird wohl nix. Gibts dafür evtl. schon 
fertige Chips, die man leicht an die MCUs anbinden kann (oder MCUs mit 
sowas drin) ?

--mtx

von ich (Gast)


Lesenswert?

Du kannst alle Netzwerkteilnehmer mit IEEE1588 genau synchronisieren, 
dann hast du überall die gleiche Zeit für deine Timestamps.

An welches Ethernetprotokoll hast du gedacht?

von Takter (Gast)


Lesenswert?

Einen Takt auf der Backplane mitschicken und in jeden "client" an einen 
Zähler anschließen und der Zählerstand wird in jedem ETH-Frame 
mitgeschickt.

Den Takt könnte man auch nutzen um synchrone Events (z.b ADC-Read) zu 
triggern.

von Johannes M. (johannesm)


Lesenswert?

Die Verdrahtungsstruktur ist zwar etwas anders aber vielleicht könnte 
EtherCAT etwas für die Anwendung sein.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Da gibts neben IEEE1588 noch "synchronous Ethernet", das scheint mir 
recht geeignet zu sein, damit alle PHYs auch synchronen Takt bekommen. 
Ohne PHY, mit MII ueber Backplane wuerd' ich das keinesfalls machen. MII 
ist nicht fuer laengere Strecken gedacht; wird auch ordentlich 
abstrahlen. Was wahrscheinlich ziemlich unclever ist, wenn man was 
"messen" moechte.
Die Trafos wirste weglassen (durch Koppel-Cs ersetzen) koennen, musst 
dir halt 'nen PHY raussuchen, wo das genaue Procedere dafuer beschrieben 
wird.

Gruss
WK

von Andreas M. (amesser)


Lesenswert?

GMII mit 125MHz wird keinen Spaß machen. Da muss man schon auf 
Leitungslängen und Impedanzen achten. Warum eigentlich die Phy's und 
Trafos sparen. Das könnte man geschickt einsetzen um eine Galvanische 
Trennung der Messkarten zu erreichen.

Synchronisation wie schon oben geschrieben über PTP oder Konsorten. Man 
schafft damit Jitter ~50ns wenn man sich Mühe gibt. Ansonsten zusätzlich 
gemeinsames Sync Signal (Auch hier gilt es die Leitungslängen zu 
beachten). Absolute Zeit kommt dann über PTP, der Takt dann über das 
Signal.

von Enrico W. (Firma: metux IT consult) (nekrad)


Lesenswert?

Dergute W. schrieb:

> Da gibts neben IEEE1588 noch "synchronous Ethernet", das scheint mir
> recht geeignet zu sein, damit alle PHYs auch synchronen Takt bekommen.

Brauchts dafür spezielle SoCs ?
Meine Hoffnung war, möglichst gängige, ohne viel Drumrum verwenden zu 
können.

> Ohne PHY, mit MII ueber Backplane wuerd' ich das keinesfalls machen. MII
> ist nicht fuer laengere Strecken gedacht; wird auch ordentlich
> abstrahlen.

Was heißt in dem Context "längere Strecken" ?
hmm, bei genauerer überlegung könnten schon 20cm zusammen kommen,
aber viel mehr sollte's nicht werden.


--mtx

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Enrico W. schrieb:
> Brauchts dafür spezielle SoCs ?

Eher spezielle PHYs. Was an dem PHY dranhaengt, sollte halt noch ggf. zu 
dem PHY passen in Bezug auf IEEE1588 Faxen.

> Meine Hoffnung war, möglichst gängige, ohne viel Drumrum verwenden zu
> können.

Ja, meine Hoffnung ist auch, mit einem 555 einen 8fach ARM-Prozessor mit 
10 GHz komplett nachbilden zu koennen. Nur: Es klappt nicht. Also muss 
ich mir bei einem Projekt ueberlegen, ob ich zwingend einen 8fach 
ARM-Prozessor brauch, oder ob mir nicht doch ein 555 reicht. So ist's 
bei dir: Wie synchron deine Clocks sein muessen, weisst nur du.

Enrico W. schrieb:
> Was heißt in dem Context "längere Strecken" ?

Laenger als die normale, kuerzeste Verbindung zwischen MAC und PHY. 
(RG)MII hat ca. 12 single ended Signale, davon 2 naggische Clocks. Die 
werden etwas mehr abstrahlen als die 2 bzw. 4 Doppeladern von 
"Ethernet". Zum routen auf deiner Backplane werden 4 (Fast-Eth) bzw. 
8(GBit-Eth) Leitungen pro Port auch simpler sein als 12. Kleine 
Switch-ICs haben die PHYs oft eh' schon eingebaut. Naja, usw. Ich 
schrub' ja auch "... ich wuerde das keinesfalls machen".

OK, du sparst etwas Energie ohne PHYs. Aber solange du am Stromnetz 
haengst, sollte das wurst sein.

Gruss
WK

von Enrico W. (Firma: metux IT consult) (nekrad)


Lesenswert?

Dergute W. schrieb:

> Enrico W. schrieb:
>> Brauchts dafür spezielle SoCs ?
>
> Eher spezielle PHYs. Was an dem PHY dranhaengt, sollte halt noch ggf. zu
> dem PHY passen in Bezug auf IEEE1588 Faxen.

hmm. wäre natürlich noch die Frage, welche Anforderungen das ggf. noch 
an den SoC bzw. das OS stellt. Möchte ja im Bedarfsfall mit möglichst 
kleinen/günstigen SoCs auskommen. Hat das jemand hier schonmal selbst 
implementiert ?

Die IO-Karten brauchen ja sonst nicht viel Rechenleistung. Oder 
vielleicht doch gleich größere SoCs nehmen und möglichst viel signal 
processing gleich dort erledigen lassen (was das aber SW-technisch 
komplexer macht) ?

> Wie synchron deine Clocks sein muessen, weisst nur du.

Naja, so ganz genau weiß ich das noch nicht - soll ja eine universellere 
Plattform werden. Hatte mir deshalb gedacht - ähnlich wie bei PXI - noch 
ein paar clock lines mit drauf zu legen, damit man dan daran zB. ADCs 
synchronisieren kann.

Apropos PXI: wenn ich das richtig verstanden habe, ist das iW. PCI + 
paar zusätzliche Leitungen (+Gehäuse, etc). Ist da außer den clock lines 
noch mehr mit drauf ?

Apropos PCI: hatte auch schon die Überlegung, sowas mit pcie abzubilden. 
Eher in einem anderen Kontext: CPUs im Cluster via pcie verknoten. Mir 
schwebt da schon lange eine Art single board mainframe vor (zB. einfach 
mal ein Bündel mx6 auf ein Brett kleben) - dann könnten wir das leidige 
x86-Gerümpel endlich in den Gulli kippen.

> Laenger als die normale, kuerzeste Verbindung zwischen MAC und PHY.
> (RG)MII hat ca. 12 single ended Signale, davon 2 naggische Clocks.

hmm, okay, vielleicht wäre das beim Backplane mit Steckern nicht die 
beste Idee. Aber wie sähe es bei dem anderen Projekt - SoCs auf einem 
Brett clustern - aus ?

Wie lang sind üblicherweise die Leitungen vom Soc zum PHY ?

> Kleine Switch-ICs haben die PHYs oft eh' schon eingebaut.

Ah, kannte ich noch nicht. Hatte kürzlich nur welche ohne gefunden.
Ehrlichgesagt dachte ich immer, daß sowas generell eher separat gemacht 
wird (war jedenfalls bei allen Brettern, die ich bisher in der Hand 
hatte, so gemacht).

> OK, du sparst etwas Energie ohne PHYs. Aber solange du am Stromnetz
> haengst, sollte das wurst sein.

Energie sollte erstmal nicht das große Problem sein - die Installationen 
werden sicher mehr als genug verbrauchen, daß die PHYs nicht mehr ins 
Gewicht fallen.

--mtx

von Proletus protectus Troll (Gast)


Lesenswert?

Da der PC eh keinen Echtzeitbeitrag liefern kann, wuerd ich die Box 
Standalone machen. Eine Ethernetkarte, dann auf die Backplane damit. Das 
Timing muss etwas anderes generieren. zB ein PLL plus ein FPGA.
Dann hat man einen 32 bit Controller, der die Daten herumschaufelt.

von Frank K. (fchk)


Lesenswert?

Enrico W. schrieb:

>> Eher spezielle PHYs. Was an dem PHY dranhaengt, sollte halt noch ggf. zu
>> dem PHY passen in Bezug auf IEEE1588 Faxen.
>
> hmm. wäre natürlich noch die Frage, welche Anforderungen das ggf. noch
> an den SoC bzw. das OS stellt. Möchte ja im Bedarfsfall mit möglichst
> kleinen/günstigen SoCs auskommen. Hat das jemand hier schonmal selbst
> implementiert ?

Ich kann den hier empfehlen.

http://www.ti.com/product/TM4C1294NCPDT

Der hat einen 10/100 MAC und PHY eingebaut und kann IEEE1588 (was ich 
aber in meinen Projekten nicht brauche). Ansonsten ist es ein Cortex M4F 
mit allem drum und dran, und TI liefert ein sehr brauchbares RTOS mit.

> hmm, okay, vielleicht wäre das beim Backplane mit Steckern nicht die
> beste Idee. Aber wie sähe es bei dem anderen Projekt - SoCs auf einem
> Brett clustern - aus ?
>
> Wie lang sind üblicherweise die Leitungen vom Soc zum PHY ?

Kürzestmöglich. Mit Längenabgleich und 50 Ohm Impedanz.

fchk

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.