【DAY36】基于 I²C 总线的通信协议分析与 ADC 转换原理研

1.I2C

IICBus简称,中文名:集成电路总线

通信方式:串行、同步、半双工

总线结构:多主、多从

主机:通信发起方

从机:应答通信

悬空时为高电平

IIC硬件设计的注意事项

1.开漏高阻态的上拉电阻(4.7K-10K)

线与特性

引脚的实际电平状态由芯片以及外接电路共同决定

GPIO输出模式

|---|------|------|-------|
| | mos1 | mos2 | pad状态 |
| a | 1 | 0 | 1 |
| b | 0 | 1 | 0 |
| c | 0 | 0 | 高阻态 |
| | 1 | 1 | 不允许 |

推挽模式:允许a或b的输出方式,允许mos1、2导通

推挽:电流方向

若引脚接了负载,负载

开漏模式:允许b或c的输出方式,只允许mos2导通

通信

1.主机发起一次通信,首先要发start信号

  • 总线为高电平时,主机在时钟线(SCL)为高电平时,在数据线(SDA)上产生一个下降沿,称为起始信号

2.发送数据

(8位数据 + 1(应答))

  • 发送数据遵循MSB优先原则()
  • SCL为低电平时,只允许发送方改变数据(SDA线),接收方不得采样SDA
  • SCL为高电平时,只允许接收方采样数据(SDA线),发送方需保证SDA稳定

3.应答

  • ACK:应答(真人回复)
  • NACK:非应答(自动回复)

4.stop信号

  • 主机不需要通信时,主机在时钟线(SCL)高电平时,其在数据线(SDA)上产生一个上升沿,称为停止信号

发完start信号,主机要发从机的地址;

A=0,主机发送,从机接收

A=1,从机发送,主机接收

时序

对于AT24C08传感器的时序

IIC 写时序(主机 → 从机)

完整流程: START → 从机地址 (7bit)+ 写位 (数据流向位:0) → ACK → 寄存器地址 → ACK → 数据 1 → ACK → 数据 2 → ACK → ... → STOP

IC 读时序(从机 → 主机)

必须用 RESTART!

完整流程:START → 从机地址 + 写位 (数据流向位:0) → ACK → 寄存器地址 → ACK → RESTART从机地址 + 读位 (数据流向位:1) → ACK → 读数据 1 → ACK → 读数据 2 → ACK → ... → 最后 1 字节发 NACK → STOP

配置

1.I2CR

失能

复位

使能

2.ADC

模拟到数字转换器(Analog-to-Digital Converter)

将连续变化的模拟信号转换为离散的数字信号,以便数字系统(如微处理器、微

控制器等)能够对其进行处理和分析

➢ 模拟信号一般是指连续变化的电压信号,其数值在一定范围内变化。而数字信号是由一系列离散的数字表示,只能取有限的值,通常以二进制形式表示。
逐次逼近ADC:速度和精度的良好平衡

工作原理:

量程:由参考电压决定

相关推荐
FreakStudio9 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484914 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150014 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼14 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi14 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展14 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司14 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑14 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习