PicAxe a SD karta

Odpovědět
johan
Příspěvky: 31
Registrován: 20 bře 2013, 00:19
Bydliště: Ostrava

PicAxe a SD karta

Příspěvek od johan »

Ahoj
Přemýčlím o zapojení sd karty ke kontroleru 40x2, do které bych logoval údaje např. o teplotě a čase a to každých 10 minut do souboru např. txt
Karta by měla být klasická SD (nebo SD mini či SD mikro s redukcí)
Nemáte někdo zkušenosti s tímto zapojením, a je to vúbec reálné spojovat Picaxe s SD kartou?

Díval jsem se na různá zapojení na netu, ale ty jsou všechny s AVR a SDI sběrnicí už s hotovými knihovnami.
Našel jsem sice jedno zapojení s Picaxe 40x2, ale to bylo bez, alespoň jednoduchého příkladu a chodilo po sběrnicí I2C ? ...nevím :? .

Popis zapojení Picaxe 40x2 a 9.ti pinové karty SD

vývod 1 CD/Dat3 - jen pull up rezistor 4k7 (3.3V) (v avr značený jako CS-chip select)
vývod 2 CMD - Data in jde na 24.tou nohu (C.5/hspi sdo) (v avr značený mosi)
vývod 3 zem - VSS
vývod 4 +V - VCC 3,3V
vývod 5 CLK - clock jde na 18.tou nohu (C.3/hi2c scl/hspi sck)
vývod 6 zem - VSS
vývod 7 Dat0 - Data out jde na 23.tí nohu (C.4/hi2c sda/hspi sdi) (v avr značený miso)
vývod 8 Dat1 - jen pull up rezistor 4k7 (3.3V)
vývod 9 Dat2 - jen pull up rezistor 4k7 (3.3V)


Jak tak "pročítám" net v angličtině, je tady problém s přenášením a zapisováním jednotlivých bloků na SD paměti- 512 bajtů
a pak s formátováním SD karty (FAT 16, FAT 32.)

Další problém,
cituji.
"Existují paměťové karty různého typu. Pocházejí od různých výrobců elektronických zařízení
Oproti klasickým pevným diskům jsou data na flash médiích zašifrovaná a rovnoměrně rozložena do jednotlivých paměťových buněk pomocí speciálních algoritmů. Nejtěžší je složit přečtená data do smysluplných celků. Každý výrobce používá k šifrování dat na flash médiu vlastní algoritmus. Bez jeho znalosti se data do použitelné podoby poskládat nepodaří. Hledáme proto způsoby, jak data vhodně poskládat zpět."
Konec citace

Musím se řiznat, že ani nevím, jaký příkaz, bych měl použít pro zápis pro tukterou sběrnici

Dále pak o sběrnici SPI u Atmelu.
cituji:
"Jde o 3 vodičové synchronní rozhranní. Výrobce Atmel tyto signály nazývá MOSI (Master out,Slave in), MISO (Master in, slave out) a SCK (serial clock), dva jsou datové a jeden hodinový. Periferie mohou být nastaveny do režimu Master, nebo Slave, podle toho jsou-li zdrojem hodinových impulzů, tedy řídí-li komunikaci (což zpravidla řídí jen MCU). Zpravidla se nevyhneme i dalšímu doplňujícímu pomocnému vodiči CS-chip select (na SD kartě vývod 1) Ten "adresuje" konkrétní periferii na sběrnici (může to být jakýkoliv z volných pinů MCU). Zde doplňuji, že SD karta používá tzv. režim 0,0 a prozatím frekvenci 2MHz. Při taktování procesoru externím krystalovým oscilátorem 16MHz (a děličky kmitočtu pro SPI :8) jsem dosáhl času čtení(zápisu)cca 3,5ms"
Konec citace.

V zapojení s Picaxe není tento vývod jak vidno, vůbec použitý.

Samozřejmě, že nečekám hotové řešení, ale pokud Vás někoho něco napadne cestou do školy nebo do práce....
.....zkusím ještě na netu něco najít.

Díky Johan
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: PicAxe a SD karta

Příspěvek od jrt »

Co tohle?
jrt
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: PicAxe a SD karta

Příspěvek od Dex »

"Existují paměťové karty různého typu. Pocházejí od různých výrobců elektronických zařízení
Oproti klasickým pevným diskům jsou data na flash médiích zašifrovaná a rovnoměrně rozložena do jednotlivých paměťových buněk pomocí speciálních algoritmů. Nejtěžší je složit přečtená data do smysluplných celků. Každý výrobce používá k šifrování dat na flash médiu vlastní algoritmus. Bez jeho znalosti se data do použitelné podoby poskládat nepodaří. Hledáme proto způsoby, jak data vhodně poskládat zpět."
Tohle řeší přímo řadič v kartě a pokud se nechcete věnovat záchraně dat nemusí Vás to zajímat ;)
"all your robots are belong to us"
robodoupe.cz
johan
Příspěvky: 31
Registrován: 20 bře 2013, 00:19
Bydliště: Ostrava

Re: PicAxe a SD karta

Příspěvek od johan »

Díky Dex za informaci o "šifrovacích algoritmech", ted už vím, že se nevstahuje k běžnému používání - zápisu či čtení. ;)
Jrt - oba soubory .bas prostuduju. To je ten kod k mému schématu(obrázku) :)

Pokud se mi podaří vyřešit nějaký alespoň dílčí problém, dám ho sem.
Díky moc za informace,
Milops3
Příspěvky: 51
Registrován: 09 kvě 2013, 20:51

Re: PicAxe a SD karta

Příspěvek od Milops3 »

Cau,pokud se jedna o PIC18F45K22 tak ten ma napajeci napeti 1.8 to 5.5V , kdyz ho nebudes napajet 3.3V ale > napetim tak musis dat na vystupni piny odporovy delic
FAT16 je rozhodne jednodussi
samotny ovladani mmc je pomoci 4 rutin,inicializace,cteni bloku,zapis bloku,odeslani prikazu,a s tim si vystacis
-----------//--------------- potreba jen 4 pinu,data in,data out,clk, cs (chip select)
ovladani fatky neni nic slozityho kdyz pochopis jak to funguje, a *.TXT je jednoduchy

pokud mas zajem napis co nechapes a neco s tim udelame ... ;)
johan
Příspěvky: 31
Registrován: 20 bře 2013, 00:19
Bydliště: Ostrava

Re: PicAxe a SD karta

Příspěvek od johan »

ahoj
omlouvám se za pozdní příchod
pokud se jedna o PIC18F45K22 tak ten ma napajeci napeti 1.8 to 5.5V , kdyz ho nebudes napajet 3.3V ale > napetim tak musis dat na vystupni piny odporovy delic
mám PIC18F45K22 a budu ho napájet větším napětím než 3.3V ...čili 5V
Které výstupní piny... data in, data out, clock, cs ?... ty čtyři stačí?
FAT16 je rozhodne jednodussi
Ikdyž jsem ještě naformátoval SD kartu ale jenom hdd, tak tohle bych mohl zvládnout
samotny ovladani mmc je pomoci 4 rutin,inicializace,cteni bloku,zapis bloku,odeslani prikazu,a s tim si vystacis
na netu jsem se dočetl to samé 4.knihovny (inic. čtení/zápis odes.příkazů) bohužel je to vše pro "C"čko
jaště pro upřesnení. Nebudu používat MMC kartu ale SD kartu (mini nebo mikro) ...ale to je asi jedno...?
ovladani fatky neni nic slozityho kdyz pochopis jak to funguje, a *.TXT je jednoduchy
Vytvoření "nového textového dokumentu" provedu zrejme tak, ze ho vytvořím přímo na SD kartě zapojené v PC, a to po naformátování SD
pokud mas zajem napis co nechapes a neco s tim udelame
Nachci tě zbytečně vyplašit, když už jsi na fóru, ale nechápu téměř nic.
Např: Jak iniciovat kartu a jak do ní zapsat jeden znak(číslo) např. z incrementu co 10.sekund, a to hezky pod sebe

b0=0
inc b0
pause 10000

a to bez dalších periferii jako - lcd, glcd, rtc, eeprom apod.

Prostě jen mcu a SD

díky
Milops3
Příspěvky: 51
Registrován: 09 kvě 2013, 20:51

Re: PicAxe a SD karta

Příspěvek od Milops3 »

vse co potrebujes se da najit na netu, staci pouzit google a vetsinou pomaha hledat i v obrazkach ;)
zapojeni 5V mcu + 3.3V karty
MMC a SD kadta neni to samy, s SD nemam skusenost jen s MMC....,jina inicializace
pri zapisu na kartu se zapisuje po blokach, tj 512 bytu, takze si musis udelat bufer o 512B do toho zapisovat a kdyz je plnej tak zapsat na kartu, jde to samozrejme i po tech bytech ale karta ma omezenej pocet zapisu ..(100K ?.. uz presne nevim) takze zapis po jednom bytu skratis 512x na jeden blok , je to jednodussi zapisovat po blokach,
vytvorit TXT na PC a pak do nej zapisovat mcu, noo :? , uvidis sam , co ti bude vyhovovat
samotnej text v TXT se zapisuje v ASCII znacich, takze cislo "10" je 0x31 0x30 tudis 2 byty ,
Céčko je hodne podobny jako tyhle paskvily.... 8-) takze staci trochu premejslet a jde to pochopit, kdyz ne tak ses v koncich,je treba se naucit cist v ruznejch odrudach kodu aspon tak aby si pochopil co to dela, netrwba na HW urovni.... ;)

nejdriv by si mel zacit s hledanim inicializace SD karty a prepnuti do SPI modu ...+ rozchodit SPI na mcu, k tomu je dobry mit LA bez toho to pude na "picaxe" :lol:
johan
Příspěvky: 31
Registrován: 20 bře 2013, 00:19
Bydliště: Ostrava

Re: PicAxe a SD karta

Příspěvek od johan »

pri zapisu na kartu se zapisuje po blokach, tj 512 bytu, takze si musis udelat bufer o 512B do toho zapisovat a kdyz je plnej tak zapsat na kartu, jde to samozrejme i po tech bytech ale karta ma omezenej pocet zapisu ..(100K ?.. uz presne nevim) takze zapis po jednom bytu skratis 512x na jeden blok , je to jednodussi zapisovat po blokach
To jsem se taky dočetl v přeloženém článku o SD a Picaxe. Problém udajně je, kde to uložit, když všechno má malou pamět nebo zase omezenou životnost, a to jak počtem zápisu, tak léty používání.
Tady těch 512 bajtů řeší zápisem do programové paměti příkazy POKE, PEEK a SRF. Tak tady nevím "která bije"a budu si muset pročíst manuál
samotnej text v TXT se zapisuje v ASCII znacich, takze cislo "10" je 0x31 0x30 tudis 2 byty
Tak tady pro zápis zřejmě použiju příkaz SEROUT s konverzí na dekadický řetězec...
nejdriv by si mel zacit s hledanim inicializace SD karty a prepnuti do SPI modu
...na to se taky podívám. Řikal jsem si, že SPI u Picaxe asi nikdy nepoužiju...a ejhle!?

Díky za připomínky, obrázek i úvahy o předprogramovaných obvodech.
Pirx
Příspěvky: 181
Registrován: 24 úno 2013, 16:29
Kontaktovat uživatele:

Re: PicAxe a SD karta

Příspěvek od Pirx »

Kdyz uz budes mit rozchozene SPI, tak si tam prdni SPI SRAM, napriklad 23LC1024 (treba za 80 Kc na Farnellu) a mas hezkych 128 kB na buffery a dalsi pametove radovanky.
Soldering fumes make you stronger!
Odpovědět