嵌入式 面试单片机面试题目分析和答案 IIC总线 IIC协议 SPI总线 I2C协议讲解 SPI和IIC协议对比比较SPI的工作模式比较 IIC基本概念讲解

IIC总线协议

高位先行。MSB在前

iic总线介绍

总线就是SDA和SCL两根

SDA为什么上拉电阻+开漏输出

可以多个主机、每个 设备通过唯一的7位地址辨别通信,

多主机总线,主机有权发起和结束一次通信,从机只能被呼叫、每个器件都可以作为主机也可以作为从机

每个IIC总线上的器件都有一个唯一的地址(7bit)、每个器件都可以作为主机也可以作为从机

IIC总线上发送数据器件叫发送器,接收数据器件交接收器。

IIC总线通信过程

通信过程

  1. 主机发送起始信号启用总线

  2. 主机发送一个字节数据指明从机地址和后续字节的传动方向

  3. 被寻址的从机发送应答信号回应主机

  4. 发发送器发送一个字节数据

  5. 接收器发送应答信号回应发送器

    。。。。(循环4、5)

  6. 通信完成后主机发送停止信号释放总线

寻址方式

寻址方式:通过起始信号后面发送的一个字节,其中高七位是从机地址,低位表示后面数据传送方向(0是主机发送数据,1是从机发送数据) (0是主机作为发送器、1是主机作为接收器)

IIC总线信号讲解

起始信号和停止信号

(除了起始信号和停止信号外,SCL是高电平时候 SDA都应该保存稳定)

起始信号是SCL高电平时候,SDA从高变成低

终止信号是SCL高电平,SDA低变成高

字节传送与应答

IIC总线通信时每个字节8位长度,数据传送时,先传送最高位,后传送低位,发送器发送完一个字节数据后接收器必须发送一位应答位来回应发送器,即一帧共有9位。

同步信号

IIC 是通过SCl完成同步的,

典型IIC时序

单一方向

总结:

主机向从机发送数据的通信流程:

  1. 主机发送:起始信号+从机地址+加0(表示后面主机是发送器,从机是接收器)
  2. 从机发送:应答信号
  3. 主机发送:数据

切换方向

总线仲裁

IIC的总裁方式

  1. IIC的SDA SCL 都是"线与" 有一个节点为低,总线就会为低,

  2. 总线的设备每次都发送一位数据,每次都检测总线的电平,如果总线电平和自己一样就继续发送,如果不同就退出竞争。

总线仲裁的方式:集中仲裁方式、分布仲裁方式

集中仲裁方式:有一个设备是中央仲裁器、所有的仲裁控制都是这个设备完成

分布仲裁器:每个设备都是参与和决策者

补充IIC的面试问题

IIC的传输速度 是多少

这里要注意 硬件IIC和软件模拟的IIC不同'

https://blog.csdn.net/FCH112702/article/details/77549920

你没有真正掌握的I2C总线

https://www.bilibili.com/video/BV1Bp4y1b71Q/?spm_id_from=333.788\&vd_source=16940ba3adbc66f0fb14e0c1d87db878

工作模式

传输格式

SPI总线

SPI好像一般高位在前,但是单片机也是可以设置的,这个具体还要看传感器

SPI简介

SPI 是全双工(两个数据线)

SPI至少四根线

MISO(对于主设备是输入,对于 从设备是输出)

MOSI(对于主设备输出,对于从设备输入)

CS是片选引脚,

寻址方式

寻址方式是通过CS控制和不同主机通讯

通信过程

先发高位、后发低位

没有应答信号

在时钟上升沿或者下降沿发送数据,下一个跳变沿读数据

八个时钟周期完成一个字节传送

极性和相位

CPOL和CPHA应该结合来看

比如CPOL = 0、CPHA = 0 表示: 因为CPOL = 0表示空闲的时候是低电平,所以我们认为一个周期第一个时钟是上升沿,我们继续。CPHA = 0说明每个周期第一个时钟沿采样,那就是接收器在上升沿采样。

为什么这样

!!!IIC和SPI的异同总结

SPI总线: 你真的懂它 ?

https://www.bilibili.com/video/BV12L411M76s?spm_id_from=333.999.0.0\&vd_source=16940ba3adbc66f0fb14e0c1d87db878

SPI和IIC对比

SPI基本概念

SPI连接类型


SPI工作模式

在学习工作模式前先知道极性

时钟极性CPOL:表示空闲时候时钟信号低

CPOL:0 空闲-SCLK时钟线-低

CPOL:1 空闲-SCLK时钟线-高

时钟相位 CPHA: 在第几个边沿 对数据采样

CPHA:0 在第一个边沿对数据采样

CPHA:1 在第二个边沿对数据采样

SPI的几种IO模式

相关推荐
黑白园5 小时前
STM32F103C8TC使用ST-Link下载
stm32·单片机·嵌入式硬件
时空自由民.5 小时前
嵌入式MCU的中断系统工作流程及其原理
单片机·嵌入式硬件
LCG元5 小时前
STM32实战:基于STM32F103的智慧教室环境监控系统(CO₂+光照+人数统计)
前端·stm32·嵌入式硬件
振南的单片机世界5 小时前
推挽输出:上管推、下管拉,驱动强但不“合群”
arm开发·stm32·单片机·嵌入式硬件
森利威尔电子-6 小时前
森利威尔SL7140|2.5–24V 宽压 / 10mA–2A / PWM 调光 线性 LED 恒流驱动
单片机·嵌入式硬件·集成电路·芯片·电源芯片
VALENIAN瓦伦尼安教学设备7 小时前
填补国内空白!瓦伦尼安发布首台船机机械故障诊断振动实验台
大数据·人工智能·嵌入式硬件
踏着七彩祥云的小丑7 小时前
嵌入式测试学习第 12天:串口基础概念:UART、波特率、数据位、校验位
单片机·嵌入式硬件
夜阑寄语8 小时前
基础元器件
单片机·嵌入式硬件
北山有鸟8 小时前
常用的快捷键
linux·前端·chrome·单片机·学习
QH139292318808 小时前
R&S®SMBV100B 矢量信号发生器 5G/Wi-Fi/GNSS 主力源
网络·科技·嵌入式硬件·集成测试·信息与通信