SD Karte und ADC parallel an AVR

OP #3197679
Lesenswert?

Hallo,
ich habe folgendes Problem:
In einem Projekt möchte ich mit einem AT90CAN AVR verschiedene Messwerte 
aufnehmen und ca. im 10 Sek Takt auf einer SD Karte als Textdatei 
ablegen. Platine ist fertig, läuft so weit auch alles sehr gut. Problem 
ist nur, dass ich die SD-Karte mit einem ADC (MCP3301) parallel an den 
SPI-Bus gehängt habe. Natürlich mit einzelnen Chipselect-Leitungen.
Jedoch wird die SD-Karte scheinbar auch bei gesetzter CS-Leitung beim 
auslesen des AD-Wandlers gestört. Daher muss ich die SD aktuell vor 
jedem Schreibzugriff neu initialisieren, die Log-Datei öffnen und ans 
Ende spulen. Das kostet sehr viel Zeit und ist ja irgendwie nicht Sinn 
der Sache.

Hatte das Problem vielleicht schonmal jemand und/oder weiß ob sich das 
lösen lässt?

Als SD Library benutze ich die hier 
http://www.mikrocontroller.net/articles/AVR_FAT32 -> Vielen Dank an 
dieser Stelle an Daniel R. die Bibliothek funktioniert ansonsten super!
#3198030
Lesenswert?

@ Arne B. (arneb123)

>Jedoch wird die SD-Karte scheinbar auch bei gesetzter CS-Leitung beim
>auslesen des AD-Wandlers gestört. Daher muss ich die SD aktuell vor
>jedem Schreibzugriff neu initialisieren, die Log-Datei öffnen und ans
>Ende spulen.

Da sollte bzw. muss man erstmal rausfinden, ob die Funktionen der 
SD-Karte das CS inaktiv schalten, wenn die beendet werden. Vielleicht 
bleibt ja CS von der SD-Karte aktiv, weil angenommen wird, dass diese 
exclusiv am SPI Bus hängt. Das wäre aber schon ein grober Fehler.

>Hatte das Problem vielleicht schonmal jemand und/oder weiß ob sich das
>lösen lässt?

Es kann auch ein Hardwareproblem sein, dass es da Übersprechen gibt. 
Vielleicht sind die Ausgänge der Chip-Selects nicht als Ausgang 
definiert und die Software schaltet immer nur den internen Pull-Up ein?

Erstmal messen, mit einem Oszilloskop.
OP #3204419
Lesenswert?

Der Vollständigkeit halber will ich noch mal kurz erwähnen, dass jetzt 
doch alles Funktioniert wie geplant. Hab den Code etwas aufgeräumt und 
siehe da es funktioniert :-). Ich hatte einige Port Einstellungen erst 
nach der Initialisierung der SD-Karte gemacht und das mochte sie wohl 
nicht, obwohl die gar nichts damit zu tun hatten. Nachdem ich das 
sortiert habe laufen jetzt die SD-Karte und der ADC wunderbar zusammen 
am selben SPI-Port.

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