1.概述
SPI:Serial Peripheral Interface,同步串行通信协议。最基本则由4个引脚:
①CLK:时钟
②CS:片选,如果有N个从设备,则有N个CS引脚一一对应从设备。
③MOSI:即Master output,Slave input。主设备输出引脚,对应是从设备的输入引脚
④MISO:即Master input,Slave output。主设备输入引脚,对应是从设备的输出引脚
2.特点
①SPI设备通讯遵守主从设备协议,一个主设备Master对应N【N≥1】个从设备Slave,通过片选引脚CS来分别与从设备Slave通讯。从设备的CLK由主设备提供,且SPI为全双工工作模式,在发送数据给从设备同时接收从设备发送的数据,每个CLK周期发送一个bit数据。先传高位再传低位
②工作模式
CPOL:clock polarity 时钟的极性;0表示时钟空闲时为低电平,1表示时钟空闲时为高电平
CPHA:clock phase 时钟的相位;0表示在时钟第一次跳变时进行采样,1表示在时钟第二次跳变时进行采样
因此有4种工作模式:
00:时钟空闲时为低电平,时钟第一次跳变时数据采样【即是上升沿】,时钟第二次跳变时数据切换【即同周期的下降沿】如下图
01: 时钟空闲时为低电平,时钟第二次跳变时数据采样【即是下降沿】,时钟第三次跳变时数据切换【即同周期的上升沿】如下图
10: 时钟空闲时为高电平,时钟第一次跳变时数据采样【即是下降沿】,时钟第二次跳变时数据切换【即同周期的上升沿】如下图
11: 时钟空闲时为高电平,时钟第二次跳变时数据采样【即是上升沿】,时钟第三次跳变时数据切换【即同周期的下降沿】如下图
3.与I2C差异:
相同点:
①串行、同步的通讯方式;
②TTL电平
③主从方式
不同点:
①I2C半双工,SPI是全双工;
②I2C有应答机制,SPI无应答机制;
③I2C时钟极性与相位固定,SPI的时钟极性与相位可调;
④I2C通过总线广播从机地址来寻找,SPI通过CS片选发送使能信号。
ps:测试人员学习的皮毛,暂时记录这么多了。