快捷搜索:  汽车  科技

spi通讯协议介绍,飞控机通信协议之SPI协议

spi通讯协议介绍,飞控机通信协议之SPI协议数据传输时,在一个SPI时钟周期内,会完成如下操作: 1)主机通过MOSI线发送1位数据,从机通过该线读取这1位数据; 2)从机通过MISO线发送1位数据,主机通过该线读取这1位数据。 该过程是通过移位寄存器来实现的。主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。其数据传输过程如下图所示。在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。SPI接口在内部硬件实际上是两个简单的移位寄存器 传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK

spi通讯协议介绍,飞控机通信协议之SPI协议(1)

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是Motorola(大名鼎鼎的摩托罗拉公司)首先在其MC68HCXX系列处理器上定义的外接串口协议。SPI采用主从模式(Master-Slave)架构;支持多slave模式应用,一般仅支持单Master。

spi通讯协议介绍,飞控机通信协议之SPI协议(2)

SPI的物理连接比较简单,双向通信仅需要4根线,单向通信仅需要3根线。这就大大减少了引脚数量和PCB板的布线和制板的面积。这4根线分别是是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

(1)SDO/MOSI – 主设备数据输出,从设备数据输入;

(2)SDI/MISO – 主设备数据输入,从设备数据输出;

(3)SCLK – 时钟信号,由主设备产生;

(4)CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时,要将从设备对应的片选引脚电平拉低或者是拉高。

时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSBfirst);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。SPI通信没有读和写的说法,实质上每次通信都是数据的交换,也就是主设备发送了一个数据必会收到一个数据,要收到一个数据也要发送一个数据。总线结构如下图所示。

spi通讯协议介绍,飞控机通信协议之SPI协议(3)

在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。SPI接口在内部硬件实际上是两个简单的移位寄存器 传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。

spi通讯协议介绍,飞控机通信协议之SPI协议(4)

数据传输时,在一个SPI时钟周期内,会完成如下操作:
1)主机通过MOSI线发送1位数据,从机通过该线读取这1位数据;
2)从机通过MISO线发送1位数据,主机通过该线读取这1位数据。
该过程是通过移位寄存器来实现的。主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。其数据传输过程如下图所示。

spi通讯协议介绍,飞控机通信协议之SPI协议(5)

总的来看,SPI接口具有支持高速、同步、全双工、非差分、总线式通信的优点,在EEPROM、FLASH、实时时钟、AD转换器等器件之间的通信中被大规模采用。而且,它在芯片中只占用四根管脚 (Pin) 用来控制以及数据传输 节约了芯片的引脚数目 同时为 PCB 在布局上节省了空间. 正是出于这种简单易用的特性 现在越来越多的芯片上都集成了 SPI技术。

同样的,SPI接口也具的缺点不能指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。

猜您喜欢: