SDIO总线

Posted yxysuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SDIO总线相关的知识,希望对你有一定的参考价值。

SDIO接口是在SD内存卡接口的基础上发展起来的接口。SDIO接口兼容曾经的SD内存卡。而且能够连接SDIO接口的设备。

SDIO1.0标准定义了两种类型的SDIO卡:

1.全速的SDIO卡。传输率能够超过100Mbps

2.低速的SDIO卡,支援的时脉速率在0400KHz之间。

      SDIO协议是由SD卡的协议演化升级而来的,非常多地方保留了SD卡的读写协议,同一时候SDIO协议又在SD卡协议之上加入了CMD52CMD53命令。

因为这个。SDIOSD卡规范间的一个重要差别是添加了低速标准,低速卡的目标应用是以最小的硬件开支来支持低速I/O能力。

低速卡支持类似调制解调器,条形码扫描仪和GPS接收器等应用。

快速卡支持网卡,电视卡以及组合卡等。

组合卡指的是存储器+SDIO,对组合卡来操作须要全速和4BIT的传输模式,这是SDIO1.0标准规定的。

一、SDIO总线:

       SDIO总线和USB总线类似,SDIO总线也有两端。当中一端是主机(HOST)端,还有一端是设备端(DEVICE)。採用HOST- DEVICE这种设计是为了简化DEVICE的设计,全部的通信都是由HOST端发出命令開始的。

DEVICE端仅仅要能解析HOST的命令,就能够同HOST进行通信了,SDIOHOST能够连接多个DEVICE

SDIO的信号传输模式有SPI1-bit4-bit三种。在SPI模式中,第8脚位被当成中断信号。其他脚位的功能和通信协定与SD记忆卡的标准规范一样。在SDIO总线定义中,DAT1信号线复用为中断线。在SDIO1BIT模式DAT0用来数据传输,DAT1用作中断线。

SDIO4BIT模式DAT0-DAT3用来数据传输,当中DAT1复用作中断线。

SDIO的每一个脚位在不同信号模式下的定义例如以下图:

技术分享

图一 SDIO的每一个脚位在不同信号模式下的定义

Micro SD Card。原名Trans-flash CardTF卡)。2004年正式更名为Micro SD Card,由SanDisk(闪迪)公司发明。SD卡的管脚定义和Micro SDTF)卡的管脚定义是不一样的。

 

技术分享

图二 SD卡和Micro SDTF)卡的管脚定义             

引脚号

SD

TF卡(SD模式)

TF卡(SPI模式)

1

Data3

Data2

Rsv

2

Cmd

Data3

Cs

3

Vss

Cmd

Di

4

Vdd

Vdd

Vdd

5

Clk

Clk

Sclk

6

Vss

Vss

Vss

7

Data0

Data0

Do

8

Data1

Data1

Rsv

9

Data2

——

——

 

二、SDIO命令:

SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求,当中请求和回应中会包括数据信息:

1. Command:用于開始传输的命令,是由HOST端发往DEVICE端的,当中命令是通过CMD信号线传送的;

2. Response:回应是DEVICE返回的HOST命令作为Command的回应。

也是通过CMD线传送的;

3. Data:数据是双向的传送的。能够设置为1线模式,也能够设置为4线模式。数据是通过DAT0-DAT3信号线传输的。

SDIO的每次操作都是由HOSTCMD线上发起一个CMD,对于有的CMDDEVICE须要返回Response。有的则不须要。

 对于读命令,首先HOST会向DEVICE发送命令,紧接着DEVICE会返回一个握手信号。此时。当HOST收到回应的握手信号后,会将数据放在4位的数据线上。在传送数据的同一时候会尾随着CRC校验码。

当整个读传送完成后,HOST会再次发送一个命令,通知DEVICE操作完成。DEVICE同一时候会返回一个响应。

对于写命令,首先HOST会向DEVICE发送命令。紧接着DEVICE会返回一个握手信号,此时。当HOST收到回应的握手信号后,会将数据放在4位的数据线上。在传送数据的同一时候会尾随着CRC校验码。当整个写传送完成后。HOST会再次发送一个命令,通知DEVICE操作完成。DEVICE同一时候会返回一个响应。

三、SDIO内部的记忆体映射

SDIO记忆卡内部具有固定的记忆体映射,这包括暂存器空间或称为「一般资讯区域(common information areaCIA)」。以及特殊功能区域(function unique area)。CICIAA包括了与SDISDIOO记忆卡有关的资讯,以及一些必要的(mandatory)和可选择的(optional)暂存器。它们都位于固定的位址上。

藉此。SDIO的主机(譬如:可携式装置)可以得到SDIO记忆卡的有关资讯,并运行一般性的作业。特殊功能区域储存了很多种不同的功能,这是由供应商定义的,因此。不同厂牌的SDIO记忆卡可能会有不同的功能。附图二是具有很多种不同功能的SDIO记忆卡内部的固定记忆体映射空间。当中。RFU是「保留给未来使用(Reserved for Future Use)」的意思。

CIA所包括的暂存器能够开启或关闭I/O作业、处理硬件中断、加载韧体(这是选项)。这些暂存器也提供与SDISDIOO记忆卡功能相关的资讯和要求。CIA支援下列3种暂存器:

.一般控制暂存器(Card Common Control RegisterCCCR):能高速检查SDIO主机,并按照不同的SDIO记忆卡之功能控制它们的启动和中断能力。

即使在开机后,SDIO记忆卡的I/O功能尚未被启动,可是CCCR是能够被存取的,这使得SDIO主机于系统初始化后,能够马上启动SDIO记忆卡的I/O功能。

.基本功能暂存器(Function Basic RegisterFBR):每个I/O功能具有256 bytes的记忆体空间。这使得SDIO主机可以高速地判定每个I/O功能的能力和要求。并启动韧体下载功能。

这个空间位址是从0x00n000x00nFFn是功能编号(从0x10x7)。

.记忆卡资讯结构(Card Information StructureCIS):CIS提供更完整的记忆卡功能的相关资讯。这是仿照PCMCIA标准所制定的规格。SDIO记忆卡的每个功能都各有一个CIS区域。以及一个共用的CIS区域。共用的CIS区域储存了全部功能的共同特性,每个功能的CIS区域则储存了该功能所具备的特性。CCCRFBR各具有一个指标指向相相应的CIS位址。

 

技术分享

图三 SDIO固定记忆体映射空间

此外,由于SDIO记忆卡的每个功能可能须要包括额外的记忆体空间。用来储存驱动程式或应用程式。并且,由于SDIO记忆卡可能必须支援不同的平台。所以每个驱动程式或应用程式可能会有很多种版本号。解决办法有两种:一种是使用SD的标准规范。来设计「组合卡」;还有一种是使用嵌入式的「程式码储存区域(Code Storage AreaCSA)」。

 

技术分享

图四 SD的记忆体映射空间

SMC是「静态记忆体控制器(Static Memory Controller)」、BFC是「暴量传输的(burstFLASH控制器(Burst Flash Controller)」。

四、SD/MMC/SDIO概念区分概要

SDSecure Digital)与MMCMultimedia Card

SD是一种flash memory card的标准,也就是一般常见的SD记忆卡,而MMC则是较早的一种记忆卡标准。眼下已经被SD标准所代替。在维基百科上有相当具体的SD/MMC规格说明:[http://zh.wikipedia.org/wiki/Secure_Digital]

SDIOSecure Digital I/O

SDIO是眼下我们比較关心的技术,SDIO故名思义,就是SDI/O接口(interface)的意思,只是这样解释可能还有点抽像。更详细的说明,SD本来是记忆卡的标准,可是如今也能够把SD拿来插上一些外围接口使用,这种技术便是SDIO

所以SDIO本身是一种相当单纯的技术。透过SDI/O接脚来连接外部外围,并且透过SD上的I/O数据接位与这些外围数据传输,并且SD协会会员也推出非常完整的SDIO stack驱动程序。使得SDIO外围(我们称为SDIO卡)的开发与应用变得相当热门。

如今已经有许多的手机或是手持装置都支持SDIO的功能(SD标准原本就是针对mobile device而制定),并且很多SDIO外围也都被开发出来,让手机外接外围更加easy,并且开发上更有弹性(不须要内建外围)。眼下常见的SDIO外围(SDIO卡)有:

?Wi-Fi card(无线网络卡)

?CMOS sensor card(照相模块)

?GPS card

?GSM/GPRS modem card

?Bluetooth card

?Radio/TV card(非常好玩)

SDIO的应用将是未来嵌入式系统最重要的接口技术之中的一个,而且也会代替眼下GPIO式的SPI接口。

SD/SDIO的传输模式SD传输模式有下面3种:

?SPI moderequired

?1-bit mode

?4-bit mode

SDIO相同也支持以上3种传输模式。

根据SD标准,全部的SD(记忆卡)与SDIO(外围)都必须支持SPI mode,因此SPI mode是「required」。此外,早期的MMC卡(使用SPI传输)也能接到SD插糟(SD slot),而且使用SPI mode1-bit mode来读取。SDMMC Mode

SD也能读取MMC内存,尽管MMC标准上提到。MMC内存不见得要支持SPI mode(可是一定要支持1-bit mode),可是市面上能看到的MMC卡事实上都有支持SPI mode。因此,我们能够把SD设定成SPI mode的传输方式来读取MMC记忆卡。

SDMMC Mode就是用来读取MMC卡的一种传输模式。

只是,SDMMC Mode尽管也是使用SPI mode。但其物理特性仍是有差异的:

?MMCSPI mode最大传输速率为20Mbit/s

?SDSPI mode最大传输速率为25Mbit/s

为避免混淆。有时也用SPI/MMC modeSPI/SD mode的写法来做清楚差别。









以上是关于SDIO总线的主要内容,如果未能解决你的问题,请参考以下文章

STM32使用SDIO进行SD卡读写-了解SD总线,命令的相关介绍

USB/GPIO/SDIO

MMC/SD/SDIO介绍

wifi详解

总线——概念与分类

总线——概念与分类