SDIO 驱动Word文件下载.docx
- 文档编号:15983444
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:52
- 大小:155.35KB
SDIO 驱动Word文件下载.docx
《SDIO 驱动Word文件下载.docx》由会员分享,可在线阅读,更多相关《SDIO 驱动Word文件下载.docx(52页珍藏版)》请在冰豆网上搜索。
高速卡支持网卡,电视卡还有“组合”卡等,组合卡指的是存储器+SDIO。
SDIO和SD卡的SPEC间的又一个重要区别是增加了低速标准。
SDIO卡只需要SPI和1位SD传输模式。
低速卡的目标应用是以最小的硬件开支来支持低速I/O能力,低速卡支持类似MODEM,条形扫描仪和GPS接收器等应用。
对组合卡来说,全速和4BIT操作对卡内存储器和SDIO部分都是强制要求的。
在非组合卡的SDIO设备里,其最高速度要只有达到25M,而组合卡的最高速度同SD卡的最高速度一样,要高于25M。
SDIO总线
SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST-DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。
在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。
SDIO的HOST可以连接多个DEVICE,如下图所示:
这个是同SD的总线一样的,其中有如下的几种信号
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命令:
SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求。
其中请求和回应中会数据信息。
Command:
用于开始传输的命令,是由HOST端发往DEVICE端的。
其中命令是通过CMD信号线传送的。
Response:
回应是DEVICE返回的HOST的命令,作为Command的回应。
也是通过
CMD线传送的。
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卡的设备驱动80%的任务就是操作SDIO卡上的有关寄存器。
SDIO卡最多允许有7个功能(function),这个同其功能号是对应的(0~7),每个功能都对应一个128K字节大小的寄存器,这个见下面的图。
功能号之所以取值范围是1~7,而没有包含0,是因为功能0并不代表真正的功能,而代表CIA寄存器,即CommonI/OArea,这个纪录着SDIO卡的一些基本信息和特性,并且可以改写这些寄存器。
其中地址0x1000~0x17fff是SDIO卡的CIS区域,就是基本信息区域,CommonInformationStructure。
初始化的时候读取并配对SDIO设备。
这些寄存器的详细分区已经其对应的功能,在开发过程中都是需要仔细研读的,这些都在协议的SPEC中都有详细说明,这里就不在罗索了。
CMD52命令:
SDIO设备为了和SD内存卡兼容,SD卡所有Command和Response完全兼容,同时加入了一些新的Command和Response。
例如,初始化SD内存卡使用ACMD41,而SDIO卡设备则用CMD5通知DEVICE进行初始化。
但二者最重要的区别是,SDIO卡比SD内存卡多了CMD52和CMD53命令,这两个命令可以方便的访问某个功能的某个地址寄存器。
CMD52命令是IO_RW_DIRECT命令的简称,其命令格式如下
首先第一位为0,表明是起始位,第二位为传输方向,这里为1,代表方向为HOST向DEVICE设备传送,其后6位为命令号,这里是110100b,用十进制表示为52,CMD52的名字也由此而来。
紧接着是读写标志位。
然后是操作的功能号。
也就是function number。
如果为0则指示为CCCR寄存器组。
紧接着是寄存器地址,用17指示,由于功能寄存器有128K地址,17位正好能寻址。
再下来8位WritedataorStaffBits的意思是说,如果当前为写操作,则为数据,否则8位为填充位。
无意义。
最后7位为CRC校验码。
最后一位为结束位0。
对于CMD52的Response是48位,命令格式如下:
总结下,CMD52是由HOST发往DEVICE的,它必须有DEVICE返回来的Response。
CMD52不需要占用DAT线,读写的数据是通过CMD52或者Response来传送。
每次CMD52只能读或者写一个byte.
CMD53命令:
CMD52每次只能读写一个字节,因为有了CMD53对读写进行了扩展,CMD53允许每次读写多个字节或者多个块(BLOCK)。
CMD53的命令格式如下:
第一位是1,为开始位,然后是一位方向位,总是1,代表方向为HOST向DEVICE设备传送,其后6位为命令号,这里是110101b,用十进制表示为53,CMD53的名字也由此而来。
然后是1位的读写标志。
接着是3位功能号,这个同CMD52都是相同的。
Block Mode如果1代表是块传输模式,否则为字节传输模式。
OPCode为操作位,如果是0,代表数据往固定的位置读写,如果1代表是地质增量读写。
例如,对地址0固定读写16个字节,相当于16次读写的地址0,而对地址0增量读写16个字节,相当于读写0~15地址的数据。
然后是17位的地址寄存器,可以寻址到128K字节的地址,然后是9位的读写的计数,对于字节读取,读写大小就是这个计数,而对于块读写,读写的大小是计数乘以块的大小。
随后的7位为CRC校验码。
最后一位为1。
当读写操作是块操作的时候,块的大小是可以通过设置FBR中的相关寄存器来设置。
同CMD52命令不同的是,CMD53没有返回的命令的,这里判断是否DEVICE设备读写完毕是需要驱动里面自己判断的,一般有2个方法,1.设置相应的读写完毕中断。
如果DEVICE设备读写完毕,则对HOST设备发送中断。
2.HOST设备主动查询DEVICE设备是否读写完毕,可以通过CMD命令是否有返回来判断是否DEVICE是否读写完毕。
转自:
sdio架构初解
LINUX驱动2011-07-0615:
54853人阅读评论(0)收藏举报
SDIO架构初解
谨以此文纪念过往的岁月
一.前言
SD卡的大名是耳熟能详,但是SDIO总线确是不为人解,不过说起他的近亲SPI就知道了。
我们这里主要是理解SDIO总线,并不去理解SPI总线。
也许大家会畏惧其庞大的代码,其实我们并不需要详细理解其具体的实现,我们需要理解其架构。
二.主机(host)
在linux2.6.28中,在sdhci-s3c.c实现对主机的sdhci的驱动,而其设备的添加则在smdk6410_devices中。
在sdhci-s3c.c的sdhci_s3c_probe实现对主机端的驱,对于里面具体的一些实现我们就不看了,主要是看其中通用的code。
staticint__devinitsdhci_s3c_probe(structplatform_device*pdev)
{
structsdhci_host*host;
structsdhci_s3c*sc;
host=sdhci_alloc_host(dev,sizeof(structsdhci_s3c));
sc=sdhci_priv(host);
sdhci_add_host(host);
}
对于上面的函数,主要就是关心上面的几段代码。
首先,来看sdhci_host这个结构体,这个是个很重要的东西,这个将会贯穿整个驱动。
structsdhci_host{
/*Datasetbyhardwareinterfacedriver*/
constchar
*hw_name;
/*Hardwarebusname*/
unsignedint
quirks;
/*Deviationsfromspec.*/
int
irq;
/*DeviceIRQ*/
void__iomem*
ioaddr;
/*Mappedaddress*/
conststructsdhci_ops
*ops;
/*Lowlevelhwinterface*/
structmmc_host
*mmc;
/*MMCstructure*/
u64
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SDIO 驱动