<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > VxWorks操作系統(tǒng)下CF卡驅(qū)動程序的開發(fā)

          VxWorks操作系統(tǒng)下CF卡驅(qū)動程序的開發(fā)

          作者: 時間:2012-03-23 來源:網(wǎng)絡(luò) 收藏

          1 概述

          卡是一種小型的、攜帶方便的存儲I/O卡。由SanDisk等公司發(fā)起成立的CompactFlash協(xié)會(A)制定的卡標(biāo)準(zhǔn)促進了 CF卡的發(fā)展,目前CF卡標(biāo)準(zhǔn)為4.0版本。同時支持3.3V和5V電壓,容量從最早的2M字節(jié)發(fā)展到現(xiàn)今的8G字節(jié),耗電量很低,僅為IBM微型硬盤的 5%。CF卡的大容量、較高的抗震性能、很好的兼容性等特點使其在航空航天、醫(yī)療設(shè)備等領(lǐng)域,以及便攜計算機、數(shù)碼產(chǎn)品、個人通訊設(shè)備、監(jiān)控設(shè)備、網(wǎng)絡(luò)設(shè)備等方面被廣泛應(yīng)用。

          本文闡述了在嵌入式操作系統(tǒng)下,使用Freescale的MPC8245處理器訪問CF卡的驅(qū)動程序設(shè)計,實現(xiàn)了對CF卡 /文件格式的訪問,便于在PC機上查看和處理CF卡中存儲的數(shù)據(jù)文件,并說明了在操作系統(tǒng)下從CF卡加載應(yīng)用程序執(zhí)行的方法。

          2 CF卡接口硬件設(shè)計

          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同時集成了PCI橋、PCI仲裁器、ROM/FLASH/PortX接口、可編程中斷控制器、DMA控制器、2個異步串口和I2C接口。ROM/FLASH/PortX接口中基本ROM空間為16M字節(jié),擴展ROM/FLASH空間為256M字節(jié),數(shù)據(jù)寬度支持8、16、32、64位。

          MPC8245與CF卡的接口框圖如圖1所示。MPC8245通過PortX接口與CF卡相連。

          圖1 MPC8245與CF卡的接口框圖

          由于PORTX接口為高速接口(10ns時鐘周期,100MHz總線速度),而CF卡的訪問速度相對較慢,所以必須充分考慮所有信號的周期問題。設(shè)計中,PORTX采用了“Handshake”工作模式,通過插入/DRDY信號來自動延長PORTX接口信號的時間。CF卡所需控制信號由 MPC8245 PORTX口輸出后經(jīng)過CPLD的邏輯變換產(chǎn)生。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: VxWorks CF IDE FAT16 FAT32

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();