文章目录
前言
SPI协议是我们的重要通信协议之一,我们需要掌握牢靠。
一、简介
1、通信模式
SPI是“全双工”(具有单独的发送和接收线路),因此可以在同一时间发送和接收数据,另外SPI的接收硬件可以是一个简单的移位寄存器。这比异步串行通信所需的完整UART要简单得多,并且更加便宜;
2、总线定义
MISO
:Master input slave output 主机输入,从机输出(数据来自从机);
MOSI
:Master output slave input 主机输出,从机输入(数据来自主机);
SCLK
: Serial Clock 串行时钟信号,由主机产生发送给从机;
SS
:Slave Select 片选信号,由主机发送,以控制与哪个从机通信,通常是低电平有效信号。
- 需要注意的是不同的厂家定义不同:
MISO也可以是SIMO,DOUT,DO,SDO或SO(在主机端);
MOSI也可以是SOMI,DIN,DI,SDI或SI(在主机端);
NSS也可以是CE,CS或SSEL;
SCLK也可以是SCK;
3、SPI通信结构
上图为了更好的区分,实际上无论是在主机传输到从机还是从机传输到主机两条线都在传输数据。传输过程:主机首先会将NSS信号拉低来表示选择那个从机进行通信当接收端检测到时钟的边沿信号立即读取数据线的信号,时钟信号只能由主机产生。
SSPBUF
:Sync