Hallo Zusammen.
Mit der eigenen PCB Erstellung kenne ich mich leider noch nicht so gut
aus.
Meine Idee wäre es bestehende Schaltungen miteinander auf einem PCB zu
kombinieren. Das ganze soll dann extern komplett gefertigt werden.
Hintergrund ist, dass ich mir einen eigenen Educational Cluster bauen
möchte.
Ich wollte mal fragen, ob folgendes möglich ist:
Ich möchte gerne mehrere CM4 Module über Ethernet miteinander
verdrahten, sodass ich ein Board habe mit LAN Buchse, mehreren CM4s die
alle miteinander verbunden sind. Ich weiß, dass es sowas für das CM3
bereits gibt, allerdings über den langsameren Umweg USB3 -> Netzwerk ->
Switch. Das neue Modul 4 hat aber einen eigenen Gigabit-Controller
direkt angebunden, soweit ich das verstanden habe, und dieser wird
herausgeführt.
1
Genau genommen möchte ich von:
2
Switch ---> Netzwerk (extern)
3
Switch ---> Raspberry Pi 4 (1)
4
USB C Strom ---> Raspberry Pi 4 (1)
5
Switch ---> Raspberry Pi 4 (2)
6
USB C Strom ---> Raspberry Pi 4 (2)
7
....
8
Switch ---> Raspberry Pi 4 (n)
9
USB C Strom ---> Raspberry Pi 4 (n)
10
11
Zu einem Board wechseln:
12
13
Board ---> Netzwerk (extern)
14
ATX-Powersupply ---> Board
Je nach Switch-Möglichkeit könnte man dann noch Verbinder einbauen, um
mehrerer solcher Platinen zu stapeln.
Mein erster Gedanke war, ob ich das mit Geppetto von Gumstix schnell
realisieren könnte. CM4 gibt es dort, aber keinen Switch den man auf die
Platine packen kann. Also wird es wohl darauf hinauf laufen, soetwas
selbst zu entwerfen. Entwerfen im Sinne von eine hoffentlich bestehende
Schaltung nehmen und die HW-Ports für RJ45 direkt mit CM4 Konnektoren zu
verdrahten.
Strom etc. und fertig ist die Laube.
Zumindest stelle ich mir das so vor.
Gibt es so eine open-source Gigabit-Switch Schaltung?
Bitte habt nachsehen mit mir, wenn ich das als viel zu einfach
betrachte.
Grüße,
Florian
Technisch geht das, was Du willst. Solltest Du Anfänger sein und nichts
von differential Pairs, Leiterbahnimpedanzen etc wissen, wirst Du
allerdings daran scheitern.
Dieser Chip ist einigermaßen problemlos besorgbar, und die Dokumentation
ist auch erhältlich (wichtig).
https://www.microchip.com/wwwproducts/en/KSZ9567
Das Löten dieses Chips ist nicht ganz ohne, weil das 0.2mm breite Pins
im 0.4mm Raster sind. Du brauchst also professionell gefertigte
Multilayer-Boards, und das Bestücken von Hand geht nur mit Mikroskop und
Übung.
Du willst die CM4 Compute Modules benutzen. Die haben leider kein RGMII
oder SGMII rausgeführt, sondern nur die MDI-Paare. Du wirst
Ethernet-Transformatoren wie diese hier
https://productfinder.pulseeng.com/doc_type/WEB301/doc_num/HC500/doc_part/HC500.pdf
zum Koppeln der differential Pairs von Switch und Ethernet PHY brauchen.
Wie gesagt, ohne mehrjährige Erfahrung wird das nix. Dann sollest Du
eher fertige Einzelteile kaufen, die Du nur zusammenstecken brauchst.
fchk
Hallo!
Danke erstmal, das klingt alles hoch interessant.
Mit den Differential-Leitungspaaren kenne ich mich gar nicht aus.
Was ich eben anlesen konnte war, dass es von der Breite der Leiterbahn
abhängt, das beide Leitungen gleich lang sein müssen, PCB Schichtdicken
der Layer zu beachten sind usw.
Das ist vermutlich tatsächlich etwas viel für einen Anfänger. :D
Laut Doku sollen die "differential pairs" aber mit 100Ohm geroutet
werden.
Das mal außen vor gelassen, habe ich ein Schaltungsbeispiel für einen
POE Ethernet Port (MagJack) am CM4 gefunden.
Was ich bisher nicht wusste, bzw. vermute ist, dass in diesem MagJack
(also der Buchse) auch noch Elektronik verbaut ist neben den LEDs, und
es nicht nur ein einfacher mechanischer Anschluss ist. (Ist das so
richtig? Das wusste ich bisher nicht.)
Mein Verständnis ist jetzt dass man das was dort enthalten ist auch mit
dem H5007NL realisieren kann. Also um es dann mit dem KSZ9567 und dem
BCM54210PE auf dem CM4 zu verbinden.
Beim CM4 kommen folgende Pins für das Ethernet heraus:
1
3 Ethernet_Pair3_P Ethernet Pair 3 Positive ( connect to Transformer or MagJack)
2
4 Ethernet_Pair1_P Ethernet Pair 1 Positive ( connect to Transformer or MagJack)
3
5 Ethernet_Pair3_N Ethernet Pair 3 Negative ( connect to Transformer or MagJack)
4
6 Ethernet_Pair1_N Ethernet Pair 1 Negative ( connect to Transformer or MagJack)
5
7 GND Ground (0V)
6
8 GND Ground (0V)
7
9 Ethernet_Pair2_N Ethernet Pair 2 Negative ( connect to Transformer or MagJack)
8
10 Ethernet_Pair0_N Ethernet Pair 0 Negative ( connect to Transformer or MagJack)
9
11 Ethernet_Pair2_P Ethernet Pair 2 Positive ( connect to Transformer or MagJack)
10
12 Ethernet_Pair0_P Ethernet Pair 0 Positive ( connect to Transformer or MagJack)
11
13 GND Ground (0V)
12
14 GND Ground (0V)
Ich betrachte hier jetzt erstmal nur ein einzelnes Paar und nicht alle 4
Paare.
1
CM4 H5007NL (Channel1)
2
?--> TCT1
3
Ethernet_Pair0_P ---> TD1+
4
Ethernet_Pair0_N ---> TD1-
Was genau das TCT1 ist weiß ich noch nicht. Ich kann nur raten.
das T steht für Transceiver, TD1 = Transceiver Data1 und TCT1
Transceiver Clock Time1? Wenn ihr die Bedeutung kennt, würde ich mich
über eine Erleuchtung freuen.
In der Beispielschaltung vom CM4 Ethernet (im angehängten Bild) gibt es
am MagJack auch die Pins 4 und 5 mit der Bezeichnung CT, diese gehen
dabei nur an einen Kondensator mit 100nF. Ich würde jetzt annehmen, dass
dies auch beim TCT ping jeden Channels am H5007NL gemacht werden müsste.
Falls ja, brauchen die jeweils einen, oder können/müssen die sich auch
einen teilen?
Ich hoffe ich habe es jetzt nicht komplett falsch verstanden, sodass der
PI auf die andere Seite muss. :D
Ich habe nochmal nach gedacht. Bzw. hat es glaube grade wieder im Kopf
"KLICK!" gemacht. :D
Laut Doku hat das CM4 ein eigenen PHY und man braucht nur den Port
anklemmen.
D.h. der moduliert schon ein analoges Signal?
Was fchk meinte ist, dass der KSZ9567 aber digital arbeitet und man nun
z.B. den H5007NL benötigt, um dies zu verbinden.
also:
1
KSZ9567 --- digital chip Seite ---> H5007NL <---- analog media Seite CM4
Ohne jetzt böse zu sein...das als Spaßprojekt wird nichts...viel zu
teuer als Prototyp und wenn du soetwas nicht beruflich machst wirst du
einige Boards brauchen bis es Ansatzweise läuft. Preislich ist schon ein
Prototyp weit über der kompletten! Variante RPI+PoE Modul.
Wenn es dir um die Softwareentwicklung geht nimm einfach die Standard
Variante mit PoE....selbst Profis machen das so. Es funktioniert ohne
extremen Aufwand.
Ok, nachdem ich darauf gekommen bin, das der Überträger ja nur ein
passives Element ist, habe ich im Chip mal nach einer Beispielschaltung
gesucht und bin fündig geworden.
Die Frage ist jetzt kann ich die Leiterbahnen dann direkt zum CM4 führen
und den MagJack weglassen?
Wenn ich die geforderten Parameter für die differential pairs einhalte,
sollte das routen in eagle ja nicht allzu schwer sein.
Sieht zumindest hier ganz leicht aus:
https://www.youtube.com/watch?v=U_VrqCcgkIc
fchk schrieb:> Du willst die CM4 Compute Modules benutzen. Die haben leider kein RGMII> oder SGMII rausgeführt, sondern nur die MDI-Paare.
Nein, da ist 'ne PHY drauf!
Florian M. schrieb:> Die Frage ist jetzt kann ich die Leiterbahnen dann direkt zum CM4 führen> und den MagJack weglassen?
Ja, aber vielleicht Terminierungswiderstände?
> Wenn ich die geforderten Parameter für die differential pairs einhalte,> sollte das routen in eagle ja nicht allzu schwer sein.
Richtig. Du musst dich schon ziemlich anstrengen schlechter als 100m
CAT5e zu routen :-)
Florian M. schrieb:> Ok, nachdem ich darauf gekommen bin, das der Überträger ja nur ein> passives Element ist, habe ich im Chip mal nach einer Beispielschaltung> gesucht und bin fündig geworden.>> Die Frage ist jetzt kann ich die Leiterbahnen dann direkt zum CM4 führen> und den MagJack weglassen?
Nein, kannst Du nicht. Du darfst nur die Wechselspannungsanteile
koppeln, nicht aber den Gleichspannungsanteil. Dafür ist der Übertrager
da.
Es gäbe auch die Möglichkeit, die Ports per Koppelkondensatoren (100n
X7R in 0402) anzubinden, aber dabei muss man auf noch ein paar Sachen
mehr achten, z.B. ob die Ports spannungsgesteuert oder stromgesteuert
sind und ob die dann noch irgendwelche Pullup- und Pulldown-Widerstände
brauchen. Ist also komplizierter zu designen. Lass das und nimm die
Signaltransformatoren.
> Wenn ich die geforderten Parameter für die differential pairs einhalte,> sollte das routen in eagle ja nicht allzu schwer sein.
Ja, es ist machbar.
fchk
Moin,
fchk schrieb:> Lass das und nimm die> Signaltransformatoren.
Welche genau (common mode choke vorne, hinten, oben unten,...?), und
wieviele pro Verbindung? "Echtes" Ethernet, so mit Kabel zwischendrinnen
hat ja an jedem Ende der Strippe ein Trafoarray...
SCNR,
WK
Dergute W. schrieb:>> Lass das und nimm die>> Signaltransformatoren.>> Welche genau (common mode choke vorne, hinten, oben unten,...?), und> wieviele pro Verbindung? "Echtes" Ethernet, so mit Kabel zwischendrinnen> hat ja an jedem Ende der Strippe ein Trafoarray...
Genau. Du brauchst ein solches 4* 1:1 Trafoarray für jede Verbindung
zwischen CM4-PHY und Switch-PHY. Eines pro Verbindung reicht.
fchk
Μαtthias W. schrieb:> Aber warum nicht über kapazitive Kopplung nachdenken:>> https://microchipsupport.force.com/s/article/Capacitive-Coupling-for-Gigabit-Ethernet
Weil das nur bei Voltage Mode PHYs so einfach funktioniert. Ich weiß
nicht, wie auf dem CM4-Modul arbeitet. Beide Seiten müssen Voltage Mode
Drivers haben und keine Current Mode Drivers.
Letztendlich sind die Signale des PHYs erst HINTER dem Tranformator
standardisiert. Die Signale ziwschen PHY und TRAFO können durchaus
unterschiedlich sein. Das ist nicht ganz so einfach, und deswegen rate
ich davon ausdrücklich ab.
fchk
fchk schrieb:> Μαtthias W. schrieb:>> Aber warum nicht über kapazitive Kopplung nachdenken:>>>>> https://microchipsupport.force.com/s/article/Capacitive-Coupling-for-Gigabit-Ethernet>> Weil das nur bei Voltage Mode PHYs so einfach funktioniert. Ich weiß> nicht, wie auf dem CM4-Modul arbeitet. Beide Seiten müssen Voltage Mode> Drivers haben und keine Current Mode Drivers.
Auf dem Schaltplan vom Träger sieht es für mich nach Voltage Mode aus da
die Mittelabgriffe der Transformatoren nur einen 100n nach Masse haben.
https://datasheets.raspberrypi.org/cm4io/cm4io-datasheet.pdf
Die meisten neueren PHYs arbeiten meines Wissens nach mit Voltage Mode
da einfach weniger Leistung verbraten wird.
Matthias
Mahlzeit!
Über das letzte Wochenende habe ich mich etwas in KiCad 5 eingearbeitet.
Für mein Vorhaben habe ich jetzt ein Projekt in KiCad erstellt.
Ich habe die Datasheets zusammengetragen, die Bauteile (die ich bisher
kenne und nutzen will) erstellt, und mit einem hierarchischen Schema
begonnen.
Das Symbol für den KSZ9567S habe ich aus einem IBIS generiert.
Aktuell fehlt mir noch das CM4 als Symbol und Bauteil (Anschlüsse?) in
KiCad, dies konnte ich nicht importieren, weil die Raspberry PI
Foundation auf dem KiCad nightly Build (-> v6) aufsetzt.
Vermutlich muss ich mein Projekt daher auf diese Version upgraden.
Ist dies ratsam?
Ich habe das ganze Projekt zur freien Verwendung auf Github gestellt.
https://github.com/FloMaetschke/CM4CB
Als nächstes muss ich mich Schritt für Schritt herantasten.
Reset-Schaltung, Clock usw. damit kenne ich mich noch gar nicht aus,
muss mich einlesen und bin vermutlich auf Eure Hilfe angewiesen.
Daher würde ich mich über Feedback, Verbesserung oder Tipps wie auch
immer von Euch sehr freuen.
Danke!
Moin,
Dazu mein Senf ohne konkrete Reihenfolge:
1.) Koennt' das nicht Probleme machen, wenn du Datenblaetter, an denen
du wohl keine Urheberrechte hast, bei github reinstellst?
2.) Man kann bei Kicad ziemlich leicht Symbole und Bauteile selber
erstellen.
3.) Bohr' doch erstmal duennere Bretter. Mach ein Schaltbild und eine
Platine, auf die du z.b. nur 2 von den CM4 draufstecken kannst, deren
Ethernets dann z.b. per Koppel-C oder Trafo zusammenhaengen - je nach
Bestueckung. Voellig ohne Switch dazwischen.
Lass das fertigen und bestuecken. Und dann guck' ob sich die beiden CM4
"sehen" koennen. Und wenn nicht, warum nicht.
Wenn das dann soweit laeuft, dann mach' eine grosse Platine mit
Switch-IC und ggf. Konfigurationsmoeglichkeit fuer den Switch. Also
mindestens ein eeprom oder besser ein uController. Und allem anderen
Furz und Feuerzeug was du da dann meinst zu brauchen.
Gruss
WK