Vai al contenuto
PLC Forum


Data Logger Per Imbarcazione - Aiuto sul file system Fat16


Il Novizio

Messaggi consigliati

Salve a tutti,

sto portando avanti il progetto di un data logger per imbarcazione.

Essenzialmente il mio sistema deve ricevere tramite porta rs232 i messaggi provenienti dal bus strumentazione della nave (protocollo NMEA), che portano informazioni quali temperatura, velocità nave, velocità vento, profondità acque eccetera, e salvarli su una compact flash.

Mi è stata molto utile a tal proposito la discussione già aperta qualche tempo fa su pic e compact flash card.

Ho infatti deciso di usare come microcontollore proprio il pic16f877 cui si faceva riferimento, ed ho trovato le routine già fatte per interfacciare il pic con la Compac flash. Queste consentono di scrivere/leggere un settore, leggere il buffer della card, analisi diagnostiche ecc..

Lo scoglio che ora mi trovo davanti consiste nel file system fat16 della compact flash.

L'idea sarebbe infatti quella di salvare i vari messaggi in file diversi a seconda del tipo di informazione, ad esempio:

temp.txt , vel.txt , depth.txt ecc

in modo poi da graficarli facilmente sul pc a casa con un applicazione stile excel.

Il mio problema qual'è allora?

Semplice, non ho, ora come ora, la minima idea di cosa si debba fare per salvare dei file su un supporto di memoria compact flash tramite il pic (leggi gestire la file allocation tabel, gestire i cluster, creare directory ecc..)

Vi chiedo quindi, umilmente :P , aiuto su dove trovare le informazioni che mi servono per capire cosa fare.

Tanti saluti

francesco

Link al commento
Condividi su altri siti


ciao

anche io sto lavorando ad una cosa simile!

anche a me necessitano le stesse info ! quindi anchio mi associo alla richiesta

di tali info...

ciao

dario

Link al commento
Condividi su altri siti

ERRATA CORRIGE.

Come potrete immaginare dal nick, sono veramente alle prime armi e gli errori e le correzioni relative vengono fuori su su.

Se uso il pic16f877 posso gestire solo 1 file alla volta, e non più file diversi come avevo detto prima.

Infatti alla compact flash devo scrivere un settore (512 byte) alla volta. Solo quando tutto il buffer di 512 byte interno alla CF è stato riempito, il buffer realmente viene copiato nel settore apposito.

Quindi se volessi gestire più file in contemporanea dovrei avere della memoria dove tenere i dati in attesa di arrivare ai 512 byte del settore.

In totale 512byte di dati + 40 byte per la struttura del file + altri byte di utilità per ogni file aperto!

Poiché il pic c’ha appena 312 byte di ram interna una cosa del genere la potrei fare solo usando una ram esterna

Ma questa possibilità la scarto visto che complicherebbe le cose.

Allora l’idea è di scrivere un solo file dati.txt incolonnando i valori su varie colonne che identificano il tipo di informazione:

temp, vel, depth, wind ecc…

Scrivere un solo file alla volta semplifica molto la gestione del file system.

Comunque sia dovrò lo stesso gestire la FAT, la Root directory e le altre informazioni relative a questo unico file,

per cui essenzialmente la mia richiesta di informazioni non cambia: :)

qualcuno sa dove trovare routine o esempi per programmare un uc per la gestione dei file?

grazie ancora

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...