数据传输方式:
在卡识别模式结束之前,主机应保持在最高频率,因为某些卡在卡识别模式期间可能有工作频率限制。在数据传输模式下,主机可以在fpp频率范围内操作卡。主机发出SEND_CSD (CMD9)以获取卡片特定数据(CSD寄存器),例如块长度,卡片存储容量等。广播命令SET_DSR (CMD4)配置所有标识卡的驱动阶段。它根据应用总线布局(length)和总线上卡的数量以及数据传输频率对DSR寄存器进行编程。时钟速率也从顶部切换到fpp在那一点。SET_DSR命令是卡和主机的选项。
CMD7用于选择一张卡并将其置于传输状态。在给定的时间内,只能有一张卡处于转移状态。如果先前选择的卡处于转移状态,则它与主机的连接将被释放,并且它将移回备用状态。当CMD7被授予保留的相对卡地址“Ox0000”时,所有卡都回到待机状态
注意,主机负责保留RCA=0用于卡的取消选择,CMD7
这可以在识别新卡之前使用,而无需重置其他已注册的卡。已经有RCA的卡不响应识别命令(ACMD41, CMD2)处于这种状态。
重要提示:如果某些卡获得CMD7与不匹配的RCA,则完成卡的取消选择。如果对另一张卡进行选择并且CMD行是通用的,则会自动发生这种情况。
因此,在SDl存储卡系统中,主机将负责使用公共CMD行(在初始化完成后)-在这种情况下,卡取消选择将自动完成,或者如果CMD行是分开的,那么主机应该意识到取消选择卡牌的必要性。数据传输模式下的所有数据通信都是主机和所选卡之间的点对点通信(使用寻址命令)。所有寻址的命令都在CMD行上得到响应。
各种数据传输模式之间的关系总结如下:
所有的数据读取命令都可以在任何时候通过stop命令(CMD12)终止。数据传输将终止,卡将返回到传输状态。读命令有:块读(CMD17)、多块读(CMD18)、发送写保护(CMD30)、发送scr (ACMD51)和读模式通用命令(CMD56)。
所有的数据写命令都可以通过停止命令(CMD12)随时终止,在取消卡的选择之前,CMD7必须停止写命令。写命令有:blockl写(CMD24和CMD25)、program CSD (CMD27)、lock/unlock命令(CMD42)和general command in write mode (CMD56)。
一旦数据传输完成,卡将退出数据写入状态,并移动到编程状态(传输成功)或传输状态(传输失败)。
如果停止块写操作,并且最后一块的块长度和CRC有效,则将对数据进行编程。
该卡可以为块写入提供缓冲。这意味着下一个数据块可以在前一个数据块被编程时被发送到卡片上。如果所有写缓冲区都满了,并且只要卡处于编程状态,DATO线就会保持低(BUSY)。
对于写CSD、写保护和擦除,没有缓冲选项。这意味着,当卡忙于服务这些命令中的任何一个时,将不接受其他数据传输命令。只要卡处于繁忙状态并处于编程状态,DATO线就会保持低电平。实际上,如果卡的CMD和DATO线保持分开,并且主机保持繁忙的DATO线与(其他卡的)其他DATO线断开连接,则主机可以在卡忙时访问其他卡。
当卡正在编程时,不允许使用参数集命令。
参数设置命令有:设置块长度(CMD16)、擦除块开始(CMD32)和擦除块结束(CMD33)。当卡正在编程时,不允许读取命令。
将另一张卡从待机状态移动到传输状态(使用CMD7)不会终止擦除和编程操作。卡将切换到断开状态,并将释放DAT线。
在断开连接状态下,可以使用CMD7重新选择卡。在这种情况下,卡将移动到编程状态并重新激活忙指示。
重置卡(使用CMDO或CMD15)将终止任何挂起的或正在进行的编程操作。这可能会破坏卡上的数据内容。主人有责任防止这种情况发生。
CMD34-37、CMD50和CMD57为SD指挥系统扩展预留。这些命令的状态转换在每个命令系统规范中定义。
-
数据传输
+关注
关注
9文章
1880浏览量
64553
发布评论请先 登录
相关推荐
评论