单片机学习小组
直播中

尚文清

7年用户 1627经验值
私信 关注

SPI和I2C的差异是什么?

SPI具有哪些特点?有哪些工作模式?

SPI和I2C的差异是什么?

回帖(1)

刘彦妤

2022-2-17 09:23:53
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:时钟空闲时为低电平,时钟第一次跳变时数据采样【即是上升沿】,时钟第二次跳变时数据切换【即同周期的下降沿】如下图
v
01: 时钟空闲时为低电平,时钟第二次跳变时数据采样【即是下降沿】,时钟第三次跳变时数据切换【即同周期的上升沿】如下图
10: 时钟空闲时为高电平,时钟第一次跳变时数据采样【即是下降沿】,时钟第二次跳变时数据切换【即同周期的上升沿】如下图
11: 时钟空闲时为高电平,时钟第二次跳变时数据采样【即是上升沿】,时钟第三次跳变时数据切换【即同周期的下降沿】如下图3.与I2C差异:
相同点:
①串行、同步的通讯方式;
②TTL电平
③主从方式
不同点:
①I2C半双工,SPI是全双工;
②I2C有应答机制,SPI无应答机制;
③I2C时钟极性与相位固定,SPI的时钟极性与相位可调;
④I2C通过总线广播从机地址来寻找,SPI通过CS片选发送使能信号。
ps:测试人员学习的皮毛,暂时记录这么多了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分