[PIC 18Fxxxx convertitore AD e USB] Consigli ed help please...

Salve e un grazie anticipato a chiunque vorrà rispondermi o soltanto avere la pazienza di leggermi ;-) la questione è questa: Ho un sensore da tenere sotto controllo con frequenza di campionamento dai

200 ai 500 Hz, (ovviamente meglio la seconda) i cui dati vanno elaborati in post-processing da un calcolatore, quindi ho bisogno di conservare un bel pò di dati, dai 2000 ai 5000 bit per secondo che per un ora fanno dai 7.2Mbit ai 18Mbit, con in aggiuta il problemino di rendere questi dati facilmente leggibili da un software come matlab. In prima battuta sto adoperando un sitema con PIC 16F84+convertitore esterno (questi avevo sottomano) che mi sputa i dati che acquisisco come TXT su porta COM, ma ora ho bisogno di staccarmi dal pc lasciare il sensore lavorare per ore poi prendere il tutto e leggermi i dati. Avevo pensato se prendo un PIC18Fxxxx (ho sotto amno 18f2520 e 16f777a) che ha già dentro AD converter e capacità di dialogo USB non è che posso collegarlo "facilmente" ad un pendrive magari da 1Gbyte e stare tranquillo per un pò... Se non ho detto una ca***ta qualcuno ha idea di come posso fare?? E per il file poi come faccio?? Sarà semplice da leggere tipo è un binario che magari con un programmino C++ posso convertire in numeretti tipo txt??Esiste qualcosa di già pronto o qualcuno ha realizzato una cosa simile che mi metterebbe a disposizione anche magari dietro compenso??

Grazie Dario

Reply to
Dario
Loading thread data ...

no

come hai fatto adesso va bene... perchè non archivi in un file quello che ricevi dalla seriale?

Reply to
ice

"ice" ha scritto nel messaggio news:448c2ece$0$14775$ snipped-for-privacy@reader4.news.tin.it...

Perché purtroppo dove voglio far lavorare il mio sensore o problemi di ingombro e poi non può esserci il pc, il tutto deve entrare in una scatoletta magari stagna che apro solo per recuperare i dati magari il giorno o ore dopo...

Grazie Dario

Reply to
Dario

No, sia il pendrive che il pic hanno un interfaccia USB slave che devono collegarsi ad un master.

Io ti suggerisco di interfacciare il PIC ad una scheda flash (SD, MMC Compact flash). Non dovrebbe essere difficile trovare i rete esempi di codice per gestire questi dispositivi. Per leggere i dati memorizzati puoi implementare un file system FAT e leggere la scheda con un lettore da PC o usare lo stesso PIC interfacciandolo ad un PC magari via USB. Sorgenti per file system FAT si trovano in rete.

Ciao Paolo

Reply to
paolo

Grazie per le dritte, mi metto subito a fare ricerche con "zio"google... Dario

"paolo" ha scritto nel messaggio news:448c3041$0$990$ snipped-for-privacy@news.tiscali.it...

Reply to
Dario

no purtroppo i pic hanno l'interfaccia slave e non host ( come anche le pennine ) , possono essere collegati solo a dispositivi host.

purtroppo hai detto una ca***ta

una possibile soluzione e' mettere su l'interfaccia per mmc o sd sul pic o in alternativa verso memorie dataflash ( prodotte da atmel ) piu' semplici da gestire.

devi comunque verificare che le memorie scelte siano in grado di seguire il flussi dei dati tieni conto che le flash hannop una certa latenza in scrittura.

poi puoi trasferire i dati acquisiti tramite seriale o usb a secondo del micro scelto.

si tratta di integrare i vari pezzi tra loro:

scrittura lettura di una flash trasmissione via seriale ( USB e' una opzione alternativa ) eventuale gestione del file system ( non necessaria )

trovi tutti i pezzi in giro

a seconda della applicazione e del budget ( hobbysta , lavoro , ricerca ) potresti usare una scheda fox della acme

formatting link
costa un po' ma ha di tutto di piu' tranne l'ADC :-)

Reply to
mmm

"mmm" ha scritto nel messaggio news:e6hljb$i1s$ snipped-for-privacy@news.unina.it...

Ci ho provato, sarebbe stato troppo bello... Cmq girando per la rete ho trovato:

formatting link
monta il PIC 16F876, ma penso non sia un dramma se ci provo a montare e convertire il tutto per il PIC16F877 che ho già in mio possesso...

Proverò anche questa strada, ma vorrei utilizzare cose ch conosco e che posseggo già...

Leggendo un pò di cose online ho visto che cmq tutti aspettano di riempire un blocco tipo 512bit e poi sversano sulla memoria...

Quì a questo punto preferirei poi leggere la memoria con un banale lettore...Senza scomodare ulteriormente il PIC ke ne pensi??

Io pensavo di agire così: Predispongo un qualsiasi ingresso analogico del PIC Acquisisco il campione Lo mando alla memoria mediante l'interfaccia SPI Ripeto all'infinito o fino allo scadere di un timer magari impostato a contatore per essere sicuro che se mi dimentico di spegnere non mi vengano sovrascritti i dati.

Ma alla luce di quello che ho trovato online e a quello che mi dici tu stesso dovrei implementare una routine che: Acquisisce i dati nella memoria interna del PIC riempie un blocco ad esempio 512Bit poi li manda in memoria e contemporaneamente gestisce il file system della MMC altrimenti con un lettore non la leggerò mai giusto??

La vedo dura, ma cercherò qualche pezzo del software in giro meglio e con + calma, anzi se hai qualche link ti sare grato..

Belle ma costose :-(

Grazie ancora Dario

Reply to
Dario

Ne ho trovato uno direttamente per il mio MCU:

formatting link

Solo ho qualche problema a capire se si limita a scrivere i dati sulla MMC via PIC da PC o fa anche altro, la routine software che non rieco a trovare è come si scrivono i dati sulla MMC...

Reply to
Dario

la mia risposta era comunque simpatica , nessun rimprovero

formatting link

questa e' una possibile strada per le MMC/SD

scaricati comunque i datasheet sono la serie AT45.... le ho usate e sono MOLTO semplici da gestire, rispetto alle MMC , hanno anche 2 buffer di RAM per i dati temporanei , si adattano benissimo a microcontroller 'piccolini'

il doppio buffer permette di gestirli in ping pong senza dover aspettare il tempo di scrittura della flash

le MMC mimano in tutto e per tutto i settori di un hard disk per cui 512 bytes o un settore tipo disco non bits moltiplica tutto per 8

il problema di fondo non e' tanto il buffer ma il fatto che mentre la flash viene aggiornata non mi sembra puoi fare nulla quindi per gestire uno stream continuo ti servono 2 buffer di settore nel micro ( almeno in primo acchitto )

e dovresti poi implementare la FAT nel firmware del micro, cosa non impossibile ma che occupa spazio e sopratutto tempo ( altre scritture nel micro ) a meno di non scrivere un programma per PC che accede ai settori RAW della card

studiati prima come funzionano le MMC e poi capirai dove sta il problema

giusto e se vuoi acquisire uno stream continuo devi bufferizzare un nuovo settore mentre il primo viene scritto fisicamente ( ping pong )

basta che cerchi in giro implementazioni della FAT:

formatting link
formatting link

solo FAT nessun driver fisico di accesso ai settori pero'

e' rimasto in sospeso : progetto hobbystico o lavoro ? per lavoro 100 euro non sono molti ma temo per il primo .... vero ?

medita il passaggio al C se non lo hai gia' fatto

Reply to
mmm

e proprio una pagina in crucco dovevi trovare :-)

direi che fa tutte e due le cose anche se l'unico tedesco che conosco e' quello delle sturmtruppen

Schreiben = scrivi? Lesen = leggi ?

a proposito sul sito della sandisk esistono i manuali dello standard per le MMC con tutte le spiegazioni, se ci vuoi giocare sono utili.

prova questo

formatting link

come potrai notare non esistono 2 implementazioni ìuguali' dell'accesso alle MMC e con le SD e' ancora peggio pare che ogni costruttore ha fatto piccole modifiche al protocollo

Reply to
mmm

"mmm" ha scritto nel messaggio news:e6ht80$ooi$ snipped-for-privacy@news.unina.it...

Figurati...

Visto e scaricato, domani ci do un okkio + approfondito, se mi semplifica il lavoro ben vengano, e poi da tempo pensavo di attrezzarmi con un pò di materiale x Atmel tipo un programmatore/debugger come ICD2 per i PIC... ke sia la volta buona anzi se hai qualke consiglio sono ben accetti!!!!

Perfetto capito e grazie per la correzione!!

Questo è stato il mio primo dubbio, infatti stavo già pensando a come trasformare i dati scritti sulla MMC senza implementare la FAT

Giusto un pò di teoria sulle MMC non guasta il problema è che cercavo una cosa rapida ke non mi costringesse ne a dover mettere mano alla teoria ne al portafogli. Il progetto è tutt'altro ke hobbystico, però quello che sto cercando di implementarci è ltre gli scopi preposti quindi dovrei farlo rientrare nei tempi ke sono sempre + stringenti, nelle dimensioni fisike, il tutto dovrà entrare in contenitore stagno per immersione completa (anche -50metri) ke ho già costruito, e poi essendoci gia un PIC 18F2520 oppure un 16F877 pensavo di sfruttare la MCU già presente...

Grazie dei link...

Purtroppo l'assenza del ADC mi costringerebbe a cambiare tutto ma ho conservato il link, è davvero un bel giocattolo :-)

Grazie Dario

Reply to
Dario

"mmm" ha scritto nel messaggio news:e6htud$pbf$ snipped-for-privacy@news.unina.it...

Purtroppo l'ho trovata solo in crucco e la cosa brutta è che tutti i servizi di traduzione online sul crucco perdono colpi...

Visto e salvato grazie per l'aiuto!!!

Alla faccia dell'unificazione :-(( Spero di venirne a capo presto. Grazie di tutto l'aiuto ke mi stai dando!!!

Dario

Reply to
Dario

occhio che gli AT45... sono semplicemente delle memorie flash con protocolli SPI adatte per immazzinare dati, non hanno bisogno di programmatori etc etc

sul sito atmel ci dovrebbe anche essere un app note con i sorgenti in C per pilotarle

effettivamente non ti serve necessariamente un file system, puoi immaginare le MMC come uba sequenza di settori da 512 byte a cui puoi accedere in maniera casuale ( non necessariamente in ordine ).

e poi salvare i tuoi dati semplicemnte in sequenza mantendo poi da qualche parte il puntatore all'ultimo settore scritto

questo e' un bene perche' vuol dire che puoi spendere qualcosa

le dataflash atmel sono comode, facili da gestire e con i buffer di ram interni, ma hanno comunque qualche problema di reperibilita' ( telefona alla sede atmel italia magari ti possono aiutare nel reperirle ) , avrai infatti notato che il problema principale con i componenti elettronici e' proprio l'effettiva reperibilita'

nno guardarle come un giocattolo , anzi :

piccole e dal basso consumo hanno flash e ram un buon processore , ci gira linux sopra con la possibilita' di sviluppare in maniera semplice con tanto di debugger , hanno seriali , ethernet e USB ( e quindi ci puoi attaccare le pennine di memoria )

aggiungerci un ADC e' un giochetto da nulla

una volta iniziate ad usare dovrebbero permettere lo sviluppo di applicazioni in maniera veloce.

Reply to
mmm

"mmm" ha scritto nel messaggio news:e6mneh$9a1$ snipped-for-privacy@news.unina.it...

Grazie e scusa se ti rispondo con ritardo, problemi con il server :-(

Buona idea, grazie, ho già realizzato la schedina del crucco domani vedo di fare un pò di collage del software...

Confermo ho avuto grossi prblemi a reperire chip della Burr Brown per fortuna che ho potuto grazie all'università contattare direttamente loro per averli!!!

Certo la mia dicitura giocattolo era ironica sono davvero belle schede, ma per il momento per quello che di cui mi occupo difficilmente posso usare troppo spazio o troppa corrente, la maggior parte dell'hardware con cui lavoro non assorbe + di 10mA solo per le cose wireless faccio eccezione andando anche sui 60mA solo per la trasmissione altrimenti metto tutto in sleep quindi quando mi serve qualcosa cerco di progettarla il + low power possibile e quindi la + specifica possibile, magari in seconda battuta si generalizza e si uniscono le cose, ma questo dopo...

Grazie ancora Dario

Reply to
Dario

toh anche il mio e' andato giu' , anche se non e' lo stesso che usi tu

Burr Brown, Burr Brown ....

che ADC usi ? :-)

no non fanno per te , non penso sia low power

Reply to
mmm

I server delle news fanno un po ifatti loro ultimamente, ora ne ho sottoscritti 2, alice e unina così spero di stare tanquillo, li leggo molto se non altro trovo spunti e qualche volta rieco pure a dare un aiuto sensato (spero...)...

Sempre il mitico MAX191 interfacciato con un banale pic16F84 per gestirlo e sputare i dati su seriale che poi mi eleboro, almeno in prima battuta, poi dipende quelli interni dei PIC o similari o ultimanente quelli sui moduli wireless in genere mi adatto e dovendo rispettare certi range di consumo si cerca di fare il + con il meno (in termini di batteria) possibile...

No purtroppo penso che almeno quei 400mA li tiri giu per fare da host USB etc... Però è interessante da seguire, kissà come si evolverà la cosa... DArio

Reply to
Dario

doh, unina e' notorio per i suoi bui di un paio di giorni ad ogni acquazzone :-)

e poi a meno che non hai accesso alla rete universitaria napoletana non puoi postare

news.unina.it e' il mio server da sempre, facevo parte del gruppo che ha tirato su il servizio news 12 anni fa

ehm, a dire il vero volevo anche sapere che integrato BB usi

se ti serve il low power la serie 18F e' interessante, basso consumo, buona selezione di periferiche, programmabile in C col compilatore della microchip

bhe quelli la scheda mica li devi assorbire per forza

Reply to
mmm

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.