數據傳輸方式:
在卡識別模式結束之前,主機應保持在最高頻率,因為某些卡在卡識別模式期間可能有工作頻率限制。在數據傳輸模式下,主機可以在fpp頻率范圍內操作卡。主機發出SEND_CSD (CMD9)以獲取卡片特定數據(CSD寄存器),例如塊長度,卡片存儲容量等。廣播命令SET_DSR (CMD4)配置所有標識卡的驅動階段。它根據應用總線布局(length)和總線上卡的數量以及數據傳輸頻率對DSR寄存器進行編程。時鐘速率也從頂部切換到fpp在那一點。SET_DSR命令是卡和主機的選項。
CMD7用于選擇一張卡并將其置于傳輸狀態。在給定的時間內,只能有一張卡處于轉移狀態。如果先前選擇的卡處于轉移狀態,則它與主機的連接將被釋放,并且它將移回備用狀態。當CMD7被授予保留的相對卡地址“Ox0000”時,所有卡都回到待機狀態
注意,主機負責保留RCA=0用于卡的取消選擇,CMD7
這可以在識別新卡之前使用,而無需重置其他已注冊的卡。已經有RCA的卡不響應識別命令(ACMD41, CMD2)處于這種狀態。
重要提示:如果某些卡獲得CMD7與不匹配的RCA,則完成卡的取消選擇。如果對另一張卡進行選擇并且CMD行是通用的,則會自動發生這種情況。
因此,在SDl存儲卡系統中,主機將負責使用公共CMD行(在初始化完成后)-在這種情況下,卡取消選擇將自動完成,或者如果CMD行是分開的,那么主機應該意識到取消選擇卡牌的必要性。數據傳輸模式下的所有數據通信都是主機和所選卡之間的點對點通信(使用尋址命令)。所有尋址的命令都在CMD行上得到響應。
各種數據傳輸模式之間的關系總結如下:
所有的數據讀取命令都可以在任何時候通過stop命令(CMD12)終止。數據傳輸將終止,卡將返回到傳輸狀態。讀命令有:塊讀(CMD17)、多塊讀(CMD18)、發送寫保護(CMD30)、發送scr (ACMD51)和讀模式通用命令(CMD56)。
所有的數據寫命令都可以通過停止命令(CMD12)隨時終止,在取消卡的選擇之前,CMD7必須停止寫命令。寫命令有:blockl寫(CMD24和CMD25)、program CSD (CMD27)、lock/unlock命令(CMD42)和general command in write mode (CMD56)。
一旦數據傳輸完成,卡將退出數據寫入狀態,并移動到編程狀態(傳輸成功)或傳輸狀態(傳輸失敗)。
如果停止塊寫操作,并且最后一塊的塊長度和CRC有效,則將對數據進行編程。
該卡可以為塊寫入提供緩沖。這意味著下一個數據塊可以在前一個數據塊被編程時被發送到卡片上。如果所有寫緩沖區都滿了,并且只要卡處于編程狀態,DATO線就會保持低(BUSY)。
對于寫CSD、寫保護和擦除,沒有緩沖選項。這意味著,當卡忙于服務這些命令中的任何一個時,將不接受其他數據傳輸命令。只要卡處于繁忙狀態并處于編程狀態,DATO線就會保持低電平。實際上,如果卡的CMD和DATO線保持分開,并且主機保持繁忙的DATO線與(其他卡的)其他DATO線斷開連接,則主機可以在卡忙時訪問其他卡。
當卡正在編程時,不允許使用參數集命令。
參數設置命令有:設置塊長度(CMD16)、擦除塊開始(CMD32)和擦除塊結束(CMD33)。當卡正在編程時,不允許讀取命令。
將另一張卡從待機狀態移動到傳輸狀態(使用CMD7)不會終止擦除和編程操作。卡將切換到斷開狀態,并將釋放DAT線。
在斷開連接狀態下,可以使用CMD7重新選擇卡。在這種情況下,卡將移動到編程狀態并重新激活忙指示。
重置卡(使用CMDO或CMD15)將終止任何掛起的或正在進行的編程操作。這可能會破壞卡上的數據內容。主人有責任防止這種情況發生。
CMD34-37、CMD50和CMD57為SD指揮系統擴展預留。這些命令的狀態轉換在每個命令系統規范中定義。
-
數據傳輸
+關注
關注
9文章
1901瀏覽量
64626
發布評論請先 登錄
相關推薦
評論