Forum: Mikrocontroller und Digitale Elektronik Grundsatzfrage SD-Karte >> AVR


von Richard (Gast)


Lesenswert?

Hallo,

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

von holger (Gast)


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.

von Richard (Gast)


Lesenswert?

Hi,

erstmal danke für die Antwort.

ISP Programmer habe ich vor kurzem hier bezogen.
http://www.my-irshop.de/catalog/product_info.php?cPath=28&products_id=158

Kann ich den Ruhestand des AVR über die Software machen? Oder muss das 
mit einem Taster oder Jumper gemacht werden?

Gibt es hilfreiche Links zu diesem Thema?

Ich weiss, so viele Fragen...

von holger (Gast)


Lesenswert?

>ISP Programmer habe ich vor kurzem hier bezogen.

Damit geht das nicht. Du musst dir selber einen
ISP Programmer bauen mit dem das geht. Und auch deine
eigene Software dafür schreiben.

von Richard (Gast)


Lesenswert?

Naja, das wäre ja auch zu schön gewesen...

Den Programmer gibt es nicht irgendwo schon fertig?

von Kobaltchlorid (Gast)


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.

von Michael U. (amiga)


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

von holger (Gast)


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.

von Richard (Gast)


Angehängte Dateien:

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.

von holger (Gast)


Lesenswert?

Richard, mit deinem ISP Prommer geht es nicht!

von Kobaltchlorid (Gast)


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.

von Richard (Gast)


Lesenswert?

Jetzte wiederholt die Frage,

gibt es einen Prommer schon irgendwo?

von Richard (Gast)


Angehängte Dateien:

Lesenswert?

Du meintest den Pullup so denke ich

von Kobaltchlorid (Gast)


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.

von Richard (Gast)


Lesenswert?

Genau das Umstecken will ich mir damit ersparen. Ich werde ertmal weiter 
googeln um mich da etwas schlauer zu machen wie das am besten 
funktioniert.

LG
Richard

von Richard (Gast)


Lesenswert?

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

LG
Richard

von dummy (Gast)


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.

von Richard (Gast)


Lesenswert?

Ich suche schon den ganzen tag danach und habe nichts gefunden...

von dummy (Gast)


Lesenswert?

>Ich suche schon den ganzen tag danach und habe nichts gefunden...

Das wundert mich irgendwie nicht ;)
Deine Anforderung ist schon sehr spezifisch.

von Richard (Gast)


Lesenswert?

gibt es noch andere Alternativen den Inhalt von der Karte auf den PC zu 
bekommen ohne diese zu entfernen?

von dummy (Gast)


Lesenswert?


von Richard (Gast)


Lesenswert?

Naja, ich meinte ohne die Karte zu entfernen.

LG
Richard

von Kobaltchlorid (Gast)


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.

von Richard (Gast)


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...

von Richard (Gast)


Lesenswert?

UART könnte gut funktionieren. Geht das auch über USI? Oder dann doch 
lieber über Software UART?

von Richard (Gast)


Angehängte Dateien:

Lesenswert?

Wie wäre es direkt mit USB?

LG
Richard

von Michael K. (mmike)


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

von Richard (Gast)


Lesenswert?

Naja, TXD und RXD sind schon belegt.

Passt der Anschluss so? Software mus ich mal sehen ob ich das hinbekomme

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
Noch kein Account? Hier anmelden.