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
卡的歷史和發(fā)展,同時(shí)結(jié)合MX31 ADS
上的WINCE
下SDHC
驅(qū)動(dòng)更深入的了解該硬件的一些行為特點(diǎn)。了解SD cardSD是Secure Digital Card卡的簡稱,直譯成漢語就是“安全數(shù)字卡”,是由日本松下公司、東芝公司和美國SANDISK公司共同開發(fā)研制的全新的存儲(chǔ)卡產(chǎn)品。SD存儲(chǔ)卡是一個(gè)完全開放的標(biāo)準(zhǔn)(系統(tǒng)),多用于MP3、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、電子圖書、AV器材等等,尤其是被廣泛應(yīng)用在超薄數(shù)碼相機(jī)上。SD卡在外形上同Multimedia Card卡保持一致,大小尺寸比MMC卡略厚,容量也大很多。并且兼容MMC卡接口規(guī)范。不由讓人們懷疑SD卡是MMC升級版。另外,SD卡為9引腳,目的是通過把傳輸方式由串行變成并行,以提高傳輸速度。它的讀寫速度比MMC卡要快一些,同時(shí),安全性也更高。SD卡最大的特點(diǎn)就是通過加密功能,可以保證數(shù)據(jù)資料的安全保密。它還具備版權(quán)保護(hù)技術(shù),所采用的版權(quán)保護(hù)技術(shù)是DVD中使用的CPRM技術(shù)(可刻錄介質(zhì)內(nèi)容保護(hù))。規(guī)格
主要特點(diǎn):1.
精巧而且超薄SD
記憶卡的尺寸只有24
毫米x 32
毫米 x 2.1
毫米。作為“橋梁媒體”的重要特征,它精致小巧,方便您在不同設(shè)備上使用。兼容SD
記憶卡的設(shè)備可以采用解碼器軟件來播放音樂、影像短片以及更多其他類型的內(nèi)容,無需像CD
播放機(jī)或DVD
播放機(jī)那樣采用驅(qū)動(dòng)裝置。從而使設(shè)備的外形更加精巧,同時(shí)也賦予了產(chǎn)品設(shè)計(jì)者發(fā)揮自由創(chuàng)意的全新空間。由于消除了播放音樂時(shí)的跳音現(xiàn)象,提高了播放的穩(wěn)定性。2.
大容量栽體目前,SD
記憶卡已經(jīng)具備各種容量可供選擇,同時(shí),2GB
、4GB
和8GB
的SDHC
也出現(xiàn)了。3.
高速數(shù)據(jù)傳輸為了提供快速響應(yīng)和容易處理數(shù)字內(nèi)容,SD
記憶卡可以用每秒10MB
的速率寫入和讀取數(shù)據(jù)。當(dāng)其能夠用于遠(yuǎn)程通信終端,直接下載內(nèi)容時(shí),記憶卡的高速傳送能力將可使存取時(shí)間和通信成本降至最低,同時(shí)可減輕網(wǎng)絡(luò)壓力。4.
擁有版權(quán)保護(hù)功能先進(jìn)的數(shù)碼技術(shù)使高保真音樂和其他高質(zhì)量內(nèi)容的錄制成為現(xiàn)實(shí)。日新月異的數(shù)碼技術(shù),借助因特網(wǎng),實(shí)現(xiàn)了全球范圍的信息快速共享。這一進(jìn)步也帶來了對原版內(nèi)容的大量復(fù)制,因此,作為21
世紀(jì)的一種切實(shí)可行的記憶載體就必須具備高水平的版權(quán)保護(hù)技術(shù),這樣才能保護(hù)大量高質(zhì)的數(shù)碼數(shù)據(jù)。SD
記憶卡可以自由復(fù)制各種數(shù)碼數(shù)據(jù),并采用獨(dú)特的內(nèi)置CPRM
技術(shù)保存和轉(zhuǎn)移版權(quán)所有的內(nèi)容,這也是建立一個(gè)全新的音樂及其他商業(yè)媒體的發(fā)布體系的關(guān)鍵所在。硬件結(jié)構(gòu)
(參看附錄中SD
卡和其他卡的一個(gè)對比表)SDIO
卡SDIO
(輸入/
輸出)卡是一種擴(kuò)展帶SD
卡插孔設(shè)備之功能的接口。正在開發(fā)各種SDIO
卡,如相機(jī)、Bluetooth
、GPS
和802.11b
等。
如果編寫以上設(shè)備的驅(qū)動(dòng),當(dāng)然前提是有一個(gè)合格的SD Host Controller
。如同編寫USB STORAGE/HID
設(shè)備的驅(qū)動(dòng)一樣,需要USB HCD
支持。MX31
的ADS
支持基于SDIO
的LP1070 SDIO WLAN Card
(在Wince 5.0
的SD
卡驅(qū)動(dòng)模型里,這種驅(qū)動(dòng)稱為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
個(gè)部分:a bus driver, host controller driver
和 client drivers
,現(xiàn)分別介紹:1 Bus Driver
顧名思義,總線,連接client driver
和host controller driver
之間的一個(gè)管理層。這部分代碼微軟已經(jīng)寫好了,也就是說定義好了client
和host
之間的通訊接口。(是不是可以這么說:
編寫SD WIFI
的程序員可以不用知道是什么SDHC
,從而達(dá)到驅(qū)動(dòng)的跨硬件性)參考代碼:D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDBUSDRIVER\2 Host Controller
控制硬件并且通過上述的BUS driver
來和client
進(jìn)行通訊。參考代碼:D:\WINCE500\PLATFORM\Mx31\Src\Drivers\SdhcD:\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\FREESCALE\Mxarm11\Drivers\Sdhc3 Client Driver
通過BUS driver
和SD
設(shè)備進(jìn)行通訊。Windows CE 5.0
中的SDIO
支持如下:l
動(dòng)態(tài)插入和拔出l
DMA
方式 (
平臺(tái)相關(guān))
l
SDIO
中斷l
動(dòng)態(tài)的時(shí)鐘控制l
錯(cuò)誤恢復(fù)l
喚醒l
v1.0
多功能和組合設(shè)備l
CE Power Manager
來處理電源管理l
MMC
下圖可以清晰的表達(dá)基于WINCE5.0
的一個(gè)SD STACK
模型:
安全性 SDA 中的SD Memory specification 有種機(jī)制可以在特定機(jī)器上鎖定卡里面的內(nèi)容。WINCE 5里并沒有顯示的支持該機(jī)制。但是可以自己來做,比如一個(gè)文件系統(tǒng)的FILTER等。
|
Bus Driver主要功能如下:l
枚舉板上的卡,并決定他們的類型(MMC, SD Memory or SDIO
)l
配置合適的電流給卡。l
根據(jù)注冊表的值加載clients
l
把總線要求入隊(duì)列l
把來自host controller
的異步通知入隊(duì)列l
總線要求完成,SDIO
中斷,設(shè)備插入\
拔出l
出錯(cuò)時(shí)重試參考代碼:D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDBUSDRIVER
貌似此部分代碼非微軟原創(chuàng): // 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
通知總線驅(qū)動(dòng)卡的插入和拔出l
給卡上電,SD
定義了可接受的初時(shí)電壓范圍。l
在總線驅(qū)動(dòng)何客戶端設(shè)置完時(shí)鐘速度后,打開客戶端卡的時(shí)鐘(80
個(gè)周期)l
初始,把總線寬度設(shè)置成1
。如果有需要的話(4-bit mode
),把總線寬度設(shè)成4bit
l
傳輸SD
命令和數(shù)據(jù)到/
來自卡上。l
負(fù)責(zé)給槽上電,關(guān)電。l
IST
在這里存在l
(可選的)喚醒支持(插入,拔出,SDIO
中斷)