1、SPI通讯协议
SPI是一个同步的数据总线,也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和接收端的完美同步。时钟是一个振荡信号,它告诉接收端在确切的时机对数据线上的信号进行采样。产生时钟的一侧称为主机,另一侧称为从机。总是只有一个主机(一般来说可以是微控制器/MCU),但是可以有多个从机;数据的采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低),具体要看对SPI的配置。
整体的传输大概可以分为以下几个过程:
- 主机先将NSS信号拉低,这样保证开始接收数据;
- 当接收端检测到时钟的边沿信号时,它将立即读取数据线上的信号,这样就得到了一位数据(1bit);
- 主机发送到从机时:主机产生相应的时钟信号,然后数据一位一位地将从MOSI信号线上进行发送到从机;
- 主机接收从机数据:如果从机需要将数据发送回主机,则主机将继续生成预定数量的时钟信号,并且从机会将数据通过MISO信号线发送。
2、SPI特性