Guten morgen,
da ich gerade verzweifelt versuche, eine µSD-Karte an meinem
ATmega128(3,3V;3,6864MHz) in Betrieb zu nehmen, und nicht weiterkomme,
wende ich mich mal an euch.
Ich habe erst fertigen Code verwendet, um zu sehen, ob es überhaupt
funktioniert, aber es hat nicht :-/ Also hab ich versucht dem Problem
auf die Spur zu kommen, hab den Code immer weiter runtergebrochen und
bin nun bei den PINS des ATmega angekommen.
Zuerst meine Annahme: Ich habe gelesen, dass die PINS einer µSD-Karte
ohne Initialisierung hochohmig sind, stimmt das?
Denn ich habe folgende Messungen an den SPI-Pins gemacht gemacht:
(E=Eingang, A=Ausgang, PU=PullUp, /w= Ohne Pullup)
Ohne Karte im Card-Slot
1
SS SCK MOSI MISO
2
E PU 3,3 3,3 3,3 3,3 V
3
/w 30 30 30 30 mV
4
A L 0 0 0 0 V
5
H 3,3 3,3 3,3 3,3 V
passt also!
Mit Karte im Card-Slot
1
SS SCK MOSI MISO
2
E PU 3,2 2,9 0,42 3 V
3
/w 0,4 2,9 0,4 2,9 V
4
A L 0 1,1 0,3 0 V
5
H 3,2 3,1 0,81 3,24 V
Eigentlich hätte ich jetzt erwartet, dass beide Messungen gleich
aussehen, denn die Karte sollte ja hochohmig sein, scheint sie aber
nicht zu sein. ISP-Stecker habe ich abgezogen (SCK-Pin).
Ich hab leider grad kein Oszi da, nur ein Multimeter, weshalb ich nicht
sagen kann, ob die komischen Spannungswerte durch eine Schwingung
entstehen oder statisch sind. Da ich den Versuch aber 2 mal gemacht habe
und die Werte SEHR identisch sind, gehe ich davon aus, dass es statisch
ist. Die Versorgungsspannung bleibt immer bei 3,30 V.
Ich hab noch die wichtigen Auszüge aus dem Schaltplan angehängt.
Habs schon mit 2 verschiedenen SD-Karten probiert, aber auch hier das
gleiche Fehlerbild!
Hat jemand eine Idee, woran es liegen kann? Oder hatte auch das Problem?
Erst dachte ich, ich hätte VDD = 3V3 und VSS = GND verwechselt, aber das
habe ich überprüft!
Bin für jeden Tipp dankbar,
Benni
>Ich habe erst fertigen Code verwendet, um zu sehen, ob es überhaupt>funktioniert, aber es hat nicht :-/
Welchen Code? Wo hakt es?
Das sind doch sehr wenig Infos.
>Knut Ballhause schrieb:>> Benjamin Utz schrieb:>> Bin für jeden Tipp dankbar>> Zuerst einmal läuft ein normaler ATMEGA128 nicht mit 3.3V, laut> Spezifikation.
Okay, hab den ATmega128L verwendet. Sorry
>holger schrieb:>> Benjamin Utz schrieb:False>>Ich habe erst fertigen Code verwendet, um zu sehen, ob es überhaupt>>funktioniert, aber es hat nicht :-/>> Welchen Code? Wo hakt es?> Das sind doch sehr wenig Infos.
Diese Beschreibung hab ich weggelassen, da ich das Problem ja schon auf
die mir unerklärlichen Portspannungspegel runtergebrochen habe. Hab den
Code "ELM ChaN FatFs FAT(12,16,32)-Dateisystem" aus dem Wiki verwendet
und er springt gleich aus der mmc_init() mit FALSE raus.
Es muss also irgendwie an der Hardware liegen, wenn die uninitialisierte
Karte meine Ports so beeinflusst. Ich werd nochmal alles durchmessen!
Aber danke schonmal,
Benni
max schrieb:> Bei µSD ist das SPI Interface optional. Du bist dir sicher, dass deine> Karte dieses anbietet?
Das sollte aber die Spannungen nicht beeinflussen. Mir ist bis jetzt
auch keine micro SD-Card ohne SPI-Interface untergekommen.
Wichtig wäre es den (kompletten) Schaltplan und den Aufbau (Photo) zu
sehen.
max schrieb:> Bei µSD ist das SPI Interface optional.
Mag sein, aber alle mir bisher untergekommenen µSD bis einschliesslich
2GB konnten SPI. Ich denke auch dass das Problem in der Hardware liegt.
Ich würde vielleicht erstmal den Kartenslot mit Fädeldraht an die
entsprechenden Pins des Mega128L löten und herausfinden, ob es damit
funktioniert, wenn ich mir seitens des Footprints unsicher bin.
Bestenfalls piepst man die einzelnem Pins mal durch, wo an der Karte
diese ankommen.
Heinz schrieb:> max schrieb:>> Bei µSD ist das SPI Interface optional. Du bist dir sicher, dass deine>> Karte dieses anbietet?
Ich habe hier 3 verschiedene, eine wird hoffentlich funktionieren
> Das sollte aber die Spannungen nicht beeinflussen. Mir ist bis jetzt> auch keine micro SD-Card ohne SPI-Interface untergekommen.>> Wichtig wäre es den (kompletten) Schaltplan und den Aufbau (Photo) zu> sehen.
Auch das hätte vermutlich nicht viel gebracht, auf dem Foto sieht man
fast nichts, denn die Leiterbahnen sind ja unter dem µSD-Slot. Das
Layout hätte noch etwas gebracht. Aber ich hab den Fehler fürs erste
gefunden: in meinem Footprint sind die Pins verdreht :-/ Hab ich wohl
beim malen einen Fehler gemacht.
Also danke erstmal an alle und ich versuch das zu fixen!
>Ich würde vielleicht erstmal den Kartenslot mit Fädeldraht an die>entsprechenden Pins des Mega128L löten und herausfinden, ob es damit>funktioniert, wenn ich mir seitens des Footprints unsicher bin.
so wirds gemacht! Umweg über SD-Adapter und Stiftleiste :D Bin grad
werkstattmäßig verhindert!
Knut Ballhause schrieb:> Zuerst einmal läuft ein normaler ATMEGA128 nicht mit 3.3V, laut> Spezifikation.
Bei der niedrigen Frequenz würde es mich wundern wenn er nicht läuft.
Das hat weniger was mit der Frequenz zu tun. Der Mega128 ist ein Opa, an
dem aus Kompatibilitätsgründen einige Prozessänderungen vorbeigegangen
sind. Man sollte den normalen Mega128 ohne L nicht unter 4V laufen
lassen, egal bei welcher Frequenz. Das kann klappen, muss aber nicht.
Der L-Typ kann das ohne Probleme, dafür aber nur bis 8Mhz über den
gesamten Spannungsbereich. Ist halt noch alte Technik.