CAN矩阵、CAN网络、DBC、MDF关系
发布日期:2021-07-01 01:01:41 浏览次数:2 分类:技术文章

本文共 1506 字,大约阅读时间需要 5 分钟。

1 博客内容

      逢山开路,遇水搭桥,比较辛苦。前期任务:观测电流step增加后频率信号的响应速度,频率信号转化为电压信号后接入数采盒子,需要DBC接入CANape。

2 参考资料

      数采设备有专用的快捷软件编制DBC,CSDN和哔哩哔哩也有相关的文件。有关使用CANdb++将CAN矩阵转化dbc,移步:“CAN通信(二)——信号矩阵及DBC”,了解CAN基础知识,移步: “哔哩哔哩阿青子:CAN总线个人知识总结”.

3 CAN知识串联

      记录对CAN矩阵和MDF格式相关信息方便回顾更新。这里用简单的的示例将CAN矩阵、CAN网络、DBC、MDF串联。

3.1 信息传递路径

      CAN矩阵表→DBC文件→芯片A对外发送消息→芯片B接收消息→依据DBC解码→保存MDF数据→CANape软件→电脑端显示。

3.2 CAN矩阵

      针对信息高速公路的车辆,规定货车的编号、车牌号、车内存放西瓜、芒果、桃子等相关信息。由负责规划的工程师依据货物信息输入,进行车辆分配,形成Excel信息列表(官方术语:CAN矩阵表)。

3.3 CAN网络

      为方便运行,公司私有化一条专用高速公路,名字:CAN网络。(信息)高速公路上车辆较多,有单一运输电机、手机的车辆,也有运输不同种类海鲜产品的车辆。运输海鲜产品车辆准点率要求最高,当高速上车辆拥堵导致行驶较慢,其他车辆需让出通道使 运输海鲜产品车辆优先通过。但货车外形一样,高速上怎么识别运输海鲜产品车辆,需要寻找方法,制定规则。

3.4 DBC文件

      硬件工程师负责每一辆车安装车载收发器(芯片),通过卫星对外广播信息(实际物理介质:CAN-H和CAN-L双绞线,通过差分电压输出逻辑0或者1),计算机输出的信息0和1,需要转换十进制数据。为了传递消息,公司新制定一个规则,保证信息错误概率是万中无一,要求车载芯片都按照规则工作,所有车辆能发也能收信息,繁琐内容如下:

      对于接收设备的用户来讲,需要看到的是货物信息,不需要知道快递车辆的车牌号。某公司软件工程师制作CANdb++软件,根据规划工程师的CAN矩阵(Excel信息)表,按格式输入数据即可生成密码本,该密码本保存格式为.dbc(Database CAN)。车辆行驶时,车载收发器的芯片按DBC规则对外发送010101……消息。DBC文件(可以理解为密码本)中9个信号(占用64位)图例:

      每辆车自带的车载收发器可看到其他车辆的信息,同时公司的终端(代号1640盒)同步在备份记录。假设20ms发一个信号实测车速(信号名称),数据大小为1个字节(8位),同时保存:信号发送时间、时间单位、信号数值、数据单位,一般保存为cvs格式的数据内容为:

      假定100辆车,每辆车1个Message(8个字节),周期20ms,车辆运行时间5h的数据需记录。只考虑数据,不考虑名称、时间、时间单位和数据单位:

100 (messages) × 8bit / (20ms)×5×3600×1000(ms)=14400000000bit=686M

3.5 MDF文件
      为了尽量小的占用空间,某标准化公司ASAM统一规范,例如文件保存内容:
      (1)表头:信号名称→车速,信号起始时间→0.015ms,发送时间→++20ms,单位→km/h;
      (2)内容:信号数据(16进制保存)→0 0.005 0.010 0.020……
      变量只有信号数据,这样尽量小的体积承载最大的数据量。记录数据另存为格式为MDF(Measurement Data File)。使用软件(比如CANape/Python等),可以得到车辆位置(对车速求积分)、运输水果重量等信息。

转载地址:https://mao0514.blog.csdn.net/article/details/116225640 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CAN网络dbc格式
下一篇:Linux服务中的 printf 输出 重定向输出 无法打印问题分析以及解决方法

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月06日 23时33分06秒