Forum: Mikrocontroller und Digitale Elektronik SD Card am PIC 18F2550


von Marco S. (sharkman)


Lesenswert?

Hi.

Ich bin dabei ein neues Projekt zu starten, bei dem ich Daten die ich 
mit dem PIC aufnehme auf einer angeschlossenen SD-Karte speichern 
möchte.

Die Frage die sich mir jetzt stellt, und die ich trotz suchens in Google 
noch nicht beantwortet bekommen habe, ist, in welchem Format werden die 
Daten auf der Karte abgelegt.

Werden die Daten tabelleraisch abgelegt, so das ich sie nach Anschluss 
der Karte an einen PC auslesen kann oder muss ich eine Kommunikation 
zwischen und PIC und PC herstellen um die Daten dann zu verarbeiten?

Mir geht es erstmal wirklich nur um diese grundlegende Frage, damit ich 
zunächst die Schaltung entwerfen kann. Software steht noch überhaupt 
nicht, weshalb ich da auch keine konkreten Beispiele geben kann.

besten Dank schonmal für eure Antworten und schöne Grüße

von Lehrmann M. (ubimbo)


Lesenswert?

Das kommt darauf an, ob man ein Dateisystem (hier FAT) verwendet oder 
eben nicht.

von Frank K. (fchk)


Lesenswert?

Marco Schulze schrieb:

> Die Frage die sich mir jetzt stellt, und die ich trotz suchens in Google
> noch nicht beantwortet bekommen habe, ist, in welchem Format werden die
> Daten auf der Karte abgelegt.
>
> Werden die Daten tabelleraisch abgelegt, so das ich sie nach Anschluss
> der Karte an einen PC auslesen kann oder muss ich eine Kommunikation
> zwischen und PIC und PC herstellen um die Daten dann zu verarbeiten?

Das hängt davon ab, wie Du das programmierst. Eine SD-Karte speichert 
nur nackte Datenhäppchen zu je 512 Byte, genauso wie eine Festplatte. 
Erst durch eine Partitionierung und Formatierung mit einem Dateisystem 
wird aus den Blöcken so etwas wie eine Struktur, in der Du Dateien 
ablegen und wiederfinden kannst.

Es hindert Dich jedoch niemand, Deine Daten einfach so roh auf die Karte 
zu knallen. Das ist zunächst auf dem Controller einfacher, aber das 
Auslesen auf dem PC ist dann schwieriger.

Wenn Du nur ein Speichermedium brauchst, das fest installiert bleibt, 
sind SPI-Flashes wie z.B. STM M25Pxx oder Atmel AT25DFxxx einfacher zu 
handhaben.

fchk

von Marco S. (sharkman)


Lesenswert?

Ich will mir einen kleinen Datenlogger basteln und will die Daten fernab 
vom PC aufnehmen. Anschließend will ich sie möglichst komfortabel am PC 
auswerten. Deshalb war es die Idee mit einer SD Karte zu arbeiten.

Die Daten müssen halt auch nach dem Ausschalten des Kontrollers erhalten 
bleiben. Würde natürlich auch mit einem Flashspeicher gehen, dann müsste 
ich Daten aber vom Controller aus an den PC senden wenn ich das richtig 
sehe.

von Matthias K. (matthiask)


Lesenswert?


von Marco S. (sharkman)


Lesenswert?

Ist mir ehrlich gesagt zu teuer die Variante, ich wollte das alles auf 
einer Platine haben und mich zudem auch mal mit der ganzen Geschichte in 
Sachen Dateiverwaltung beschäftigen.
Soll halt wirklcih ein einfacher, möglichst kostengünstiger Datenlogger 
werden, der 10 Messwerte pro Sekunde an ein bis zwei Analogeingängen 
aufnimmt.

Die Werte sollen dann auf der SD Karte abgelegt werden und hinterher am 
liebsten mit Exel ausgewertet werden.

von holger (Gast)


Lesenswert?

>Würde natürlich auch mit einem Flashspeicher gehen, dann müsste
>ich Daten aber vom Controller aus an den PC senden wenn ich das richtig
>sehe.

Das ist einfacher als ein FAT Dateisystem für den PIC
zu programmieren.

von Gerald *. (pyromane)


Lesenswert?


von Marco S. (sharkman)


Lesenswert?

Über das AN1045 war ich vorhin auch schon einmal gestolpert, aber die 
Libary dazu hatte ich noch nicht gefunden.

Das ganze hört sich aber sehr viel versprechend an, von daher werde ich 
mich die Tage mal an die Entwicklung eines Boards machen und versuchen 
das ganze in den Griff zu bekommen.

von M. J. (manfred-64)


Lesenswert?

Hi,

holger schrieb:
> Das ist einfacher als ein FAT Dateisystem für den PIC
> zu programmieren.

Reicht da nicht ein Großes fixes File anzulegen um sich so eine echte 
FAT Verwaltung zu sparen?

von Marco S. (sharkman)


Lesenswert?

Das mit dem fixen File raff ich nicht. Ich wollte eigentlich nur sowas 
wie ne Textdatei auf die Karte schreibseln und gut ist.

Aber wenn ich das richtig sehe, muss ich irgendwas ala FAT drauf haben, 
damit es am PC ausgelesen werden kann. Wenn ich das umgehen kann, ist 
das auch nicht verkehrt.

von Gerald *. (pyromane)


Lesenswert?

Marco Schulze schrieb:
> Die Werte sollen dann auf der SD Karte abgelegt werden und hinterher am
> liebsten mit Exel ausgewertet werden.

Dafür würde sich eine CSV Datei anbieten.

Manfred John schrieb:
> Reicht da nicht ein Großes fixes File anzulegen um sich so eine echte
> FAT Verwaltung zu sparen?

Er möchte ja die Daten einfach am PC auslesen, somit braucht er ein 
Dateisystem.

von M. J. (manfred-64)


Lesenswert?

Marco Schulze schrieb:
> Werden die Daten tabelleraisch abgelegt, so das ich sie nach Anschluss
> der Karte an einen PC auslesen kann oder muss ich eine Kommunikation
> zwischen und PIC und PC herstellen um die Daten dann zu verarbeiten?

Um Deine SD-Karte mit der PC_Welt kompatibel zu machen, brauchst Du so 
was:
http://www.cc5x.de/MMC/FAT.html#VBR

Wo ich mir das so, noch mal ansehe, ist die Einsparungsmöglichkeit in 
der FAT Verwaltung bei Verwenden eines festgelegten Files eher gering. 
Die dadurch entstehenden Schwierigkeiten nicht unerheblich :(

von Matthias K. (mkeller)


Lesenswert?

Man... ist dein Google kaputt?

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784

Nimm das MDD von Microchip. WIE du die Daten ablegst bleibt dir 
überlassen. Mit der Library hast du alles:

- SD-Card Interface über SPI
- FAT32 mit File-create usw methoden
- USB-Framework

von Marco S. (sharkman)


Lesenswert?

Naja, ich hab ja gesagt, ich werd das mal mit der mdd in angriff nehmen.

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.