Guten Abend Forumsgemeinde, ich wollte wissen, ob RGMII und MII kompatibel sind ? Laut dem englischen Wikipedia-Eintrag besitzt die MII-Schnittstelle 4 Transmitdatenbits und einen Takt von 25MHz bei 100Mbps, genauso wie die RGMII-Schnittstelle. Nur TX_EN und TX_ER sind bei der RGMII zu einem Signal TX_CTL zusammengefasst. https://en.wikipedia.org/wiki/Media-independent_interface Ich habe bereits beide Schnittstellen über ein Ethernetkabel verbinden können und im Linux-Userspace via dem Befehl "ping" zufällige Daten sowohl senden als auch empfangen können. Bevor ich aber auf gut Glück Zeit ein Programm stecke, frage ich lieber nochmal nach. Dass es nicht das Gelbe vom Ei ist, ist mir bewusst. Es geht erstmal nur darum gezielt gewisse Daten über TXD[0..3] zu senden, Daten zu empfangen ist vorerst egal. Grüße, roland_91
>ich wollte wissen, ob RGMII und MII kompatibel sind? Eher nicht. Nein. >MII-Schnittstelle 4 Transmitdatenbits und einen Takt von 25MHz bei 100Mbps, >genauso wie die RGMII-Schnittstelle. Ja, aber nur wenn du den RGMII davon abhälst mit 1Gbps zu arbeiten und auf 100Mbps zügelst. >Nur TX_EN und TX_ER sind bei der RGMII zu einem Signal TX_CTL zusammengefasst. Die gemultiplexten Signale wirst du nicht auseinanderdröseln (wollen). Und dann noch eine Kleinigkeit die Logiklevel: MII ist 3.3V oder 5V (üblich LVTTL) RGMII ist 2.5V CMOS oder 1.5V HSTL >gezielt gewisse Daten über TXD[0..3] zu senden, >Daten zu empfangen ist vorerst egal. Echt? Wenn du die gesendeten Daten nicht empfangen möchtest ist das einfach: Nichts anschließen. Aber mal im Ernst. Ein MII PHY und ein RGMII PHY würden dir echt helfen.
Danke für die rasche Antwort. Mit "nur Senden" meinte ich eine unidirektionale Verbindung von meinem Board ausgehend, also dass mein Board keine Daten empfangen braucht. Aber das macht wohl leider keinen Unterschied, entweder gehen beide Richtungen oder keine. Ich hatte mich nur gewundert, warum das Autonegotiation zwischen den beiden Schnittstellen dann allem Anschein nach geklappt hat und das Pingen auch. Deinen letzten Satz verstehe ich nicht ganz? Ich habe an einem Ende den KSZ9031RNX (RGMII) und am anderen sitzt der KSZ8893MQL (MII). Einen der beiden PHYs auszutauschen ist leider nicht möglich, da beide eingebettet sind.
Moin, Autoneg machen die PHYs normalerweise voellig ohne CPU. Da geht nix ueber (RG)MII Interfaces. Da wird's nur Betriebsspannung und Takt brauchen. Damit ein Ping geht, braucht's Verbindung in beide Richtungen. Vor dem Ping kommt ARP. Beschreib' mal genauer, was du da an beteiligten Chipsen hast - wo haengen die PHYs jeweils noch drann und in welche Richtung soll da was gehen? Prinzipiell sind unidirektionale Verbindungen schon moeglich, aber wenn da Switche dazwischen sind, neigen die zum fluten aller Ports mit dem Kram, der gesendet wird, ohne zu empfangen. Gruss WK
>Deinen letzten Satz verstehe ich nicht ganz? >Ich habe an einem Ende den KSZ9031RNX (RGMII) >und am anderen sitzt der KSZ8893MQL (MII). >Einen der beiden PHYs auszutauschen ist leider nicht möglich, >da beide eingebettet sind. Glaube ich dir. Weil eben hast du noch etwas anderes beschrieben. Und zwar, dass du zwei (RG)MII Schnittstellen mit einem Twistedpair Kabel verbunden hast. Und das ist sportlich. >>RGMII und MII Schnittstellen [...] >>Ich habe bereits beide Schnittstellen über ein Ethernetkabel verbinden können Ich schließe mich WK an und denke eine genaue(re) Beschreibung wäre gut.
Okay, hätte ich evtl gleich machen sollen, auch wenn der Eingangspost dann Überlänge gehabt hätte ^^ Also an einem Ende ist folgendes Board mit dem KSZ9031, was ich über einen Host-PC per USB-to-RS232 seriell mit der Konsole steuere: http://www.phytec.de/produkt/single-board-computer/phyboard-mira/#download Am anderen Ende befindet sich das hier mit dem Ethernet-Erweiterungsboard, auf dem der KSZ8893 ist: https://inova-semiconductors.de/products/tools/inap375t-apix2-development-kit.html Beide Platinen verbinde ich über ein Cat-5-Ethernetkabel. Wenn ich über meinen Host-PC per USB-to-RS232-Kabel auf das Target zugreife, kann ich über die Ethernet-Schnittstelle (ifconfig eth0) "pingen". PS: Im Manual von erstgenanntem Board steht zwar die Möglichkeit theoretisch eine RMII nutzen zu können, dazu muss man allerdings was umlöten und aufgrund der SMD-Bauweise ist mir dies nicht möglich ohne Harakiri zu spielen.
Moin, Vielleicht bin ich ja noch nicht ganz wach, aber so wie ich das grad' seh', wuerd' ich sagen: Ethernet ist Ethernet - und wie PHYs dann an ihren jeweiligen MAC angebunden sind, ist zur Ethernetseite hin voellig wurst. Es gibt da keine verschiedenen Sorten wie z.B. Ethernet-MII und Ethernet-RGMII. Die beiden sollten sich ueber das Ethernetkabel "sehen", d.h. link negotiation machen, sich dabei wahrscheinlich auf 100MBit/sec einigen und fertsch. Wenn auf beiden Geraeten irgendeine SW laeuft, die Ethernet/IP spricht, dann sollte ein Ping (und auch schon der ARP vorher) ganz normal funktionieren - OK, im selben IP-Adressbereich sollten sie schon sein, wenn kein Router dazwischen ist - also "vernuenftige" IP-Adressen und Netzmasken haben. Ich hatte befuerchtet, dass du da irgendwie 2 PHYs mit ihren jeweiligen MII und RGMII Ports verbinden willst, nicht ueber ihre Ethernet-Ports. Oder nicht passende PHY zu MAC Kombinationen. Das was du machen willst, kommt mir vor, wie der "ganz normale" Betrieb. Der sollte schon funktionieren. Gruss WK
Ich denke du hast den Aufbau einer Ethernetverbindung falsch verstanden. Der grundsätzliche Aufbau ist CPU -- MAC -- PHY -- PHY -- MAC -- CPU wobei CPU und MAC oft in einer MCU zusammengefasst sind oder im Fall von Switches sogar CPU, MAC und PHY zusammengefasst sind. MII und RGMII sind zwei von mehreren Varianten für die Verbindung MAC zu PHY und unabhängig von der PHY - PHY Verbindung. In deinem Fall ist die PHY - PHY Verbindung ein TP-Kabel auf dem 100BASE-T betrieben wird da es das schnellste ist das beide PHY unterstützen. Deine Beschreibung war verwirrend da es eine nicht standard-konforme Möglichkeit gibt ohne PHY zwei MAC direkt zu verbinden die in deinem Fall tatsächlich nicht funktioniert hätte.
Guten Morgen, danke erstmal für die Hilfe und sorry für die Verwirrung. Der Gebrauch des Wortes PHY sowohl für die Bitübertragungsschicht als auch für die Chips verwirrt mich auch manchmal. Nach dem Ausräumen des "Aneinandervorbeischreibens" frage ich nochmal um mich zu vergewissern: Ich kann also bei oben genanntem Aufbau grundsätzlich auf meiner Boardseite Steuerdaten auf die Sendeleitungen TXD0..3 legen und das Ethernet-Erweiterungsboard empfängt diese? Wenn das Autonegotiation positiv verläuft, muss ich mir um die Rahmenbedingungen wie Übertragungstakt oder -geschwindigkeit keinen Kopf machen ? In meinem Fall würde man dann von einer "MAC to external PHY"-Verbindung sprechen, richtig?
Dein Phytec-Board hat ein 10/100/1000MBit Ethernet mit RJ45, richtig? Das Inova-Board hat mit der Ethernetplatine 2x 100MBit Ethernet mit RJ45. Warum interessierst du dich für MII/RGMII? Oder möchtest du einen seperaten PHY an das Inovaboard stricken?
Moin, Roland E. schrieb: > Ich kann also bei oben genanntem Aufbau grundsätzlich auf meiner > Boardseite Steuerdaten auf die Sendeleitungen TXD0..3 legen und das > Ethernet-Erweiterungsboard empfängt diese? > Wenn das Autonegotiation positiv verläuft, muss ich mir um die > Rahmenbedingungen wie Übertragungstakt oder -geschwindigkeit keinen Kopf > machen ? Also wenn du persoenlich handgedengelte Daten auf die Sendeleitungen TXD0..3 (und TXCTL) legst, dann sieht das eher duster aus. Diese Daten muessen schon "wie Ethernet aussehen", d.h. zB. erstmal einen Takteinlauf, dann SFD, die beiden MAC-Adressen, Payload, vielleicht Padding und zu guter Letzt auch noch die richtige CRC, gebildet ueber den Schlonz vorher. Wenn z.B. die CRC nicht stimmt, dann wird das Paket von jedem Switch/jeder normalen Netzwerkkarte verworfen und taucht nichtmal im Wireshark eines direkt angeschlossenen PCs auf. Sollten beide PHYs aus irgendwelchen Gruenden keinen Link zusammenbekommen, dann kann und sollte man das aus den Registern des PHYs via MDI Schnittstelle lesen und entsprechende Massnahmen einleiten... Gruss WK
Danke, Dergute Weka. Michael X. schrieb: > Dein Phytec-Board hat ein 10/100/1000MBit Ethernet mit RJ45, richtig? > Das Inova-Board hat mit der Ethernetplatine 2x 100MBit Ethernet mit > RJ45. > > Warum interessierst du dich für MII/RGMII? Oder möchtest du einen > seperaten PHY an das Inovaboard stricken? Zur ersten Frage: ja. Zur zweiten Frage: Mein Plan besteht darin auf meinem Phytec-Board irgendwann ein Programm laufen zu lassen, das einen Display steuern soll. Das Display ist über eine HSD-Leitung mit dem APIX2-Transmitterboard verbunden. Auf das APIX2-Transmitterboard greife ich über das Ethernet-Extension-Board zu. Zu guter Letzt verbinde ich mein Phytec-Board per CAT5-Leitung mit dem Ethernet-Ext.-Board und möchte gerne über diese Verbindung die Daten zur Ansteuerung des Displays verschicken. Zur besseren Vorstellung: https://inova-semiconductors.de/products/tools/inap375t-apix2-development-kit.html Deshalb interessiere ich mich genauestens für das (RG)MII, sozusagen als SPI-Ersatz.
Das [RG]MII ist ein Interface speziell für die Verbindung eines Ethernetcontrollers (MAC) mit dem Leitungstreiber (PHY, z.B. für Coax, Twisted Pair, Glasfaser, ...). Von dieser Verbindung bekommt die Software-/Anwendungsebene nichts mit (hat meist auch gar keinen direkten Zugriff darauf) - die spricht mit dem MAC. Die Kommunikation der beiden Geräte (Phytec und APIX2) wird in Form von Ethernetpaketen stattfinden. Wie die aufgebaut sein müssen, um bestimmte Funktionen auf dem APIX-Board auszulösen, wirst du den Hersteller des Boards fragen müssen.
Moin, Roland E. schrieb: > Zu guter Letzt verbinde ich mein Phytec-Board per CAT5-Leitung mit dem > Ethernet-Ext.-Board und möchte gerne über diese Verbindung die Daten zur > Ansteuerung des Displays verschicken. Also hardwaremaessig eine ganz gewoehnliche Ethernetverbindung zwischen 2 Boards, oder? > Zur besseren Vorstellung: > https://inova-semiconductors.de/products/tools/inap375t-apix2-development-kit.html > > Deshalb interessiere ich mich genauestens für das (RG)MII, sozusagen als > SPI-Ersatz. Du hast softwaremaessig da eigentlich nie was damit zu tun, ob die beiden MAC<->PHY Verbindungen RGMII oder MII oder sonstirgendeine Abart sind. Im Gegenteil - ohne dass du auf die Boardhardware schaust, nur mit reinen Softwaremitteln waere das sogar sehr schwierig rauszukriegen. Wenn du dir keinen wahnsinnigen Wolf programmieren willst, wuerd' ich dir empfehlen, als SPI-Ersatz einfach das gute, alte IPv4 TCP oder UDP Unicast zu nehmen. Damit lassen sich prima ein paar Bytes von Board zu Board transportieren (und per SW auf ein Display weiterleiten). Denn - oh Wunder - genau dafuer wurden diese Protokolle naemlich gemacht. Nackerte SPI Bytes ueber einen PHY zu transportieren, wuerd' ich nicht machen, denn PHYs bauen schon auf eine bestimmte Struktur der Daten, die reinkommen. Ohne Takteinlauf und SFD am Anfang des Pakets koennte der PHY Probleme kriegen. Die MACs vor/hinter den PHYs "rechnen" auch mit bestimmten Eigenschaften der Pakete, die da rein und rauskommen und sind "not amused", wenn das was ganz anderes ist. Gruss WK
Ok, dann werde ich es auf diesen Weg einmal probieren. Danke für die Hilfe.
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.