Grundsatzfrage SD-Karte >> AVR

Gast #1110809
Lesenswert?

>ist es irgendwie technische möglich, eine SD-Karte die an einem AVR
>hängt über den ISP Port auszulesen?

Ja klar. AVR in Resetzustand legen damit das lesen von der
Karte nicht gestört wird. Eigenen ISP Prommer bauen und ein
Programm dafür schreiben um die SD Karte zu lesen.
Gast #1110878
Lesenswert?

> eine SD-Karte die an einem AVR hängt über den ISP Port auszulesen?

Wie meinst du das genau?

Möglichkeit 1:
Die SD-Karte ist am Hardware-SPI, also an MOSI, MISO und SCK 
angeschlossen. Bei den meisten AVRs ist der Hardware-SPI auch 
gleichzeitig der ISP-Anschluss, über den der AVR geflasht wird. Du 
möchtest also einerseits die SD-Karte im SPI-Modus vom AVR auslesen 
lassen, aber andererseits auch den AVR programmieren, obwohl die Karte 
dranhängt?

Möglichkeit 2:
Die SD-Karte soll über einen ISP-Programmierer wie z.B. den AVR-ISP vom 
PC aus gelesen werden?

Der erste Fall geht bei geeigneter Verschaltung problemlos, habe ich 
gerade selber so gemacht. Du musst bloss dafür sorgen, dass die SD-Karte 
an keinem Anschluss mehr als 3,9 Volt sieht, sonst wird sie 
möglicherweise beschädigt. Ausserdem sollte der ChipSelect-Anschluss der 
SD-Karte auf High (+3,3V) liegen, solange der AVR programmiert wird.

Für den zweiten Fall habe ich allerdings keine Lösung parat und 
bezweifle auch, dass das ohne größere Verrenkungen gehen wird.
#1110879
Lesenswert?

Hallo,

gibt es. Heißt Card-Reader....... ;-))

Es wird selbst mit eigenem Programmer und Programm dann nicht gehen, 
wenn z.B. /CS der Karte an einem Portpin hängt. Das ist dann nämlich 
nicht am ISP verfügbar. Das dürfte auch der Normalfall der Anschaltung 
einer SD-Card an einen AVR sein.

Gruß aus Berlin
Michael
Gast #1110898
Lesenswert?

>Es wird selbst mit eigenem Programmer und Programm dann nicht gehen,

Die Schaltung mit einem eigenen Programmer
ist relativ einfach zu bauen. Das Problem
ist die Software. Aber auch nicht wirklich
wenn man weiss was man tut ;)

Das ganze ist praktisch möglich.
Hat scheinbar nur noch keiner gemacht.
Gast #1110917
Lesenswert?

Es ist so geplant, wie es Kobaltchlorid schon beschriebn hat. Ein Mega32 
SCK, MOSI und MOSI wird zum Programmieren des µC sowie ebenfalls für die 
SD-Karte eingeplant.

Den ersten Schaltplan habe ich mal in den Anhang gelegt, dass ihr euch 
das mal ansehen könnt.
Angehängte Dateien:
Gast #1110928
Lesenswert?

Laut dem Schaltplan ist alles OK, da ja auch der AVR nur mit 3,3V 
betrieben wird. Ich würde bloss zur Sicherheit einen Pull-Up-Widerstand 
vom DAT3-Anschluss (ChipSelect bzw. SlaveSelect der Karte) zu +3,3V 
legen. Beim Flashen des AVR ist die Karte dann mit Sicherheit inaktiv 
und unbeeindruckt vom Bitbanging am Dateneingang.
Gast #1110941
Lesenswert?

Der Pull-Up ist OK. Aber lesen und schreiben kannst du die Karte nur vom 
AVR aus, der Prommer kann nur den AVR flashen. Der AVR-ISP hat zwar auch 
MOSI, MISO und CLK, aber es fehlt z.B. die Möglichkeit, den 
ChipSelect-Anschluss der Karte anzusteuern. Ausserdem müsste die 
Firmware des AVR-ISP komplett neu geschrieben werden und das Programm, 
das den AVR-ISP im PC bedient, müsste ebenfalls extra geschrieben 
werden.

Wenn du die Daten von der Karte in den PC bringen willst, ohne sie vom 
AVR runterzunehmen, wird das nur so gehen, dass der AVR auf der einen 
Seite mit der SD-Karte redet und auf der anderen Seite über den UART mit 
dem PC kommuniziert. So habe ich das vor kurzem erst gemacht, die 
SD-Karte dient bei mir als Datenlogger, der vom AVR mit Messwerten 
gefüllt wird. Die Daten werden dann später ausgelesen und per RS232 zum 
PC geschickt. Dadurch erspare ich mir ein Dateisystem, die Daten werden 
einfach blockweise (512 Byte groß) auf die Karte geschrieben und vom AVR 
nach eigenem Protokoll wieder ausgelesen.

Die andere Alternative wäre, dass man die SD-Karte mit einem 
Dateisystem, z.B. FAT16 oder FAT32 formatiert und die Daten auch als 
Datei auf die Karte schreibt. Dann kannst du die Daten in jedem 
beliebigen Kartenleser vom PC einlesen lassen. Nachteil: du musst halt 
jedesmal die Karte vom AVR in den Kartenleser umstecken. Ausserdem 
braucht man für FAT auf dem AVR sehr viel mehr Flash und RAM als für das 
blosse Byteweise schreiben/lesen.
Gast #1111924
Lesenswert?

>Gibt es für diese Art von Programmer den ich benötige einen ebstimmten
>Namen? Das erleichtert ungemein die Suche..

Falls jemand so etwas gebaut hat gibt es sicher
einen Namen dafür. Nur scheinen die ganzen Experten
hier sowas noch nie gesehen zu haben. Die Wahrscheinlichkeit
das so ein Gerät nicht existiert ist also relativ hoch.

Such nach: ISP AVR ATMEGA SD CARD

Auch wenn es wahrscheinlich Zeitverschwendung ist.
Ich wünsch dir viel Glück bei deiner Suche!
Wenn du was findest poste bitte einen Link.
Gast #1112032
Lesenswert?

Was spricht jetzt dagegen, die Daten per UART zum PC zu übertragen? 
Einen solchen Multifunktions-Programmer, wie du ihn willst, wird's mit 
"an Sicherheit grenzender Wahrscheinlichkeit" nicht  fertig geben. Wenn 
du unbedingt auf dieser sehr exotischen Lösung bestehst, wirst du das 
komplett selber bauen müssen.
Gast #1112049
Lesenswert?

Theoretisch gar nichts. Wo müsste ich da etwas anschliessen? Es sitzen 
schon ein paar Sensoren am Controller und noch ein paar andre Sachen. 
Bin noch dabei alles nachzuzeichnen...

Ich ja bereits nach alternativen gefragt...
#1112410
Lesenswert?

Häng Dir doch einfach nen FTDI FT232RL 
(http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf) rein. Deine 
UART Schnittstelle ist ja noch nicht benutzt (PD0, PD1). Der Chip kostet 
nicht viel und funktioniert stressfrei. Dann sparst Du Dir auch die USB 
Software Implementation. Musst halt nur ein Protokoll basteln mit dem Du 
Daten vom AVR und SD Karte liest und diese seriell and den PC schickst 
...

Grüße Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren