DBC文件解析及CAN通信矩阵

这篇具有很好参考价值的文章主要介绍了DBC文件解析及CAN通信矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一般的 DBC 文件中包含了如下的8种信息:
1、版本与新符号
2、波特率定义
3、网络节点的定义
4、报文帧的定义
5、信号的定义
6、注解部分
7、特征部分
8、数值表部分

VERSOIN ""			//版本信息,为空,也可以自定义
NS_:				//NS为 new symbol 的缩写,后面紧跟着一堆ns,一般是创建dbc时自动生成,不用太关心
	NS_DESC_
	CM_
	BA_DEF_
	BA_
	VAL_
	CAT_DEF_
	CAT_
	FILTER
	BA_DEF_DEF_
	EV_DATA_
	ENVVAR_DATA_
	SGTYPE_
	SGTYPE_VAL_
	BA_DEF_SGTYPE_
	BA_SGTYPE_
	SIG_TYPE_REF_
	VAL_TABLE_
	SIG_GROUP_
	SIG_VALTYPE_
	SIGTYPE_VALTYPE_
	BO_TX_BU_
	BA_DEF_REL_
	BA_REL_
	BA_DEF_DEF_REL_
	BU_SG_REL_
	BU_EV_REL_
	BU_BO_REL_
	SG_MUL_VAL_
BS_:[baudrate:BTR1,BTR2];			
//波特率设置,BS_为关键字,其中[]中为可选部分
BU_:Nodename1 Nodename2 Nodename3 ……			
//网络节点定义,其中Nodename为网络节点名字,用户自定义,名字需要唯一性
BO_ MessageId MessageName: MessageSize Transmitter			
//报文帧定义,其中 
		MessageId 为10进制表示的报文ID,类型为longlogn型,即CAN ID
		MessageName 报文的名字,与C语言命令规范相同
		MessageSize 报文数据段字节数
		Transmitter 该报文的网络节点,如果该报文没有指定发送节点,则该值需设置为”Vector__XXX”
SG_ SignalName (SigTypeDefinition) : StartBit|SignalSize@ByteOrder ValueType (Factor,Offset) [Min|Max] Unit Receiver
//信号的定义,SG_为关键字,表示信号,其它字段含义如下:
	SignalName (SigTypeDefinition) 表示该信号的名字 和 多路选择信号的定义
		SigTypeDefinition是可选项,有3种格式:
				a> 空
				b> M 表示多路选择器信号
				c> m50 表示被多路选择器选择的信号,50表示当‘M’定义的信号的值等于50的时候,该报文使用此通路
	StartBit|SignalSize 表示该信号的起始位及信号长度
	ByteOrder 表示信号的字节顺序:0代表Motorola格式,1代表Inter格式
	ValueType 表示该信号的数值类型:+表示无符号数,-表示有符号数
	Factor,Offset 表示因子,偏移量;这两个值用于信号的原始值与物理值之间的转换。 转换公式:物理值=原始值*因子+偏移量
	Min|Max 表示该信号的最小值和最大值,即指定了该信号值的范围;这两个值为double类型
	Unit 表示该信号的物理单位,为字符串类型
	Receiver 表示该信号的接收节点(可以是多个节点);若该信号没有指定的接收节点,则必须设置为” Vector__XXX”
	举例:SG_ S_Check : 45|10@0+ (0.00625,0) [0|160] "M" EL3160,ESC
CM_ Object MessageId/NodeName “Comment”  
	//注解信息,其它字段含义:
			Object 表示注解的对象类型,可以是节点“BU_”、报文“BO_”、消息”SG_”
			MessageId/NodeName 表示进行注解的对象,若前面的对象类型是信号或者报文,则这里的值应为报文的ID(10进制数表示);若前面的对象类型为节点,则这里的值应为节点的名字
			Comment 表示进行注解的文本信息
与特征(属性)的Tag一共有三条,如下:
BA_DEF_ Object AttributeName ValueType Min Max;		
	//1. 特征名称类型定义,其它字段含义:
			Object 特征类型,可以是BU_(节点特征定义)、BO_(报文特征定义)、SG_(信号特征定义)、空格(项目特征定义)
			AttributeName 特征名称(C语言变量格式)
			ValueType 特征值类型(只能是十进制、十六进制、浮点数、枚举、字符5种类型)
			Min Max 数值类型这里出现范围,枚举类型这里是枚举值,字符类型,这里是空
															
BA_DEF_DEF_ AttributeName DefaultValue;				
	//2. 特征默认值定义,其它字段含义:
			AttributeName 特征名称
			DefaultValue 该特征的默认设置值
															
BA_ AttributeName projectValue;						
	//3. 特征项目设置值定义,其它字段含义如下:
			AttributeName 特征名称
			projectValue 该特征的设置值

VAL_ MessageId SignalName N “DefineN” …… 0 “Define0”;		
	//数值表部分,其它字段含义如下:
			MessageId 表示该信号所属的报文ID(10进制数表示)
			SignalName 表示信号名
			N “DefineN” …… 0 “Define0” 表示定义的数值表内容,即该信号的有效值分别用什么符号表示

通信矩阵的填写是根据DBC文件中 SG_ 所定义的信号规则来填充的。

填格子的方式分为Intel和Motorola两种:
Intel格式也即小端,MSB存放在高字节单元,反映到矩阵图中就是以起始位为原点,自上而下填充。
dbc文件,电子技术,网络

Motorola格式也即大端,MSB存放在低字节单元,反映到矩阵图中就是以起始位为原点,自下而上填充。
dbc文件,电子技术,网络文章来源地址https://www.toymoban.com/news/detail-580431.html

到了这里,关于DBC文件解析及CAN通信矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 79、SpringBoot 整合 R2DBC --- R2DBC 就是 JDBC 的 反应式版本, R2DBC 是 JDBC 的升级版。

    R2DBC 就是 JDBC 的 反应式版本, R2DBC 是 JDBC 的升级版。 R2DBC 是 Reactive Relational Database Connectivity (关系型数据库的响应式连接) 的缩写 反应式的就是类似于消息发布者和订阅者,有消息就进行推送。R2DBC中DAO接口中方法的返回值是 Flux 或 Mono 因此,反应式的 R2DBC ,是不存在 【分

    2024年02月07日
    浏览(49)
  • dbc的属性定义

    在前一章新建完Signals后会出现两个配置项GenSigSendType、GenSigInactiveValue,这是dbc模板自带的两个属性,当我们打开Attribute Definition会展示出当前已定义的属性。本章将详细展开属性定义的奥秘。

    2023年04月08日
    浏览(35)
  • DBC学习(一)

    一、什么是DBC? DBC(CAN data base)是描述网络上所有电子节点(ECU)之间CAN通信信息的数据库文件。注意三个: 网络 、 电子节点 和 CAN信息 ,DBC文件只用于描述CAN通信,通常一个DBC文件只能包含一个CAN网络的节点信息,因此,为了描述整车的网络拓扑信息,需要多个

    2024年02月12日
    浏览(37)
  • DBC概述

    第一章 DBC概述 第二章 新建CAN数据库文件 第三章 AttributeName属性用法 第四章 Intel和Motorola解析 第五章 DBC文件解析 第六章 Signal Multiplexing用法 DBC(Database CAN)文件是由德国Vector公司发布的,用来描述CAN 网络 上所有ECU 节点 之间CAN通讯 信息 的数据的一种文件,包含了CAN总线中

    2024年02月03日
    浏览(29)
  • 达芬奇Configurator导入DBC初步

    介绍 本文档为AutoSAR通讯部分配置文档,配置工具为Vector公司DaVinci Configurator Pro。 模块 BSW架构 通讯功能 CAN通讯,通过接口层到PDU Router模块;(路径:CanDrv--CanIf--PduR--Com) UDS服务,通过接口层到CANTp模块;(路径:CanDrv--CanIf--CanTp--PduR--Dcm) XCP服务,通过接口层到XCP模块。(路

    2024年02月09日
    浏览(62)
  • dBm, dBi, dBd, dB, dBc

    摘自 dBm, dBi, dBd, dB, dBc释义 dBm dBm是一个考征功率绝对值的值,计算公式为:10lgP(功率值/1mw)。 [例1] 如果发射功率P为1mw,折算为dBm后为0dBm。 [例2] 对于40W的功率,按dBm单位进行折算后的值应为: 10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。 dBi 和dBd dBi和dBd是考征增益的

    2024年02月15日
    浏览(36)
  • R2DBC-响应式数据库

    简单查询 基于全异步,响应式,消息驱动 用法: 1.导入驱动:导入连接池(r2dbc-pool),导入驱动(r2dbc-mysql) 2. 使用驱动提供的api操作 pom.xml 单元测试 参数赋值 spring data r2dbc-整合与自动配置 SpringBoot对r2dbc自动配置 R2dbcAutoConfiguration:主要配置连接工厂,连接池 R2dbcDataAutoConfiguration: r2dbcE

    2024年01月21日
    浏览(38)
  • springboot通过sharding-dbc按年、月分片

     springboot通过sharding-dbc按年、月分片 1、引入pom依赖 2、application.yml配置 3、分片算法 4、注意事项 (1)分片主键不能修改。 (2)分表后如果需指定表,入参需使用例如 ${tableSuf}           ${}和#{}的区别:${}参数不会携带‘’,但#{}会携带。 实施sharding-jdbc,一些非常痛的注

    2024年02月11日
    浏览(36)
  • 基于FPGA的数字电子琴——数电小系统设计【数字电子技术】(使用Vivado中的verilog语言)含piano代码文件(全)

    目录 一、电路功能描述 二、方案设计 1. 总体设计方案 2. 对原理框图或程序流程图做出简单解释 3. 各模块介绍 3.1 音频驱动模块 3.2 LED显示模块 3.3 数码管显示模块 3.4 矩阵键盘模块 3.5 PS2机械键盘模块 3.6 时钟分频模块 3.7 曲谱生成模块 三、总结 数码管和LED显示模块 矩阵键盘

    2024年02月06日
    浏览(55)
  • CAN通信矩阵

    理解 CAN 通信矩阵 通常我们会拿到一个 Excel 文件,里面包含通信矩阵的各种信息,下面我列举一些常见的信息, 信号名称( Singal Name ):一般以发送节点的名字起始, _ 后面是具体的信号内容 信号长度( Bit Lenght ):单位是 bit ,位 精度( Resolution ),偏移量( Offset ):

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包