Forum: Mikrocontroller und Digitale Elektronik PIC32MX664F128H / DP83848 Link ja, mehr aber nicht


von David H. (davidm)


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?

von David H. (davidm)


Lesenswert?

Ich hatte so gehoft das du mir sagst das PicKIT3 auch reicht :-)


Wireshark zeigt garnichts an. ich hab das extra nochmal mit dem notebook 
getestet ob ich auch wirklich den ganzen traffic sehe.

von David H. (davidm)


Lesenswert?

Ich würde ja mal das oszi da ran halten aber was soll ich da großartig 
sehen?
Das ist nicht einfach wenn man keine Ahnung hat :-)

von David H. (davidm)


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.

von David H. (davidm)


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..

von David H. (davidm)


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.

von David H. (davidm)


Angehängte Dateien:

Lesenswert?

Was bedeutet eigentlich die Link lampe sowohl an meinem switch als auch 
am phyter?

Die Netzwerkleitung ist ok (einschliesslich Magjack) und die Link 
partner haben sich auf eine Geschwindigkeit geeinigt?

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
Noch kein Account? Hier anmelden.