一款专业的 CAN 帧解码与分析工具,基于纯 HTML 实现,无需安装,浏览器打开即可使用。支持 CAN 帧结构解析、ISO 15765-2 (ISO-TP) 协议解码、信号可视化与 DBC 文件导入,是汽车测试工程师的必备辅助工具。
在日常 CAN 总线测试中,工程师经常需要:
- 手动解析 CAN 帧中每一位的含义
- 理解 ISO-TP 多帧传输的拼接逻辑
- 快速验证 DBC 文件中信号定义是否正确
- 将原始十六进制数据转换为物理值
CANFrameAnalyzer 将这些操作搬到浏览器中,零配置、即开即用。
- 支持 CAN 2.0A (11位 ID) 和 CAN 2.0B (29位 ID)
- 逐位展示帧结构:ID、DLC、Data、CRC
- 十六进制 / 二进制 / 十进制 多格式切换
- 支持信号位的起止位置标注
- 单帧 (Single Frame, SF) 解码
- 首帧 (First Frame, FF) 解码 — 显示总长度
- 连续帧 (Consecutive Frame, CF) 解码 — 自动拼接
- 流控帧 (Flow Control, FC) 解码 — 显示 BS/STmin 参数
- 自动识别帧类型并完整拼接 ISO-TP 数据
- 信号值实时计算与展示
- 支持有符号/无符号整数、浮点数
- Motorola / Intel 字节序自动识别
- 信号值范围与精度显示
- 导入 Vector DBC 格式文件
- 自动解析报文与信号定义
- 基于 DBC 解码 CAN 帧数据
- Clone 或下载本仓库
git clone https://github.com/ATEMall/CANFrameAnalyzer.git
- 双击打开
index.html文件即可使用
无需安装任何依赖,无需 Python/Node 环境,任何现代浏览器均可运行。
# Python
python -m http.server 8080
# Node.js
npx serve .访问 http://localhost:8080
- 在输入框中输入原始 CAN 帧(十六进制格式)
示例:18 FE F1 00 08 01 02 03 04 05 06 07 08 - 工具自动识别帧类型并解析
- 查看解析结果中的各字段含义
- 依次输入多帧传输的各帧数据
- 工具自动拼接完整数据
- 查看拼接后的完整负载
- 点击「导入 DBC」上传 DBC 文件
- 输入 CAN ID 和数据
- 工具根据 DBC 定义自动解码所有信号值
截图即将补充
| CAN 帧解析 | ISO-TP 解码 | DBC 信号解码 |
|---|---|---|
![]() |
![]() |
![]() |
CANFrameAnalyzer/
├── index.html # 主入口
├── css/ # 样式文件
├── js/ # JavaScript 模块
│ ├── frame-parser.js # CAN 帧解析
│ ├── isotp.js # ISO-TP 解码
│ ├── dbc-parser.js # DBC 文件解析
│ └── signal.js # 信号计算
├── docs/ # 文档与截图
└── README.md
- ISO 11898-1 — CAN 数据链路层
- ISO 15765-2 — ISO-TP 传输协议
- SAE J1939 — 商用车 CAN 协议
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/new-decoder) - 提交更改 (
git commit -m 'Add new decoder') - 推送到分支 (
git push origin feature/new-decoder) - 发起 Pull Request
本项目基于 MIT License 开源。
- 🤖 ATEMall AI知识库 — 汽车测试工程师的AI助手
- 💬 免费使用AI问答,覆盖 HIL / CAN / UDS / EMB 测试领域
- 📋 注册即可获取完整测试模板和DBC文件库
- ⭐ 如果这个工具对你有帮助,欢迎 Star 支持我们!


