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

示波器 CAN 总线波形解读与 CAN 通信观测实操

示波器 CAN 总线波形解读与 CAN 通信观测实操
📅 发布时间:2026/7/1 2:12:52

一、图整体解读:CAN FD/CAN 标准帧波形 + 位填充规则

1. 核心知识点:CAN 位填充规则(图红色标注)

CAN 总线硬件规定:发送时连续出现 5 个相同电平(5 个 0或5 个 1),自动插入 1 位相反电平(补充位),接收端识别后自动剔除填充位,用于同步时钟、避免长时间无跳变导致采样失步。图中红框00000连续 5 个 0,因此插入 1 个 1 作为填充位,波形上能看到额外的跳变脉冲。

2. 帧分段逐段拆解(二进制串:0001 000001 001 0001 0000 101010)

  1. 超起始位(SOF 帧起始)空闲时 CAN-H 高、CAN-L 低(隐性电平 1);SOF 强制拉为显性 0,1 个显性位,作为一帧数据的开始,图最左侧第一个下降沿就是 SOF。
  2. 仲裁段 - ID:0x101(标准 11 位 ID)二进制0001000001,对应十进制 257、十六进制0x101;中间00000连续 5 个 0,触发位填充,插入 1 位 1(粉色框标注的补充位),原始 ID 逻辑要去掉填充位才是真实 ID。
  3. RTR 位(远程发送请求)0 = 数据帧(本机发送数据);1 = 远程帧(请求对方发数据),本帧 RTR=0,是普通数据帧。
  4. IDE 位(标识符格式)0 = 标准 11 位 CAN2.0A;1 = 扩展 29 位 CAN2.0B,本帧 IDE=0,标准帧。
  5. r0 保留位CAN 标准帧预留位,固定填 0。
  6. DLC 数据长度码4bit,代表后续数据段字节数,图中0000代表 DLC=0,本帧无数据负载。
  7. 后续:CRC 校验 + ACK 应答 + 帧结束 EOF末尾101010是 CRC 校验区、ACK 槽、EOF 结束位,隐性电平 1 为主。

3. 示波器波形通道说明

  • CH2:CAN 差分总线原始波形(CANH/CANL 差分信号);
  • ΔX=20.90μs:示波器光标测得 1bit 位宽;
  • 波特率计算:1/20.90μs ≈ 47.85kHz,总线波特率约 50kbit/s;
  • 时基档位 5us/div:横轴一格代表 5 微秒,方便测量单 bit 宽度。

二、示波器观测 CAN 通信操作步骤

步骤 1:硬件接线(差分测量,避免干扰)

CAN 是差分信号,推荐两种测量方式:

  1. 差分探头:差分探头正极接 CAN-H,负极接 CAN-L,GND 接地;直接输出差分波形,抗电机、电源干扰,波形干净(图中 CH2 就是差分波形)。
  2. 普通单端探头(简易)
    • CH1 接 CAN-H,CH2 接 CAN-L;
    • 示波器开启数学运算 MATH:CH1-CH2,得到差分 CAN 波形;
    • 两个探头地线必须共接GND,减少噪声。

注意:CAN 隐性电平(空闲):CANH≈2.5V、CANL≈2.5V,差分压差≈0V(逻辑 1);显性电平:CANH≈3.5V、CANL≈1.5V,差分压差≈2V(逻辑 0)。

步骤 2:示波器基础参数配置

  1. 垂直档位(电压)单端探头:1V/div(图 CH2 标注 1V,10X 衰减探头);差分波形峰峰值约 2V,1V/div 刻度刚好看清高低电平。
  2. 时基(横轴时间)根据波特率选择:
    • 50k~125k:5μs/div(本图档位);
    • 250k~500k:1μs/div;
    • 1M 波特:0.5μs/div;目标:屏幕能放下完整一帧波形,同时看清单个 bit 跳变。

步骤 3:触发设置(稳定抓取单帧 CAN 波形,最关键)

CAN 空闲时全是隐性 1,只有 SOF 是显性 0,用下降沿触发锁定每一帧:

  1. 触发源:选择差分运算通道(或 CH1 CAN-H);
  2. 触发类型:边沿触发,下降沿;
  3. 触发电平 Level:调至 2V 左右,只捕捉 SOF 的下降沿;
  4. 触发模式:正常 / Normal,避免自动 Auto 持续滚动。设置后示波器每收到一帧,自动定格完整波形,不会杂乱滚动。

步骤 4:位宽与波特率测量(图中光标操作)

  1. 开启双光标(图右侧两个光标按钮);
  2. 光标 1 对准某 bit 上升沿,光标 2 对准下一个 bit 同位置;
  3. ΔX 读数 = 单 bit 时间,计算波特率:波特率=1/ΔX本图 ΔX=20.9μs,1/20.9e-6≈47847bps,实际总线 50kbps,微小误差来自示波器采样。

步骤 5:解码读取 CAN 数据(两种方法)

方法 A:人工逐 bit 读取(本图方式,适合理解协议)

  1. 以 SOF 下降沿为起点,按 bit 依次记录高低电平(低 = 0 显性,高 = 1 隐性);
  2. 遇到连续 5 个相同 bit 时,剔除填充位,还原原始协议二进制;
  3. 按 SOF→ID→RTR→IDE→DLC→CRC 分段翻译,转十六进制 ID、DLC、数据。

方法 B:示波器自动 CAN 解码(推荐,效率高)

中高端示波器内置 CAN 协议解码:

  1. 菜单开启【总线解码】→协议选择 CAN2.0A/B;
  2. 指定差分输入通道、总线波特率(匹配硬件 50k/125k/500k 等);
  3. 屏幕下方自动滚动解析出每一帧:ID、RTR、DLC、数据字节、CRC;
  4. 搭配存储功能(图「快速保存」),记录故障瞬间多帧报文。

步骤 6:故障观测辅助操作

  1. 位填充异常排查波形出现无规律窄脉冲、5 个相同 bit 后无填充位→CAN 控制器硬件故障;
  2. 波形畸变观察显性电平压差不足、边沿缓变、毛刺尖峰→线束接触不良、终端电阻缺失(CAN 两端需 120Ω 终端电阻);
  3. 长时间抓包开启单次触发 + 快速保存,抓取偶发报错帧、总线离线波形。

三、关键总结

  1. 图本质:标准 CAN2.0A 数据帧差分波形,演示位填充规则与帧结构分段;
  2. 示波器看 CAN 核心流程:差分接线→边沿下降沿触发→时基匹配波特率→光标测位宽 / 人工解码,或开启自动 CAN 总线解码;
  3. 判读核心逻辑:显性低电平 = 0,隐性高电平 = 1,连续 5 同 bit 需删除填充位再解析真实报文。

相关新闻

  • LeetCode 902 最大为 N 的数字组合:python3 题解
  • 【实证分析】地级市互联网综合发展指数(2003-2024年)
  • 仅限高级运维查看:VMware跨主机磁盘共享映射的3层隔离机制(含vSAN与NFS混合场景避坑清单)

最新新闻

  • AI自动转换PSD为Unity UGUI预制体:原理、实践与避坑指南
  • AI代码助手入门指南:从Cursor到Claude Code,新手如何高效编程
  • 企业级AI Agent实战:从原理到落地的完整指南
  • 数据分析实战:Excel、SQL、Python、PowerBI核心工具串联工作流
  • 看完就会:2026年超实用AI论文软件榜单,免费生成高质初稿无忧
  • Windows智能体开发:从系统限制到一等公民的范式变革

日新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

周新闻

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

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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