PIC32MX664F128H / DP83848 Link ja, mehr aber nicht

OP #3245754
Lesenswert?

Mein Netzwerkboard funktioniert soweit das ich die Link Lampe am Switch 
sehe.
und wenn ich mir die Variablen ansehe scheint er vom switch auch die 
infos zu erhalten das es sich um ein 100MBit switch handelt.


Die funktion (ETHPIC32IntMac.c Zeile 310)

BOOL MACIsLinked(void)
{
  return (_linkPrev&ETH_LINK_ST_UP)!=0;
}

gibt jedoch manchmal false zurück und dann geht es nicht weiter.

Ich bin die ganzen funktionen schon durch gelaufen und es scheint so das 
es nur manchmal passiert oder MACIsLinked nur anfangs ok ist.

Kann es sein das zwar der Management Port funzt, einschliesslich der 
Netzwerkleitung. Ich aber irgendwie was verhaun habe zwischen Phyter und 
PIC32?

Kann man das irgendwie raus messen?
OP #3246022
Lesenswert?

paul schrieb im Beitrag #3245824:
> nsicht der entsprechenden
> Register

Welche Register?

Interner MAC?
Status Register vom Phyter?

Kannst du ein Tip abgeben wo man hier als erstes nachsieht?
Oftmals suche ich hier im Forum nach Lösungen und stosse dann auf
Threads die am ende keine Lösung haben.
OP #3246702
Lesenswert?

Also anhand der LEDs sehe ich schonmal das der Phyter auf jedenfall ARP 
requests aus dem netzwerk Empfängt.

Was auch geht ist die MAC Anmeldung am switch selbst.

Nur danach geht es einfach nicht weiter.

Wenn ich einige Break points setze und das Programm langsam durch gehe 
ist

linkStat ==  ETH_LINK_ST_UP

jedoch MACIsLinked(); gibt false zurück und somit stoppt jede weitere 
abarbeitung von ARP/DHCP etc..
OP #3247685
Lesenswert?

ok, bin wieder ein Stück weiter.

ist es normal das an den Leistungen ETXD0 und ETXD1 keine bewegung 
herscht?

Nochmal klar zum vrständnis, das sind doch die zwei Datenleistungen die 
vom MAC zum PHY die Daten Transportieren und darunter fällt doch auch 
die ganze ARP sache oder nicht?

Mich verwundert einfach das der Phyter mit meinem Switch noch soweit 
kommt das die sich auf die 100MBit einigen, danach gehts aber einfach 
nicht weiter.

er macht die ganze Init sache durch, sagt dann auch ETH_LINK_ST_UP aber 
er sendet kein einziges ARP paket ins Ethernet.

Was er jedoch tut, wenn ich vom PC aus was ins Netzwerk sende, das der 
Phyter das bekommt und auch signalisiert durch blinken der LED, genauso 
scheint der Phyter das auf den RXD Leitungen an den PIC zu schicken.

Hat irgend wer eine Idee was hier schief Läuft?
Die TRIS register muss ich ja nicht schalten wenn ich RMII aktiviert 
habe oder?
Nicht das hier die Pins noch auf Ausgang geschalten werden müssen.

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