天天看點

SDIO接口

一、SDIO簡介

  SDIO接口是在SD記憶體卡接口的基礎上發展起來的接口,SDIO接口相容以前的SD記憶體卡,并且可以連接配接SDIO接口的裝置。

  SDIO1.0标準定義了兩種類型的SDIO卡:

  1.全速的SDIO卡,傳輸率可以超過100Mbps;

  2.低速的SDIO卡,支援的時脈速率在0至400KHz之間。

  SDIO協定是由SD卡的協定演化更新而來的,很多地方保留了SD卡的讀寫協定,同時SDIO協定又在SD卡協定之上添加了CMD52和CMD53指令。由于這個,SDIO和SD卡規範間的一個重要差別是增加了低速标準,低速卡的目标應用是以最小的硬體開支來支援低速I/O能力。低速卡支援類似數據機,條形碼掃描器和GPS接收器等應用。高速卡支援網卡,電視卡以及組合卡等。組合卡指的是存儲器+SDIO,對組合卡來操作需要全速和4BIT的傳輸模式,這是SDIO1.0标準規定的。

二、SDIO總線

  SDIO總線和USB總線類似,SDIO總線也有兩端,其中一端是主機(HOST)端,另一端是裝置端(DEVICE),采用HOST- DEVICE這樣的設計是為了簡化DEVICE的設計,所有的通信都是由HOST端發出指令開始的。在DEVICE端隻要能解析HOST的指令,就可以同HOST進行通信了,SDIO的HOST可以連接配接多個DEVICE。

  SDIO的信号傳輸模式有SPI、1-bit、4-bit三種。在SPI模式中,第8腳位被當成中斷信号。其它腳位的功能和通信協定與SD記憶卡的标準規範一樣。在SDIO總線定義中,DAT1信号線複用為中斷線。在SDIO的1BIT模式下DAT0用來傳輸資料,DAT1用作中斷線。在SDIO的4BIT模式下DAT0-DAT3用來傳輸資料,其中DAT1複用作中斷線。

SDIO的每個腳位在不同信号模式下的定義如下圖:

SDIO接口
  Micro SD Card,原名Trans-flash Card(TF卡)。2004年正式更名為Micro SD Card,由SanDisk(閃迪)公司發明。SD卡的管腳定義和Micro SD(TF)卡的管腳定義是不一樣的。
SDIO接口
圖二 SD卡和Micro SD(TF)卡的管腳定義             

引腳号 SD卡 TF卡(SD模式) TF卡(SPI模式)
1 Data3 Data2 Rsv
2 Cmd Cs
3 Vss Di
4 Vdd
5 Clk Sclk
6
7 Data0 Do
8 Data1
9 ——

三、SDIO指令

  SDIO總線上都是HOST端發起請求,然後DEVICE端回應請求,其中請求和回應中會包含資料資訊:

  1. Command: 用于開始傳輸的指令,是由HOST端發往DEVICE端的,其中指令是通過CMD信号線傳送的;

  2. Response: 回應是DEVICE傳回的HOST指令作為Command的回應。也是通過CMD線傳送的;

  3. Data: 資料是雙向的傳送的。可以設定為1線模式,也可以設定為4線模式。資料是通過DAT0-DAT3信号線傳輸的。

  SDIO的每次操作都是由HOST在CMD線上發起一個CMD,對于有的CMD,DEVICE需要傳回Response,有的則不需要。

  對于讀指令,首先HOST會向DEVICE發送指令,緊接着DEVICE會傳回一個握手信号,此時,當HOST收到回應的握手信号後,會将資料放在4位的資料線上,在傳送資料的同時會跟随着CRC校驗碼。當整個讀傳送完畢後,HOST會再次發送一個指令,通知DEVICE操作完畢,DEVICE同時會傳回一個響應。

  對于寫指令,首先HOST會向DEVICE發送指令,緊接着DEVICE會傳回一個握手信号,此時,當HOST收到回應的握手信号後,會将資料放在4位的資料線上,在傳送資料的同時會跟随着CRC校驗碼。當整個寫傳送完畢後,HOST會再次發送一個指令,通知DEVICE操作完畢,DEVICE同時會傳回一個響應。