- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: 8-Bit PIC und SD Karte

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    73
    Beiträge
    1.175
    Blog-Einträge
    1

    8-Bit PIC und SD Karte

    Hallo Freunde !

    Wieder einmal stehe ich auf meinem Weg den PIC zu beherrschen wie ein "Ochs vorm Neuen Tor"

    Es geht mir darum,Sensor Messdaten auf eine SD Karte in eine Datei zu schreiben. Irgendwie finde ich mich mit dem Handling nicht zurecht, wie ich dem Prozessor PIC16F877A bei bringen soll Daten in eine Datei zu schreiben.
    Ich habe das web rauf und runter "gelesen" bin aber nicht so recht fündig geworden. Da ich den XC-8 Compiler von Microchip benutze, ist das wohl auch ein Nachteil gegenüber den Nutzern von MicroC für PIC.

    Nun bin ich gerade dabei eine SD-Librarie für den 8051 passend zu machen, aber ob ich damit mal Dateien(.cvs) schreiben kann... ??

    Mein ExperimentierBoard ist dieses Hier

    Hat vielleicht jemand eine Starthilfe für mich im Nähkästchen und würde mir damit weiterhelfen können ??

    Gruss und Dank

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo Gerhard,

    Du hast da 3 Probleme:
    1. Du brauchst einen Treiber um die SD-Karte anzusteuern. Ganz vereinfacht funktioniert eine SD-Karte so ähnlich wie ein I2C-Bus, die Daten werden seriel nach einem Protokoll übertragen.
    2. Dann musst du irgendwie die Daten auf der SD-Karte organisieren. Soll die Karte auf einem PC ausgelesen werden können, musst du ein Dateisystem, wie z.B. FAT verwenden, welches der PC lesen kann.
    3. Das .CSV-Format ist dann eine weitere Geschichte.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Ganz vereinfacht funktioniert eine SD-Karte so ähnlich wie ein I2C-Bus, die Daten werden seriel nach einem Protokoll übertragen.
    Genauer gesagt ist es SPI. Damit laufen die Karten gewissermaßen im Minimalbetrieb, nicht alle Pins werden verwendet. Sieht aus, als ob das auf diesem Board schon alles fertig verschaltet ist.

    Wahrscheinlich brauchst du einen ganzen "Software-Stack", auf dem Treiber für den SD-Kartenzugriff sitzt dann noch der FAT-Treiber. Es gibt unterschiedliche FAT-Varianten, die auch nicht alle mit Karten jeder Größe, Unterverzeichnissen oder gar langen Dateinamen umgehen können. Dann müssen noch die Dateifunktionen aus der C-Laufzeitbibliothek mit dem FAT-Treiber verheiratet werden.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Haha ja das habe ich mir schon einmal per Hand angetan und dann schnell nach einer Lib gesucht ... bis zum Sektorenlevel macht das noch Spaß denn der Bus und die Befehle sind relativ simpel(vergleichbar mit einem SPI Flash Chip), beim Dateilevel würde ich ernsthaft aufhören
    wie ich dem Prozessor PIC16F877A bei bringen soll Daten in eine Datei zu schreiben.
    Wo stehst du denn schon? Hast du schon Sektor-Level erreicht oder bekommst du nach garkeine Kommunikation mit der SD-Karte? Ich könnte mal versuchen meine alten tutorials dazu rauszusuchen mit denen ich das damals gebaut habe. Aber ernsthaft bei einer Datei hört der Spaß wirklich auf. Master Boot Record lesen, File Table lesen, Anfang der Datei finden Sektor laden, umschreiben, auf Sektorüberlauf prüfen, SEktor zurückschreiben und nächsten Sektor finden ... das ist alles JENSEITS von einfach
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    31
    Beiträge
    1.578
    Hi,

    ich habe vor einiger Zeit (ca 1 Jahr) meine eigene Implementation von Hardware-Level und Fat32 (für Micro SD-HC) geschrieben. Das ganze hat den Vorteil, dass es bei mir periodisch (jede 1ms) aufgerufen wird und max ein paar µs braucht (auf STM32F4 @ 168MHz). Es gibt zwei Layer (SD-Communication und FAT32), sodass man in der FAT-Implementierung nur die Hardware-Befehle austauschen muss, um es auf anderen System lauffähig zu machen. Es können Dateien, geöffnet, erstellt und gelöscht werden, natürlich auch geschrieben. Lesen ist momentan noch nicht Implementiert, weil ich die Karte nur als Datenlogger nutze. Habe mittlerweile über 100000 Dateien damit erstellt und beschrieben, jede einzelne war am PC problemlos lesbar!
    Falls Interesse besteht, würde ich es hier reinstellen, würde mir wsl auch was bringen, wenn andere mal darüberschauen.

    Gruß
    Chris

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    73
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo ,
    vielen Dank für alle Eure Bemühungen mir zu helfen.
    Ich muss nun erst mal sagen , das ich in Sachen SD-Card und FAT totaler Neuling bei den PIC's bin. Für den Arduino gab/gibt es ja vorgefertigte Libs und Beispiele das man sich gar keinen Kopf weiter machen musste.
    Ich habe ja zum Board einige Programmbeispiele mit bekommen, die sind hier in einer Zip-Datei zu finden.
    Ich kann an Hand des SD Beispiels, auf Blöcke/Sektoren Daten schreiben und lesen..aber das ist ja keine Dateiverwaltung ähnlich FAT.

    Ich dachte ja nicht das es unter PIC so schwer ist damit was in Sachen SD-Card Speicher auf die Beine zu stellen. Vielleicht komme ich ja noch dahinter wie ich es lösen kann.

    Habe auch ein funktionierendes MPLAB-X Beispiel gefunden, aber leider nur mit einem anderen PIC möglich.
    So "PIC-Intern" bin ich noch nicht bewandert, um das vielleicht umzuschreiben. nun kommt Zeit kommt Rat....und vielleicht auch der Entschluss die Finger davon zu lassen

    Die Auswertung der Klimadaten per PC dann , ist ja an die Dateien gebunden(Exel o.ä.).

    Melde mich wieder wenn ich weiter bin oder "die SD-Card ins Korn geworfen habe."

    Gruss und Dank Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

Ähnliche Themen

  1. PCI Karte
    Von Attiny im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 4
    Letzter Beitrag: 04.04.2008, 22:26
  2. SD Karte
    Von Feratu im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 02.04.2008, 23:31
  3. SPI Bus und SD Karte
    Von geronet im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 16.03.2007, 19:31
  4. SD-Karte oder CF-Karte?
    Von Johannes G. im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 22.08.2006, 12:28
  5. SD Karte
    Von nevermind im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 06.04.2006, 09:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests