Forum: Mikrocontroller und Digitale Elektronik Pegelanhebung ENC28C60 auf AVR mit 5V nötig?


von Matthias W. (matt007)


Lesenswert?

Es ist ein ENC28C60-Modul da für Betrieb mit AVR. Die Eingänge sind 
5V-tolerant lt. Datenblatt.

Auf der Platine sitzt ein 3.3V-Regler. Das ENC-Chip liefert daher am 
Ausgang nur 3.3V maximal. Sollte daher zwingend ein Pegelwandler verbaut 
werden zum AVR hin der ja mit 5V arbeitet?

Oder geht das auch ohne Wandler brauchbar wenn die Leitungen kurz sind?

Vielen Dank !

von Sascha_ (Gast)


Lesenswert?

Guck mal ins AVR Datenblatt bei "Electrical Characteristics".

von c-hater (Gast)


Lesenswert?

Matthias W. schrieb:

> Oder geht das auch ohne Wandler brauchbar wenn die Leitungen kurz sind?

Das geht problemlos. Die maximale Leitungslänge ist zwar geringer als 
bei einer korrekten Pegelanpassung, aber nicht sehr viel geringer. 
Geschätzt:  20%. Grundlage dieser Schätzung ist ein Betrieb bei 10MHz 
SPI-Takt und das auskitzeln der Situation, dass bereits in der ersten 
Sekunde des Betriebs ein nachweisbarer Fehler in der Kommunikation 
auftritt.

Bei geringerem SPI-Takt ist der Unterschied mit und ohne Pegelanpassung 
vermutlich noch geringer.

von Arduinoquäler (Gast)


Lesenswert?

Um alle Zweifel auszuräumen mache ich bei solchen Konstellationen
einen Loopback Test. Ich schreibe in einem ausführlichen
Test (ähnlich wie bei einem Speichertest) für meine aktuell
aufgebaute Hardware und benutze ein schreib-/lesbares Register
im Zielbaustein.

von Matthias W. (matt007)


Lesenswert?

c-hater schrieb:
> Das geht problemlos.

Vielen Dank !

Das Datenblatt des ENC28C60 macht da etwas nervös weil von Pegelwandlern 
zur CPU hin die Rede ist und dazu auch 2 Beispiele gegeben werden.

Beim Pollin-AVR-Net-IO sehe ich keine Pegel-Wandler im Schaltplan. 
Betroffen ist da ja nur der INT und der Ausgang der SPI zum AVR. 
Offenbar geht das.

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Ich schreibe in einem ausführlichen Test

eine gute Idee !

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

z.B. hier

http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex

Schaltbild in der ZIP-Datei.

ist es direkt angeschlossen, sogar ohne Widerstände. 5V AVR an 3,3V ENC.

MfG

von Arduinoquäler (Gast)


Lesenswert?

Matthias W. schrieb:
> Offenbar geht das.

Offenbar heisst dass du noch keinen Strich dafür getan hast
das sicherzustellen. Du hast es dir nur sagen lassen.
Und keiner kennt deine Hardware, vermutlich nur du selbst.

von Matthias W. (matt007)


Lesenswert?

Arduinoquäler schrieb:
> Offenbar heisst dass du noch keinen Strich dafür getan hast

so ist es nicht.

> das sicherzustellen. Du hast es dir nur sagen lassen.

nein. Ich habe das ganze Datenblatt des ENC angeschaut. Dabei ist mir 
dieser Teil aufgefallen. Im Gegensatz dazu stehen diverse Schaltbilder 
wo direkt ohne Pegelwandler gearbeitet wird - so wie z.B. auch der oft 
verkaufte Pollin.

> Und keiner kennt deine Hardware, vermutlich nur du selbst.

so ist es nicht. Es ist ein AVR mit 5V. Lies halt bitte oben. Ob Arduino 
nano3 (so wie hier) oder ein anderer mit 5V dürfte dabei wohl wenig 
Unterschied machen.

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

Voltage on RESET, CS, SCK and SI, with respect to VSS...... -0.3V to 
6.0V

Wichtig ist auch, an Tpin und Tpout zwei verlustarme 10 nF 
Folienkondensatoren zu verwenden.


Mit freundlichem Gruß

von Dauergast (Gast)


Lesenswert?

Atmel sagt (z.B. für 1284p und 328p):
Input High Voltage   Min 0.6*VCC  (also 3.0V)

MicroChip sagt (für ENC28J60)
Output High Voltage  Min VDD-0.7V (also 2.6V)

In der Praxis habe ich es noch nie erlebt, daß es OHNE Pegelanpassung 
Probleme gibt, noch davon gelesen.

Dennoch würde ich bei Geräten, die meinen Bastelplatz verlassen, eine 
Pegelanpassung (für die Richtung ENC --> AVR) einbauen - oder den AVR 
mit 3v3 betreiben (das war die Lösung für mich).

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Ich benutze Pegelwandler (74HCT), siehe Bild.

von Matthias W. (matt007)


Lesenswert?

Dauergast schrieb:
> noch nie erlebt, daß es OHNE Pegelanpassung
> Probleme gibt

es kann sein daß sich das Timing etwas verschiebt. Da die Schwelle 
verschoben ist wird zu einer anderen Zeit geschaltet. Bustreiber 
verzögern das Timing auch etwas. Wenn es zu Überschwingern kommt spielt 
der etwas geringere Pegel wohl wenig Rolle. Man müsste sich die Signale 
im Einzelfall wohl ansehen.

von Matthias W. (matt007)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Ich benutze Pegelwandler (74HCT), siehe Bild.

Danke Peter. So sagt es ja auch das Datenblatt auf S.8. Siehe die 
Bilder.

Es steht da:
"An economical 74HCT08 (quad AND gate), 74ACT125 (quad 3-state buffer) 
or many other 5V CMOS chips with TTL level input buffers may be used to 
provide the necessary level shifting. The use of 3-state buffers permits 
easy integration into systems which share the SPI bus with other 
devices."

Zu beachten ist bei der Verwendung von Gattern daß es nicht zu 
Konflikten mehrerer SPI-Geräte am selben SPI-Bus kommt.

Normalerweile wird der Datenausgang Hi-Z wenn CS weg ist. Mit einem 
einfachen Gatter so wie in Fig. 2-5 klappt dies so nicht. Es muss dann 
schon eine Lösung wie in Fig. 2-6 sein. Siehe auch Peters Plan.

Es gibt ja auch Shields für Netzwerkbausteine. Auch da muss man ggf. 
aufpassen was verbaut ist.

von Matthias W. (matt007)


Lesenswert?

Christian S. schrieb:
> Voltage on RESET, CS, SCK and SI, with respect to VSS...... -0.3V to
> 6.0V

Danke Christian. Das ist der maximal zulässige Spannungsbereich den man 
nicht überschreiten soll um das Bauteil nicht zu schädigen.

von Matthias W. (matt007)


Lesenswert?

Christian S. schrieb:
> Wichtig ist auch, an Tpin und Tpout zwei verlustarme 10 nF
> Folienkondensatoren zu verwenden.

Danke Christian. Im Datenblatt auf S.7 Fig. 2-4 sehe ich dazu nichts. Da 
sind 50 Ohm-Widerstände an den Pins. Und 100nF zwischen den Widerständen 
nach Masse.

Im Schaltplan des China-Boards das ich im Netz fand sind für die beiden 
Kondensatoren 10nF angegeben statt der 100nF im Datenblatt. Auch hier 
sind die Kondensatoren nicht direkt an den Pins Tpin, Tpout.

von Matthias W. (matt007)


Lesenswert?

Dauergast schrieb:
> oder den AVR mit 3v3 betreiben (das war die Lösung für mich).

das kann man schon machen. Nur kann man den 328P dann eben nicht mehr 
mit 16MHz betreiben so wie ich es momentan mache. Der 
Geschwindigkeitsverlust ist lt. Datenblatt ziemlich ausgeprägt. Bereits 
der Spannungsabfall bei direktem USB-Anschluss über die Diode auf der 
Platine spielt eine Rolle. Da liegen nur noch etwas mehr als 4V an.

Wenn der ENC nun hinzukommt mit seinen 180mA dann muss man sehen was 
passiert. Das USB-Kabel mit dem Sub-Mini-Stecker sieht nicht so sehr 
dick aus. Da gibt es sicher Spannungsabfall.

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.