以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- Windows驱动开发 (http://sun4.cn/bbs/list.asp?boardid=75) ---- 【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated) (http://sun4.cn/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中断) |