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