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
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?
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.
Die Verdrahtungsstruktur ist zwar etwas anders aber vielleicht könnte EtherCAT etwas für die Anwendung sein.
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
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.
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
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.