当处于设备认证模式时,主机重置设备,验证操作电压范围和访问模式,认证设备并为总线上的设备分配相对设备地址(RCA)。设备认证模式下的所有数据通信都只能使用CMD Line。

一、命令




emmc ocr register 详解 emmc device_Powered by 金山文档


CMD0

发送命令带参数00000000(可在除Inactive状态的任何状态使用),设备进入idle状态

进入idle状态的其他方法:

  • 完成boot操作之后;
  • 在pre-boot状态下,在CMD line low(命令行低位)持续不到74个时钟之后;
  • 如果上电之后设备没有boot启动。

CMD0的其他参数:

  • FFFFFFFA :启动备用引导操作(在pre-boot状态下);
  • F0F0F0F0 :重置设备到pre-idle状态;
  • 其他参数:在除inactive状态下发送除FFFFFFFA和F0F0F0F0的参数,重启设备,然后进入idle状态。

CMD1(SEND_OP_COND )

要求处于idle状态的设备在CMD行上的响应中发送其OCR寄存器内容,匹配电压范围和访问模式。


emmc ocr register 详解 emmc device_重置_02


访问模式:00 字节访问模式(小于等于2GB) 10扇区访问模式(大于2GB)(目前市面上的eMMC都是4GB以上,所以大多是扇区访问模式)。

如果设备busy,设备应该响应0x00FF8080(小于等于2GB)或0x40FF8080(大于等于2GB)

如果设备ready,设备应该响应0x80FF8080(小于等于2GB)或0xC0FF8080(大于等于2GB)

设备接收到CMD1后,要在1S内完成初始化。

CMD2(ALL_SEND_CID)

要求设备在CMD行上发送它的CID号码,每个设备的cid是唯一的。

CMD3(SET_RELATIVE_ADDR)

为设备分配RCA(相对地址)(0地址除外,但是分配也不会报错)

二、认证流程

主机在open-drain模式下开始设备认证流程

1、总线激活后,主机将要求设备发送它的有效操作条件(发送cmd1,匹配电压范围和访问模式),不兼容的设备发送到inactive状态,CMD1响应的busy位表示设备仍然处于上电/复位流程,并且没有准备好通信,主机必须重复CMD1直到busy位清除,设备进入ready状态;

2、主机发送CMD2,请求所有设备发送唯一的CID码,每个认证周期接收一个设备的CID,设备进入identification状态;

3、主机发送CMD3分配设备的RCA(用于在未来的数据传输中定位设备),一旦RCA被接收,设备切换到standby状态,并且设备不对之后的认证周期反应。此外,该设备将其输出驱动器从open-drain到push-pull。


emmc ocr register 详解 emmc device_认证模式_03


三、命令流程:

CMD0-> CMD1->...->CMD1->CMD2->CMD3

认证流程中不接收其他命令(CMD0除外),发送其他的命令会响应超时,直到设备接收到正确的命令。