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 :/
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.
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.
> CP2201
Ach misst, ich wollte CP2102 schreiben.
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?
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...
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.
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
oder ein FRDM-K64F (Kinetis K64 mit 120MHZ 1MB Flash 256kB Ram) Eval board kaufen und loslegen - ARM ist zukunftssicherer ....
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
>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.
Timo schrieb: > 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. http://www.spezial.com/newsletter/artikel.php?AID=70&TID=671
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.