时钟控制-专业嵌入式软件开发

时间:2024-06-30 15:25:51
【文件属性】:

文件名称:时钟控制-专业嵌入式软件开发

文件大小:2.81MB

文件格式:PDF

更新时间:2024-06-30 15:25:51

sd协议

4.4 时钟控制 主机可以使用 SD 卡时钟信号来将卡改变到节电模式,或者控制总线上的数据流(避免不 足或者超出的情况)。主机可以减小时钟频率,或者关闭时钟。比如,当主机带有 512Byte 的数据缓存,却想要向 1kByte 的卡上写块。因此,为了保持连续的数据传输,从卡这边来 看,卡的时钟需要在第一个 512Byte 后关闭时钟。然后主机会将另外 512Byte 数据填写到缓 存中。当主机的写块的后半部分 ready 后,将会重启时钟,并继续发送数据。这样,卡就不 会意识到数据传输的中断。 有一些限制,主机需要注意:  总线时钟可在任何时候改变(要小于最大数据传输频率和本规范定义的标示频率)  上面的说法有个例外,ACMD41(SD_APP_OP_COND)。当 ACMD41 发送后,主机应该执 行下面的 1)和 2)两个步骤,直到卡变为 ready 状态。 1) 发送连续的时钟,频率在 100KHz~400KHz 2) 如果主机想要停止时钟,通过 ACMD41 循环设置 busy 位,小于 50ms 间隔。  很明显,在输出数据或者拿到回应时,卡的时钟应该保持连续。当最后一个 SD 总 线处理结束后,在关闭时钟之前,卡需要继续提供 8个时钟周期,以便让卡完成操 作。下面是各种总线处理的列表:  命令不需要响应的。在主机命令结束位后 8 个时钟  命令需要响应的。在响应结束位后 8 个时钟  读数据。最后一个数据块的结束位后 8 个时钟  写数据。CRC 状态得到后的 8个时钟  主机可以关闭 busy 状态的卡的时钟。卡会继续完成编程操作,即使没有主机的时 钟。但是主机需要提供一个时钟沿,以便让卡关闭它的 busy 型号。如果没有时钟 沿,卡会永久拉低 DAT 线(除非之前已经使用 CMD7 让它进入 disconnect 状态)。


网友评论