首页 理论教育Linux内核与设备驱动分析:MMC需求

Linux内核与设备驱动分析:MMC需求

【摘要】:图7-8引自《MMC规范》。需要根据这些控制器的属性值正确地操作MMC设备。图7-9MMC信号传输特点图7-9以单一的读操作为例,可见MMC的信号主要通过CMD传送命令,并且需要响应,通过DAT信号传送数据。另外由于MMC连接的设备可能会以卡的形式存在,这就需要能够支持对设备插入的检测,在系统级别也需要能够对设备插拔进行支持。总体上来说,MMC总线驱动的需求就是要能实现总线的各种功能,并且满足总线的各种无关性需求。

MMC(即multimedia card)已经成为嵌入式存储设备的最重要的连接标准。它于1997年由西门子与SanDisk共同开发,技术基于NAND技术,随后又有不同的发展,现如今已经形成MMC、SD、eMMC、SDIO等不同的形式,而连接的设备也是多种多样的,从MMC Card、SD Card、microSD Card等存储设备,到SDIO WLAN、SDIO GPS等设备。总之设备形态以存储设备为主,相应的SDIO总线可以支持不同功能的设备。

MMC的架构如图7-8所示。图7-8引自《MMC规范》。

978-7-111-49426-3-Chapter07-105.jpg

图7-8 MMC架构图

从图7-8可见,MMC连接除了CLK和VDD之外还有CMD和DAT信号,其中CMD信号用于命令交互,而DAT信号用于数据交互,DAT信号可以有多个。MMC内部会有一些寄存器,这些寄存器记录了MMC的能力等属性,可用于与总线控制器协商。需要根据这些控制器的属性值正确地操作MMC设备。

MMC的信号传输特点如图7-9所示。图7-9引自《DM 3730芯片手册》中第3384页框图。(www.chuimin.cn)

978-7-111-49426-3-Chapter07-106.jpg

图7-9 MMC信号传输特点

图7-9以单一的读操作为例,可见MMC的信号主要通过CMD传送命令,并且需要响应,通过DAT信号传送数据。为了能正确地识别MMC设备,并正确地传输数据,MMC规范规定了不同的模式及命令用于不同的功能,通过命令可以在不同的状态转换。这些都属于规范中状态及状态转换的内容,能正确地支持。

MMC总线可以连接不同协议标准的设备,如MMC、SD、SDIO,这些都需要在框架中进行支持。另外由于MMC连接的设备可能会以卡的形式存在,这就需要能够支持对设备插入的检测,在系统级别也需要能够对设备插拔进行支持。

总体上来说,MMC总线驱动的需求就是要能实现总线的各种功能,并且满足总线的各种无关性需求。