2330 份 DBC、294 个来源:公开 CAN 数据集的收录与分级

作者:

在

结论:公开 CAN/DBC 数据集的核心不是「收了多少文件」,而是「每个文件能不能溯源、能不能分级、能不能再分发」。本次整理收录 2,330 个 DBC 文件副本,来自 294 个 DBC 来源集合,收录日期为 2026-10-03 并扩至 2026-10-05;其中相当一部分条目只有「研究用途」而没有明确许可证,只能离线留存,不能当成可直接商用的车型字典。.dbc 只描述 CAN 标识符、位域、缩放、单位与枚举,它不是适配保证书。

一次整理到底收了多少东西

这次收录的主体是 DBC 文件:.dbc 与 .DBC 合计 2,330 个副本,分布在 294 个 DBC 来源集合里。之所以把「文件副本数」和「来源集合数」分开记,是因为同一份定义会在不同快照里反复出现;只看文件总数会高估真实覆盖度。

DBC 之外还附带了一批原始数据,用来在信号定义之外做交叉验证:Renault Mascott 的 6 份 CAN 日志、Mitsubishi Outlander PHEV 的 11 份 CSV 抓包与 8 份 CMU 记录、Fiat Ducato X250 的 5 份 SLCAN 抓包、BMW PHEV BMS 的 7 份 CSV 日志、Volvo V50 的 3 份 CSV 抓包、RAM ProMaster 的 2 份 CAN-B 抓包,以及 Jeep/Dodge 的 3 份 ODS CAN 映射。

另一部分是 opendbc/ 的本地副本,共 119 个 .dbc,包含 model/platform 定义与品牌级 generator 源文件,随附的许可证是 MIT。来源快照之间存在文件重叠,因此目录被刻意分开保存,而不是合并成一个扁平库——分开保存是为了保住每个文件的来源路径。

类别 数量 说明
DBC 文件副本 2,330 .dbc 与 .DBC,来自 294 个来源集合
opendbc 本地副本 119 相邻工作区快照,含模型/平台与品牌 generator,MIT 许可
原始 CAN 日志 / 抓包 数十份 Mascott 6、Outlander PHEV 11+8、Ducato X250 5、BMW PHEV BMS 7、Volvo V50 3、ProMaster 2、Jeep/Dodge ODS 3
分析 / 转换工具 若干 抓包查看、格式转换与信号反推类工具

为什么同一款车会出现多个 DBC 版本

整理时最容易被误解的一点是「同车型为什么有好几份 DBC」。原因大多不是数据变多,而是来源重叠:一批 fork 里 77 个上游 DBC 与已归档文件字节完全相同,被直接省略;另一归档省略了 68 个上游重复文件与 1 个 parser 测试夹具;还有若干「仅行尾不同」的副本被判定为重复而不重复收录。

因此整理用的计数口径是字节不同(byte-distinct),而不是「文件名不同」。真正的版本差异还包括:更新的信号定义、字段增删,甚至只是一处注释错别字。每个来源条目都记录了本地文件、车型覆盖、来源 Git 修订号和许可证,这样后续才能回答「这份 DBC 到底来自哪一次提交」。

许可证决定「能不能再分发」

收录不等于可用。公开来源里许可证状态差异很大:有的是 MIT、Apache-2.0、GPL-3.0、CC BY 4.0、CC BY-SA 4.0、CC0,也有大量条目写着「未找到许可证,仅作离线研究副本」。后者可以离线分析,但不代表可以再分发给第三方,更不代表可用于商业产品。

许可证状态 可否再分发 整理时的处理
MIT / Apache-2.0 可以 保留版权与署名声明
GPL-3.0 可以(具传染性) 衍生作品需沿用同协议
CC BY 4.0 / CC BY-SA 4.0 可以(需署名 / 同协议) 保留原作者署名
CC0 1.0 可以 无附加限制
未找到许可证 不可以 仅离线研究,不重分发;部分来源仅保留发现链接

还有一层坑:上游仓库带 MIT,不代表其中每一份车辆定义都干净。「上游 MIT 但个别车辆定义可能另有来源或第三方权利」是明确写在质量说明里的,需要单独核查。个别来源的 LICENSE 甚至明确禁止复制,整理时只保留发现链接、不归档文件本体。

DBC 只描述信号,不保证适配

质量说明里有几条必须原样保留的边界:DBC 解码的是 CAN 标识符、位域、缩放、单位与枚举,它不构成通用适配保证,必须针对目标车辆的年款、市场、动力总成、ECU 与总线拓扑逐一核实;社区推导出的信号名与缩放往往不完整,在拿到只读抓包与独立测量之前,只能当作假设。

此外,opendbc/ 副本是一份工作区快照,其原始 Git 提交号未被记录,其他下载来源则钉住了具体修订号。整理说明也明确划出红线:本目录不包含绕过防盗器、安全访问或操纵安全关键车辆控制的说明。安全研究类数据集(如带标签注入流量的车联网数据集)虽然也是公开来源,但性质是安全研究数据集而非信号 DBC,必须在隔离、离线的轨迹上实验。

整理时留下的四条纪律

  1. 目录按来源分开,不按车型合并。来源路径是溯源链,合并即丢失。
  2. 用字节不同计数,不用文件名计数。行尾差异与上游重复要被识别并剔除。
  3. 许可证随文件一起记。没有许可证的只做离线研究,不进入可分发集合。
  4. 信号当假设,不当事实。DBC 与原始抓包并存,等待只读验证。

常见问题

有了公开 DBC 就能直接上车解码吗?

不能直接等同。DBC 只给出标识符、位域、缩放、单位与枚举的解释方式,是否匹配还要按目标车辆的年款、市场、动力总成、ECU 和总线拓扑逐一核对;社区信号在通过只读抓包与独立测量验证前只能视为假设。

为什么同一车型会出现多个 DBC 版本,哪个才对?

多数是来源重叠造成的:同一份定义在不同快照里重复出现,或仅行尾不同。整理按「字节不同」计数,并保留每个来源的 Git 修订号;真正的版本差异要看字段增删与信号定义变化,不能只看文件名。

没有许可证的 DBC 可以商用吗?

不可以。收录里明确标注「未找到许可证,仅作离线研究副本」的条目,只能离线分析,不能重分发;个别来源的 LICENSE 甚至直接禁止复制,整理时只保留发现链接、不归档文件。

DBC 数量能当作覆盖度指标吗?

不能。2,330 个文件副本里存在大量上游重复与行尾差异副本,数量会被重复计数放大;更有意义的指标是「字节不同的定义数」加上「已验证车型 / 总目标车型」的比例。

延伸阅读

参考资料

  • 项目 01 —— car-scanner-research/public-can-dbc-datasets/README.md(收录规模、来源清单、许可证与质量说明、其他公开来源)
  • 项目 01 —— car-scanner-research/public-can-dbc-datasets/opendbc/dbc/README.md(opendbc 本地副本的项目说明与生成器结构)

说明:本文为对固定素材快照的静态整理分析,未逐份打开并验证全部 DBC、未连接车辆、未验证目标车型的真实信号组合。文中所有数量、许可证与来源信息均出自源文档,标注为未验证的结论保留其原有边界。

更新记录

首次发布 2026-10-11 最近核对:2026-10-11

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注