Extern lagring

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Lullen
Inlägg: 140
Blev medlem: 16 oktober 2006, 17:37:32

Extern lagring

Inlägg av Lullen »

PIC och C var enklare att leka med än jag trodde när jag började för under en vecka sedan och min laptimer har nästan koden färdig nu (inväntar produkter innan jag kan testa bara). Men då detta projekt gick så snabbt så känner jag att jag vill bygga ut den lite. GPS och LCD är färdigt så nästa steg är i så fall att bygga ett minne till den. Såg att min PIC har drygt 250 byte att leka med vilket inte räcker (Vad är tanken med dessa 250 byte?). Jag har försökt researcha lite under dagen och kan komma på två lösningar.
1. Bygga en USB MSD med SD kort (inkl laddning av batteri)
2. Ha endast ett SD kort.

Att köra via USB är betydligt mer lockande då jag får med laddning av batteri på samma kontakt och blir enklare att skydda mot regn. När jag sökte på detta insåg jag att det inte verkar vara direkt enkelt att uppnå. Kollar man exemplet så är bara koden för loggningen 4ggr mer än för hela mitt program i dagsläget och jag har tagit upp 60% ROM. Med andra ord är hela iden med en USB MSD för jobbig för en som inte ens suttit med PIC i en vecka?

Om det nu är så, då får jag leva med det men jag vill fortfarande enkelt kunna trycka in GPS datan i datorn. Är det mycket enklare att få till en SD korts lösning med FAT32? Hittade något exempel som inte verkade skrämmande men det var i FAT16 vilket känns föråldrat (jag kan inte ens formatera ett sådant format på min dator, win 8.1. Så kan jag läsa det?).

Finns det något annat sätt jag kan få in datan i datorn som kanske är enklare? Tänk på att jag är ute på en bana där det inte finns något internet. Jag har uteslutit att använda USB och skicka data via den som jag tar emot via något litet program som sparar mina CSV filer då jag antar att det är lika svårt som en MSD.

Min PIC är en PIC18F2550 och den har USB i sig.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Extern lagring

Inlägg av TomasL »

Antingen tar du et SD-kort, finns mänger av bibliotek, inklusive uChips eget som stöder FAT32.
Eller skickar du data via serieport till din PC, du kan ju naturligtvis använda ett SPI-Flash eller liknande för att mellanlagra data.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Extern lagring

Inlägg av Icecap »

En möjlighet kan vara en Vinculum-krets + USB-minne.

En annan kan vara ett SPI FLASH-minne, finns med t.ex. 73-824-46.
Lullen
Inlägg: 140
Blev medlem: 16 oktober 2006, 17:37:32

Re: Extern lagring

Inlägg av Lullen »

TomasL skrev:Antingen tar du et SD-kort, finns mänger av bibliotek, inklusive uChips eget som stöder FAT32.
Eller skickar du data via serieport till din PC, du kan ju naturligtvis använda ett SPI-Flash eller liknande för att mellanlagra data.
Jag har hittat MLAn och en beskrivning för både USB MSD och SD logger bland deras dokument. Tyvärr så säger beskrivningen att man ska använda fileio.h eller fileio_lfn.h vilka jag inte hittar i MLAn eller någon annanstans. Koden i MLAn verkar vara från 07-08(?) och då verkade folk inte köra med XC8 kompilatorn. Kollar jag koden så är det väldigt mycket #pragma i de kodexemplena och med XC8 så har jag sett många som frågat om några exempel och då säger folk att XC8 inte fattar #pragma delarna. Detta får mig att bli fundersam på om koden är uppdaterad. Dokumenten är från -14.
Icecap skrev: En möjlighet kan vara en Vinculum-krets + USB-minne.
En annan kan vara ett SPI FLASH-minne, finns med t.ex. 73-824-46.
USB minne känns nog som ett sämre allternativ. Men ska fundera på det.
Om jag kör SPI FLASH, hur löser jag överförningsdelen enklast? Ingen av er svarar egentligen på om USB MSD är för svårt vilket får mig att tro att det är rätt knepigt.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Extern lagring

Inlägg av Icecap »

Jag brukar lösa överföring osv. med en seriell port! Alltså att låta µC samla in värden och spara till det blir dags att tömma ut dom.

Då kopplar jag på en dator med RS232 och ber om att få data. När de sedan är överförd är det bara att radera dom från µC'n och se till att de sparas på lämpligt ställe på hårddisken.

Självklart kan det lösas på många sätt men att börja fundera på FAT på en PIC18 känns väldigt fel faktisk!
Användarvisningsbild
MiaM
Inlägg: 12950
Blev medlem: 6 maj 2009, 22:19:19

Re: Extern lagring

Inlägg av MiaM »

Tips: om det är nån slags kontinuerliga mätvärden som ska loggas så gör istället så att de får löpnummer och att PC'n kan fiska upp önskad mängd värden, och skriv sen över lagrade värden i en round-robin-grej i mikrokontrollern. Då kan PC'n fiska upp en del mer än "vad som finns sen sist det fiskades" vilket kan vara bra ifall PC'n skulle strula på något sätt.
Lullen
Inlägg: 140
Blev medlem: 16 oktober 2006, 17:37:32

Re: Extern lagring

Inlägg av Lullen »

Okej då får jag ta och fundera. Verkar inte bli någon jättesnygg lösning då direkt
Skriv svar