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
PicAxe a SD karta
Re: PicAxe a SD karta
Tohle řeší přímo řadič v kartě a pokud se nechcete věnovat záchraně dat nemusí Vás to zajímat"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."
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: PicAxe a SD karta
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,
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,
Re: PicAxe a SD karta
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 ...
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 ...
Re: PicAxe a SD karta
ahoj
omlouvám se za pozdní příchod
Které výstupní piny... data in, data out, clock, cs ?... ty čtyři stačí?
jaště pro upřesnení. Nebudu používat MMC kartu ale SD kartu (mini nebo mikro) ...ale to je asi jedno...?
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
omlouvám se za pozdní příchod
mám PIC18F45K22 a budu ho napájet větším napětím než 3.3V ...čili 5Vpokud 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
Které výstupní piny... data in, data out, clock, cs ?... ty čtyři stačí?
Ikdyž jsem ještě naformátoval SD kartu ale jenom hdd, tak tohle bych mohl zvládnoutFAT16 je rozhodne jednodussi
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"čkosamotny ovladani mmc je pomoci 4 rutin,inicializace,cteni bloku,zapis bloku,odeslani prikazu,a s tim si vystacis
jaště pro upřesnení. Nebudu používat MMC kartu ale SD kartu (mini nebo mikro) ...ale to je asi jedno...?
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í SDovladani fatky neni nic slozityho kdyz pochopis jak to funguje, a *.TXT je jednoduchy
Nachci tě zbytečně vyplašit, když už jsi na fóru, ale nechápu téměř nic.pokud mas zajem napis co nechapes a neco s tim udelame
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
Re: PicAxe a SD karta
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.... 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"
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.... 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"
Re: PicAxe a SD karta
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í.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
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
Tak tady pro zápis zřejmě použiju příkaz SEROUT s konverzí na dekadický řetězec...samotnej text v TXT se zapisuje v ASCII znacich, takze cislo "10" je 0x31 0x30 tudis 2 byty
...na to se taky podívám. Řikal jsem si, že SPI u Picaxe asi nikdy nepoužiju...a ejhle!?nejdriv by si mel zacit s hledanim inicializace SD karty a prepnuti do SPI modu
Díky za připomínky, obrázek i úvahy o předprogramovaných obvodech.
Re: PicAxe a SD karta
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!