- CMD0 - 所有的SD Card都会回到IDLE状态
- CMD2 - SD Card返回CID
- CMD3 - SD Card返回RCA,SD Host收到RCA之后,会进行存储
- CMD4 - 设置DSR(Driver Stage),设置驱动等级,挂载的SD Card越多或者总线越长,驱动能力需求越强,在standby状态下可以通过CMD4设置驱动能力
- CMD7 - argument中会携带RCA,SD Card收到之后会进行比对RCA值,相同则转到data transfer state
- CMD8 - check电压值
- CMD9 - 给SD A通信就发送A的RCA,返回CSD
- CMD10 - 返回CID值
- CMD12 - stop transmission(用于multiple block transfer)
- CMD13 - 返回状态信息,addressed card就是匹配RCA的值的SD card
- CMD16 - argument中有block length,设置block length,默认用512byte,设置超过512byte,SD card会将错误信息配置到状态寄存器中,block length error bit拉高,表示配置的block length错误
- 读写操作都是以block为单位进行的,会有设置block length的操作
- CMD17,18 - single,multiple block transfer, SD Card处于data transfer state,都会携带data address(开始读的地址)
- 系统是指令驱动的,在设计指令集的时候,存在一些保留的指令空间,方便后期增加指令(CMD19-CMD23)
- CMD16\17\18都是在Data Transfer state状态下配置的
- CMD24,25 - single block,multiple block write,都会携带data address,常规容量的SD Card的block length是CMD16设置的,但是高容量的SD Card的block length就是固定的512byte,不使用CMD16设置的block length
- CMD27 - 对于CSD进行program,改变CSD的值
CMD指令通常就是对于SD卡中的寄存器进行读写操作并启动一些操作 - ACMD6 - 设置Bus的位宽,位宽存在于SCR寄存器中,就是设置其中Bus位宽的域段
- ACMD13 - 发送SD卡的状态
- ACMD22 - 设置写的block num,在进行写操作之前,需要将写的block的数量配置好
- ACMD23 - 设置erase num
CMD类型
最新推荐文章于 2024-06-14 13:37:43 发布