硬件通讯协议 – SPI 协议

协议概括

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。

在SPI设备中,设备分为主机与从机系统。主机是控制设备(通常是微控制器),而从机(通常是传感器,显示器或存储芯片)从主机那获取指令。

信号线

一套SPI通讯共包含四种信号线:
MOSI(Master Output/Slave Input) – 信号线,主机输出,从机输入。
MISO (Master Input/Slave Output) – 信号线,主机输入,从机输出。
SCLK (Clock) – 时钟信号。
SS/CS (Slave Select/Chip Select) – 片选信号。

工作原理

时钟信号

每个时钟周期传输一位数据,因此数据传输的速度取决于时钟信号的频率。 时钟信号由于是主机配置生成的,因此SPI通信始终由主机启动。

片选信号

主机通过拉低从机的CS/SS来使能通信。 在空闲/非传输状态下,片选线保持高电平。在主机上可以存在多个CS/SS引脚,允许主机与多个不同的从机进行通讯。

如果主机只有一个片选引脚可用,则可以通过以下方式连接这些从器件:

MOSI和MISO

主机通过MOSI以串行方式将数据发送给从机,从机也可以通过MISO将数据发送给主机,两者可以同时进行。所以理论上,SPI是一种全双工的通讯协议。

传输步骤

1. 主机输出时钟信号

2. 主机拉低SS / CS引脚,激活从机

3. 主机通过MOSI将数据发送给从机

4. 如果需要响应,则从机通过MISO将数据返回给主机

使用SPI有一些优点和缺点,如果在不同的通信协议之间进行选择,则应根据项目要求进行充分考量。

上一篇
下一篇