Fórum témák

» Több friss téma
Fórum » Flash (vagy egyéb) memória kezelése PIC-el
Lapozás: OK   1 / 1
(#) netpirate hozzászólása Szept 28, 2005 /
 
Hi all!

Abszolút kezdő vagyok sajnos (még) a PIC-ek világában, így kéne egy kis help, hogy hogyan induljak el. Szeretnék egy olyan rendszert csinálni, ami naplózza a bemenő eseményeket. Tehát kellene egy PIC, de nem tudom milyen (talán 16F84?). Meg a legfőbb problémám az, hogy mire (és főként hogyan) mentse az adatokat, ami kikapcsolás után is megőrzi azokat... (hogy áttehessem sz.gépbe, és megtekinthessem) nem kell több megás, egy 100 kb szerintem bőven elég volna tárolókapacitásnak. (bár itt az oldalon láttam a merevlemez bekötését hasonló célokra, az azért nem volna a legjobb, mert 1.: túl nagy 2.: nincs szükségem olyan nagy tárolókapacitásra, hogy indokolja a vinyót 3.: azért örülnék, ha az egtész rendszer lehetőleg elemről működhetne, és a vinyó túl sokat fogyaszt, hogy elemről működtethessem.)
Ja és a másik problémám a dátum. hogyan tárolja a dátumot? Bár nem túl kényelmes megoldás volna, de pl elemcserekor a comportra rádugom, és sz-gép átadná a dátumot, és a pontos időt. de jelenleg egy ilyen készülék megépítése számomra még túl nagy falat... (de programozni is így tanultam meg: megkerestem a legnagyobb fát, és bele vágtam a fejszém! )

a segítséget előre is köszönöm!
(#) Norberto válasza netpirate hozzászólására (») Szept 29, 2005 /
 
Szia!

Én egyelőre csak ajánlani tudok egy módszert a mentésre: ez pedig a FLASH ROM. Szerintem nem túl drága dolog, és szerintem már manapság nem gyártanak ilyen kis kapacitásút, amit te említettél 100kbyte az má" régen vót
Mostanság érdemesebb egy olyan 1-2 megás FLASH-t venni, és abba aztán bőven fér adat. És az is emellett teszi le a stafétabotot, hogy elemről tökéletesen jól érzi magát a vinyóval ellentétben, ami valószínűleg el se indulna elemről
(#) netpirate válasza netpirate hozzászólására (») Okt 2, 2005 /
 
De nekem sokkal inkább a hogyan a problémám... sajnos úgy látom nem vot túl népszerű ezt a topic... na mind1... több mint egy hónapig úgyse lesz netem mától kezdve... úgyhogymár teljesen mindegy.. addig is jók legyetek, stb.... byeZ
(#) zaik hozzászólása Ápr 1, 2007 /
 
sziasztok,

tudna valaki segíteni az alábbi memóriának az illesztésében 8085ös buszhoz kellene. valahogy nem megy a dolog.

előre is köszi..
http://users.atw.hu/zaik/temp/wom.pdf
(#) zaik válasza zaik hozzászólására (») Ápr 1, 2007 /
 
tudom, hogy kritikán aluli poén, meg mindenki ismerte, mert ezer éves, de ezeket leszámítva elmondható, hogy senki sincs április 1-jére hangolva
(#) m.joco hozzászólása Aug 14, 2010 /
 
Hello
Van egy 64MB-os Memory Stick M2 memóriakártyám Sony Ericsson mobilból kitermelve, ezt szeretném PIC-hez használni. Lábkiosztást találtam hozzá (Bővebben: Link), de sajna sehol se találok leírást a vele való kommunikációról. A lábkiosztását elnézve szerintem tud valamiféle párhuzamos és soros kommunikációt is. Próbált már valaki ilyesfajta memóriakártyát meghajtani?
Üdv.
(#) eSDi válasza m.joco hozzászólására (») Aug 14, 2010 /
 
Üdv!

Ahogy elnézem a lábkiosztás, olyan mintha a SD kártyák lábkiosztását látnám. Érdemes lenne azzal a protokollal próbálkozni SPI buszon, vagy 4bit-es párhuzamos buszon keresztül.

Bár a sony előszeretettel használ saját fejlesztést, úgyhogy lehet nem lesz jó. Ezen felül pedig nem is nagyon szereti kiadni a dokumentációkat. illetve csak jó pénzért...
(#) netpirate hozzászólása Aug 15, 2010 /
 
Woow! 5 éves topic, még mindig aktív és még mindig nem tudom, hogy hogyan tudnék olyan pic-eket programozni, amik memóriára mentenek adatot, és a dátumot is megőrzi. 5 év gyerekek, és senki se tudott ezalatt segíteni... Kemény.
(#) brato válasza netpirate hozzászólására (») Aug 15, 2010 /
 
Üdv!

Az is elég kemény, hogy 5 év alatt nem sikerült annyit összeolvasni a topicon, hogy egy PICET programozz.
Főleg, hogy mint írtad programozni megtanultál.
(#) netpirate válasza brato hozzászólására (») Aug 15, 2010 /
 
Akkoriban, amikor net nélkül maradtam, nem volt esélyem összeolvasni sehonnan, utána meg a programozás vonalat erősítettem, így mára vezető programozó vagyok egy neves cégnél. Sajnálom a mai napig, hogy az elektronikában nem volt akkoriban lehetőségem így és ennyit fejlődni, de ami késik az ugye nem pontos Mindenesetre 5 év után természetesen már érdektelen a dolog, már nem is emlékszem, hogy mihez is akartam építeni. Az előző hozzászólásomban a csalódottságomat akartam kifejezni, hogy nem volt túl nagy lendület senkiben sem, hogy legalább 1-1 dokumentum linket ide rakjon, hogy segítsen, merrefelé is kezdjem kikaparni a gesztenyét. Remélem azóta cserélődött, és bővült a társaság annyit, hogy a segítséget kérő kezdők, legalább egy irányt kapjanak, merrefelé induljanak el. Köszi
(#) toto válasza netpirate hozzászólására (») Aug 15, 2010 /
 
Azt hiszem, minden fórumtársam nevében írhatom, hogy most nagyon szégyeljük magunkat.
Azért kicsit megnyugvást jelent, hogy neked közben bejött az élet. Azért meg pláne, hogy
Idézet:
„5 év után természetesen már érdektelen a dolog”

és mégis vetted magadnak a fáradságot, hogy lustaságunkkal szembesíts bennünket.
Azzal biztos te is tisztában vagy, hogy egy javarészt szunnyadó topicot (10 hozzászólás 5 év alatt) kevesebben látogatnak, mintha egy nyüzsgő helyen tetted volna fel a kérdésed. Kevesebb látogató kevesebb lehetséges segítség. Ez szerintem máshol is így van.


Érdekes módon AVR-re jobban található ingyenes forrás az SD kártyák kezelésére, mint PIC-re, PIC esetében inkább fizetős források lelhetők fel a neten.
Én anno CCS forrásokat találtam, amelyek ingyenesek, ezeket házi építésű MP3 lejátszókhoz használták.
pl. Sakura MP3 lejátszó Innen el lehet indulni, ha valakinek a CCS megfelel.
Ja és az MMC kártyák kezelése szinte ugyanaz, mint az SD-é.

Viszont ha csak 100kB adatot kell tárolni, arra flash memóriás IC-k jobban megfelelnek pl. SPI kommunikációval. Egyszerűbb az írás-olvasás, nem kell FAT kezelés, viszont akkor az adatok átvitelét a PC-re is meg kell oldani soros kommunikációval, vagy újabban mondjuk USB-vel.
(#) zenetom hozzászólása Jan 21, 2012 /
 
Ha már van ilyen topic is, jelentem, hogy sikerült egy 8Mbites SPI-s memóriát (M25P80) beizzítani PIC-el, asm alatt.
Majd PC-ről RS232-n rakok bele adatokat, csak ezek a normálatlanok a Microchipnél egy lábra rakták az UART bemenetet és az SPI kimenetet... Szóval majd 18F252-el bűvölöm tovább.
A szokásos "Hello World!" szöveget írtam be a memóriába, majd olvastam ki.
(#) brumibali válasza zenetom hozzászólására (») Jún 13, 2012 /
 
Hi
25lc01b eeprommmal játszok, érdekes c-ben a lekezelése. Épp ma vettem észre hogy a 18F es ficemnek már van első memóriája, és eyből átirtam rá a programot
29f200-at kéne valahogy lekezelni c-ben. ötlet?
(#) zenetom válasza brumibali hozzászólására (») Jún 14, 2012 /
 
Tyű ez lábtemető.
Mire akarod használni?
Egyébként azóta én meg az SPI-s flash memóriával csináltam WAV lejátszót, igaz 44.1kHz-es mintavételezéses 8 bites WAV-ból csak 23 másodperc fér bele
(#) szilva válasza zenetom hozzászólására (») Jún 14, 2012 /
 
Én most épp SD kártyaolvasást írkálok asm-ben PIC18-ra. Úgy néz ki, hogy a kártyakezelés megvan, a FAT kezelése megvan, már működik a clusterláncon történő lépkedés, egy-két apró simítás kell még (valami fileválasztó módszer leprogramozása directory bejegyzések értelmezésével), és használható lesz. MMC, SD és SDHC kártyákkal tud kommunikálni, egyelőre írást a kártyára nem tervezek, csak olvasást. Bennem is felmerült az ötlet, hogy lehetne valamilyen zenelejátszót építeni belőle, pl. elromlott, szebb időket látott asztali CD játszók D/A-ját felhasználva, és mondjuk wav-ot vagy valamilyen lossless formátumot értelmezni a kártyáról. Azért egy 4GB-os kártyára még CD image-ben is elfér jópár óra zene.

A jelenlegi projekt amúgy ettől teljesen eltér, a kártyáról felolvasott szalagtartalom-leíró fileok alapján akarok C64 felé magnókimenetet hazudni (mintha a C64 datasette-ről jönnének a jelek egy kazettáról).
(#) zenetom válasza szilva hozzászólására (») Jún 14, 2012 /
 
Az SD kari már jó móka, elismerésem!
Én csak belenézegettem, mit hogyan lehetne, de azt későbbre tervezem, továbbá sajnos most nem nagyon tudok elektrózni.
Viszont amit jó lenne megcsinálni, az egy FLAC lejátszó
Már gondolkoztam az ARM-eken is, hogy bele kéne kóstolni, vagy a dsPIC-ekbe.
De ez még a jövő zenéje.
(#) szilva válasza zenetom hozzászólására (») Jún 14, 2012 /
 
Magának a kártyának a kezelése, főleg, ha írni nem akar rá az ember nem egy nagy ördöngősség. Ami inkább feladja a leckét, az a filerendszer (jelen esetben a FAT) kezelése, itt az okozza a fő problémát, hogy nagyon kicsi a PIC memóriája, nem lehet RAM-ban tartani semmit.

dsPIC-en én is gondolkoztam már, de még nem vettem rá magam. Azokkal azért lehetne jól csinálni ilyesmit, mert szabványos AClink-en keresztül rá lehetne kötni bármilyen AC97 kompatibilis chipet, és akkor az analóg kimenet elég egyszerűen meg lenne oldva, hangerő, és esetlegesen hangszínszabályozással együtt.
(#) gabi20 hozzászólása Jún 21, 2012 /
 
Sziasztok vettem egy ATMEL DataFlash memóriát (AT45DB321). Ebben ugye van két buffer amelyeken keresztül be lehet írni az adatot a flashbe. A buffereket tudom írni - olvasni, de a flashbe nem tudom bemásolni a tartalmukat, illetve amikor kiolvasom a flasht mindig nullák jönnek ki belle. Azt szeretném tudni hogy első indítás után nem kell-e valamilyen protectiont kikapcsolni, hogy tudjak írni a flashbe.
(#) efiscp válasza szilva hozzászólására (») Jún 21, 2012 /
 
Miért nem használod a Microchip MDD könyvtárát az application frameworkből? Működik PIC18-on is, és bár a hely kicsit szűkös neki, rendesen dokumentálva van, hogy hogyan lehet használni rajta. Sokkal jobb az irodalma, mint pl. az USB stacknek. Az igaz, hogy nem nagy kihívás beröffenteni.
(#) szilva válasza efiscp hozzászólására (») Jún 22, 2012 /
 
ASM-ben készül a cucc. Amúgy megy rendesen, kicsit az MMC kártyákkal voltam megakadva, mert ha behelyezett kártya mellett kapcsoltam be a tápfeszt, akkor rendszeresen nem sikerült neki az inicializálás. Kicsit jobban kiveséztem az init szekvenciát, főleg az első burst-öket, és most stabilnak tűnik ez is. MMC, SD és SDHC kártyákkal a FAT12/16/32 kezelés megoldva, directory- és fileolvasás működik. Most a sok sallanggal együtt is 3k körül van a teljes kód. Egy nagy file byteonkénti végigolvasásánál nagyjából 70 kbyte/sec a feldolgozási sebességem.

Sajnos a kevés RAM miatt elég kínlódás pl. egy directory listázás, főleg, ha valami rendezettséget is szeretne az ember. Jelenleg ezzel a részével foglalkozom, és lassan rá akarok térni a lényegre is, amiért az egész készülne.
(#) Programmer válasza szilva hozzászólására (») Jún 22, 2012 /
 
Ki tudnád fejteni hogyan mérted a sebességet? Mekkora file, órajele a PIC nek, párhuzamos/SPI stb. Esetleg, ha publikus, leírnád, hogyan működik a byte onkénti olvasás? A RAM igényt meg tudtad becsülni?
(#) szilva válasza Programmer hozzászólására (») Jún 22, 2012 /
 
A sebességmérés roppant egyszerű módon történt. Az SD kártyáról kiválasztok egy file-t (a roppant primitív kiválasztómmal, ami a gyökérkönyvtár elemeit hozza elő), majd gombnyomásra indul a folyamat, ami megnyitja, majd byteonként végigolvassa a file-t. A megnyitásnál illetve az olvasás végén kiírok az LCD-re egy-egy karaktert, az időt közben stopperrel mérem.

A PIC jelenleg egy 18F2520, aminek van összesen 1.5kbyte RAM-ja, ami az MPLABX szerint kb. félig van belakva úgy, hogy ebben benne van egy 512 byte-os blokkpuffer is. A PIC 20MHz-es kvarcról jár, az SPI órajele Fosc/4-re van állítva, azaz 5MHz.

A byteonkénti olvasást úgy értem, hogy írtam egy rutint, amit meghívva mindig a láncolat következő byteját adja vissza. Természetesen vannak esetek, amikor ez csak egy következő byte visszaadása a pufferből, mivel a kártyáról 512 byte-os blokkokban olvasok. Viszont amikor blokkhatárra érkezek az olvasással, akkor a következő blokkra, netán a következő clusterre lépést is ez a byteolvasó rutin intézi, a hívó szemszögéből ez "láthatatlan".
(#) efiscp válasza szilva hozzászólására (») Jún 22, 2012 /
 
Érdekes, az MDD könyvtár sem inicializál nálam, ha berakott kártyával adom rá a feszt. Nekem távlati terveimben szerepel egy egyszerű videolejátszó, szóval én rögtön egy PIC32-re akasztottam a dolgot. Ott nincs gond a memóriával. Nem lenne jobb portolni a projektedet valami nagyob PIC-re?
(#) szilva válasza Programmer hozzászólására (») Jún 22, 2012 /
 
Ja, azt elfelejtettem írni, hogy többszáz kbyte-os fileokkal, és egy 21MB-os file-lal is teszteltem, sebesség tekintetében nem találtam eltérést. Még a különböző kártyák között sem mértem eltérést, persze ennél a feldolgozási sebességnél nem is szabad, hogy legyen. A tesztnél még annyit tettem meg, hogy a fileméretből hatot kivontam a ciklus indítása előtt, a végén pedig 8 byteot olvastam még, amit kiírtam az LCD-re is. Így lehetett ellenőrizni, hogy a 21MB-os file végén is jó pozíción vagyok, a clusterláncolat követése hibátlan volt.
(#) szilva válasza efiscp hozzászólására (») Jún 22, 2012 /
 
Azon gyötrődöm, hogy maga az alapfeladat egy 16F-en is simán elketyegne, ha mondjuk az SD kártya és főleg a FAT kezelésére nem kellene ennyi plusz erőforrás. Nagy aránytalanságnak érezném még egy ennél nagyobb PIC-et erre használni. Bár valószínűleg tényleg sokkal kényelmesebben "össze lehetne ollózni" a működő progit. Ha PC-re írnék olyan progit, ami az SD kártyára valami raw formátumot állítana össze, amit csak lineárisan végig kell olvasni, akkor biztos, hogy elég lenne egy 16F is.
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem