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
中断)