Skip to content

ATEMall/CANFrameAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CANFrameAnalyzer

License: MIT HTML5 JavaScript GitHub Stars ATEMall

一款专业的 CAN 帧解码与分析工具,基于纯 HTML 实现,无需安装,浏览器打开即可使用。支持 CAN 帧结构解析、ISO 15765-2 (ISO-TP) 协议解码、信号可视化与 DBC 文件导入,是汽车测试工程师的必备辅助工具。

为什么需要 CANFrameAnalyzer?

在日常 CAN 总线测试中,工程师经常需要:

  • 手动解析 CAN 帧中每一位的含义
  • 理解 ISO-TP 多帧传输的拼接逻辑
  • 快速验证 DBC 文件中信号定义是否正确
  • 将原始十六进制数据转换为物理值

CANFrameAnalyzer 将这些操作搬到浏览器中,零配置、即开即用。

功能特性

CAN 帧结构解析

  • 支持 CAN 2.0A (11位 ID) 和 CAN 2.0B (29位 ID)
  • 逐位展示帧结构:ID、DLC、Data、CRC
  • 十六进制 / 二进制 / 十进制 多格式切换
  • 支持信号位的起止位置标注

ISO 15765-2 协议解码

  • 单帧 (Single Frame, SF) 解码
  • 首帧 (First Frame, FF) 解码 — 显示总长度
  • 连续帧 (Consecutive Frame, CF) 解码 — 自动拼接
  • 流控帧 (Flow Control, FC) 解码 — 显示 BS/STmin 参数
  • 自动识别帧类型并完整拼接 ISO-TP 数据

信号可视化

  • 信号值实时计算与展示
  • 支持有符号/无符号整数、浮点数
  • Motorola / Intel 字节序自动识别
  • 信号值范围与精度显示

DBC 导入

  • 导入 Vector DBC 格式文件
  • 自动解析报文与信号定义
  • 基于 DBC 解码 CAN 帧数据

快速开始

方式一:直接打开(推荐)

  1. Clone 或下载本仓库
    git clone https://github.com/ATEMall/CANFrameAnalyzer.git
  2. 双击打开 index.html 文件即可使用

无需安装任何依赖,无需 Python/Node 环境,任何现代浏览器均可运行。

方式二:本地服务器

# Python
python -m http.server 8080

# Node.js
npx serve .

访问 http://localhost:8080

使用说明

解析 CAN 帧

  1. 在输入框中输入原始 CAN 帧(十六进制格式)
    示例:18 FE F1 00 08 01 02 03 04 05 06 07 08
    
  2. 工具自动识别帧类型并解析
  3. 查看解析结果中的各字段含义

ISO-TP 解码

  1. 依次输入多帧传输的各帧数据
  2. 工具自动拼接完整数据
  3. 查看拼接后的完整负载

使用 DBC 解码

  1. 点击「导入 DBC」上传 DBC 文件
  2. 输入 CAN ID 和数据
  3. 工具根据 DBC 定义自动解码所有信号值

截图

截图即将补充

CAN 帧解析 ISO-TP 解码 DBC 信号解码
帧解析 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

相关协议参考

贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/new-decoder)
  3. 提交更改 (git commit -m 'Add new decoder')
  4. 推送到分支 (git push origin feature/new-decoder)
  5. 发起 Pull Request

许可证

本项目基于 MIT License 开源。


🔗 更多资源

  • 🤖 ATEMall AI知识库 — 汽车测试工程师的AI助手
  • 💬 免费使用AI问答,覆盖 HIL / CAN / UDS / EMB 测试领域
  • 📋 注册即可获取完整测试模板和DBC文件库
  • ⭐ 如果这个工具对你有帮助,欢迎 Star 支持我们!

About

Decoding CAN messages for ISO protocol

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages