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