DM9000 auto-negotiation funktioniert nicht / Doku ist nutzlos

Gast #1014775
Lesenswert?

Ich habe ein ARM7 Board von Olimex mit einem DM9000 als 
Ethernetcontroller. Nun versuche ich grad, LWIP als TCP/IP Stack mit dem 
DM9000 unter FreeRTOS zu verwenden. Mein Problem ist nun die 
Initialisierung des DM9000. Ich habe mir den Linux- und den eCos-Treiber 
und ein Beispiel für uIp von Olimex angeschaut. Im eCos Treiber wird die 
auto-negotiation aktiviert und gewartet, bis sie beendet ist. Bei mir 
funktioniert das aber nicht. Das Hauptproblem ist, das die Dokumentation 
des DM9000 ziemlich scheiße ist. Zumindest hab ich ein Bit gefunden, das 
anzeigen sollte, ob die auto-negotiation verfügbar ist. (Bit 
Auto-Negotiation Ability im Register BMSR) Dieses sagt mir immer, das 
sie nicht verfügbar ist. Das kommt mir bissl seltsam vor. Im Handbuch 
steht dazu nichts weiter. Gibt es verschiedene DM9000, wo bei manchen 
diese Funktion enthalten ist und bei manchen nicht? Oder gibts das 
grundsätzlich nur bei Verwendung eines externen PHY? (was immer das 
bedeutet, aber das gibts als Option beim DM9000)
Wie initialisiert ihr den DM9000? Wo gibts noch brauchbare Infos zum 
DM9000? (Bei google jedenfalls nicht)
Angehängte Dateien:
Gast #1014805
Lesenswert?

Ich hab noch bissl weiter geforscht und noch ein Register gefunden, das 
Debug-Informationen zum auto-negotiation Ablauf enthält: DSCSR.
Die Monitor-Bits sollen mir laut Datenblatt folgendes sagen:
"Parallel Detects Signal_link_ready Fail"
Weiß jemand, was das bedeuten soll?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren