MMC总线与SD总线,SDIO总线的关系
时间: 2024-01-08 16:57:00 浏览: 134
MMC(Multimedia Card)总线和SD(Secure Digital)总线都是用于数字存储设备的接口协议。SD卡是基于MMC卡的标准进行扩展的。因此,MMC总线和SD总线是非常相似的,它们之间的区别在于SD卡具有一些额外的功能和安全性。
SDIO(Secure Digital Input/Output)总线是SD卡协议的扩展,它允许SD卡与其他设备进行通信,例如WiFi模块、蓝牙模块、GPS模块等。因此,SDIO总线是在SD卡基础上增加了输入/输出功能的扩展。
总的来说,MMC总线和SD总线是用于数字存储设备的接口协议,而SDIO总线是SD卡协议的扩展,它增加了输入/输出功能。
相关问题
mmc sdio协议
MMC(MultiMediaCard)SDIO(Secure Digital Input Output)协议是一种用于支持数据传输的存储卡和外设的协议。它是基于底层的SPI总线或SD总线的标准接口协议,用于连接嵌入式系统和存储卡或外设,实现数据的读写和控制功能。
MMC SDIO协议可以让嵌入式系统通过多媒体卡(MMC)或安全数字输入输出(SDIO)接口与外设进行通信,如Wi-Fi模块、蓝牙模块、GPS接收器等。这种协议使得嵌入式系统可以灵活地扩展功能,通过连接外设实现无线通信、定位、数据采集等功能。
MMC SDIO协议包括底层SPI或SD总线的物理层,以及数据传输和控制命令的协议层。通过这种协议,存储卡和外设可以与嵌入式系统进行数据交换,实现数据的读写和外设的控制。同时,MMC SDIO协议也定义了一些特定的命令和传输方式,以支持外设的功能和性能要求。
总的来说,MMC SDIO协议是一种用于连接存储卡和外设的接口协议,它可以为嵌入式系统提供丰富的扩展功能,同时支持高速数据传输和灵活的控制命令,使嵌入式系统能够更好地与外设进行交互和通信。
sdio: dwmmc@ff4a0000 配置sd 卡
SDIO控制器的驱动一般是使用mmc子系统提供的SDIO驱动,需要在设备树中添加SDIO节点并配置相关属性,同时需要在内核中启用SDIO驱动支持。
下面是SDIO控制器DWMMC的设备树配置例子:
```
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_clk &mmc1_cmd &mmc1_bus4 &mmc1_bus8>;
vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vcc_sd>;
bus-width = <4>;
status = "okay";
non-removable;
cap-sd-highspeed;
max-frequency = <200000000>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-ddr50;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
};
```
其中,`&mmc1`是SDIO控制器的设备节点,`pinctrl-*`属性是管脚配置,`vmmc-supply`和`vqmmc-supply`属性是电源控制,`bus-width`属性是总线宽度,`status`属性是设备状态,这里设置为"okay"表示设备可用。其他属性是SDIO协议相关的属性,例如支持的最大频率、支持的UHS模式、支持的电压等。
如果需要使用SDIO驱动,需要在内核配置中启用`CONFIG_MMC_DW`和`CONFIG_MMC_DW_EXYNOS`选项。这两个选项是SDIO控制器DWMMC的驱动,分别对应于通用版本和三星Exynos版本。
启用SDIO驱动后,SDIO卡会被识别为一个标准的MMC设备,并可以使用MMC子系统提供的API进行访问。例如,使用`blkid`命令可以查看SD卡的UUID:
```
# blkid /dev/mmcblk1
/dev/mmcblk1: UUID="xxxx-xxxx" TYPE="vfat"
```
以上是SDIO控制器DWMMC的SD卡设备树配置和驱动配置的基本步骤,需要根据具体的系统和硬件进行适当调整和修改。
阅读全文