怎么玩SPI?了解时间并自由使用
1.什么是SPI? SPI是串行外围设备接口的缩写。它是Motorola推出的同步串行接口技术。
它是高速,全双工和同步通信总线。 2. SPI的优点是支持全双工通信和简单的数据传输速率块。
3.缺点没有指定的流控制,也没有响应机制来确认是否接收到数据,因此与IIC总线协议相比,存在一定的缺陷。在数据可靠性方面。
4.特性(1):高速,同步,全双工,非差分,总线类型(2):主从通信模式5. SPI电路连接(1):SPI的通信原理非常简单,它使用主从模式工作,这种模式通常有一个主设备和一个或多个从设备,有三线制和四线制。信号线包括SDI(串行数据输入串行数字输入),SDO(串行数据输出串行数字输出),SCLK(时钟),CS(片选)。
(2):SDO / MOSI主设备数据输出,从设备数据输入(3):SDI / MISO主设备数据输入,从设备数据输出(4):由主设备生成的SCLK时钟信号; (5):CS / SS从设备启用信号,由主设备控制。当有多个从设备时,由于每个从设备都有一个连接到主设备的芯片选择引脚,所以当主设备与从设备进行通信时,需要将从设备的相应芯片选择引脚拉低(通常为低电平)。
低效)。 6. SPI通信模式分析SPI通信具有4种不同的模式。
不同从站设备的配置模式已在工厂固定。这不能更改,但是两个通信设备必须以相同的模式工作。
SPI模式配置为通过CPOL(时钟极性)和CPHA(时钟相位)控制主设备的通信模式。具体模式如下:CPOL = 0,CPHA = 0模式1:CPOL = 0,CPHA = 1模式2:CPOL = 1,CPHA = 0模式3:CPOL = 1,CPHA = 1模式CPOLCPHAMode000Mode101Mode210Mode210Mode311时钟极性CPOL用于配置SCLK电平的有效状态;时钟相位CPHA用于配置在哪个边沿上的数据采样。
CPOL = 0表示当SCLK = 0时它处于空闲状态,因此当SCLK处于高电平时有效。 CPOL = 1表示当SCLK = 1时它处于空闲状态,因此当SCLK处于低电平时有效。
CPHA = 0表示在第一个边缘上进行数据采样,在第二个边缘上发送数据; CPHA = 1表示在第二个边缘采样数据,并在第一个边缘发送数据;当SPI主模块与与其通信的外设进行通信时,两者之间的差异时钟相位和极性应保持一致。 7.详细的SPI时序CPOL = 0,CPHA = 0:在空闲状态下,SCLK处于低电平,数据采样在第一个边沿,即SCLK从低电平过渡到高电平,因此数据采样在上升数据传输处于下降沿。
CPOL = 0,CPHA = 1:在空闲状态下,SCLK为低电平,数据在第一个边沿发送,即SCLK从低电平到高电平的跃迁,因此数据采样为下降沿,即数据传输正在上升。 CPOL = 1,CPHA = 0:这时,在空闲状态下,SCLK处于高电平,并且数据收集处于第一个边缘,即SCLK从高到低的跃迁,因此数据收集处于下降沿,数据传输处于上升沿。
CPOL = 1,CPHA = 1:在空闲状态下,SCLK为高电平,数据在第一个边沿发送,即SCLK从高电平到低电平的跳变,因此数据收集在上升沿,数据传输在下降的边缘。注:因为SPI通信没有特殊的通信周期,通信开始信号和通信结束信号(例如UART或IIC通信),所以SPI主设备可以控制时钟信号。
因此SPI协议只能控制无数据的时钟信号线。通信时,时钟线保持高电平或保持低电平。
例如:按以下方式在计时模式0(CPOL = 0,CPHA = 0)下工作:让我们关注SCK的第一个时钟周期,在时钟的上升沿(上升沿,第一个上升沿)采样数据时钟沿),在时钟的后沿(下降沿,第二个时钟沿)输出数据。首先看一下主设备。
主设备的输出端口(MOSI)输出的数据bit1在时钟的上升沿被从设备采样。主设备何时输出bit1?实际上,在SCK信号变为有效之前,bit1的输出时刻比SCK的上升沿早半个时钟周期。
bit1的输出力矩与SSEL信号无关。再次查看从设备,主设备的输入端口MISO也会在时钟的上升沿对从设备输出的bit1进行采样,因此从设备何时输出bit1。
从站输出
以上内容来自于网络,不代表本公司本网站同意其观点及内容。