SPI概述
SPI,是Serial Peripheral interface(串行外设接口)缩写。是Motorola首先在其MC68HCXX系列处理器上定义,用来做MCU与外设之间的通信接口。
SPI接口信号
如表1所示,SPI接口总共包含四根信号线。
表1 SPI接口信号
SPI应用框图
图1 SPI应用框图
图1为SPI典型的应用框图,SPI主设备和从设备之间通过四根信号线连接。MISO/ MOSI信号采样时钟SCK由主设备波特率发生器提供,波特率分频系数可配置范围为(1+N)*2^(M+1),N,M=0~7,最小2分频,最大2048分频。如果主时钟为25MHz,则SCK时钟频率范围为12.5MHz~12.21KHz。主从设备各有8bit移位寄存器。移位寄存器在每个SCK有效沿时,在MISO/MOSIO组成的环路上进行串行移位,8个SCK周期即可完成主从设备之间的数据交换。图中由于仅一个从设备,因此主设备SSn上拉至电源,从设备下拉至地。若有多个从设备则需要多个用以区分和那个从设备进行数据交换。
SPI工作模式
图2 SPI工作模式
如图2所示,SPI根据时钟极性(CPOL),采样相位(CPHA)的不同分为四种工作模式。CPOL代表SCK空闲时电平极性,为0时表示空闲时SCK为低电平,为1时表示空闲时SCK为高电平。CPHA代表采样相位,为0时使用SCK单个周期中第一个时钟沿采样,为1时使用SCK单个周期中第二个时钟沿采样。
后记
一般地SPI控制器支持Motorola模式和TI模式两种模式。TI模式SPI又称为SSI,其和Motorola模式的区别主要在片选信号的区别。Motorola模式在有效数据传输时片选一直为低有效,而TI模式仅在第一bit数据传输前一个周期有效,用于表示数据开始传输,其他周期均为低电平。TI模式时钟极性和采样是固定的。具体时序如图3所示。
图3 SPI TI模式
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』