硬件测试内容之三:IIC(I2C)
一、IIC介绍IICI2C是双线SCL 时钟、SDA 数据同步串行总线支持多主多从常见速率标准100kHz快速400kHz高速3.4MHz二、测试内容四大项1. 电气特性测试示波器电平高电平 VIH≥0.7VDD低电平 VIL≤0.3VDD如 3.3V 系统高≥2.3V低≤1.0V。上升 / 下降时间标准≤1000ns快速≤300ns高速≤100ns。上拉电阻4.7kΩ100kHz、2.2kΩ400kHz空闲时 SCL/SDA 为高。噪声 / 振铃无明显过冲 / 下冲信号单调。2. 时序参数测试示波器关键表格参数含义规范400kHztSU;STA起始建立时间SCL 高→SDA 下降≥600nstHD;STA起始保持时间SDA 下降→SCL 低≥600nstSU;DAT数据建立时间SCL 上升前 SDA 稳定≥100nstHD;DAT数据保持时间SCL 下降后 SDA 稳定≥0nstSU;STO停止建立时间SCL 高→SDA 上升≥600nstBUF总线空闲时间停止→起始≥1300ns3. 协议层测试逻辑分析仪起始 / 停止SCL 高时 SDA 跳变正确。地址 读写7/10 位地址、R/W 位正确。ACK/NACK字节后从机拉低 SDA 为 ACK。数据帧8 位数据 1 位 ACK无丢包 / 错码。4. 功能与压力测试设备扫描i2cdetectLinux扫总线上从地址。寄存器读写i2cget/i2cset/i2cdump 验证数据。多主竞争模拟多主机仲裁正常、无死锁。极限负载满速率、多从机、长距离稳定性验证。三、测试工具与连接1. 示波器必备带宽≥20MHz400kHz、≥100MHz高速。探头10X 高阻短地线≤5cm减少干扰。通道CH1SCLCH2SDADC 耦合采样率≥1GS/s。2. 逻辑分析仪协议解码通道SCL、SDA 各 1 路采样率≥100MHz。解码选 I2C 协议设速率、地址解析帧数据。3. 软件工具Linuxi2cdetect -y 1 # 扫描总线1设备 i2cget -y 1 0x50 0x00 # 读0x50设备0x00寄存器 i2cset -y 1 0x50 0x00 0x12 # 写0x12到指定寄存器四、常见问题与排查通信失败电平异常上拉电阻错、电源不稳、走线过长。时序不满足tSU;DAT 不足、边沿过缓负载电容大。随机丢包噪声干扰附近 PWM / 开关电源加滤波、缩短地线。总线竞争多主无仲裁检查主机驱动。ACK 错误从机未响应地址错、从机掉电、寄存器只读。五、测试步骤快速执行硬件连接示波器 / 逻辑分析仪接 SCL/SDA 与 GND。电气测试测电平、边沿、噪声确认符合规范。时序测试测 tSU;DAT、tHD;DAT、起始 / 停止时间。协议解码验证帧结构、地址、ACK、数据正确性。功能验证用 i2c-tools 读写多从机 / 多主压力测试。六、交付物示波器波形图电气 时序逻辑分析仪解码日志测试报告参数对比、问题清单、结论