Forum: Mikrocontroller und Digitale Elektronik AT32UC3A0512 ENC28J60


von Klaus (Gast)


Lesenswert?

Hallo zusammen,

ich soll als Projekt Daten über Ethernet an einen PC senden. Ich habe 
mir den AT32UC3A0512 (ja, der ist groß, aber das Projekt wird immer 
erweitert und später recht groß) als Controller ausgeguckt und den 
ENC28J60 als Controller für das Ethernet. Jetzt hab ich im Internet 
immer nur Infos und Platinen für den ATmega32 gefunden, muss ich dabei 
nur die andere Pinbelegung beachten und andere Bibliotheken einbinden 
oder bin ich völlig falsch? Danke für eure Hilfe!

von Dieter M. (Gast)


Lesenswert?

Falls Du Dich noch nicht ganz in den ENC28J60 verbissen hast, denke mal 
über einen ganz normalen Ethernet-Phy nach(z.B. BCM5241 und viele 
andere), der wird über die MII-Schnittstelle angeschlossen.
Bibliotheken dafür findest Du direkt bei Atmel(ich glaube sogar im 
Atmel-Studio).
Vorteil:
- volle HW-Unterstützung, DMA,
- volle 100MBit (auch wenn du sie wahrscheinlich nicht brauchst)...

von Uli H. (tyramisoux)


Lesenswert?

Wollte gerade nen Thread mit dem gleichen Thema starten!
Ich stehe auch vor der Aufgsbe einen AT32UC3* mit Ethernet auszustatten.
Gleich vorweg, das Teil muss keine Höchstleistungen vollbringen!

Nun war mein erster Gedanke - dazu hab ich bereits den Schaltplan fertig 
- ein AT32UC3A0512 plus DP83848 Phy.
Eigentlich hatte ich das SO beschlossen.

Der Umstand, dass der AT32 erst in KW19 hier aufschlagen wird, hat mich 
nun zum umdenken animiert. Ich hab hier noch so ein Adapterplatinchen 
liegen - 10 Pin SPI auf Ethernet mittels ENC28j60 - und die Möglichkeit 
ohne Wartezeit an einen AT32UC3A3* zu kommen - also die Version OHNE 
MAC.

Insgesamt scheint mir diese Lösung eigentlich nur Vorteile zu haben!
Der PHY kostet 6 Euro und braucht reichlich Beschaltung. Ich freu mich 
schon aufs Routen. Am AT32 gehen 11 Pins drauf für das Ethernet!

Den ENC28J60 krieg ich für 4 Euro (Einzelstücke) braucht kaum 
Beschaltung und hängt am SPI-Bus der lediglich einen zusätzlich !CS 
belegt. Ein wahre Freude die paar Bauteile am Ende zu Routen.
Der AT32UC3A3 ist außerdem günstiger und kann bis 83 MHz - ist also auch 
noch spürbar schneller als der "alte" mit MAC.

Schwere Entscheidung? Oder liegt die auf der Hand? Hat jemand Erfahrung? 
Am Besten mit beiden Lösungen :-) Wo sind die jeweiligen Tücken?
Ich tendiere jetzt echt zum ENC... Speed ist wie gesagt höchst 
Drittrangig für unsere Anwendung - Hauptsache das Ding kann 
kommunizieren.

von AVR32 (Gast)


Lesenswert?

Uli Herrmann schrieb:
> Hat jemand Erfahrung?

Ja, ist schneller als mein DSL2000 und hängt am gleichen SPI wie meine 
SD, auf der die Daten liegen.

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Es gibt bessere Alternativen zum ENC28J60, insbesondere wenn man nicht 
den Microchip-TCP/IP-Stack verwendet:

http://www.micrel.com/index.php/en/products/lan-solutions/controllers.html

Und zur Geschwindigkeit kann man die Tabelle aus der Doku zum Microchip 
TCP/IP-Stack zu Hilfe nehmen. Der Unterschied zwischen internem Ethernet 
und externem Ethernet-Chip beim PIC32 ist schon beachtlich, selbst wenn 
man das  parallele Interface nimmt. Und die CPU-Last ist auch viel 
höher.

AVR32 ist in etwa in der gleichen Größenordnung wie PIC32, AVR ist mit 
PIC18 vergleichbar. Auch hier sieht man, dass der PIC18F97J60 mit seinem 
internen Ethernet deutlich schneller ist als ein äquivalenter PIC18 mit 
dem ENC28J60; und obendrein kostet er weniger. Wer keine großen 
Anforderungen hat, findet hier die billigste Hardware-Lösung, die es 
gibt.

fchk

PS: Und zu dem zu umständlich zu beschaltenden PHY: den musst Du ja 
nicht benutzen. Schau Dir mal den Microchip LAN8720A an. Der hat nur 
noch 24 Pins.

http://www.microchip.com/wwwproducts/Devices.aspx?product=LAN8720A

: Bearbeitet durch User
von AVR32 (Gast)


Lesenswert?

Es ist immer wichtig, Aufwand und Nutzen zu beachten. Die Kosten sind 
für privat nicht das Wichtigste. Die Anzahl der Pins ist meist 
wichtiger.

Für den ENC28J60 braucht man praktisch nur /CS und IRQ. Auf den IRQ kann 
man notfalls auch noch verzichten. Die restlichen SPI-Pins können auch 
mit anderen Bauteilen genutzt werden.
Wichtig ist allerdings, die Errata zu beachten.

Ich habe am EVK1100 schon getestet:
DP83848 Phy mit FreeRTOS+lwIP (FreeRTOS-Demo),
DP83848 Phy mit lwIP,
über SPI das SPB104-WiFi Modul und lwIP
und über 16MHz SPI den ENC28J60 mit lwIP.

Der ENC28J60 mit lwIP ist defenitiv schneller als DP83848 mit 
FreeRTOS+lwIP.
Also - die Hardware kann die Softwareschwächen nicht ausgleichen.

Nur das SPB104-WiFi Modul ist noch etwas langsamer. Dafür braucht man 
kein Kabel und es braucht nicht einmal 1/3 des Stroms für das Kabel.

Außerdem - wer will schon große Datenmengen mit einem µC übertragen? Für 
die Anzeige einer Web-Seite reicht alles.

von Uli H. (tyramisoux)


Lesenswert?

Danke Leute!

Super Infos und Einiges zum "drüber nachdenken".
Da es bei uns aktuell darum geht den einer oder anderen Messwert zu 
übertragen bzw Status der Anlage - das noch nichtmal kontinuierlich, ist 
der Speed komplett zweitrangig.
In meinem Falle sind die Vorteile eines AT32UC3A3 (ohne MAC) wohl höher 
zu bewerten.

von Frank K. (fchk)


Lesenswert?

Uli Herrmann schrieb:

> In meinem Falle sind die Vorteile eines AT32UC3A3 (ohne MAC) wohl höher
> zu bewerten.

Dann nimm halt den KSZ8851SNL. Kann mehr, ist bugfreier und braucht 
weniger Strom.

http://www.micrel.com/index.php/products/lan-solutions/controllers/article/4-ksz8851snl.html

http://www.micrel.com/_PDF/Ethernet/datasheets/ksz8851snl_ds.pdf

fchk

: Bearbeitet durch User
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.