Hallo alle zusammen, ich hab ein "Altera Cyclone III Starter Board" mit "Terasic Multimedia Touch Panel Daughter Board (MTDB)" und möchte davon die Ethernetschnittstelle (DP83848C) über MII nutzen. Wobei ich nur Daten senden möchte. Der Empfang ist mir egal. Ich gebe vollständige Ethernetrahmen (mit Preamble und FCS) nibbelweise an TxD der MII mit fallender Taktflanke von TxCLK. Solange gültige Daten anliegen ist TxEN '1'. Der Reset_n des Bausteins ist auch auf '1'. Soweit konnte ich das an den Eingängen des DP83848C nachmessen. Aber irgendwie kommen keine Daten aus dem Baustein an T+ oder T- der Ethernetbuchse raus. Die Daten an der RJ-45-Schnittstelle versuche ich mit "Wireshark" zu lesen, aber der liest nix, ausser Boardscast von meinem Rechner. Zusätzlich leuchten die grüne und orange LED's der Ethernetschnittstelle. Mein Code ist in VHDL geschrieben. Kann mir einer sagen, was ich bei der Ansteuerung über MII vergessen hab? Über die MDIO wollte ich keine Register verändern, weil man diese über Pullups vorher einstellen kann. Ich glaube das hat der Boardhersteller auch gemacht, sicher bin ich mir dabei ander nicht. Die Durchforst einiger Datenblatter brachte nix und der Support von Terasic antwortet mir nicht :-( Grüße Kasi
Hm... Mit dem MII wird ja der MAC mit dem PHY verbunden. Was für ein MAC wird denn genutzt ? Habe momentan ähnliche Probleme bei der Implementierung eins PHY. Ich kann zwar eine MAC angeben, eine IP zuordnen und die IP Boardintern pingen, aber Daten senden kann ich nicht. Bei mir liegt es vermutlich daran, dass mein PHY in mehreren Modi arbeiten kann und ich noch nicht herausgefunden habe wie man das ändert. Vielleicht ist es bei Dir ähnlich ? Gruß, Andreas
Hallo Andreas, die MAC hab ich mir selbst erstellt, von daher ist fraglich ob dies auch richtig funktioniert ;-) Ich nutze jetzt einen Loopback Connector, der meine gesendeten Rahmen auf dem Empfänger zurückkoppelt. Somit kann ich meine eigenen Rahmen sehen, aber das RxERR und das RxDV ist über den ganzen Rahmen gesetzt, während ich einen meiner Rahmen empfange. Das bedeutet, dass der Rahmen falsch ist. Kennst du vielleicht andere Gründe dafür außer einem falschen CRC? Weil mein CRC hab ich mit der ASCII Zeichenfolge "123456789" überprüft. Zu deinem Modus Problem. Bei meiner PHY kann ich über die MDIO auf gewisse Register zugreifen. In diesen Registern kann man den Modus (RMII MII SNI) einstellen. Bei der DP83848C kann ich den Modus bei Reset automatisch einstellen, je nach dem wie man die Pull-Ups an Ausgängen von RxD setzt. Bei mir war die MII durch das Board schon voreingestellt. Hast du vielleicht einen garantiert heilen Ethernetrahmen für mich? Also mit richtigen CRC, Typefield und sonstiges? Weil dann könnte ich den mal direkt durch meine MII jagen um zu sehen, ob ich meinen Rahmen richtig erzeuge, oder die MII Mist macht. Grüße Kasi
Hi, als ich würde einfach den Ethernet Core von OpenCores.org laden. Da ist alles bei was benötigt wird. Ich glaube das ist die sicherste Alterantive. Zumindest als Beispiel ist das ganz gut zu nutzen. Das mit den Pull-Ups habe ich jetzt auch in meiner Doku gefunden. Aber wie ändert man denn diesen Pull-Up ? Ich hab noch so meine Schwierigkeiten mit Quartus. Wäre schön wenn Du da nen Tip hättest. Gruß, Andreas
Hi Andreas, ich hab mich da jetzt nicht wirklich eingelesen, was die Pull-Ups betrifft. Aber ich denke, dass externe Hardware gemeint ist und nix internes vom FPGA. Kommen bei dir gar keine Daten raus, wenn du die Loopback funktion deiner PHY nutzt? Oder nur falsche? Weil bei der MII musst die Nibbel, die du sendest ganz komisch drehen (War bis heute morgen einer meiner Fehler), siehe IEEE 802.3 section 2 Überschrift 22.2.3.2.1 und dort die Tabelle. Danke für den Tipp mit OpenCores.org mal sehen ob ich da was gültiges rausbekomme ;-) Grüße Kasi
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.