特点
SPI也就是串行外设接口,是一种全双工的同步串行总线,一个主机与多个从机通信,它没有应答机制,广泛用于ADC,LCD与MCU的通信,通讯速率较高。
接线
- 时钟线:SCK
- 片选线:CS(NSS,SS)
- 数据输入:MISO
- 数据输出:MOSI
@CS线
每一个设备都有一个CS信号线,独占主机一个引脚。
SPI中没有设备地址,它用CS线来确定通信的设备。当CS线为低电平的时候,该设备被选中,主机与该设备通信。
CS线拉成低电平是通信的开始信号,拉成高电平表示通信的结束信号
@SCK
时钟信号线,用于通讯数据的同步。
在stm32中,SPI时钟速率是总线的一半。SPI1挂载在APB2总线上,最高速率为36Mhz,其他挂载在APB1上的,最高速率为18Mhz。
@MOSI
Master Output, Slave Input。
主设备输出,从设备输入。用于数据通信。
@MISO
Master Input, Slave Output。
主设备输入,从设备输出。用于数据通信。
通信流程
起始信号和结束信号
某个设备的CS线由高电平变为低电平则开始通信,由低电平变为高电平则停止通信。
数据有效性
看SCK线,SCK线上升沿触发则下降沿采样,下降沿触发则上升沿采样。
总之上升沿和下降沿其中一个是触发,其中一个是采样。
CPOL和CPHA
@CPOL
CPOL是时钟极性,是SPI总线空闲状态下的时钟线的电平高低。
如果CPOL为1,SCK线在空闲状态下为高电平。
如果CPOL为0,SCK线在空闲状态下为低电平。
@CPHA
CPHA是时钟相位,指的是数据的采样时刻。
如果CPHA为0,在SCK线的奇数边沿采样。
如果CPHA为1,在SCK线的偶数边沿采样。
标签:采样,CPOL,SCK,CPHA,SPI,简述,CS From: https://www.cnblogs.com/Sound-Sleep/p/17029046.html上升沿采样还是下降沿采样由CPOL和CPHA共同决定。由CPOL和CPHA的各两种配置,构成了四种通讯模式,主机和从机需要在相同的模式下才可以通讯。否则数据有可能倒置。