⑴ SD卡命令格式
SD卡的命令格式:
SD卡的指令由6位元組(Byte)組成,如下:
Byte1:0 1 x x x x x x(命令號,由指令標志定義,如CMD39為100111即16進制0x27,那麼完整的CMD39第一位元組為01100111,即0x27+0x40) Byte2-5:Command Arguments,命令參數,有些命令沒有參數
Byte6:前7位為CRC(Cyclic Rendacy Check,循環冗餘校驗)校驗位,最後一位為停止位0。
SD卡命令共分為12類,分別為class0到class11,
不同的SDd卡,主控根據其功能,支持不同的命令集 如下:
Class0 :(卡的識別、初始化等基本命令集)
CMD0:復位SD 卡.
CMD1:讀OCR寄存器.
CMD9:讀CSD寄存器.
CMD10:讀CID寄存器.
CMD12:停止讀多塊時的數據傳輸
CMD13:讀 Card_Status 寄存器
Class2 (讀卡命令集):
CMD16:設置塊的長度
CMD17:讀單塊.
CMD18:讀多塊,直至主機發送CMD12為止 .
Class4(寫卡命令集) :
CMD24:寫單塊.
CMD25:寫多塊.
CMD27:寫CSD寄存器 .
Class5 (擦除卡命令集):
CMD32:設置擦除塊的起始地址.
CMD33:設置擦除塊的終止地址.
CMD38: 擦除所選擇的塊.
Class6(防寫命令集):
CMD28:設置防寫塊的地址.
CMD29:擦除防寫塊的地址.
CMD30: Ask the card for the status of the write protection bits
class7:卡的鎖定,解鎖功能命令集
class8:申請特定命令集 。
class10 -11 :保留