【dbc&CANdb++】学习笔记

简介

DBC(Database Can)文件是CAN的数据库文件,可以用来描述CAN数据的格式。针对不同ID的CAN数据定义不同的帧类型、长度、字节含义等内容,将冗长复杂的协议格式化,帮助使用者快速上手。

CANdb++则是一款用于编写dbc的软件,可以点击此处下载。

CANdb++的安装

执行 CANdb++.exe 后按指示安装。完成安装后,将动态库 Cdbstat.dll 放置在 C:\Windows\SysWOW64 目录下,执行命令 regsvr32 Cdbstat.dll 完成注册。

CANdb++的使用
  • 新建database
    001

  • 选择dbc模版
    002

  • 设置存储路径
    003

  • signal与message
    dbc中需要定义(描述)的信息主要涉及到messagesignal两种。两种属于包含与被包含的关系。其中,message由一个或多个signal组成,而signal则利用一个或多个连续的二进制位来表示承载的信息。
    004

  • 新建signal
    005

  • signal定义
    006

    key worddescription
    Name信号名
    Length(Bit)位长度
    Factor精度
    Offset偏移量
    Minimum最小值
    Maximum最大值
  • signal计算公式:
    转换值 * Factor + Offset = 信号值
    逆推:
    转换值 = (信号值 - Offset) / Factor
    以上图为例,假设TestSignal被设置为30,那经由dbc转换出的值应该为 (30 - (-10)) / 1 = 40(D) = 101000(B)

  • 新建message
    007

  • message定义
    008

    key worddescription
    Name消息名
    Type帧类型
    ID帧ID
    DLC字节长度
  • 为message分配signal(将刚刚建立的signal分配给该message)
    009

  • 修改signal所占位010

  • 其他设置
    除上述设置外,还可以设置循环时间等描述,这里不做过多描述,请自行探索。
    011

  • 生成结果
    012

  • message计算
    message的结果是各比特位的值,衔接signal的例子,TestSignal设置为30,占用两个字节,转换结果为0000 0000 0010 1000(B),从第二个字节开始,其他字节位默认取0,最终message结果为00 00 28 00 00 00 00 00(注意:实际使用时还需留意大小端)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值