ATMega128 an Ethernet, USB & SD-Karte anschließen (Schaltplan)

Gast #3704169
Lesenswert?

Hallo zusammen,

ich stelle gerade ein paar Überlegungen an, wie ich Ethernet, USB (UART) 
und eine MikroSD-Karte am besten an den ATMega128 anschließe. Dazu habe 
ich mich bereits durch ein paar Seiten im Internet gearbeitet und habe 
einen Schaltplan zusammengestellt. Ich bin der Meinung, dass der so 
richtig sein sollte, aber bevor ich mir ein paar teure Bauteile 
zerschieße, wollte ich das geballte Wissen dieses Forums anzapfen. So 
hoffe ich, dass die gröbsten Fehler vorher entdeckt werden.

Es wäre super, wenn ihr mal den Schaltplan kontrollieren könntet. Ach 
ja, der ATMega und die Spannungsversorgung sind nicht drauf um es 
übersichtlicher zu halten, aber ich glaube, dass der Plan noch 
verständlich genug ist. Ansonsten poste ich diese Details gerne noch im 
Nachgang ;)

LG, Timo

PS: Die Preisdifferenz für SD-Kartenhalter bei R..chelt (>5€) und bei 
Po..in (1,5€) sind ja gigantisch. Und der Billigere ist der Bessere :/
Angehängte Dateien:
Gast #3704179
Lesenswert?

Statt Pegelwandler zu benutzen, die bei SD Karten übrigens warscheinlich 
eher schlecht als recht funktionieren werden, würde ich eher den AVR mit 
3,3V betreiben. Das wird Dir eine Menge Stress ersparen.

Wenn Dir die 16Mhz Taltfrequenz nicht ausreichen, steig auf einen Xega 
um.
Gast #3704191
Lesenswert?

Bei SD Karte und Ethernet Controller fehlen Abblock-Kondensatoren.

Braucht der USB-UART wirklich einen Quarz? Der Silabs CP2201 kommt ohne 
aus, und die Chips von FDI ebenfalls, soweit ich mich erinnere.

Ich habe irgendwo gelesen, dass man SD Karten im Standard-Format 
zwischen die Pins von Pfostensteckern Klemmen kann. Das wäre noch 
billiger.
Gast #3704372
Lesenswert?

Der MCP2200 ist eigentlich ein PIC-Controller, der die USB-Kommunikation 
übernimmt. Daher braucht es einen Quarz. Das schöne ist, dass es ein 
SOIC20 Gehäuse hat und damit besser zu löten ist, als ein SSOP28 
(FT232).
Was die 3,3V angeht, wäre es sicher einfacher direkt auf 3,3V zu gehen. 
Dann würde ich den Controller mit 12-14 MHz laufen lassen. Das ist 
eigentlich kein großes Problem.
Wenn ich bei Google "Level shifting" eingebe, dann sehe ich die 
Schaltung mit dem 2N7000 das ein oder andere Mal. Die Spannungsteiler- 
oder Z-Dioden-Lösung wollte ich vermeiden.
Aber warum ist der 2N7000-Pegelkonverter deiner Meinung nach nicht für 
die SD-Karte geeignet?
Gast #3704419
Lesenswert?

Die Pegelwandlung per FET ist reichlich langsam vor allem mit so 
hochohmigen Widerständen.
Damit dürften auf dem SPI kaum noch 2 MHz drin sein.

Dieser Level-Shifter kommt aus einer Phillips Application-Note zu I2C.

Sowas wie 74LVC1G125GV funktioniert da auch noch deutlich flinker.

Für die Chip-Select würde es aber auch ein einfacher Inverter-Transistor 
mit Pullup tun.


Hmm, zwei Quarze und an beiden die "Standard" 22pF dran, wenn die nicht 
zufällig zu den Quarzen passen funktioniert weder USB noch Ethernet 
richtig.
Denn 22pF und Quarz zusammen ist eben nicht Standard...
Gast #3704430
Lesenswert?

Timo schrieb:
> Der MCP2200 ist eigentlich ein PIC-Controller, der die USB-Kommunikation
> übernimmt. Daher braucht es einen Quarz. Das schöne ist, dass es ein
> SOIC20 Gehäuse hat und damit besser zu löten ist, als ein SSOP28
> (FT232).

Die FT230XS sehen nett aus, SSOP16 und wie der FT232RL ohne Quarz.
Hab die schon ne Weile hier, braucht aber nicht wirklich was mit USB.
#3704454
Lesenswert?

Nimm doch gleich einen PIC32MX695F512L. Der hat 100MBit Ethernet und USB 
OTG gleich eingebaut und dazu noch ein Vielfaches an Rechenleistung und 
Speicher. Von der Hardware her ist der auch nicht komplizierter zu 
handhaben als ein Mega 128 (außer dass es ein 3.3V-Chip ist), und 
IP-Stack und USB-Stack hat Microchip für Dich schon entwickelt.

fchk
Gast #3705358
Lesenswert?

Rudolph schrieb:
> Hmm, zwei Quarze und an beiden die "Standard" 22pF dran, wenn die nicht
> zufällig zu den Quarzen passen funktioniert weder USB noch Ethernet
> richtig.
> Denn 22pF und Quarz zusammen ist eben nicht Standard...

Beim ENC28J60, wie auch beim MCP2200 sind sehr häufig die 22PF 
Kondensatoren verwendet, wenn man nach entsprechenden Schaltungen bei 
Google sucht. Aber gerade beim MCP werden auch hin und wieder 18pF oder 
27pF benutzt.

Wie würdest Du die richtigen Kondensatoren ausrechnen? Da wäre ich über 
Hilfe sehr dankbar, da ich mir darüber tatsächlich noch nie Gedanken 
gemacht habe.


Was die Pegelanpassung angeht, werde ich die wohl weglassen und den 
Mikrocontroller mit 3,3V versorgen. Da spare ich mir die ganzen Bauteile 
und mit 12-14MHz ist der µC noch schnell genug.

LG, Timo
Gast #3705489
Lesenswert?

>Wie würdest Du die richtigen Kondensatoren ausrechnen? Da wäre ich über
>Hilfe sehr dankbar, da ich mir darüber tatsächlich noch nie Gedanken
>gemacht habe.

Ich habe mir darüber auch noch nie Gedanken gemacht.
Ich schaue ins Datenblatt zum Chip.
Da stehts drin.
Und so wirds dann auch gemacht.
Ganz ohne denken oder gar rechnen.


Auch würde ich evtl. einen anderen Ethernetchip wählen.
Der ENC28J60 ist, glaube ich, etwas doof. Also evtl. zu viel Arbeit für 
den AtMega. Auch ist die Begrenzung auf 10 Base-T kaum noch zeitgemäß, 
wenn auch wohl ausreichend.

Und überhaupt:
Man kann sich schön die Schaltbilder für die Arduino R3 Generation 
anschauen. Deren R3 Ethernet Shield tuts mit 3,3V und 5V. Ebenso der SD 
Slot.
Gast #3705609
Lesenswert?

Ulrich F. schrieb:
> Ich schaue ins Datenblatt zum Chip.
> Da stehts drin.
> Und so wirds dann auch gemacht.
> Ganz ohne denken oder gar rechnen.

Im Datenblatt der Chips steht eben nicht drin, welche Lastkapazität der 
eingesetzte Quarz hat und mit welchen Kondensatoren den man folglich 
versehen sollte.

Für viele Anwendungen ist es ja egal, ob der Quarz nun auf 12,005 oder 
11,995 MHz schwingt, solange er überhaupt schwingt, für einige 
Anwendungen aber eben nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren