SPI、IIC协议

🌳SPI协议

😊首先它是一个全双工、同步、串行通讯协议
其次它的物理结构是🐯四线制🐯,包括:

  • MOSI:(Master Output Slave Input)主机输入,从机输出信号线
  • MISO:(Master Input Slave Output)从机输入,主机输出
  • SCLK:时钟信号线,这也是同步通信的特点
  • NS/CS:从设备的使能信号,在多设备连接中用于选择要通信的从机
    在这里插入图片描述

SPI的四种模式

SPI模式CPOLCPHA空闲时刻SCK采样时刻
000低电平奇数边沿
101低电平偶数边沿
210低电平奇数边沿
311低电平偶数边沿

时钟极性(clock polarity);时钟相位(clock phase)的选择:

  • CPOL:空闲时时钟信号线极性选择
  • CPHA:采集相位选择,0为第一条跳变沿采样,1为第二跳变沿采样

特点

🐨优势🐨
使SPI作为串行通信接口脱颖而出的原因很多;
高速数据传输速率。
简单的软件配置;
极其灵活的数据传输,不限于8位,它可以是任意大小的字;
非常简单的硬件结构。从站不需要唯一地址(与I2C不同)。从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同)。不需要收发器(与CAN不同)。
🐭缺点🐭
没有硬件从机应答信号(主机可能在不知情的情况下无处发送);
通常仅支持一个主设备;
需要更多的引脚(与I2C不同);
没有定义硬件级别的错误检查协议;
与RS-232和CAN总线相比,只能支持非常短的距离;

🌳IIC协议

😊它是一个单工、同步、串行通信协议
其次它是一个双线制通信协议:

  • SDA:串行数据线,用于发送数据帧
  • SCL:串行时钟线,用于同步通信
    在这里插入图片描述

注意:IIC协议支持多个主设备与多个从设备在一条总线上,如果不用开漏输出,而用推挽输出,会出现主设备之间短路的情况。所以,总线一般会使用开漏输出。而⭐️开漏输出无法输出高电平⭐️,如果在漏极接上拉电阻,默认置高,则可以进行电平转换。

上拉电阻

阻值不能过小:
功耗问题。如果上拉阻值过小,VDD灌入端口的电流将较大,功耗会很大,导致端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V)。故通常上拉电阻应选取不低于1K的电阻(当VDD=3V时,灌入电流不超过3mA)。IO端口的驱动能力在2mA~4mA量级。

阻值不能过大:
速度问题。它取决于上拉电阻和线上电容形成的RC延时,RC延时越大,波形越偏离方波趋向于正弦波,数据读写正确的概率就越低,所以上拉电阻不能过大。

IIC总线上的负载电容不能超过400pF。当IIC总线上器件逐渐增多时,总线负载电容也相应增加。当总的负载电容大于400pF时,就不能可靠的工作。这也是IIC的局限性。

建议上拉电阻可选用典型值4.7K。🐧

数据收发步骤:

🐑第一步:唤醒;
先将SDA线从高电平切换到低电平;然后将SCL从高电平切换到低电平;所有从机被唤醒,等待接收地址位。
🐑第二步:发送地址位+读写位
主设备向每个从机发送要与之通信的从机的7位或10位地址,以及相应的读/写位;读写位用于确定数据传输方向。

这里的地址位决定了设备上限,7位地址上限为128 ( 2 7 ) (2^7) 27,10位1024 ( 2 10 ) (2^{10}) 210

🐑第三步:应答
每个从设备将地址与自己的地址对比,相同则将SDA拉低一位,不同保持SDA拉高。
🐑第四步:接收数据、应答
🐑第五步:停止通信
为了停止数据传输,主设备将SCL切换为高电平,然后再将SDA切换为高电平,从而向从机发送停止条件;
在这里插入图片描述

特点

IIC最重要的功能包括:

  • 没有严格的波特率要求;
  • 所有组件之间都可以实现简单的主/从关系,每个从设备均有唯一地址,可进行软件寻址;
  • I²C是真正的多主设备总线,可提供仲裁和冲突检测;
  • 最大主设备数:无限制;
  • 最大从机数:理论上7位地址127,10位地址1024

传输速度:

  • 标准模式:Standard Mode = 100 Kbps
  • 快速模式:Fast Mode = 400 Kbps
  • 高速模式: Highspeed mode = 3.4 Mbps
  • 超快速模式: Ultra fast mode = 5 Mbps:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值