🔬 I2C · 抓Bug实战
逻辑分析仪 · 30节进阶
📘 30章 完整目录
🧪 实战案例 6讲
⚡ 从基础到I3C
友好色系
1
I2C协议基础
起源·物理
I2C总线起源、物理层特性(SDA/SCL)、上拉电阻选择、总线电容与速率关系。
2
I2C时序详解
起始·应答
起始条件、停止条件、数据有效性、字节格式、应答机制(ACK/NACK)。
3
逻辑分析仪入门
采样·触发
逻辑分析仪工作原理、采样率与存储深度、探头连接方法、触发设置。
4
I2C地址与读写操作
7位·10位
7位地址与10位地址、读/写位、从机地址识别、广播地址。
5
I2C速率模式
标准·高速
标准模式(100kHz)、快速模式(400kHz)、高速模式(3.4MHz)、超快速模式(5MHz)。
6
I2C数据帧结构
读写·组合
单字节写入、多字节写入、单字节读取、多字节读取、组合格式。
7
逻辑分析仪抓取I2C信号
实操
通道分配、采样率设置、触发条件配置、波形捕获实操。
8
I2C协议解码
手动·自动
手动解码步骤、逻辑分析仪自动解码、解码设置、协议分析窗口使用。
9
常见I2C Bug类型
全景
总线锁死、地址冲突、时钟拉伸问题、数据毛刺、应答异常。
10
总线锁死Bug分析
SCL/SDA
SCL被拉低、SDA被拉低、总线空闲检测、恢复机制。
11
地址冲突Bug分析
从机冲突
多个从机相同地址、地址解析协议、地址冲突检测方法。
12
时钟拉伸Bug分析
拉伸·超时
从机时钟拉伸、主机超时处理、拉伸时间测量、兼容性问题。
13
数据毛刺Bug分析
滤波·测量
毛刺来源(串扰/反射)、滤波设置、上升/下降时间测量。
14
应答异常Bug分析
NACK·仲裁
NACK产生原因、从机忙状态、地址无响应、总线仲裁丢失。
15
I2C时序违规Bug
建立·保持
建立时间违例、保持时间违例、上升时间超标、下降时间超标。
16
多主机冲突Bug
仲裁·重试
总线仲裁机制、多主机通信、冲突检测、重试策略。
17
I2C电平转换Bug
电压域
不同电压域通信、电平转换器选择、开漏输出问题、上拉电压匹配。
18
总线电容与速率Bug
长度·中继
总线长度限制、电容计算、速率降级、中继器使用。
19
逻辑分析仪高级触发
序列·毛刺
序列触发、条件触发、毛刺触发、协议触发。
20
I2C波形测量与分析
眼图·裕量
时序参数测量、眼图分析、抖动测量、裕量计算。
21
实战案例1:传感器读取失败
地址NACK
传感器读取失败——地址错误导致NACK。
22
实战案例2:EEPROM写入错误
时钟拉伸
EEPROM写入数据错误——时钟拉伸超时。
23
实战案例3:显示屏初始化失败
总线锁死
显示屏初始化失败——总线锁死。
24
实战案例4:多从机通信混乱
地址冲突
多从机通信混乱——地址冲突。
25
实战案例5:高速模式异常
上升时间
高速模式通信异常——上升时间超标。
26
实战案例6:电池管理芯片中断
电平不匹配
电池管理芯片通信中断——电平不匹配。
27
I2C调试工具链
分析仪+示波器
逻辑分析仪+示波器联合调试、I2C总线分析仪、软件模拟I2C调试。
28
I2C协议栈调试
Linux·i2c-tools
Linux I2C子系统、I2C设备驱动调试、用户空间工具(i2c-tools)。
29
设计规范与避坑指南
PCB·ESD
PCB布局建议、上拉电阻计算、去耦电容配置、ESD保护。
30
调试总结与进阶
速查·I3C
常见问题速查表、调试流程标准化、自动化测试方案、I3C协议简介。