sd卡功能描述
所有主機和sd卡間的通訊都是由主機控制的,這和usb是一致的,例如:u盤並沒有主動通知usb控制器的能力,usb滑鼠也沒有主動通知usb控制器的能力,當然,sd卡也是沒有主動通知sd控制器的能力的。
主機傳送的命令有兩種,一種是一對多,另一種自然是一對一了,他們分別是:
1.廣播命令:廣播命令傳送給所有掛在sd匯流排上的sd卡,有一些廣播命令需要sd卡作出響應。
sd卡有兩種模式,一種是卡識別模式,另一種是資料傳輸模式。
1.卡識別模式:在重置(reset)後,當主機查詢匯流排上的新卡時,處於卡識別模式。重置後sd卡將始終處於該模式下,直到收到send_rca命令(cmd3)。
2.資料傳輸模式:當卡收到rca(cmd3)後,卡就會進入資料傳輸模式。
總的來說,卡二種操作模式,有10種狀態,這兩種操作模式十種狀態貫穿了整個協議的精華,所以我們有必要來認識一下
下面我們將對sd3.0的卡初始化識別模式的流程進行翻譯,這段翻譯比較枯燥無味,但是沒辦法,確實比較複雜,不仔細啃啃英文就難以理解這流程是怎麼搞的。
卡識別模式:
在卡識別模式,主機重置所有處於卡識別模式的sd卡,檢驗操作電壓範圍,識別卡,並請求卡傳送相對卡位址(rca)。這些操作都是在各自的cmd線上完成的。在卡識別的過程中,卡的操作頻率應該在fod下。
卡復位:
傳送go_idle_state(cmd0)到sd卡後,除處於非活動狀態(inactive state)之外的sd卡都會進入空閒狀態(idle state);在idle狀態,sd卡的cmd線處於輸入模式,預設相對位址為0x0000,預設驅動暫存器設定為最低速度,最大驅動電流能力。
工作條件檢測:
卡初始化和識別過程:
sd卡的初始化開始於接收到acmd41指令之後,acmd指令的hcs(host capacity support)位如果設定為1的話,表明控制器支援sdhc卡,否則表示不支援。
在cmd8命令傳送之後的acmd41指令其功能有所擴充套件,在引數裡多了hcs部分,在響應裡面多了ccs(card capacity status)部分。hcs引數會被不響應cmd8命令的sd卡所拋棄。控制器向不響應cmd8的卡傳送acmd41指令時,hcs位應該設定為零0。如果向sdhc卡傳送hcs位為0的acmd41命令,sdhc卡返回的響應,其busy標識位永遠為0,代表忙狀態。hcs標識位用來表明sd卡是否已經完成初始化,如果未完成,hcs為零,否則為1,如果hcs為0,控制器會重**送acmd41指令,sd卡只檢查首次接收到的acmd41指令的hcs位。
響應cmd8的sd卡傳送的對於acmd41指令響應會包含ccs部分,控制器只檢查hcs標誌位為1的響應所包含的ccs位。ccs=1表明其為sdhc卡,否則為標準sd卡。
控制器隨後傳送all_send_cid(cmd2)命令,查詢各個卡的cid(unique card identification)值,還沒有被識別的sd卡(處於ready狀態)會傳送cid值作為響應,傳送完cid值之後,sd卡進入識別狀態(identification state),然後控制器傳送cmd3(send_relative_addr)命令,要求各個sd卡傳送乙個新的相對位址(rca),rca在之後的資料傳輸模式中用於定址。rca傳送完之後。sd卡進入stand-by狀態,在這個狀態,如果控制器想要給sd卡分配乙個新的rca,它可以傳送另一條cmd3命令給sd卡。最後發布的rca為sd卡的真實rca。
---------------------
卡的初始化和識別流程具體如下(sd模式):
總結一下流程:
當host上電後,使所有的卡裝置處於卡識別模式,完成設定有效操作電壓範圍,卡識別和請求卡相對位址等操作。
1、傳送指令cmd0使卡裝置處於idle狀態;
2、傳送指令cmd8,如果卡裝置有response,說明此卡為sd2.0以上;
3、傳送指令cmd55+acmd41,該指令是用來探測卡裝置的工作電壓是否符合host端的要求;在傳送acmd41這類指令之前需要先 傳送cmd55指令,在sdio中acmd41指令被cmd5替代。
4、傳送指令cmd11轉換工作電壓到1.8v;
5、傳送指令cmd2獲取cid;
6、傳送指令cmd3獲取rca(relative card address)
SD3 0協議解讀一
前言 老衲我近期研究的是sd mmc卡驅動,研究過的sd mmc驅動的貧僧們都應該知道sd mmc協議是必不可少的一部分,除非你不想研究透sd mmc驅動,那你大可只研究driver mmc host目錄下的檔案即可。說到sd mmc協議,網上一搜,sd3.0的協議只有英文版的資料,要想真正理解協議...
SD3 0協議解讀四
前面的文章提到過sd卡主要分為兩個操作模式,一是初始化和識別操作模式,另一種就是這篇文章需要分析的資料傳輸模式啦。資料傳輸模式 資料傳輸模式主要有六種狀態,分別是stand by狀態 transfer狀態 sending data狀態 receive data狀態 programming狀態 dis...
STEP協議解讀
step協議解讀 liyayawodeai 163.com 0.step協議是什麼?step securities trading exchangeprotocol,是中國金融行業資料通訊標準jr t0022 2004,目前被深圳交易所採用,作為leveii資料向資訊服務商分發的資料的標準協議。本文...