A. SPI通信协议
SPI主要是芯片级或板级通信使用,也有设备之间使用的。但不可能在实际应用中有太多的SPI设备互连。
一般可按负载与驱动能力计算,分布电容、线长、电磁环境都有关系,同时与速度也有关系,准确计算很难,一般是粗略估算是否满足使用要求,没有反过来计算可以“带动多少从机”的,你想“带动多少从机”啊?
B. spi是传输什么信号 数字信号 模拟信号 还是其他什么信号
这里的SPI如果是指串行外设接口,那么肯定就是传输数字信号了;
C. SPI中MISO和MOSI是什么所写
MISO Master Input Slave Output 主机输入从机输出。
MOSI (SPI Bus Master Output/Slave Input)SPI 总线主输出/ 从输入MISO (SPI Bus Master Input/Slave Output) SPI 总线主机输入/ 从机输出MOSI 。
(1)MISO–Master Input Slave Output,主设备数据输入,从设备数据输出;
(2)MOSI–Master Output Slave Input,主设备数据输出,从设备数据输入;
(3)SCLK – Serial Clock,时钟信号,由主设备产生;
(4)CS – Chip Select,从设备使能信号,由主设备控制。
(3)spi信号网络标签命名扩展阅读:
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,主要是在sck的控制下,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。
那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将锁存到寄存器中去,那么这时寄存器=0101010sdi,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成了一个spi时序。
D. SPI 的英文全称是什么,有几个信号,分别是什么
SPI总线
----串行外围设备接口SPI(serial
peripheral
interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
E. SPI总线的通讯协议是什么
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。
(1)SDO – 主设备数据输出,从设备数据输入
(2)SDI – 主设备数据输入,从设备数据输出
(3)SCLK – 时钟信号,由主设备产生
(4)CS – 从设备使能信号,由主设备控制
其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。
接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。
要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。
AT91RM9200的SPI接口主要由4个引脚构成:SPICLK、MOSI、MISO及 /SS,其中SPICLK是整个SPI总线的公用时钟,MOSI、MISO作为主机,从机的输入输出的标志,MOSI是主机的输出,从机的输入,MISO 是主机的输入,从机的输出。/SS是从机的标志管脚,在互相通信的两个SPI总线的器件,/SS管脚的电平低的是从机,相反/SS管脚的电平高的是主机。在一个SPI通信系统中,必须有主机。SPI总线可以配置成单主单从,单主多从,互为主从。
SPI的片选可以扩充选择16个外设,这时PCS输出=NPCS,说NPCS0~3接4-16译码器,这个译码器是需要外接4-16译码器,译码器的输入为NPCS0~3,输出用于16个外设的选择。
二 SPI协议举例
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。
假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。
那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将所存到寄存器中去,那么这时寄存器=0101010sdi,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成里一个spi时序。I2C总线I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
1 I2C总线特点
I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。
2 I2C总线工作原理
2.1 总线的构成及信号类型
I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。
I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
F. 压力传感器中的输出类型I²C、SPI,引脚SDA、SCL、MISO、SCLK、NC、SS各是什么意思
I2C、SPI为通信中的数据传输协议,即通信协议。
I2C通信中使用两个信号线SDA、SCL,分别为数据线和时钟线。
SPI通信中使用4根信号线MISI、MISO、SCLK、SS,分别为数据输入、数据输出、时钟和使能端,NC表示空脚。
(6)spi信号网络标签命名扩展阅读:
SPI有四种操作模式——模式0、模式1、模式2和模式3,它们的区别是定义了在时钟脉冲的哪条边沿转换(toggles)输出信号,哪条边沿采样输入信号,还有时钟脉冲的稳定电平值(就是时钟信号无效时是高还是低)。每种模式由一对参数刻画,它们称为时钟极(clock polarity)CPOL与时钟期(clock phase)CPHA。
[主从设备]必须使用相同的工作参数——SCLK、CPOL 和 CPHA,才能正常工作。如果有多个[从设备],并且它们使用了不同的工作参数,那么[主设备]必须在读写不同[从设备]间重新配置这些参数。
G. 关于spi模式的命令
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:读操作-数据错误
H. spi 的single Dual quad模式分别代表什么意思
Dual模式意思是可以发送一个命令字节进入al mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输。
quad模式的意思是针对SPI Flash,Qual SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit,所以对于SPI Flash,有标准spi flash,al spi , qual spi 三种类型,分别对应3-wire, 4-wire, 6-wire,在相同clock下,线数越多,传输速率越高。
(8)spi信号网络标签命名扩展阅读
SPI总线是一种4线总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器有更多的时间处理其它事务。
正是因为这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。SPI是一种高速、高效率的串行接口技术。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI是一个环形结构,通信时需要至少4根线。
CS是从芯片是否被主芯片选中的控制信号,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),主芯片对此从芯片的操作才有效。这就使在同一条总线上连接多个SPI设备成为可能。
I. SPI接口的接口信号
(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK –时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2
(4)NSS – 从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的上升沿上数据改变,同时一位数据被存入移位寄存器。
J. 什么是SPI通信协议
1、SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。
2、SPI优点:支持全双工通信、通信简单、数据传输速率块。
3、缺点:没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。
4、特点
1):高速、同步、全双工、非差分、总线式。
2):主从机通信模式。
5、协议通信时序详解
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(1)SDO/MOSI – 主设备数据输出,从设备数据输入;
(2)SDI/MISO – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。