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 featuresl
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\SdhcD:\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\FREESCALE\Mxarm11\Drivers\Sdhc3 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
模型:
安全性 SDA 中的SD Memory specification 有種機制可以在特定機器上鎖定卡里面的內容。WINCE 5里并沒有顯示的支持該機制。但是可以自己來做,比如一個文件系統的FILTER等。
|
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
貌似此部分代碼非微軟原創: // Copyright (c) 2002 BSQUARE Corporation. All rights reserved. // DO NOT REMOVE --- BEGIN EXTERNALLY DEVELOPED SOURCE CODE ID 40973--- DO NOT REMOVE
|
Host Controller Driver主要功能:l
HCD
通知總線驅動卡的插入和拔出l
給卡上電,SD
定義了可接受的初時電壓范圍。l
在總線驅動何客戶端設置完時鐘速度后,打開客戶端卡的時鐘(80
個周期)l
初始,把總線寬度設置成1
。如果有需要的話(4-bit mode
),把總線寬度設成4bit
l
傳輸SD
命令和數據到/
來自卡上。l
負責給槽上電,關電。l
IST
在這里存在l
(可選的)喚醒支持(插入,拔出,SDIO
中斷)