. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
SD/MMC knihovny pro AVR
22. listopadu 2008 | Pandatron | SD/MMC knihovny pro AVR | Komentářů: 21  

SD/MMC knihovny pro AVR

Knihovny pro snadné a rychlé připojení paměťových karet k mikroprocesorům řady AVR.

Na internetu je možné nalézt bezpočet rutin a celých knihoven pro použití SD/MMC karet u jednočipových procesorů. Ovšem pouze jako jedna z mála stále aktualizovaných knihoven je knihovna pocházející od německého autora Rolanda Riegela. Jeho knihovny v současné verzi zahrnují:
- low-level MMC, SD, SDHC funkce pro čtení/zápis
- podporu partition tabulky a více oddílů
- funkce pro čtení/zápis do FAT16 a FAT32

SD/MMC knihovny
Celý balík knihoven, nebo chcete-li rutin obsahuje celkem šest čistě ANSI-C souborů se zdrojovým kódem a samozřejmě i jejich definiční soubory.

byteordering.c
fat.c
main.c
partition.c
sd_raw.c
uart.c

Pro kompilaci je poté použit oblíbený systém makefile souboru, ve kterém je potřeba definovat použitý procesor.

Knihovny jsou dále doprovázeny podrobným manuálem, takže jejich použití je velice snadné a rychlé.

Hardware
Samotný hardware je na webu autora zastoupen pouze těmito dvěma fotografiemi:


Obr. 1: Originální destička
 
Obr. 2: Slot SD/MMC karty

SD/MMC karta se připojuje na SPI piny procesoru, které jsou pro jednotlivé obvody definovány v souboru sd_raw_config.h. Krystal je použit 16MHz a UART pro připojení k PC používá komunikační rychlost 9600 Baud.

Atmega 644
I když je v knihovnách přímá podpora pro poměrně široké spektrum procesorů řady AVR, konkrétně typ ATmega 644 mi v knihovnách chyběl. Doplnil jsem tedy knihovny verze 2008-11-21 o jeho podporu a dávám je zde volně ke stažení.

Na obr. 1 je schéma připojení SD/MMC karty k tomuto procesoru. Čísla pinů 1-7 u konektorů J6-J12 odpovídají skutečným číslům pinů na kartě.


Obr. 3: Schéma zapojení s obvodem ATmega644

Pro ověření funkce bylo zapojení sestaveno v naší redakci na kontaktním poli. Tím byla ověřena jak správná funkce samotných knihoven, tak i modifikované části doplněné o tento procesor.


Obr. 4: Testovací zapojení na kontaktním poli

Modifikované zdrojové kódy jsou ke stažení na konci článku, originální poté na domovské stránce jejich autora.

Seznam součástek
C1             100n
C2             100n
C3             22p
C4             22p
C5             100n
X1             16.000MHz
IO1            ATmega644

Použitá literatura:
http://www.roland-riegel.de/sd-reader
- Obr. 1 a 2

Odkazy & Download:
Domovská stránka autora knihoven - http://www.roland-riegel.de/sd-reader

Modifikované knihovny doplněné o podporu obvodu ATmega644 - sdavr_elmchan_mod.zip







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (21):

Zobrazit starší 30 dnů (21)...

host
21. Dne 30. 05. 2014 v 16:06 zaslal host
Nic moc
Tak jsem se po velmi dlouhé době odhodlal to vyzkoušet (na tento článek jsem narazil před několika lety a tehdy jsem jenom zjistil, že po několika úpravách je přeložitelný v AVR studiu). Teď se mi tedy povedlo udělat si čas i na experiment.
Mám několik postřehů a výhrad:
1) samotný import do AVR studia byl celkem bez problémů (jen bylo nutné založit nový projekt (solution) a do něj zkopírovat main a dodefinovat CPU_SPEED nebo tak nějak (chyběla při překladu), jinak žádné překvapení)
2) program zabírá nějakých 60% paměti programu, což se mi zdá až dost (možná že když zapnu optimalizaci se kapku smrskne)
3) po překladu a nahrání se zdálo být vše OK, ale zjistil jsem, že program podporuje buď SD nebo SDHC podle konfigurační proměnné. Navíc podpora FAT16 nebo 32 (jen jediné) je kopíí tohoto (2GB je SD a mývá FAT32)
4) až potud vše dobré, komunikace přes sériovou linku, detekce karty atd. Listování soubory rovněž. Ovšem při pokusu o zápis se teprve děly věci. Zapsaná data jsem v hexeditu našel (tedy seskutečně zapsala, ale zřejmně úplně jinam).
5) téměř jakékoliv pokusy o modifikaci programu skončily jeho záhadnými pády. To ale může být moje chyba (C neni moje domácí půda)

Procházel jsem knihovny a ty jsou napsané docela pěkně (a přehledně). Chystám se na hloubkovou analýzu, která by mi to měla objasnit (několik věcí se mi tam při zběžném pohledu nezdálo), zatím teda výsledek nic moc. Třeba si tento první dojem opravim.


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
Anténa GPS 2J431 - SMA
Aktivní GPS anténa 2J431 s SMA konektorem
Skladem od 223 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007