上一篇介绍了典型的多主从结构的通讯CAN总线,今天介绍一下SPI:串行外设接口。这是一种MCU和外部设备进行串行高速通讯的方式之一。一、硬件结构
SPI由四根线组成,是一种单主从模式的通讯结构,因为主要是依靠硬件功能,因此可靠性要更好一点。下图是SMT32内部的SPI接口结构简图: 四根线的定义:
1、MISO:master input slave output ,主设备输入/从设备输出。即在从模式下发送数据,在主机模式下接收数据。
2、MOSI:master output slave input, 主设备输出/从设备输入。即在主模式下输出数据,在从机模式下发送数据。
3、SCK:串口时钟,作为同步信号,主机输出,从机输入检测。
4、NSS:从设备选择,即设置主从设备的,片选引脚。
SPI进行一对多通讯时连接也很简单
二、SPI通讯模式
SPI可以根据外设要求设置相位和极性,组合可以分为四种通讯模式:SP0,SP1,SP2,SP3
CPOL:决定CLK空闲时的电平,如上图,即CPOL=0时空闲为0,CPOL=1时空闲为1.
CHA:决定采样时间,如上图,CHA=0,如上图在CLK第一个边沿采样,CHA=1,在CLK第二个边沿采样。
一般常用的是SP0和SP3,就是都在上升沿采样。
下图是SPI的时序图:
三、SPI的特点:
1、支持全双工通讯
2、四根线,一对多都需要片选,硬件接口开销大。
3、高速,能达到30M。
4、硬件连接,开发简单。
5、只是单主机模式。
6、无指定的数据格式,无应答信号,通讯结果未知。
7、非寻址模式,需要片选。