JESD B5.1 EMMC协议介绍(六)

本文深入探讨EMMC协议中的数据传输模式,包括stand-by模式下的CMD9命令获取CSD寄存器数据,CMD4配置驱动端传输,CMD7用于选择和切换EMMC状态。详细阐述了CMD12终止数据传输,CMD7在不同状态下的作用,以及高速模式(HS200、HS400)的切换方法,涉及EXT_CSD寄存器的设置和时钟频率调整。
摘要由CSDN通过智能技术生成

当EMMC 进入stand-by 模式后,CMD信号线和data信号线以推挽模式进行数据传输。同时fpp时钟频率保持在fod直到EMMC的csd 寄存器被host 获取。紧接着host 会下发CMD9(SEND_CSD)获取CSD寄存器中的指定数据。

图27 EMMC 状态转换图(数据传输模式)

EMMC中通过CMD4(SET_DSR) 配置驱动端的传输命令。具体指会设置DSR寄存器的总线长度以及数据传输频率,同时时钟频率会从fod 切换到fpp。

当EMMC处于stn-by模式时,host下发参数为EMMC相对地址的CMD7命令用于选择对应的EMMC并将其切换到数据传输状态。

如果EMMC先前被选中并处于传输状态,则它与host的连接将被释放,并且当CMD7取消选择时,它将回到stand-by状态,参数中的只存在地址都不等于EMMC自身的相对地址。 当参数为预留相对设备地址“0x0000”的CMD7 命令发送后,EMMC将会回到stand-by 模式,当EMMC处于传输状态时,接收到带有EMMC自身相对地址的CMD7命令会被忽略,且有可能被视为是非法命令。

所有host和带有RCA的EMMC在数据传输模式以点对点的方式进行通信,所有的地址命令通过CMD信号线被识别并响应。

见图27,总结了多数据之间传输模式的关系。

host 下发CMD12命令后,所有的读数据命令都被禁止,数据传输终止,且EMMC切换到stand-by 状态,读命令比如:CMD17(读block),CMD18(读取多个block),CMD21(发送tunning block),CMD30 (发送写保护命令)

host下发CMD12命令后,所有的写数据命令被终止,接着CMD7 命令断开EMMC和host 的通信,写命令比如:CMD24 CMD25,CMD26(写CID) 以及CMD27(写CSD寄存器命令)

一旦数据传输完成后,EMMC将会退出写入数据状态,切换到编程状态或者数据传输状态(数据传输失败的时候)

如果块写入操作被停止,同时最后一个块的长度和CRC有效,则将对写入数据进行存储。

EMMC 中,对写入的block提供了缓存,意味着上一个块在存储的时候可以写入下一个块。

然而当写入CSD寄存器以及CID 寄存器,写保护或者擦除的时候,是不会提供缓存的,意味着当EMMC处于busy 状态时,CMD信号线上是没有命令传输的,此时当EMMC处于busy或者编程状态时候,data0 信号线将被拉低。

当EMMC 处于编程状态时 ,参数设置命令比如CMD16(设置bl

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风轻拂_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值