SDIO采用HOST-DEVICE模式,所有通信都由HOST端發命令,DEVICE設備只要解析HOST命令就可與HOST進行通信。
SDIO總線的幾根線:
1. CLK信號:HOST給DEVICE的時鍾信號.
2. CMD信號:雙向的信號,用於傳送命令和反應。
3. DAT0-DAT3 信號:四條用於傳送的數據線。
4. VDD信號:電源信號。
5. VSS1,VSS2:電源地信號。
在SDIO總線定義中,DAT1信號線復用為中斷線。在SDIO的1BIT模式下DAT0用來傳輸數據,DAT1用作中斷線。在SDIO的4BIT模式下DAT0-DAT3用來傳輸數據,其中DAT1復用作中斷線
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同時會返回一個響應。
SDIO卡是在SD內存卡接口的基礎上發展起來的接口,SDIO接口兼容以前的SD內存卡,並且可以連接SDIO接口的設備,目前根據SDIO協議的SPEC,SDIO接口支持的設備總類有藍牙,網卡,電視卡等。
SDIO協議是由SD卡的協議演化升級而來的,很多地方保留了SD卡的讀寫協議,同時SDIO協議又在SD卡協議之上添加了CMD52和CMD53命令。由於這個,SDIO和SD卡規范間的一個重要區別是增加了低速標准,低速卡的目標應用是以最小的硬件開始來支持低速I/O能力。低速卡支持類似調制解調器,條形碼掃描儀和GPS接收器等應用。高速卡支持網卡,電視卡還有“組合”卡等,組合卡指的是存儲器+SDIO。
SDIO和SD卡的SPEC間的又一個重要區別是增加了低速標准。SDIO卡只需要SPI和1位SD傳輸模式。低速卡的目標應用是以最小的硬件開支來支持低速I/O能力,低速卡支持類似MODEM,條形掃描儀和GPS接收器等應用。對組合卡來說,全速和4BIT操作對卡內存儲器和SDIO部分都是強制要求的。
在非組合卡的SDIO設備里,其最高速度要只有達到25M,而組合卡的最高速度同SD卡的最高速度一樣,要高於25M。