SPI是串行外设接口(Serial Peripheral Interface)的缩写,是Motorola推出的一种同步串行接口技术,是一种高速的、全双工、同步的通信总线。
全双工:host能与外围从设备之间的发送线和接收线各自独立,能同时进行发送数据和接收数据。
文章内容
SPI介绍
SPI协议主要用于短距离的通信系统中,特别是嵌入式系统:
存储器:RAM,EEPROM,Flash等
数模转换器:A/D, D/A转换器等
驱动接口:LED显示驱动器,I/O接口芯片,UART接收器等。
SPI协议通信时序详解
通信原理:
SPI以主从方式进行工作,这种模式通常包含一个master和一个或多个slave,需要至少4根线(在单向传输时3根也可以),分别为:
- SDO/MOSI(master output slave input):主设备数据输出,从设备数据输入;
- SDI/MISO(master input slave output):主设备数据输入,从设备数据输出;
- SCLK:时钟信号,由主设备产生;
- CS/SS:片选信号,主设备控制并用于选择与其通信的从设备。
通信模式:
SPI通信具有四种不同的模式,不同的从设备可能在出厂时就配置为某种模式,不可改变;但由于通信双方需要工作在同一模式下,可以通过对master的CPOL(时钟极性)和CPHA(时钟相位)进行控制。
SPI通信模式与CPOL和CPHA的关系如下: