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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.