|
发表于 2012-5-15 09:48:30
|
显示全部楼层
怎麼跟我讀的spec不一樣???
底下先不談READY這件事,先談OCR register
如果是SD 1.0~1.1
SD Host在CMD0之後會對SD CARD送ACMD41, argument會內含OCR register的值(就是表示SD HOST可以支援的working voltage),然後SD CARD也會把可以support的working voltage回覆在R3 response裡面
如果是SD 2.0~3.X
SD HOST會發送CMD8 --> CMD0 --> AMCD41, ACMD41的argument也一樣會包含OCR register的值,只是額外還會在OCR register的BIT[30],顯示SD HOST是否支援高容量的CARD (High capacity) 或是一般容量的CARD (Standard capacity)
如果SD HOST送了ACMD41但argument全為0,就表示這個SD HOST任何工作電壓都不支援,這時候就看SD CARD端的設計,有的SD CARD還是會乖乖的在SD response裡面回覆可以support的工作電壓, 反正SD HOST有送Command來詢問,只要是legal command, 而且願意繼續送出SD Clock,那麼SD CARD就願意繼續回覆Response,
當然有的SD CARD也可能就直接不回覆response了,反正SD HOST都說任何電壓都不支援了,我為啥還要回覆response
另外,ACMD41是需要SD HOST一直發送給SD CARD,直到SD CARD回覆的response裡,OCR value BIT[31]變成1,SD HOST才會繼續送CMD2, CMD3 .....讓SD STATE繼續往後走,所以可別只送一次ACMD41,這樣SD CARD是來不及在短時間之內就處理完內部的工作而去設ORC register BIT[31] =1 |
|