eMMC基础技术3:eMMC总线token
1.前言
本文主要介绍eMMC 总线协议相关的内容,主要包括:
(1)command token format
(2)response token format
(3)data packet format
(4)CRC token
(5)bus speed mode
2. command token format
- 总长度48bits;
- 固定以0开始,以1结束;
- transmiter bit表示数据的传输方向,1代表从host to device;
- 通过CRC7保护,device 端在接收到CMD时同样会计算一个CRC值,如果与host发送的CRC不一致,则被认为是传输错误;
3. response token format
- 有5种格式,使用哪种格式依赖于CMD,长度为48bits或136bits;
- start bit 总是0,在没有数据传输的情况下,CMD 信号保持高电平,当 eMMC Device 将 Start Bit 发送到总线上时,Host 可以很方便检测到该信号,并开始接收 Response
- transmitter bit代表传输方向,0表示device to host;
- Content 为 Response 的具体内容,不同的 Command 会有不同的 Content
- CRC7 是包含 Start Bit、Transmission Bit 和 Content 内容的 CRC 校验值
- End Bit 为结束标志位,固定为”1″。
4. data packet format
此外,在 DDR 模式下,1 个 Data Line 上有两个相互交织的 CRC16,上升沿的 CRC 比特组成 odd CRC16,下降沿的 CRC 比特组成 even CRC16。
5. CRC status token
在写数据传输中,eMMC Device 接收到 Host 发送的一个 Data Block 后,会进行 CRC 校验
- 如果校验失败,device则会在对应的 Data Line 上向host发送一个 Negative CRC status token (101)
- 如果校验成功,device则会在对应的 Data Line 上向host发送一个 Positive CRC status token (010)
注:读数据时,Host 接收到 eMMC Device 发送的 Data Block 后,也会进行 CRC 校验,但是不管校验成功或者失败,都不会向 eMMC Device 发送 CRC Status Token
详细格式如下图所示:
图 DR52 Positive CRC status token
图 DDR52 Negative CRC status token
6. 参考文档
[1]http://www.wowotech.net/basic_tech/emmc_bus_protocol.html
[2]http://www.jedec.org/sites/default/files/docs/JESD84-B51.pdf