SPI(Serial peripheral interface) 是由摩托罗拉(Motorola)公司开发的全双工同步串行总线,是微处理控制单元(MCU)和外围设备之间进行通信的同步串行端口。SPI 系统可直接与各个厂家生产的多种标准外围器件直接接口。
SPI主要应用在EEPROM、Flash、实时时钟(RTC)、数模转换器(ADC)、网络控制器、MCU、数字信号处理器(DSP)以及数字信号解码器之间。
SPI一般使用4 条线:串行时钟线SCK、主机输人/从机输出数据线MISO、主机输出/从机输人数据线MOSI 和低电平有效的从机选择线SSEL。
MOSI:主设备输出,从设备输入;MISO:主设备输入,从设备输出;CS:从设备使能信号,主设备控制。
在讨论SPI 数据传输时,必须明确以下两位的特点及功能:
(1) CPOL: 时钟极性控制位。该位决定了SPI总线空闲时SCK 时钟线的电平状态。
CPL=0,当SPI总线空闲时,SCK 时钟线为低电平。
CPL=1,当SPI总线空闲时,SCK 时钟线为高电平。
(2) CPHA: 时钟相位控制位。该位决定了SPI总线上数据的采样位置。
CPHA=0,SPI总线在时钟线的第1个跳变沿处采样数据。
CPHA= 1,SPI总线在时钟线的第2个跳变沿处采样数据。
四根线,节约管脚,PCB布线节约空间