hallo, ich versuche jetzt schon seit 4 tagen, eine SD bzw. MMC-Karte mit dem ATMega32 zu verbinden. Der Rest des Projekts (PS/2, LCD, FT232) läuft einwandfrei, nur die Karte verweigert jede Zusammenarbeit. Ich habe es mit den Librarys von Ulrich Radig, Roland Riegel, Captain usw. probiert, kein Erfolg. Der Chip lief anfangs auf +5V, die SD-Karte war über 1,8k und 3,3k Spannungsteiler angeschlossen, MISO direkt. Die +3.3V über dioden. kein erfolg. Daraufhin habe ich den VCC der SD-Karte mit zwei Mono-Akkus verbunden, natürlich den AUCH auf GND gelegt. auch kein erfolg. anschließend habe ich die ganze schaltung bis auf die versorgung des LCD auf 3v gelegt, auch den atmega. auch kein erfolg. getestet hab ich das ganze mit einer 16 MB mmc, einer 512 MB SD, einer 2 GB SD und einer 2 GB MicroSD + Adapter. Nix geht. Manchmal sagt er "Karte verbunden", aber dann nix mehr. das liegt vermutlich an einem kurzschluss von MISO mit GND. Frage 1: Gehören bei 3V auf allen Anschlüssen Pullup-, Pulldown- oder gar keine Widerstände hin? wenn ja, welche stärke? ich hab mit 1k getestet. Frage 2: Was kann ich tun, um es zum Laufen zu bringen? Ich bräuchte die Schaltung noch diese Woche, deshalb frage ich hier. Zum Rumprobieren fehlt mir leider die zeit. Danke im voraus, Lukas
> ich versuche jetzt schon seit 4 tagen, eine SD bzw. MMC-Karte mit dem > ATMega32 zu verbinden. Nur 4Tage? Ein bisschen wenig. Frag doch nochmal nach 4Wochen rumprockeln. :-) > Ich habe es mit den Librarys von Ulrich Radig, Roland Riegel, > Captain usw. probiert, kein Erfolg. Und der Libarie von Lucas? Kann doch nicht jeder ohne Eigeninitiative geboren sein. > Der Chip lief anfangs auf +5V, die SD-Karte war über 1,8k > und 3,3k Spannungsteiler angeschlossen, Schlecht. Das vermindert die Flankensteilheit der Signale. Ich koennte mir vorstellen das dies insbesondere bei modernen schnellen SD-Karten zu Problemen fuehrt. Ich will auch nicht ausschliessen das man es damit hinbekommen kann aber wenn man Probleme hat dann sorgt man erstmal fuer einen vernuenftigen Pegelwandler. Zum Beispiel 74LVX125. > Die +3.3V über dioden. kein erfolg. Das ist ein Witz oder? Was glaubst du wie sich deine selbstgebaute Spannungsquelle verhaelt wenn ihre Last sehr gering ist weil die Speicherkarte gerade inaktiv ist und was die Karte wohl zu der Ueberspannung sagt? > Manchmal sagt er "Karte > verbunden", aber dann nix mehr. das liegt vermutlich an einem > kurzschluss von MISO mit GND. Dann musst du dich beim Debuggen stueckweise durch durch den Source kaempfen bis du die Stelle gefunden hast wo es zu einer Fehlermeldung kommt. > Gehören bei 3V auf allen Anschlüssen Pullup-, Pulldown- oder gar keine > Widerstände hin? wenn ja, welche stärke? ich hab mit 1k getestet. Pullup sind ueblich. Gebraucht werden die im inaktiven Zustand wenn dein Controller nicht mit der Karte redet. 47k sollten reichen. 1k wuerden bei anderen Leuten mit richtigen Pegelconverter auch gehen, aber wenn du nur einen popeligen Spannungsteiler in derselben Groessenordnung hast, was glaubst du wohl macht der 1k dann mit deinen Signalpegeln? .-) > Was kann ich tun, um es zum Laufen zu bringen? Grundlagen Etechnik lernen und etwas mehr debuggen. Es kann z.B nicht schaden mal seinen Oszi an den die Signalleitungen zu haengen. Und wenn man noch ein armer beduerftiger Schueler ist dann schaltet man den SPI-Takt auf 1kHz runter und haengt seine Soundkarte dran. > Ich bräuchte die Schaltung noch diese Woche, deshalb frage ich hier. > Zum Rumprobieren fehlt mir leider die zeit. Dann ist es am einfachsten du holst dir ein Angebot von einem Ingenieurbuero ein. Koennte aber auch schon knapp werden. Olaf
Servus, versuch es mal hier: Beitrag "MMC SD library FAT16 FAT32 read write" Der Code ist einfach, aber er funktioniert tadellos! Stimmt die Anbindung an den Karten-Slot? Da kann man schon mal einen Fehler machen. 3,3 Volt wären zum Experimentieren besser. Besorg dir zB. einen 3,3 Volt Atmega644 und teste die Karte ohne zusätzlicher Hardware. Sollte alles funktionieren, kannst du das mal mit der 5 Volt Geschichte probieren und die anderen Komponenten dazu fügen. Gruß XMEGA
>> Gehören bei 3V auf allen Anschlüssen Pullup-, Pulldown- oder gar keine >> Widerstände hin? wenn ja, welche stärke? ich hab mit 1k getestet. > > Pullup sind ueblich. Gebraucht werden die im inaktiven Zustand wenn dein > Controller nicht mit der Karte redet. 47k sollten reichen. 1k wuerden > bei anderen Leuten mit richtigen Pegelconverter auch gehen, aber wenn du > nur einen popeligen Spannungsteiler in derselben Groessenordnung hast, > was glaubst du wohl macht der 1k dann mit deinen Signalpegeln? .-) die pullup bzw. -downs hab ich verhendet, als der chip auf 3V lag. deshalb hab ich gar keine spannungsteiler verwendet. der low-drop-regler auf 3.3V kommt bald, bis dahin habe ich die Monos benutzt. > Und wenn man noch ein armer beduerftiger Schueler ist triffts genau ;-) > Stimmt die Anbindung an den Karten-Slot? Da kann man schon mal einen > Fehler machen. sollte stimmen. ich hab den widerstand mit eimen digitalmultimeter durchgemessen. kurz hatte ich mal nen kurzschluss zwischen gnd und vcc. hab mich schon gefragt warum der 5V regler so heiß ist... Bei mir hat der ATMega32 mit 3V tadellos funktioniert (LCD, ISP ...)
> Und der Libarie von Lucas? Kann doch nicht jeder ohne Eigeninitiative > geboren sein. eine eigene Library wäre nicht so stabil wie erprobte und vielverwendete. so kann ich mir sicher sein dass der fehler nicht im programm liegt.
> eine eigene Library wäre nicht so stabil wie erprobte und > vielverwendete. so kann ich mir sicher sein dass der fehler nicht im > programm liegt. Man kann einige dumme Fehler nicht machen, da stimme ich zu. Aber man kann halt auch ein paar dumme Fehler nie finden weil man immer alles als gegeben annimmt. Du solltes dir zumindest bis auf Commandoebene genau klar sein was da ablaeuft. Und dann hilft leider nur noch Oszi oder eben notfalls eine Soundkarte. Notfalls musst du mal jedes Bit einzeln im Singlestep raustakten und mit einem Multimeter schauen ob wenigsten da die Pegel richtig sind. Oder haeng mal eine Low-Current-LED an die jeweiligen Leitungen und schau mal ob sie brauchbar blinken. Und achte auf kurze Kabel. Kein 30cm FLachbandkabel quer ueber den Basteltisch! Olaf
Code von anderen einfach übernehmen ist Mist. Ich habs folgendermaßen gmacht und innerhalb von 4 Tagen hinbekommen: - myAVR LPT Board mit ATmega8 (5V) - Ulrich Radigs minimaler Versuchsaufbau auf Steckbrett (ja, das mit den Dioden) - 2 alte MMCs (16 und 32MB) - "Floppy-Adapter" http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf lesen und VERSTEHEN! - eigenes Programm schreiben und mit Radigs Code vergleichen - damit auch den Code von Radig verstehen - und schliesslich auch das Ansprechen der Karte verstehen
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.