概述
SPI是高速的,全双工,串行的,同步的通讯接口,是摩托罗拉公司推出的同步接口。主要用于与外设通讯的,SPI通常使用时是四根线(四个引脚),理论上使用三根就可以完成通讯(理论上片选信号线可以拿掉)。它可以把通讯双方分为主设备和从设备,一个主设备能挂载多个从设备。但主设备间是不能通讯的。
下面是SPI引脚介绍:
SCLK:时钟引脚,用于SPI通讯控制。
SDO:数据输出脚。
SDI:数据输入脚。
CS:片选脚(做为从设备时使用)。
工作原理
- 硬件连接
SPI通讯时典型情况下是主设备与从设备交换各自的发送字节。SPI是通过主模块SCK控制信息的交换,这意味着在SPI在通讯时可以暂停数据的交换,在需要时可以继续数据的交换(但要保证SPI的引脚状态没有改变),SPI在交换信息时总是从高位开始发送,在接收时把收到的位放在低位(bit0),每次交换一位,总是一字节一字节的交换。SPI可以设置通讯时的时钟极性(即SCK空闲时的状态),也要设置SPI时钟边沿(怎样的时钟跳变是发送,怎样的时钟跳变是锁存),SPI总是在设置SPI时钟边沿时发送,相反边沿锁存,这就意味着在我吗用软件模拟时,第二下跳变必须是与设置SPI时钟边沿相反。