Fórum témák
» Több friss téma |
Fórum » Egyszerű SD kártya AVR-el
SD kártyát szeretnék használni AVR-el, de nem FAT32 hanem a világ legegyszerűbb módján. Vagyis csak írni és olvasni akarom.
Ezért is nyitottam az új témát, na meg azért is mert sehol a neten nem találtam magyar nyelven leírást erre. Amire kell(het): Adatgyűjtés. Pl napfény vagy bármi. A memóriában (SRAM) gyűjti az adatokat majd, ha eléri az 512 byte-ot akkor kiírja a kártyára. Mivel valamivel fel is akarjuk dolgozni ezért az AVR-nek valahogy kommunikálnia kell a PC-vel vagy amivel akar, de ez a része most nem érdekes. (amúgy lehet akár infrával is a COM porton keresztül ez igazán nem nagy feladat). Az alapgondolat: 0. sectorban tároljuk a FAT-ot, de ez csak annyit mutat meg, hogy mettől meddig tart pontosan az egyetlen file amit használunk. (vagyis csak egy 4 byte-os long van az elején). Utána pedig sorban ott vannak az adatok. Szükség van egy sector író és egy sector olvasó függvényre, ha jól sejtem ami az SRAM egy adott területét kiírja a meghatározott sectorba illetve beolvassa azt. Most kezdtem el átolvasni az SD kártya speckóját, de jó lenne (nem csak nekem), ha valami magyar nyelvű áttekinthető nem túlcifrázott leírás is lenne hozzá. Szóval mégegyszer FAT32 és ATMEga999+++ horribilis áru chippek nem érdekesek. Én ATMega88-al valósítanám meg annak már van 1K memóriája és nem drága (600Ft körül). Nekem amúgy szélerősséget fog mérni. Ami gondot okoz az egyrészt a jó kapcsolás amivel nem teszek tönkre 1000 kártyát és egy kis lökés, hogy merre induljak el. Szeretném, ha ezt a témát akár a neten sokan megtalálnák, mert angolul és fat32-re sokat találtam, de egyszerűt és magyart azt nem. (Ne lőjünk ágyúval verébre ![]()
Helló én innen indultam el : http://www.captain.at/electronic-atmega-mmc.php.
Én sem használtam filerendszert, köztes utat talátam, csináltam egy txt file ami a teljes kártyát elfoglalta, megkerestem hogy a kártyán hanyadik szektor a saját tartalmam és onnan írtam, olvastam a kártyát így nem kell FAT, kártyaolvasó mégis olvassa. Ha nagyon nem boldogulsz akkor túrhatok elő neked kódrészletet is. Üdv Marcello G
Az SD kártya doksiját belinkelnéd vagy feltennéd?
AVR-DOS -t nézted már?
Ez egy BASCOM library amivel tudsz FAT16/32-t kezelni. A fileba írás gyakorlatilag egy open vagy write függvény. Ha sok adatot akarsz eltárolni, akkor a soros vonal sebessége igencsak lassú lesz kiolvasásnál, nem tudod kikerülni a kártyaolvasót....
Én MMC doksiból csináltam, azzal ment.
MMC doksi
A téma kifejezetten az AVR-DOS nélküli adatrögzítésről szól.
A kártyaolvasó maga az AVR lesz ami pl com porton keresztül fogja küldeni az adatokat, vagy más módon, teljesen mind1. A feladat szempontjából lényegtelen az adatok utólagos kiolvasási sebessége, de lényeges, hogy ne lőjünk ágyúval verébre vagyis a legkisebb szükséges chip-et kelljen beépíteni.
Szia!
Én a következő linkeken találtam haszonló megoldásokat a témában: Arduino Nut:uFat MMC/SD/SDHC card library SD card read/write with Arduino GPS Shield
Nos amint látom a legtöbb helyen úgy indul, hogy nem kell nekünk fat meg hasonló aztán valami atmega999-nél kötnek ki meg fat32 meg mindenféle libary-nél.
Ja azt nem mondtam előre, hogy én bascom-ban fogom elkészíteni a programot így először "le kell fordítanom" a C programokat ![]() Még nem tudtam alaposan átnézni a linkeket, de mindenképpen jó lenne esetleg ide egy címszavas leírás, hogy hogyan is kell eljutni oda, hogy 512byte-ot kiírunk egy kártyára. Nem hiszem, hogy túl bonyolult lenne aki csinált már ilyet gondolom 2 perc alatt le tudja írni. Idézet: „Nem hiszem, hogy túl bonyolult lenne aki csinált már ilyet gondolom 2 perc alatt le tudja írni.” Tévedsz.
Amit írtam abban pont az van amit szeretnél.és ATmega16-tal ami egy 5-600 forintos chip. A linken amit küldtem ott ven neked a kész fgv arra hogy hogyan kell kitolni 512byte-ot a kártyára.
Igen az tökéletes már elkezdtem fordítan bascom-ba, hogy halandó is megértse
![]()
Ha szeretnél sokat szívni vele, akkor hajrá.
![]() ![]() A másik, hogy a PC-re átvitel is egyszerűbb, csak bedugod egy kártyaolvasóba, és áttöltöd a txt filet. Mindenesetre a keresett információk már meg is vannak a topikban. ![]()
A full bascom nekem nincs meg és okosítani nem akarok lévén nem vagyok tolvaj sem rabló.
Annyit nem ér, hogy megvegyem mivel csak hobbi szinten használom. A 644-esnek utánanézek, bár az ATMega88-ban is van 1K Sram szerintem azon is elmenne az AVRDOS csak szükségtelen szerintem.
Közben kutakodtam egy kicsit és találtam delphihez olyan komponenst amivel sector szinten lehet írni olvasni az SD kártyákat is így teljesen felesleges a FAT.
Készítek egy ingyenes szoftvert amiben max 128 file-t lehet majd tárolni és simán lehet írni olvasni vagyis ki lehet menteni a file-t és létre is lehet hozni. Így már igazi alternatívát jelenthet a fat32-vel szemben annak aki nem akarja megvenni a bascom-ot meg bonyolultan programozni stb...stb... Csak sok adatot tárolni.
Sziasztok! Arról mit tudtok, hogy microSD-t ugyanúgy lehet-e kezelni, mint a normál SD-t? (SPI könyvtárral, illetve ARM-ok esetében beépített vezérlő segítségével)
Szia
A micro/mini/normal SD között nincs kölönbség SPI se SD modban. Gondolj bele, a microSD-t bele tudod dugni egy tokba és SD lesz belőle.
Sziasztok
Sikerült szereznem pár újfajta microSDkártya foglalatot. Kisebb helyet foglal, a proci fölé is nyúlhat, könnyebb beforrasztani.
Sziasztok!
AVR-hez szeretnék SD kártyát illeszteni. Megépítettem ezt a kapcsolást : Link Még mielőtt rátettem volna az SD kártyát lemértem multiméterrel a feszültséget és a CS és SCK lábakon majdnem 5V-ot mértem. Rendben van ez a kapcsolás és én néztem el valamit, vagy nem jó? Nem szeretném hűvösre tenni a kártyát ![]() Köszi a segítséget! Attila
Mindegyk AVR megy 3,6Voltról. Használd úgy.
Üdv!
Segítséget szeretnék kérni az AVR-SD olvasás/írás (SPI-vel) megvalósításában. Szerencsére az oldal nem túl hosszú, így minden linket, pdf-et átolvastam és a linkeken lévő kódokba is belenéztem. A problémám, hogy nem találom a parancsokhoz (CMD0-58 stb.) a megfelelő hexa vagy bináris kódokat. pl.: SEND_STATUS CMD13 0x???? SET_BLOCKLEN CMD16 0x???? READ_SINGLE_BLOCK CMD17 0x???? WRITE_BLOCK CMD24 0x???? ... stb. Valakinek ezek megvannak? A hozzászólás módosítva: Ápr 12, 2013
Szia.
A parancs számához adj hozzá 64-et, így kapod meg a hexa kódját. CMD16 például így néz ki: h'50', h'00', h'00', h'02', h'00', h'ff' (A blokk hossza 512 (h'0200') bájt lesz.) Az első bájt a parancs (16+64=80 (h'50'), ezt követi 4 adatbájt, és a végén a crc bájt. Nézd át ezt az oldalt, nekem sokat segített. Üdv.
THX!
Ez szerintem az eddigi leghasznosabb infó!!!! ![]() Így már sokkal átláthatóbb és érthetőbb a számomra. SB A hozzászólás módosítva: Ápr 12, 2013
Üdv!
Egy kis gondom akadt az SD kártyával. Még csak az inicializálásnál tartok, annak is a 2. lépésénél. A CMD0 parancs után megkapom R1-nek a 0x01-et, de CMD1 után is 0x01-et kapok. Tehát nem lép ki az IDLE állapotából. A inicializálás így néz ki:
Az UART azért van, benne, hogy HyperTerminalban láthassam hol is tart éppen a program és miket kapok R1-nek. A hozzászólás módosítva: Márc 6, 2015
Megvan a hiba.
Úgy néz ki, hogy a CMD1-et 2x kellett elküldeni és így a másodikra az R1 értéke 0x00 lesz. A hozzászólás módosítva: Márc 6, 2015
Sziasztok!A következő arduino projektet készítettem el: Bővebben: Link
Erről az eszközről bejövő adatokat szeretném sd kártyára rögzíteni txt formátumban a következő olvasóval-íróval Bővebben: Link Van valakinek valami ötlete ,hogy lehetne ezt megoldani?Esetleg programozásban kaphatnék segítséget?(az sd kártya író -olvasó készen van .Le van tesztelve és működik)Köszi a segítséget. Könyvtárai itt találhatók Bővebben: Link UI:Bocsánat de valamiért a link beillesztés nalam nem működik. A hozzászólás módosítva: Márc 6, 2015
|
Bejelentkezés
Hirdetés |