一、SPI总线基础概述
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,分别是:
1)、MOSI——Master Output Slave Input主机输出从机输入
2)、MISO——Master Input Slave Output主机输入从机输出
3)SCLK——时钟信号,由主机产生
4)、CS——从机使能信号(片选信号),由主机控制
SPI通信协议的数据同样是一位一位传输的,而需要特别注意的是,SPI是一个环形总线结构,即是在SCLK控制下,两个双向移位寄存器进行数据交换。例如,主机在发一位数据给从机的时候,也会接收到一位来自从机的数据,从而完成两个寄存器的数据交换,因此,主机发送一个数据给从机,也必然会从从机处接收到一个数据,而想要从从机处收一个数据,主机也就必须发送一个数据给从机,在其环形通信结构如下图所示
二、SPI总线的四种工作方式
SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性(CPOL)和相位(CPHA)可以进行配置