CMD53命令:
CMD52每次只能讀寫一個字節,因為有了CMD53對讀寫進行了擴展,CMD53允許每次讀寫多個字節或者多個塊(BLOCK)。CMD53的命令格式如下:
第一位是1,為開始位,然后是一位方向位,總是1,代表方向為HOST向DEVICE設備傳送,其后6位為命令號,這里是110101b,用十進制表示為53,CMD53的名字也由此而來。
然后是1位的讀寫標志。接着是3位功能號,這個同CMD52都是相同的。BlockMode如果1代表是塊傳輸模式,否則為字節傳輸模式。
OP Code為操作位,如果是0,代表數據往固定的位置讀寫,如果1代表是地質增量讀寫。例如,對地址0固定讀寫16個字節,相當於16次讀寫的地址0,而對地址0增量讀寫16個字節,相當於讀寫0~15地址的數據。
然后是17位的地址寄存器,可以尋址到128K字節的地址,然后是9位的讀寫的計數,對於字節讀取,讀寫大小就是這個計數,而對於塊讀寫,讀寫的大小是計數乘以塊的大小。
隨后的7位為CRC校驗碼。最后一位為1。
當讀寫操作是塊操作的時候,塊的大小是可以通過設置FBR中的相關寄存器來設置。
同CMD52命令不同的是,CMD53沒有返回的命令的,這里判斷是否DEVICE設備讀寫完畢是需要驅動里面自己判斷的,一般有2個方法,1.設置相應的讀寫完畢中斷。如果DEVICE設備讀寫完畢,則對HOST設備發送中斷。2.HOST設備主動查詢DEVICE設備是否讀寫完畢,可以通過CMD命令是否有返回來判斷是否DEVICE是否讀寫完畢。
