sd协议30.docx
- 文档编号:27837089
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:9
- 大小:20.46KB
sd协议30.docx
《sd协议30.docx》由会员分享,可在线阅读,更多相关《sd协议30.docx(9页珍藏版)》请在冰豆网上搜索。
sd协议30
竭诚为您提供优质文档/双击可除
sd协议3.0
篇一:
sdio协议简介
sdio卡
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。
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端回应请求。
其中请求和回应中会数据信息。
mand:
用于开始传输的命令,是由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卡的设备驱动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的名字也由此而来。
紧接着是读写标志位。
然后是操作的功能号。
也就是functionnumber。
如果为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都是相同的。
blockmode如果1代表是块传输模式,否则为字节传输模式。
opcode为操作位,如果是0,代表数据(sd协议3.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是否读写完毕。
转自:
篇二:
中文版est3与ba之间通信协议sduv20
中文版est3与ba之间通信协议
(sdu20)
一、est3与ba之间的接口方式
1.采用Rs232串口通讯方式,通讯线按下表连接
2.8位数据位1位起始位1位停止位无校验
波特率为:
1200,2400,4800,9600baudRate可选(默认值9600)3.est3在事件(如探头报警)发生时,主动向串口按照以上数据格式发送数据。
二、est3信息格式
a、est3信息可以分为三大类
其中
“typecode”为类型码
“type”和“类型”为“typecode”对应的英,中文信息种类
p,c,d表示设备的地址
p表示盘号(panel),范围为0—64,为est3主机在est3网络
的编号。
c表示卡号(localRailmoduleaddress),
0-19为本地轨道模块24-32为逻辑组33-51为按钮/指示灯
d表示器件的回路地址(deviceaddress),0001-0125,251-375:
探头0126-0250,376-500:
模块
警
注:
操作员确认信息仅当est3在proprietary模式下工作才出现
b、信息分隔符
1.各条信息之间以回车字符(0x0d)和换行字符(0x0a)分隔,即上述3个例子开始和末尾的回车换行字符
2.一般性信息长度为1至2行,若为2行,则信息的第二行为用户自定义信息,用户自定义信息亦以回车换行字符为结束符,各个器件的用户自定义信息由调试人员设定。
篇三:
sdio协议文档
sdio1.00协议简介
目录
123
目的......................................................................................................................-1-备注......................................................................................................................-1-sdiosignalingdefinition.......................................................................................-1-3.1sdiocardtypes.......................................................................................-1-3.2
sdiocardmodes......................................................................................-1-
3.3sdiohostmodes.....................................................................................-1-3.4信号引脚.................................................................................................-2-3.5hostrequirementsforsdio.......................................................................-2-sdiocard初始化..................................................................................................-2-4.14.25
iocaRd初始化的差异..........................................................................-2-theio_send_op_condcommand(cmd5)...........................................-3-
4
4.3theio_send_op_condResponse(R4)..................................................-4-differenceswithsdmemoryspecification(与sd内存标准的差异)...........................-4-5.15.25.35.4
sdio命令清单.......................................................................................-4-carddetectResistor.................................................................................-5-数据传输停止..........................................................................................-5-changestosdmemoryFixedRegisters......................................................-5-5.4.1ocR寄存器.....................................................................................-5-5.4.25.4.3
cid寄存器......................................................................................-5-Rca寄存器....................................................................................-6-
6新io读写命令......................................................................................................-6-6.16.26.3
io_Rw_diRectcommand(cmd52).........................................................-6-io_Rw_diRectResponse(R5).................................................................-6-io_Rw_extendedcommand(cmd53)...................................................-7-6.3.1cmd53数据传输格式.....................................................................-7-sdio内部操作......................................................................................................-8-7.17.27.37.47.57.67.77.87.9
Registeraccesstime................................................................................-8-interrupts.................................................................................................-8-sdioFixedinternelmap...........................................................................-8-commonioarea......................................................................................-9-cccR(cardcommoncontrolRegister).................................................-9-FbR(FunctionbasicRegisters).............................................................-12-cardinformationstructure(cis)...............................................................-14-multipleFunctionsdiocards.................................................................-14-settingblocksizewithcmd53...............................................................-14-
7
8embeddedi/ocodestoragearea(csa).................................................................-15-
1目的
本文描述的是基于sdio标准协议1.0版本,主要描述协议中比较重要的细节信息。
对实际代码层,没有做详细的描述,对比较重要的寄存器配置会做详细的描述。
2备注
此文档参考内容是sdio标准协议1.10,而实际用到的wiFi驱动是sdio1.00协议。
所以与实际的可能有差别
3sdiosignalingdefinition
3.1sdiocardtypes
标准定义有两种类型的sdio卡。
全速(full-speed)card支持spi,1bitsd,和4bit传输模式,时钟范围在0到25mhz。
这种卡传输数据速率达到100mb/s以上。
第2种是low-speedsdio卡。
这种卡仅需要支持spi模式和1bitsd传输模式。
4bit传输模式是可选的。
另外。
低速模式的sdio卡支持的时钟范围是0到400khz.这种卡趋向支持低速模式的设备,如modems。
gps等
3.2sdiocardmodes
有spi模式,1bit模式,一位模式下只用到数据data[0],4bit模式
3.3sdiohostmodes
如果sdioaware主机支持sd传输模式,建议采用1bit和4bit模式。
而sdiohost端可能仅支持4位传输模式。
这是因为唯一的传输数据的路径,从一个低速caRd将通过命令单子节传输。
3.4信号引脚
3.5hostrequirementsforsdio
为了主机支持所有的sdio卡,一些信号引脚连接必须被支持。
为了支持中断,host应该有pin8从card连接到host,以便支持中断信号,即使host只支持1bit模式和spi模式。
此外,如果host支持多张card在sd模式下,cmd和4根数据线不应该连接在一起,而是应该单独连接到host。
这使多种card类型用不同的接口而没有影响。
此外,有一些附加设计细节,设计host支持sdio卡必须知道:
如果host支持4bitsd总线模式和中断(在4bit数据传输时间内);host将控制值置换到数据线data3:
1.这些条件是:
a:
在多块数据写时
根据sd物理协议1.1,数据线data3:
1是描述为不x(任意值)在cRc状态期间.如果host激活驱动这些数据线在这个时期,也许会干扰从sdio卡来的中断信号。
为了防止这样的冲突,host支持中断在4bit传输模式下,在这期间不会驱动数据现data3:
1b:
多块数据读时
根据sd标准协议1.1,data1被描述为"p"(上拉信号)在读数据包时。
为了在4bit传输模式支持中断,host将不驱动data1数据线在2个时钟中断周期。
4sdiocard初始化
4.1iocaRd初始化的差异
sdio标准要求:
是sdiocard插入时不会导致host探测失败。
为了防止操作io功能在非io识别host端,改变sd卡的识别模式流程是必要的。
一个新的命令(io_send_op_cond,cmd5)被添加代替acmd41初始化sdio。
复位和上电以后,所有的io功能被关闭,并且io端口不能操作,除非cmd5或cmd0且cs=0。
如果sd内存安装到caRd中,内存应正常响应所有正常强制性内存命令。
所有的io功能caRd不相应acmd41,因而最初作为mmc卡,io卡不相应cmd1用
作初始化mmc卡并且表现非相应card。
主机放弃并且禁用这种卡。
因此,no-awarehost没有收到回应的i/o卡,只能强制到无效状态。
所有的sdiohost发送cmd5前发送cmd55/acmd41,并且将收到有效的ocR,在R4相应cmd5并且继续初始化卡,在数据手册中描述了sd模式和spi模式的时序图。
如果io端口caRd收到的不是cmd5命令,io选择保留非激活状态并且不相应一些命令。
combo卡维持在内存模式。
如果内存没有被安装在card上,card将不相应内存命令。
这种符合条件无论在那里用户用一些io功能如:
以太网下载音乐文件到card的内存。
这种card移出和插入是非sdioaware-host。
host将不使能io功能,因此作为内存caRd。
如果host主机识别io,它将发cmd5到card并且card将响应R4。
host读R4值和知道可用io功能数量和sd内存是否存在。
初始化io端口caRd后,读取cia(commoninformationarea)。
这样做是发送读命令。
首先是字节地址。
cia包含cccR(cardcommoncontrolRegisters)和FbR(FunctionbasicRegisters)。
也包含指向cis和每一个独立的cis结构。
cis包含电源,功能,制造商和其他。
host需要确定是否io空能是否需要适当的上电。
如果host确定card需要激活,寄存器cccR使能caRd和每一个功能。
在这种条件下,所有iocaRd的功能充分使用。
除此之外,host能控制电源功耗和关闭和使能中断。
这些访问通过io,而不是内存接口访问。
sdio识别host将发送cmd5arg=0作为初
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sd 协议 30