以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- Windows驅動開發 (http://www.hufushizhe.com/bbs/list.asp?boardid=75) ---- 【WinCE】SD card技術了解并WINCE下SDHC驅動開發(updated) (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=75&id=2721) |
||
-- 作者:wangxinxin -- 發布時間:2010-12-17 12:01:31 -- 【WinCE】SD card技術了解并WINCE下SDHC驅動開發(updated) Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stack. 6 Bus Driver 7 Host Controller Driver 8 Client Driver 10 SD on MX31 ADS. 14 Secure Digital Host Controller 14 LP1070 Secure Digital I/O Wi-Fi Driver 17 SD on EVT. 19 附錄... 19 Author:Titan.Song Suumary: 簡單介紹了一下SD卡的歷史和發展,同時結合MX31 ADS上的WINCE 下SDHC驅動更深入的了解該硬件的一些行為特點。 了解SD cardSD是Secure Digital Card卡的簡稱,直譯成漢語就是“安全數字卡”,是由日本松下公司、東芝公司和美國SANDISK公司共同開發研制的全新的存儲卡產品。SD存儲卡是一個完全開放的標準(系統),多用于MP3、數碼攝像機、數碼相機、電子圖書、AV器材等等,尤其是被廣泛應用在超薄數碼相機上。SD卡在外形上同Multimedia Card卡保持一致,大小尺寸比MMC卡略厚,容量也大很多。并且兼容MMC卡接口規范。不由讓人們懷疑SD卡是MMC升級版。另外,SD卡為9引腳,目的是通過把傳輸方式由串行變成并行,以提高傳輸速度。它的讀寫速度比MMC卡要快一些,同時,安全性也更高。SD卡最大的特點就是通過加密功能,可以保證數據資料的安全保密。它還具備版權保護技術,所采用的版權保護技術是DVD中使用的CPRM技術(可刻錄介質內容保護)。 規格 主要特點: 1.精巧而且超薄 SD記憶卡的尺寸只有24毫米x 32毫米 x 2.1毫米。作為“橋梁媒體”的重要特征,它精致小巧,方便您在不同設備上使用。兼容SD記憶卡的設備可以采用解碼器軟件來播放音樂、影像短片以及更多其他類型的內容,無需像CD播放機或DVD播放機那樣采用驅動裝置。從而使設備的外形更加精巧,同時也賦予了產品設計者發揮自由創意的全新空間。由于消除了播放音樂時的跳音現象,提高了播放的穩定性。 2.大容量栽體 目前,SD記憶卡已經具備各種容量可供選擇,同時,2GB、4GB和8GB的SDHC也出現了。 3.高速數據傳輸 為了提供快速響應和容易處理數字內容,SD記憶卡可以用每秒10MB的速率寫入和讀取數據。當其能夠用于遠程通信終端,直接下載內容時,記憶卡的高速傳送能力將可使存取時間和通信成本降至最低,同時可減輕網絡壓力。 4.擁有版權保護功能 先進的數碼技術使高保真音樂和其他高質量內容的錄制成為現實。日新月異的數碼技術,借助因特網,實現了全球范圍的信息快速共享。這一進步也帶來了對原版內容的大量復制,因此,作為21世紀的一種切實可行的記憶載體就必須具備高水平的版權保護技術,這樣才能保護大量高質的數碼數據。SD記憶卡可以自由復制各種數碼數據,并采用獨特的內置CPRM技術保存和轉移版權所有的內容,這也是建立一個全新的音樂及其他商業媒體的發布體系的關鍵所在。 硬件結構 (參看附錄中SD卡和其他卡的一個對比表) SDIO卡 SDIO(輸入/輸出)卡是一種擴展帶SD卡插孔設備之功能的接口。正在開發各種SDIO卡,如相機、Bluetooth 、GPS和802.11b等。 如果編寫以上設備的驅動,當然前提是有一個合格的SD Host Controller。如同編寫USB STORAGE/HID設備的驅動一樣,需要USB HCD支持。MX31的ADS支持基于SDIO的LP1070 SDIO WLAN Card(在Wince 5.0的SD卡驅動模型里,這種驅動稱為client driver)。 SD_SDIO_SPEC.PDF SDIO features l Targeted for portable and stationary applications l Minimal or no modification to SD Physical bus is required l Minimal change to memory driver software l Extended physical form factor available for specialized applications l Plug and play (PnP) support l Multi-function support including multiple I/O and combined I/O and memory l Up to 7 I/O functions plus one memory supported on one card. l Allows card to interrupt host l Initialization Voltage: 2.0 to 3.6V l Operational Voltage range: 3.1 to 3.5V WinCE 5.0下SD Stack 一共可以分為3個部分:a bus driver, host controller driver 和 client drivers,現分別介紹: 1 Bus Driver 顧名思義,總線,連接client driver和host controller driver之間的一個管理層。這部分代碼微軟已經寫好了,也就是說定義好了client和host之間的通訊接口。(是不是可以這么說:編寫SD WIFI的程序員可以不用知道是什么SDHC,從而達到驅動的跨硬件性) 參考代碼: D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\SDCARD\\SDBUSDRIVER\\ 2 Host Controller 控制硬件并且通過上述的BUS driver來和client進行通訊。 參考代碼: D:\\WINCE500\\PLATFORM\\Mx31\\Src\\Drivers\\Sdhc D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\CSP\\ARM\\FREESCALE\\Mxarm11\\Drivers\\Sdhc 3 Client Driver 通過BUS driver和SD設備進行通訊。 Windows CE 5.0中的SDIO支持如下: l 動態插入和拔出 l DMA方式 (平臺相關) l SDIO 中斷 l 動態的時鐘控制 l 錯誤恢復 l 喚醒 l v1.0 多功能和組合設備 l CE Power Manager來處理電源管理 l MMC 下圖可以清晰的表達基于WINCE5.0的一個SD STACK模型:
Bus Driver主要功能如下: l 枚舉板上的卡,并決定他們的類型(MMC, SD Memory or SDIO) l 配置合適的電流給卡。 l 根據注冊表的值加載clients l 把總線要求入隊列 l 把來自host controller的異步通知入隊列 l 總線要求完成,SDIO 中斷,設備插入\\拔出 l 出錯時重試 參考代碼: D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\SDCARD\\SDBUSDRIVER
Host Controller Driver主要功能: l HCD通知總線驅動卡的插入和拔出 l 給卡上電,SD定義了可接受的初時電壓范圍。 l 在總線驅動何客戶端設置完時鐘速度后,打開客戶端卡的時鐘(80個周期) l 初始,把總線寬度設置成1。如果有需要的話(4-bit mode),把總線寬度設成4bit l 傳輸SD 命令和數據到/來自卡上。 l 負責給槽上電,關電。 l IST 在這里存在 l (可選的)喚醒支持(插入,拔出,SDIO中斷) |