一、SPI协议简介
1.SPI简介
1.1 SPI(Serial Peripheral interface)是由摩托罗拉公司定义的一种串行外围设备接口,是一种同步、高速、全双工、串行的通信总线,只需要四根信号线即可,节约引脚,同时有利于PCB的布局。正是出于这种简单易用的特性,现在越来越多的芯片集成了SPI通信协议,如FLASH、SD卡,AD转换器等
1.2 优缺点:全双工通信,通信方式简单,相对数据传输速度较快;SPI没有应答机制确认数据是否接收,数据可靠性上有一定缺陷。(相对IIC协议)。
2.SPI原理
SPI的通信原理比较简单,它以主从方式工作,通常有一个主设备和一个或多个从设备。一般其有 4 根线,片选线(CS)、同步时钟线(SCLK)、输入数据线(MOSI)和输出数据线(MISO)。
2.1 主要端口:
SCK :时钟信号线,用于同步通讯数据。
MOSI:主设备输出/从设备输入引脚。
MISO:主设备输入/从设备输出引脚。
CS :片选信号。也称CS_N(片选信号低电平有效)。片选信号线独立,有多少个从机就有多少个CS。
2.2 通信模式(四种)
CPOL(时钟极性) : 片选信号处于空闲状态时,时钟的电平。
CPHA(时钟相位):采样的时钟边沿(奇数沿/偶数沿);CPHA=0,采样的时钟边沿为奇数沿;CPHA=1,采样的时钟边沿为偶数沿;采样沿保持数据稳定,另一沿改变数据。