SPI是串行(serial)、并行(parallel)和独立(independent)三个英文单词的首字母,这三个词几种说明了多重记忆系统之间的关系。SPI理论认为,记忆系统是由多个执行特定功能的记忆模块构成的。这些记忆模块的关系表现为两个方面:信息以串行的加工方式进入记忆系统,在一个记忆模块中的编码依赖于某些其他功能模块中信息加工是否成功。也就是说,一个记忆模块的输出提供给另外模块的输入;信息以并行的方式存储在各个特定的记忆模块中,这样提取一个子系统的信息就不会牵连其他的子系统,各个子系统之间是相对独立的。
第二种解释:
SPI(system packet interface,系统包接口)用于物理层和链路层的链接,广泛地应用在通信接口中,主要应用于oc-48、oc-192和0c-768的同类业务,以及10gb/s以太网,spi主要有3个规格在oif组织中,即是spi-3、spi-4和spi-5,率和带宽业务的应用。
第三种解释:
SPI scientific performance index 科学工作指数。
7 SPI模式7.1 介绍
SPI模式由一个由基于闪存SD存储卡提供的次要通信协议组成.此模式是SD存储卡协议的子集。此接口在上电(CMD0)后的每一个复位命令期间被选择。
SPI标准只定义物理链接,而不提供数据传输协议。SD存储卡SPI执行利用SD存储卡协议和命令集的子集。
7.2 SPI总线协定
SD卡是基于命令和数据流,这些命令和数据流以一个起始位开始,以停止位结束的.SPI通道是面向字节的.每个命令或数据块都是由多个8位字节构成,且每个字节与CS片选信号对齐(例如:此长度是8时钟周期的倍数)。
类似于SD存储卡协议,SPI短信是由命令,响应和数据块环组成。所有的通信都由主机控制,主机通过拉低CS来启动每个总线事务。
SPI模式下的响应行为有三个方面和SD模式不同:
1、被选择的卡总是回应命令。
2、使用附加的(8位)响应结构。
3、当卡遇到一个数据检索问题时,它会用一个响应错误来回应(替换预期的数据块),而不是SD模式中的超时。
除了命令响应之外,每一个在写 *** 作期间发送到卡的数据块将以一个特殊的数据响应令牌来被响应。一个数据块可能和一个写块(WRITE_BL_LEN)一样大,也可能和一个信号字一样小。部分块的读/写 *** 作都被卡中CSD寄存器中所叙述的被选择的项使能。
7.2.1 模式选择
SD卡从SD模式中唤醒。如果CS信号在复位命令(CMD0)被接收期间被拉低,并进入空闲模式,如果认为是SD模式被需求则不会响应此命令,仍在SD模式下。如果SPI模式被需求,则卡将会切换到SPI,且用SPI模式R1响应。
唯一返回SD模式的方法是进入上电周期。在SPI模式下,SD存储卡协议状态机不被遵守。所有的在SPI模式下被支持的SD存储卡命令总是可用的。
7.2.2 总线传输保护
每个在总线上传输的SD存储卡令牌被CRC位保护。在SPI模式下,SD存储卡提供一个非保护模式。此模式使系统用可靠的数据链接来建立,以排除(否定)硬件或软件需要执行CRC生成和校验功能。
在非保护模式下,命令、响应和数据令牌的CRC位在令牌中仍被需要,尽管,对于发送器,它们被定义成“don't care”,且被接收器忽略。
在非保护模式下,SPI接口被初始化。尽管,RESET命令用于使卡切换到SPI模式,但它是在SD模式下被卡接收,所以,必须有一个有效的CRC域。
因为CMD0没有参数,所有的域的内容(包括CRC域)都是常数,不需要在运行时间计算出来。一个有效的复位命令是:
0x40,0x0, 0x0, 0x0, 0x0,0x95
主机可以用CRC_ON_OFF命令(CMD59)开关卡的CRC选项。
7.2.3 读数据
SPI支持单块读和多块读 *** 作(在SD存储卡协议中的CMD17 OR CMD18)。当接收一个有效的读命令后卡将在一个在SET_BLOCK_LEN(CMD16)定义了长度的数据令牌之后,用一个响应令牌作出回复。(参考Figure41)
Figure41 单块读 *** 作
一个有效的数据块被添加了一个16位CRC,此CRC由CCITT标准多项式X16+X12+X5+1生成。
能被READ_BL_LEN给出的最大的块的的长度大CSD中定义了。如果片块被允许,块长度可以是1~MAX块大小之间的任何长度。否则,数据读的有效块长度只是在READ_BL_LEN中给出的值。
起始地址可以是在卡的有效地址范围内的任何字节地址。但是,每一个块,必须包含入一个单一的物理卡扇区中。
如发生一个可修复错误,卡不会传输任何数据,而是发送一个特定的数据错误令牌到主机。
Figure42:读 *** 作-数据错误
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)