尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

示波器抓 I2C 时序:如何一眼看出 ACK 没拉低?

示波器抓 I2C 时序:如何一眼看出 ACK 没拉低?
📅 发布时间:2026/6/30 5:41:02

摘要:I2C 通信失败,逻辑分析仪看着“有波形”,但示波器一看全是破绽。很多时候,问题不在“有没有波形”,而在ACK 信号的“坡度”和“幅值”。本文将教你识别那些“看起来像 0,实际是 1”的假低电平。


一、真实波形长什么样?(视觉对标)

为了让你能对着示波器调,我们先描述一下教科书级的正常波形:

1. 正常的 START 信号(干净利落)

SCL: ──────┐ ┌─────── │ │ └───────┘ SDA: ──────┐ └─────────────── ↑ SDA 快速下坠(< 20ns)

视觉特征:SDA 的下降沿几乎是垂直的,没有圆角,没有回勾。

2. 正常的 ACK 信号(扎实的深槽)

这是本文的重点。在第 9 个时钟脉冲期间,SDA 应该被从设备狠狠地拉低。

好问题,这一点很多工程师工作了几年都说不清楚 😄

我分“文字描述(你写文章用)”​ 和“示波器真实长相(你对照看 / 配图用)”​ 两部分说。


一、I2C 的 ACK 波形到底是什么?

1. 基本规则(复习)

  • ACK:从设备在第9 个 SCL 脉冲期间,把SDA 拉低(Low)。

  • NACK:从设备不拉低 SDA,SDA 保持高电平。


二、✅ 正确的 ACK 波形(示波器看到的)

假设 7 位地址 + W = 已发完,接下来是 ACK 位:

时间轴 → SCL: ────┐ ┌───┐ ┌───┐ ┌───────┐ ┌─── │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ ↑ 第 9 个脉冲(ACK 时隙) SDA: ────────┐ ┌─────────────── │ 低电平 │ └───────────────┘ 0.1V ~ 0.3V

视觉特征:

  • SCL 高电平期间,SDA 被牢牢地按在 0V 附近(0.1V ~ 0.3V)。

  • 波形像被凿子凿出来的深槽,而不是平缓的斜坡。

  • 槽底平坦,没有抖动。


二、异常波形:90% 的坑都在这(重点)

这才是你刚才吐槽的点——那些“似是而非”的危险波形。

1. 坑位一:ACK 拉不深(最隐蔽,也是最经典的坑)

波形描述:

SCL: ────┐ ┌─── │ │ └───┘ SDA: ───────┐ ─────── │ 1.5V └───────┘

视觉特征:

  • SDA 确实下去了,但下不去。

  • 它像是一个缓坡,停在 1.5V 左右,而不是一条直线趴在 0V。

  • 本质:从设备的 MOS 管导通电阻太大,或者上拉电阻太小(电流太大拉不动)。

  • 后果:主机(MCU)认为“这不是低电平”,判定通信失败。

2. 坑位二:上升沿太圆(容性负载)

波形描述:

SCL: ──────┐ ┌─────── │ (圆弧) │ └─────────┘ SDA: ──────┐ ┌─────── │ (圆弧) │ └─────────┘

视觉特征:

  • 波形不是直角,而是像山坡一样圆滑。

  • 在 400kHz 下,这种圆角会导致采样点错过。

  • 本质:总线电容太大(线太长、分支太多、上拉太弱)。

3. 坑位三:毛刺干扰(静电/电源)

波形描述:

SDA: ──────┐ ┌─────── │ /\/\ │ └──┘ └─┘ ↑ 毛刺 (Spikes)

视觉特征:在 SDA 应该平稳的时候,突然冒出尖刺。

本质:电源噪声串入,或者静电干扰。


三、示波器上的“金标准”参数(直接读数值)

别光看形状,看右下角的测量值:

参数

正常值

异常值

含义

V_low (ACK)​

< 0.3V

> 0.7V

低电平不合格

V_high​

> 2.97V (3.3V*0.9)

< 2.97V

高电平不合格

Rise Time​

< 1us (100kHz)

> 2us

上拉太弱或电容太大

Fall Time​

< 300ns

> 1us

驱动能力不足


四、工程级“排雷”步骤(对着波形改)

1. 看到 ACK 停在 1.5V?

动作:换大阻值的上拉电阻(4.7k -> 10k),或者换驱动能力强的从设备。

2. 看到上升沿像山坡?

动作:减小上拉电阻(10k -> 4.7k),或者缩短 SDA/SCL 走线,减少分支。

3. 看到毛刺?

动作:在 SDA/SCL 靠近 MCU 引脚处并联 100pF ~ 220pF 的小电容(会牺牲一点速度,但抗干扰)。


五、写给读者的“看图说话”口诀

口诀一:低不平,就是零;高不硬,就是病。

口诀二:直角快,圆角慢;毛刺多,电源乱。


六、写在最后(关注我,少走弯路)

我是 gqqsherry666,一个拒绝调包、专注底层逻辑的嵌入式工程师。

逻辑分析仪告诉你“发生了什么”,示波器告诉你“为什么发生”。​

学会看 ACK 的“坡度”,你就从“调库工程师”进阶为“信号分析师”。

关注我,下一篇我们聊《RTOS 栈溢出压力测试:如何故意把系统搞崩来证明其稳定》。

相关新闻

  • Windows 局域网文件共享实战:解决“账户被禁用“与“网络访问拒绝“问题
  • React Fiber 调度架构解析
  • Claude Code 2026 安装指南 并改调用DeepSeek模型

最新新闻

  • IEEE 1394接口“晚接地”EOS防护:原理、诊断与三级电路防御实战
  • 如何构建一个机器学习项目来找到工作?
  • 从零到一:华为iMaster NCE-Campus实战部署避坑指南
  • 大厂罕见“会师”:自变量机器人两月融四轮,估值破200亿
  • GPU内存稳定性终极检测指南:如何用memtest_vulkan快速排查显卡硬件故障
  • 2026年AI写作辅助网站核心能力速览

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号