Hallo, ich versuche jetzt schon seit einigen Tagen eine SD Karte an meinem ATMega128L (mit 3,3V Betriebsspannung) zum Laufen zu bringen, aber bis jetzt ohne Erfolg! Ich habe die Karte wie in dem Bild im Anhang verschaltet, hab ich da schon einen Fehler gemacht? Wollte die Karte dann testen, aber ich habe immer ein Problem bei der Initialisierung, ich sollte beim Reset(CMD0) eigentlich den Wert 1 zurück bekommen, bei mir wechselt der Wert aber ständig zwischen 5 und 191, auf 1 kommt er nie! Vermute also das die Karte vielleicht schon falsch beschalten ist.
Gast
#517866
Wenn der ATMega mit 3,3V läuft musst du natürlich die Spannungsteiler weglassen.
Hi, soll ich am besten alle Widerstände rausnehmen, oder nur die 1k8, oder 3k3?
Gast
#517874
alle, die braucht man nicht wenn der uC mit 3,3V betrieben wird
Gast
#517978
Aber Achtung, wenn du alle Widerstände weg läst, hast du keine Verbundung mehr vom µC zur SD-Karte. Bevor du dich mit µC beschäftigst, solltest du dir erstmal die Grundlagen von Spannungsteilern aneignen.
Weisnix wrote: > Aber Achtung, wenn du alle Widerstände weg läst, hast du keine > Verbundung mehr vom µC zur SD-Karte. > Bevor du dich mit µC beschäftigst, solltest du dir erstmal die > Grundlagen von Spannungsteilern aneignen. Tja, da weiß wohl jemand wirklich nix. Die Widerstände kommen natürlich ALLE raus. Die 1k8 Ohm Widerstände werden mit Drahtbrücken überbrückt. Und so wars auch gemeint von den Vorrednern hier. Ist schon klar, dass es sonst keine Verbindung mehr gibt. Und außerdem braucht man für SD-Karten Programmierung nicht zwangsläufig Wissen über Spannungsteiler.
Gast
#518220
Doch braucht man 1. Immer wenn man mit elektronik bastelt. 2. Sieht man ja oben am Beispiel. Wenn man nicht weis was ein Spannungsteiler macht, funktioniert die ganze Sache eben nicht. Und der Hinweis das dei Widerstände nicht einfach weggelassen werden können und durch Brücker ersetzt werden müssen scheint mir bei solchen Leuten auch für angebracht.
@ Weisnix: Mir ist auf jeden Fall klar, was ein Spannungsteiler so macht, aber da ich die Schaltung wie oben beschrieben übernommen habe, dachte ich er wird in diesem Fall schon einen "höheren Sinn haben"! Also spar dir bitte deine komplett sinlosen Kommentare!
Gast
#518396
Dann verstehe ich deine 2. Antwort nicht, wenn dir schon der Tipp gegeben wird den Spannungsteiler raus zu lassen.
Gast
#518415
Ja Moment, die Frage ist ja wohl nicht ganz unbegründet. Schließlich könnte man die 3k3 Widerstände als Pull Downs ruhig drin lassen.
@Gast: ...das mein ich doch auch!
Gast
#518454
Schwachsinn...... Lass die 3k3 Widerstände weg. Die belasten die Portpins nur unnötig. U / R = I. Das ohmsche Gesetz gilt auch für Anfänger.
Werd ich machen, danke.
Gast
#518834
Hallo ihr Spannungsteiler-Helden. Pull-Downs haben da nichts zu suchen, wenn schon dann Pull-Ups und dann auch etwas größere Werte z.B. 100k oder so.
Gast
#520109
Nochmal Schwachsinn........ Pullup mit 3k3 belastet genauso wie Pulldown. Nur bei Low Pegel halt. SPI braucht keine Pullup/down. Das ist kein I2C. @Weisnix 100k Pullup bei z.B. 4MHz SPI Speed ? Schönen dank. Was bringt der da ? Sagen wir mal 10pF Leitungskapazität wegen schlechtem Layout. 3dB Frequenz: 1/(2*PI*R*C) = 159kHz. Bei 4MHz zuckt da die GND Linie ein wenig. Hilft also gar nicht. Ein Teil zu viel in der Schaltung ;)
Wow, was für ein Murks als Antwort, bis auf wenige Ausnahmen. Also 1. Mal als Tip: Es gibt einige fertige SD-Card Projekte hier, da kann man abpinnen, testen und verstehen. 2. Innerhalb dieser Projekte hat sich bereits herausgestellt, dass man bei den SD-Cards die nicht genutzten Pinne mit 10k nach Vcc resp. GND klemmen sollte, da sonst einige Karten nicht sauber initialisieren und nicht in den SPI-Mode kommen. Welcher Pin wohin, weiß ich nicht auswendig, findet man aber in den Threads zu den unter 1) zu suchenden Projekten. 3. Gerade, wenn der SPI noch an weitere Bausteine geht, dann sind die schlappen ca. 22k Pullups im ATmega nicht ausreichend um saubere steile Flanken auf dem Bus zu erzeugen. Merkt man schnell daran, dass enteder SD-Cards nur unzuverlässig gelesen werden oder z.B. der AVRISP nur dann funktioniert, wenn die SD-Card aus dem Slot gezogen wurde. Das ganze wird durch freie Verdrahtungen noch schlimmer. Gruß, Ulrich
Gast
#520177
>Wow, was für ein Murks als Antwort, bis auf wenige Ausnahmen. >Also >1. Mal als Tip: Es gibt einige fertige SD-Card Projekte hier, da kann >man abpinnen, testen und verstehen. Danke, brauch ich nicht. Ich habe meine SD/MMC Routinen dann doch lieber selber geschrieben. Den ganzen Mist mit Spannungsteilern auf MISO,MOSI,SCK,CS als 5V->3,3V Konverter habe ich konsequent mit richtigen Pegelwandlern gemacht. Z.B. 74LVX08. Die Wandlung 3,3V->5V macht bei mir ein 74HCT125. Dann muss man den 3,3V SPI Slave nicht mit einem Pullup am Ausgang quälen weil er den 5V CMOS Pegel für den Atmega sonst nicht schafft. Der sorgt auch noch für Sicherheit bei ISP ;) >3. Gerade, wenn der SPI noch an weitere Bausteine geht, dann sind die >schlappen ca. 22k Pullups im ATmega nicht ausreichend um saubere steile >Flanken auf dem Bus zu erzeugen. Merkt man schnell daran, dass enteder >SD-Cards nur unzuverlässig gelesen werden oder z.B. der AVRISP nur dann >funktioniert, wenn die SD-Card aus dem Slot gezogen wurde. Das ganze >wird durch freie Verdrahtungen noch schlimmer. Schliess einen Pullup an alle CS Eingänge deiner SPI Chips an. Wenn der Atmega resettet hängen die nicht in der Luft und dein ISP funktioniert auch. Bei mir machen das die 74HCT125 Multiplexer. Sie trennen die Ausgänge der SPI Chips von MISO. Mit den oben genannten Dingen kann ich mit einem ATMega bei 10MHz SPI Speed ohne Probleme MMC/SD Karten lesen und beschreiben. Ohne Pullups ! Wo bitte schön steht im Datenblatt der AVR das SPI ein Open Collector Bus ist ? Nirgends. Gelegentlich hab ich dann auch noch einen VS1001K oder einen ENC28J60 am SPI Bus mit dran. Aber Pullups brauchte ich dafür bisher noch nicht.
Gast
#520291
LOL Holger >Schliess einen Pullup an alle CS Eingänge deiner SPI Chips an. >Wenn der Atmega resettet hängen die nicht in der Luft und dein Erst mein Komentar als Schwachsinn abstempeln und dann in deinem nächsten Komentar, meinem Schwachsinn rechtgeben.
Gast
#520307
@Weisnix Du hast nichts verstanden. Dein Name ist Programm. Rede ich von Pullups an MOSI,MISO,SCK ? Nein, lass sie dort weg. Es funktioniert wenn man es RICHTIG macht.
Gast
#520406
Ausserdem währen des Resets sind keine 4MHz auf der CS Leitung. Schonwieder schwachsinn deine Rechnung. Erstmal schreiben alles Schwachsinn ist und dann später die Einschränkungen machen. Aber du hast natürlich immer Recht.
Gast
#520416
@Holder Und da du ja der SD-Karten Superheld bist, hast du bestimmt schon mal ins Datenblatt der SD-Karten geschaut.
Gast
#520971
Schau mal aus dem Fenster, die Sonne scheint. Geh spielen !
Gast
#520998
Ey Leute lasst es sein ... fast wie im Kindergarten, nur die Erzieherin fehlt. Hab mal überlegt :-) kann man einen Thread nicht immer wenn er richtig gelöst ist zusammenfassen, den Müll rausmachen und dann schreibgeschützt bereitstellen? Es gibt doch so viele Themen die immer wieder angesprochen werden, z.B. wie schließe ich eine SD-Karte an den ATMega. ;-) Dann bräuchte man sich bei Standard-Themen nicht mehr durch so viel Müll lesen. Also Quasi das Tutorial erweitern.
Na, dieser Thread ist aber gründlich entgleist. Was solls, zurück zum Thema. holger wrote: > Schliess einen Pullup an alle CS Eingänge deiner SPI Chips an. > Wenn der Atmega resettet hängen die nicht in der Luft und dein > ISP funktioniert auch. Bei mir machen das die 74HCT125 Multiplexer. > Sie trennen die Ausgänge der SPI Chips von MISO. Da ich von dem Multiplexer nix wusste, konnte ich das nicht einplanen. Ich habe auf einen solchen verezichtet, da die komplette Schaltung einschließlich ATmega32 mit 3.3V läuft. Da mein Player in einer Industrieanwendung steckt und diese ihn über einen Highspeed-Parallel Bus steuert, sitz dort dann ein XilinX CPLD mit 5V Core und 3.3V tolerant I/O dazwischen. > > Mit den oben genannten Dingen kann ich mit einem ATMega bei 10MHz > SPI Speed ohne Probleme MMC/SD Karten lesen und beschreiben. > Ohne Pullups ! Wo bitte schön steht im Datenblatt der AVR das > SPI ein Open Collector Bus ist ? Nirgends. > Steht aber im Datenblatt, dass der ATmega FET-Driven weak pullups mit ca. 22kR an den Ports besitzt. Einer von uns beiden hat jetzt etwas übersehen, was aber nicht schlimm ist, wir schauen einfach noch mal beide im Datenblatt nach, die Lösung wird darin zu finden sein, sonst hilft ein Anruf bei Atmel. Es ging mir aber bei den PullUps nicht nur um die MOSI/MISO/SCK, sondern vor allem um die im SPI-Mode nicht genutzten Pinne der SD-Card. Es gibt Hinweise aus anderen Threads hier, die sich damit befasst haben, dass es einzelne SD-Cards gibt, die nicht sauber in den SPI Mode starten, wenn die nicht genutzten Pinne in der Luft hängen. Ich habe diese Threads nicht mehr parat, da mein Projekt abgeschlossen ist und funktioniert. Dieses Forum hier war dafür ein ausgezeichnete Hilfe, ohne dass ich eine einzige Frage stellen musste. Ich habe den Hinweis gelesen, die Widerstände im Layout vorgesehen und nie wieder einen Gedanken daran vereschwendet. > Gelegentlich hab ich dann auch noch einen VS1001K oder einen > ENC28J60 am SPI Bus mit dran. Aber Pullups brauchte ich dafür > bisher noch nicht. Ich habe den VS1011 gewählt, weil dessen New-mode einfacher zu steuern ist und weniger Pinne benötigt. Da ich den Player mit den internen 8MHz des ATmega32 laufen lasse, spare ich einige Taktzyklen, weil ich BSYNC nicht nachführen muss. Das Modul spielt MP3 bis 192kb Bitrate, höhere Bitraten kann ich mal testen, aber damit war die Anforderung an den Player ohnehin um Faktor 2 übertroffen. Er muss nur Geräusche simulieren. So, ich denke das war jetzt einfach und sachlich. Du magst meinen Rat annehmen oder nicht. Du kannst aus den Erfahrungen anderer lernen oder hälst es, wie mit Deiner Software und machst alle Erfahrungen neu. Gruß, Ulrich
Gast
#571701
Die Programierpins (ISP) für den Mega128 liegen nicht auf MISO und MOSI! (-->PDI und PDO)
Gast
#753644
wäre jetz noch jemand bereit den Schaltplan so zu konfigurieren das es auch ein neuling sieht? Ich will es nicht bauen, versteh aber nur die hälfte von allem was ihr hier so schreibt! Mit Bild wäre es einfacher
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
