【MMC/SD/SDIO】读写操作

SD 总线是基于命令和数据流,它们由一个开始 Bit 发起,由一个停止 Bit 结束。

Command:命令开始一个操作。命令由 Host 驱动,或者给单卡(寻址命令),或者给所有连接的卡(广播命令)。命令通过 CMD 信号线串行方式传输。
Response:响应由响应的卡驱动,或者同时由连接的卡驱动。作为之前接收到的命令的应答。响应是通过 CMD 信号线串行方式传输。
Data:数据可以由 Host 或者卡驱动,通过数据线传输。

【MMC/SD/SDIO】读写操作_第1张图片


读操作

数据传输是以块(Block)为单位。数据块后面为 CRC 校验位。定义了单块和多块传输操作。多块传输通过 Stop 命令(CMD12)来结束。

【MMC/SD/SDIO】读写操作_第2张图片

写操作

块写操作期间通过 **Data0 **信号线指示 Busy 状态。

【MMC/SD/SDIO】读写操作_第3张图片

数据包格式

【MMC/SD/SDIO】读写操作_第4张图片

【MMC/SD/SDIO】读写操作_第5张图片

你可能感兴趣的:(Linux内核与驱动进阶之路,linux,嵌入式,驱动开发)