ÚAMT FEKT VUT
Zá znamová karta pro mikroprocesor Rabbit
Diplomová prá ce
Tomá š kreuzwieser Email:
[email protected]
Brno 2004
Osnova prezentace Cíl mé prá ce (zadá ní) Proč jsou pamě ťové karty důležité Hardware: Popis srdce test. desky – Modulu RCM3200 Popis pamě ťové karty MMC Ná vrh testovací desky Software: Proč jsem zvolil prá vě FS FAT Požadavky na knihovní modul (knihovnu) Struktura knihovního modulu Zá vě r
Cí lem méprá ce bylo: 1. Navrhnout prototypovou desku, která umožňuje připojení pamě ťové karty standardu MMC (MultiMedia Card) k mikrořadič ové mu systé mu RCM3200, založené mu na mikroprocesoru Rabbit 3000 2. Realizace programový ch vazebních modulů (knihovních funkcí), které toto pamě ťové mé dium obsluhují (naprogramová ní ovladač e pro ně který z bě žně používaný ch souborový ch systé mů – v mé m případě FAT, viz dá le) 3. Vytvořit jednoduchý testovací příklad, který bude demonstrovat funkč nost programové ho vybavení. Požadavek: Knihovní funkce musí bý t použitelné i v OS dodá vané m s RCM3200
Souč asný stav
- význam pamě ťových karet v dneš nídobě Na trhu je nespoč et zařízení, které využívají pamě ťové karty pro uklá dá ní dat. Typické příklady: •mě řící přístroje •poč ítač e do dlaně , zá znamníky •chytré mobilní telefony •hudební přehrá vač e •digitá lní fotoapará ty
Souč asný stav
- vývoj nové ho zaří zení Při vý voji nové ho zařízení, využívající pro uchová ní dat pamě ťovou kartu, je nutné použít pomě rně složitý operač ní systé m, jehož souč á stí je i podpora alespoň jednoho ze souborový ch systé mů. Druhou možností je to, že si každá z firem naprogramuje ovladač e souborové ho systé mu vlastní. Má prá ce se vydá vá druhý m smě rem. Tedy cestou napsá ní vlastních ovladač ů.
Hardware
- modul RCM3200: souč á sti
• Mikroprocesor Rabbit 3000 firmy Rabbit Semicoductor (klon populá rního procesoru Z80) na frekvenci 44 MHz. • 512 kB pamě ti flash, 512 kB statické pamě ti RAM programu a 256 kB datové SRAM. • Dva 34pinové konektory, které zpřístupňují 52 digitá lních I/O linek sdílený ch se šesti sé riový mi porty (RS232/485), které mají podporou IrDA, I2C, SPI, 10bitové PWM a další alternativní funkce. • Integrovanou souč á stí modulu je RJ–45 10/100Base–T Ethernet rozhraní s podporou všech zá kladních protokolů z rodiny ARP/ICMP/TCP(UDP)/IP.
Hardware
- modulu RCM3200: vlastnosti
• Napá jení 3,3 V (I/O tolerantní k 5 V) • Modul RCM3200 je to ideá lní volba pro vý vojá ře, který
požaduje rychlý vý voj a implementaci embedded systé mů s plně integrovanou ethernet konektivitou, dá le pak pro automatizaci a pro mě ření. • Instrukč ní sada mikroprocesoru Rabbit 3000 je odvozená z populá rních procesoru Zilog Z80. • RCM3200 je dodá vá n s vý vojový m prostředím DynamicC. Souč á stí jsou zdrojové texty všech knihoven.
Hardware
- MMC karta: historie, využití
• Na trh byla uvedena v roce 1998 (MMC) • Je to otevřený standard spravovaný organizací MMCA
(MultiMedia Card Association). Zaklá dajícími č leny té to asociace byly firmy SanDisk a Siemens. • MMC pamě ti byly vyvinuty především pro oblast digitá lního zá znamu zvuku a č á steč ně i obrazu (odtud ná zev). • Pro svůj malý rozmě r se používají v mobilních komunikač ních systé mech (PALM, Nokia, Siemens, Casio atd.). • V digitá lních fotoapará tech se dnes již prakticky nepoužívají. • MMC je kompatibilní s nově jší kartou SD (SecureDigital Card).
Hardware
- MMC karta: zá kladnívlastnosti
• Rozmě ry karty jsou : 32 mm×24 mm×1,4 mm • Přenosová rychlost: až 2,5 MB/s • Provozní teplota: -25 C až +85 C • Životnost: 1 mil. cyklů • Spotřeba energie: č tení – maximá lně 100 mA zá pis – maximá lně 33 mA • Připojení pomocí 7pinové ho rozhraní • Provozní napě tí v rozsahu 2,7 V až 3,6 V • Rozhraní SPI nebo MMC • Na jedné sbě rnici může bý t více MMC karet • Velikost sektoru je 512 B
Hardware
- Ná vrh prototypovédesky, souč á sti
• Tato deska spojuje modul RCM3200 s napá jecími obvody a obvody zprostředková vající styk s okolím. • Nedílnou souč á stí desky jsou samozřejmě konektory pro pamě ťové karty. První z nich je urč en k připojení karty CompactFlash a druhý pro MMC kartu. Deska je rozdě lena na tyto zá kladní č á sti: • Blok napá jení 3,3 V • Blok napá jení 5 V • Řídící modul RCM3200 • Rozhraní RS232
Hardware
- Ná vrh prototypovédesky, souč á sti
• Rozhraní RS485 • Rozhraní pro CF kartu • Rozhraní pro MMC kartu • Vý stup pro LCD display • Signalizač ní LED diody • Blok dalších digitá lních vstupů/vý stupů
Hardware
- Prototypová deska, hornístrana
Software
- Důvody volby souborové ho systé mu FAT Jako souborový systé m jsem si zvolil systé m FAT, protože je bě žně použitelný ve všech operač ních systé mech, používá se ve vě tšině embedded zařízení, je spolehlivý a relativně jednoduchý .
Software
- Požadavky => vlastnosti 1. 2. 3. 4. 5. 6. 7. 8.
Musí bý t maximá lně spolehlivý (i na úkor vý konu) a přenositelný (Cross Platform). Musí podporovat všechny typy souborové ho systé mu FAT (FAT12, FAT16 i FAT32) a musí sá m typ souborové ho systé mu urč it. Musí umě t dlouhé ná zvy souborů (a adresá řů) na všech typech FAT. Musí zvlá dat prá ci s cestou o libovolné m zanoření a o dé lce alespoň 200 znaků. Musí používat klasická lomítka pro rozdě lová ní cesty na jednotlivé č á sti místo nestandardních lomítek zpě tný ch. Musí bý t maximá lně kompatibilní se standardními knihovnami pro prá ci se soubory (především s knihovnou stdio.h). Nesmí (stejně jako operač ní systé my DOS a Windows) rozlišovat mezi velikostí písmen (Case InSensitive). Nesmí bý t použity žá dné rekurze a podobné nežá doucí programá torské postupy.
Software
- Požadavky => vlastnosti 10. Nemusí umě t kódová ní UNICODE. 11. Operace č tení/zá pisu FAT tabulky i adresá ře musí bý t bufferované a každý otevřený soubor musí mít vlastní vyrovná vací buffer o velikosti minimá lně jednoho sektoru. 12. Co nejvíce velký ch datový ch struktur musí bý t globá lních. 13. Jednoduché promě nné budou loká lní. 14. Všechny promě nné , jejichž velikost přesahuje 4 bajty, budou funkcím předá vá ny pomocí ukazatelů. 15. Bude naprogramová n v programovacím jazyku ANSI C. Bod č íslo 6 (zachová ní kompatibility se standardní knihovnou stdio.h) nebylo možné splnit v plné m rozsahu, protože DynamicC neumí dynamicky alokovat pamě ť (proto jsem nemohl realizovat funkce vracející ukazatel na datovou strukturu).
Software
- Struktura knihovny EMBFATFS
• • • •
Knihovna EMBFATFS je rozdě lena do dvou souborů embfatfs.c (90% kódu tj. 5000 řá dků kódu) a embfatfs.lib (datové struktury, konstanty a makra) Knihovna (v aktuá lní verzi 0.5.5) obsahuje 125 funkcí, které jsem rozdě lil podle standardního postupu do tří úrovní (podle prefixu; v c++ privá tní metody tříd) Popis zá kladních funkcí (funkcí bez prefixu) je uveden v textu DP Kompletní informace jsou dostupné ve formě komentá řů ve zdrojové m textu
Software
- Test knihovny EMBFATFS
Zá vě r
• • •
•
Vý sledkem prá ce je univerzá lní testovací deska a obecně použitelný knihovní modul nazvaný EMBFATFS (EMBedded FAT File System). Tento modul zajišťuje podporu standardního souborové ho systé mu FAT. Obsahuje všechny požadované funkce pro prá ci s tímto systé mem, přesně tak, jak požaduje zadá ní. Celkově může programá tor využít ně kolik desítek funkcí, které nepředpoklá dají hlubší znalost dané ho programové ho vybavení. Tyto funkce jsou jmé nem i parametry co nejpodobně jší standardním funkcím knihovny stdio.h nebo příkazům operač ního systé mu UNIX a DOS/Windows. Programá toři, kteří si chtě jí sami vyvíjet funkce na míru své aplikaci, mohou využít zhruba stovku funkcí pro prá ci s MMC a se systé mem FAT.
Zá vě r (pokrač ová ní )
• •
Při prá ci jsem se snažil, aby se kód programu dal s minimá lními změ nami využít i na jiný ch architekturá ch, než jen s modulem Rabbit RCM3200, popřípadě s jinou pamě tí, než s MMC (například CF). V textu DP je pomě rně podrobně popsá n princip FS FAT a MMC karta. Při psaní tě chto dvou kapitol jsem se zamě řil na praktickou použitelnost z hlediska programá tora.
Otá zky Ing. Petr Fiedler:
• •
Jaké jsou vý hody a nevý hody MMC karet v embedded aplikacích? S jaký mi MMC kartami jste vaše knihovny testoval?