Forum: Mikrocontroller und Digitale Elektronik Ethernet Chips und die Geschwindigkeit


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von David H. (davidm)


Lesenswert?

Hallo,

hier ein Auszug aus einem älteren Forenbeitrag:

PIC18F97J60+interner MAC/PHY(*): 113
PIC18F8722+ENC28J60: 63

PIC32MX795F512L+ENC28J60 (SPI, 10 MBit/s): 456
PIC32MX795F512L+ENC624J600 (SPI, 100 MBit/s): 784
PIC32MX795F512L+ENC624J600 (16 Bit Parallel PMP, 100 MBit/s): 2071
PIC32MX795F512L+interner MAC (100 MBit/s): 8449


Auf dem PIC32 Demoboard von Microchip wird ein

PIC32MX795F512L + externer DP83848 PHY verwendet
http://www.mouser.com/ds/2/282/snosat2e-75807.pdf

Warum sollte man dann die ENC624J600 chips überhaupt noch nehmen?
wenn doch der PIC32MX in software die MAC sache erledigt und dabei auch 
noch schneller ist?


Immerhin hat Olimex auf seinem PIC32-WEB board genau das getan.

von Frank K. (fchk)


Lesenswert?

David Mueller schrieb:

> Warum sollte man dann die ENC624J600 chips überhaupt noch nehmen?

Nur wenn Du einen Prozessor ohne eingebauten Ethernet MAC verwenden 
willst.

> wenn doch der PIC32MX in software die MAC sache erledigt

Das tut er nicht. Der '695'er/795'er hat einen Ethernet-MAC in Hardware 
eingebaut.

> Immerhin hat Olimex auf seinem PIC32-WEB board genau das getan.

Die verwenden einen '4xx PIC32, der keinen Ethernet MAC eingebaut hat. 
Wahrscheinlich gab es zum Zeitpunkt des Designs die größeren noch nicht. 
Die 3xx/4xx waren zuerst da, dann kamen die 5xx/6xx/7xx, und dann die 
kleinen 1xx/2xx.

fchk

von David H. (davidm)


Lesenswert?

Danke dir Frank für diesen und auch die letzten beiträge zu dem Thema,

Fazit: man nehme einen 5xx/6xx/7xx die haben dann den MAC mit drinne.


Gibt es eine Liste von unterstützten externen PHY? oder sind die dadurch 
das die meisten MII unterstützen alle kompatibel zueinander?


Um nochmal auf das PIC32 Kit von Microchip zurück zu kommen:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&dDocName=en545713


PHY: http://www.mouser.com/ds/2/282/snosat2e-75807.pdf
PIC32 Handbuch: 
http://ww1.microchip.com/downloads/en/DeviceDoc/61166A.pdf

Sehe ich auf Seite 19 den prinzipiellen Aufbau und auf Seite 22 das hier 
scheinbar nur 4 Anschluesse benötigt werden?

ETXD0
ETXD1
ERXD0
ERXD1

ERXERR
ETXEN


Ich tue mir recht schwer das Zusammenspiel zwischen internem MAC und 
externem PHY zu verstehen.

Wie sieht das am ende in der Software aus? gibts da ein
1
#define use_intern_mac

oder wie läuft das da ab?

von Frank K. (fchk)


Lesenswert?

David Mueller schrieb:
> Danke dir Frank für diesen und auch die letzten beiträge zu dem Thema,
>
> Fazit: man nehme einen 5xx/6xx/7xx die haben dann den MAC mit drinne.

Falsch: Die 5xx/6xx/7xx-Serien sind pinkompatibel zueinander, aber nur 
die 6xx und 7xx haben Ethernet.

> Gibt es eine Liste von unterstützten externen PHY? oder sind die dadurch
> das die meisten MII unterstützen alle kompatibel zueinander?

Im Prinzip kannst Du jeden PHY mit MII oder RMII (weniger Leitungen aber 
doppelte Taktfrequenz) verwenden. Die Software von Microchip hat aber 
nur Support für den DP83848 und die SMSC 872x eingebaut. Wenn Du was 
anderes verwenden willst, musst Du den MDIO-Treiber anpassen, was aber 
nicht allzu schwierig sein sollte.

> Sehe ich auf Seite 19 den prinzipiellen Aufbau und auf Seite 22 das hier
> scheinbar nur 4 Anschluesse benötigt werden?
>
> ETXD0
> ETXD1
> ERXD0
> ERXD1
>
> ERXERR
> ETXEN

Das ist RMII (siehe oben). Dazu hast Du immer noch MDC und MDIO für den 
Zugriff auf die Register des PHY. Und der Clock fehlt oben - das sind 50 
MHz.

> Ich tue mir recht schwer das Zusammenspiel zwischen internem MAC und
> externem PHY zu verstehen.

Zieh Dir die Beschreibung zu MII/RMII rein. Letztendlich ist der PHY nur 
ein etwas speziellerer AD-Wandler, wo digitale 4-Bit Symbole reinkommen 
(bei RMII in zwei Takten) und leitungscodierte 5-Bit Symbole auf TX+/TX- 
ausgegeben werden. Dito für die umgekehrte Richtung.

http://en.wikipedia.org/wiki/Media_Independent_Interface
(den deutschen Artikel kannst Du vergessen, da steht nix drin)

> Wie sieht das am ende in der Software aus? gibts da ein
>
>
1
#define use_intern_mac
>
> oder wie läuft das da ab?

So in der Art.

fchk

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Ich verwende für Ethernet immer den Wiznet W5300. Kann bis 4,5 MByte/s 
(gemessen) und belastet nicht die CPU. Nachteil: max. 8 Ports 
gleichzeitig, 16Bit Bus notwendig.Preislich liegt der etwa bei 5€ und 
somit kaum teurer oder größer als ein PHY.

Grüsse

von David H. (davidm)


Lesenswert?

Danke für den Tip, ich überlege in zukunft auch die Microchip wlan 
module zu verwenden, da brauche ich den TCP/IP Stack von Microchip doch 
sowieso wieder.

Aber ansich auch eine interessante Lösung gerade für kleinere µC.

Thema klein, ich habe hier ein Beispiel Projekt compiled, selbst die 
großen 6xx/7xx mit 512kb flash, sind zu 43% voll alleine mit dem TCP 
zeug, ist das normal?

von Frank K. (fchk)


Lesenswert?

David Mueller schrieb:

> Thema klein, ich habe hier ein Beispiel Projekt compiled, selbst die
> großen 6xx/7xx mit 512kb flash, sind zu 43% voll alleine mit dem TCP
> zeug, ist das normal?

Wenn Du alles reincompilierst, kann das schon sein. Normalerweise kannst 
Du eine ganze Menge an Modulen rauslassen.

fchk

von Stock (Gast)


Lesenswert?

Diese SPI angebundenen Ethernet chips sind etwas suboptimal. Denn eine 
vernuenftige Geschwindigkeit kommt fuer die verbratene Rechnleistung 
nicht raus. Man sollte eher etwas in der Richtung 16bit Interface 
verwenden.

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.