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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.