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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月06日 23时33分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
内存对齐详解
2019-05-01
秋招总结(一)-C++归纳
2019-05-01
秋招总结(三)-操作系统归纳
2019-05-01
带缓冲I/O 和不带缓冲I/O的区别与联系
2019-05-01
LINUX CP命令详解
2019-05-01
source insight快捷键及使用技巧
2019-05-01
映 射 ALT 键
2019-05-01
vim使用快捷键F4生成文件头注释、F5生成main函数模板、F6生成.h文件框架模板
2019-05-01
用python解析html
2019-05-01
OV5620的视频驱动
2019-05-01
C++中两个类交叉定义或递归定义的解决办法
2019-05-01
ECharts is not Loaded解决方案
2019-05-01
ECharts地图显示不完整,只显示南海诸岛问题
2019-05-01
echarts切换tab时,第一个图表显示,第二个图表不显示的解决办法
2019-05-01
记一次Hive 行转列 引起的GC overhead limit exceeded
2019-05-01
OpenGL ES八 - 交叉存取顶点数据
2019-05-01
crontab定时任务写法
2019-05-01
nginx: [emerg] unknown directive "if($remote_addr" in /usr/local/tools/nginx/conf/nginx.conf:57
2019-05-01
module pip has no attribute main问题解决
2019-05-01