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)卡的管脚定义是不一样的。

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


引脚号


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的每次操作都是由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内部的记忆体映射

SDIO记忆卡内部具有固定的记忆体映射,这包括暂存器空间或称为「一般资讯区域(common
information area;CIA)」。以及特殊功能区域(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 Register。CCCR):能高速检查SDIO主机,并按照不同的SDIO记忆卡之功能控制它们的启动和中断能力。

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

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

这个空间位址是从0x00n00至0x00nFF,n是功能编号(从0x1至0x7)。

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

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

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

图四 SD的记忆体映射空间

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

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

SD(Secure
Digital)与MMC(Multimedia
Card)

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

SDIO(Secure
Digital I/O)

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

所以SDIO本身是一种相当单纯的技术。透过SD的I/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 mode(required)

?1-bit mode

?4-bit mode

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

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

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

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

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

?MMC的SPI
mode最大传输速率为20Mbit/s。

?SD的SPI
mode最大传输速率为25Mbit/s。

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

时间: 2024-08-24 07:29:08

SDIO总线(一)的相关文章

SDIO总线协议

SDIO采用HOST-DEVICE模式,所有通信都由HOST端发命令,DEVICE设备只要解析HOST命令就可与HOST进行通信. SDIO总线的几根线:       1.  CLK信号:HOST给DEVICE的时钟信号.       2.  CMD信号:双向的信号,用于传送命令和反应.       3.  DAT0-DAT3 信号:四条用于传送的数据线.       4.  VDD信号:电源信号.       5.  VSS1,VSS2:电源地信号. 在SDIO总线定义中,DAT1信号线复用为

Linux SDIO总线驱动(二)

驱动: 以SDIO为例其会采用mmc_attach_sdio来实现驱动和设备的匹配,其本质还是根据sdio_bus的匹配规则来实现匹配.在mmc_attach_sdio中首先是mmc匹配一个bus,即采用何种bus来进行mmc bus来处理host.在这里需要理解一点就是在SDIO中,对于SD卡存储器mmc为实体设备,而对于非SD卡存储器,如SDIO接口的设备,则mmc则表征为bus,这个比较重要.除了mmc bus外还存在SDIO_BUS. /* * Starting point for SD

Linux SDIO总线驱动(一)

SDIO卡 SDIO卡是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备,目前根据SDIO协议的SPEC,SDIO接口支持的设备总类有蓝牙,网卡,电视卡等. SDIO协议是由SD卡的协议演化升级而来的,很多地方保留了SD卡的读写协议,同时SDIO协议又在SD卡协议之上添加了CMD52和CMD53命令.由于这个,SDIO和SD卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开始来支持低速I/O能力.低速卡支持类似调制解调

[SDIO].SDIO总线详解

转自:https://blog.csdn.net/liuhan33025/article/details/51131848 SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备. SDIO1.0标准定义了两种类型的SDIO卡: 1.全速的SDIO卡,传输率可以超过100Mbps: 2.低速的SDIO卡,支援的时脉速率在0至400KHz之间. SDIO协议是由SD卡的协议演化升级而来的,很多地方保留了SD卡的读写协议,同时SDIO协

SDIO 接口的wifi驱动

1.sdio接口层解析 SDIO总线   SDIO总线 和 USB总线 类似,SDIO也有两端,其中一端是HOST端,另一端是device端.所有的 通信 都是 由HOST端 发送 命令 开始的,Device端只要能解析命令,就可以相互通信. CLK信号:HOST给DEVICE的 时钟信号,每个时钟周期传输一个命令. CMD信号:双向 的信号,用于传送 命令 和 反应. DAT0-DAT3 信号:四条用于传送的数据线. VDD信号:电源信号. VSS1,VSS2:电源地信号. SDIO热插拔原理

Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析

SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈.可以实现用户主平台数据通过SDIO口到无线网络之间的转换.SDIO具有数据传输快,兼容SD.MMC接口等特点. 对于SDIO接口的wifi,首先,它是一个sdio的卡的设备.然后具备了wifi的功能.所以.注冊的时候还是先以sdio的卡的设备去注冊的. 然后检測到卡之后就要驱动他的wifi功能了.显然,他是用sdio的协议,通过发命令和数据来控制的.以

SDIO接口

SDIO卡是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备,目前根据SDIO协议的SPEC,SDIO接口支持的设备总类有蓝牙,网卡,电视卡等. SDIO协议是由SD卡的协议演化升级而来的,很多地方保留了SD卡的读写协议,同时SDIO协议又在SD卡协议之上添加了CMD52和CMD53命令.由于这个,SDIO和SD卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开始来支持低速I/O能力.低速卡支持类似调制解调器,条形码扫

第36章 SDIO—SD卡读写测试

第36章     SDIO-SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>以及SD简易规格文件<Physical Layer Simplified Specificatio

USB/GPIO/SDIO

通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范.它只有4根线,两个电源(5V,地线),两个数据线(D+,D-).,故信号是串行传输的,即按照传输时钟脉冲的节奏一位一位的传输.usb接口也称为串行口. usb接口的4根线一般是下面这样分配的,需要注意的是千万不要把正负极弄反了,否则会烧掉usb设备或者电脑的南桥芯片:黑线:gnd 红线:vcc 绿线:data+(DP) 白线:data-(DM)