VxWorks操作系統(tǒng)下CF卡驅(qū)動(dòng)程序的開發(fā)
1 概述
CF卡是一種小型的、攜帶方便的存儲(chǔ)I/O卡。由SanDisk等公司發(fā)起成立的CompactFlash協(xié)會(huì)(CFA)制定的CF卡標(biāo)準(zhǔn)促進(jìn)了 CF卡的發(fā)展,目前CF卡標(biāo)準(zhǔn)為4.0版本。同時(shí)支持3.3V和5V電壓,容量從最早的2M字節(jié)發(fā)展到現(xiàn)今的8G字節(jié),耗電量很低,僅為IBM微型硬盤的 5%。CF卡的大容量、較高的抗震性能、很好的兼容性等特點(diǎn)使其在航空航天、醫(yī)療設(shè)備等領(lǐng)域,以及便攜計(jì)算機(jī)、數(shù)碼產(chǎn)品、個(gè)人通訊設(shè)備、監(jiān)控設(shè)備、網(wǎng)絡(luò)設(shè)備等方面被廣泛應(yīng)用。
本文闡述了在VxWorks嵌入式操作系統(tǒng)下,使用Freescale的MPC8245處理器訪問CF卡的IDE驅(qū)動(dòng)程序設(shè)計(jì),實(shí)現(xiàn)了對(duì)CF卡 FAT16/FAT32文件格式的訪問,便于在PC機(jī)上查看和處理CF卡中存儲(chǔ)的數(shù)據(jù)文件,并說明了在VxWorks操作系統(tǒng)下從CF卡加載應(yīng)用程序執(zhí)行的方法。
2 CF卡接口硬件設(shè)計(jì)
MPC8245是Freescale生產(chǎn)的MPC82XX序列芯片的主流產(chǎn)品,其內(nèi)部集成了PowerPC603e內(nèi)核,最高工作主頻為 400MHz,16K字節(jié)數(shù)據(jù)緩存,16K字節(jié)指令緩存,具有SDRAM接口,數(shù)據(jù)線寬度32/64位,速率最高可達(dá)133MHz,容量最大2G字節(jié)。 MPC8245同時(shí)集成了PCI橋、PCI仲裁器、ROM/FLASH/PortX接口、可編程中斷控制器、DMA控制器、2個(gè)異步串口和I2C接口。ROM/FLASH/PortX接口中基本ROM空間為16M字節(jié),擴(kuò)展ROM/FLASH空間為256M字節(jié),數(shù)據(jù)寬度支持8、16、32、64位。
MPC8245與CF卡的接口框圖如圖1所示。MPC8245通過PortX接口與CF卡相連。
圖1 MPC8245與CF卡的接口框圖
由于PORTX接口為高速接口(10ns時(shí)鐘周期,100MHz總線速度),而CF卡的訪問速度相對(duì)較慢,所以必須充分考慮所有信號(hào)的周期問題。設(shè)計(jì)中,PORTX采用了“Handshake”工作模式,通過插入/DRDY信號(hào)來自動(dòng)延長(zhǎng)PORTX接口信號(hào)的時(shí)間。CF卡所需控制信號(hào)由 MPC8245 PORTX口輸出后經(jīng)過CPLD的邏輯變換產(chǎn)生。
評(píng)論