www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wechsel von ATMEGA32L auf ATMEGA32


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich steuere über SPI eine FAT16 Formatierte SD-Karte an und lese bzw. 
schreibe Daten auf diese. Dafür benutze ich Holger Klabundes Programm 
was mit einem ATMega32L und einem Takt von 4 MHz wunderbar funktioniert 
hat. Da ich den 32L mit 3.3V betreiben kann, habe ich auch kein 
Umnormiernetzwerk benötigt.

Nun bin ich auf einen ATMEGA32 umgestiegen, damit ich meinen Takt auf 16 
MHz legen kann. Meine einzige Veränderung an meiner vorher 
(funktionierendes) Schaltung ist, dass der Quarz nun 16 MHz hat, der 
Mega32 mit 5 V versorgt wird, und ich das Transistornetzwerk von Ulrich 
Radig für den MISO, MOSI, SCK und CS verwende.

Nun treten folgende Probleme auf:
1.) Meine on-Board ISP, welche ja ebenfalls über SPI funktioniert, 
bringt nur noch den üblichen ISP-Mode Error Fehler
2.) Wenn ich Ulrich Radigs Programm verwende, wird die Karte zwar 
gefunden, allerdings bekomme ich dann komische Clusterwerte etc.

Die CSD-Rückgabe ist:
44 9a 62 7e e2 82 19 4 c8 e 4b 2a b1 bc ae

Bin gerade ratlos wo der Fehler liegen könnte. SD-Karte ist mit 
Linux-Formatiert (Knoppix) mit Fat 16 (Hex6).

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei letzten Mal, wo es funktioniert hat bekam ich:

CSD:
0 26 0 32 5f 59 83 c8 be fb cf ff 92 40 40 d7

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, 4facher Takt heisst auch 4fache SPI-Geschwindigkeit auf dem 
SPI-Bus, wenn du keine Programmänderungen machst. Das allein kann schon 
zu schnell für die Karte sein. Ausserdem machen die Levelshifter 
irgendwann auch Murks, wenns zu schnell wird, kommt auf das konkrete 
Design an, wann das passiert.
Da helfen nur die Kartenspezifikation und ein Betrachten der Signale 
weiter. Erst mal kannst du ja den SPI-Takt per Software runterschrauben.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich auf ein viertel. Leider keine Veränderung. Vorallem warum geht 
der ISP nicht mehr. Das muss irgendei damit zusammenhängen, dass ich ISP 
und dass Transistornetzwerk gleichzeitig an den Pins habe (parallel).

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab grade meinen SPI Takt gemessen, liegt ungefähr bei 250 kHz und in 
der Software habe ich jetzt fosc/4 also 4 MHz eingestellt.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht mir irgendwie so aus, als würde der interne 1 MHz Takt des 
ATMega32 laufen, obwohl ich in meinen Fuse Bits

External Cristal / Resonator High Frequency 1111 11

eingestellt habe. Das passt doch, wenn ich einen 16 MHz Quarz an PIN 
XTAL2 und XTAL1 habe.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachdem mir hier leider keiner Antwortet,schreib ich jetzt trotzdem was 
ich rausgefunden habe. Anscheinend liegt es daran, dass man nicht 
gleichzeitig die SD-Karte und den ISP an SPI anlegen kann, jetzt hab ich 
die SD-Karte mit dem Transistornetzwerk abgemacht und ISP geht wieder.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.