如何快速上手CANoe总线设计与开发

电子说

1.3w人已加入

描述

导读:作为汽车工程师,汽车CAN通信是必须掌握的,还记得刚在汽车公司工作一个月的时候,在labcar学习的时候,一个同事从身边走过,我只知道她是汽车网络工程师,那时候由于对汽车内部结构并不是很了解,所以就问她。你们网络工程师是干嘛的啊,不就是那种高端车上的手机互联吗?如今再回想起当时提出的问题,真的想钻个洞把自己埋起来,没脸见同事了。

一、CAN总线是什么

CAN总线,并不是他很能,只是一个缩写。CAN:Controller Area Network。控制器局域网络总线。

绝大多数汽车制造厂商采用CAN总线来实现汽车内部控制系统之间的数据通信,CAN总线也叫CAN BUS。

BUS?恩,这不是公交的意思么,没错,公共汽车是可以运输大量的乘客的,CAN通信也就可以传输大量的信号。下边这个图片很形象

CANoe

CAN总线

简单的说,CAN总线就是用于传输数据的通信协议。

CANoe

传统汽车线束连接

缺点:

需要大量的信号传输线

针脚数增加

线路复杂

想想:线束增加了这么多,重量大了,生产成本高了,主机厂能不心疼么,而且故障率也高。

二、CANoe开发测试分析

汽车电子在整车研发中占据非常重要的地位,汽车内部涉及到ECU之间的总线通信变得越来越复杂。而CANoe就是开发测试分析整个ECU网络和单个ECU通信而设计的总线通信分析工具,从概念设计到测试验证,再到批量生产,CANoe的使用贯穿整个研发流程。 CANoe软件图标及软件初始界面如下图:

CANoe

CANoe具体CANoe软件的操作,可以参考我原创的精品视频教程《如何快速上手CANoe总线设计与开发》,后续的文章会进行补充

CANoe

CANoe界面DBCCAN总线通讯的主要载体是报文,信号是报文的主要组成部分,没有DBC数据库,就无法解析信号。DBC相当于一部针对通信内容的百科辞典。在用CANoe软件读取信号的时候,需要加载DBC。通过CANoe中tools打开CANdb++

CANoe

db++CANdb++的里面有两个主要的工作区

CANoe

1、网络拓扑区域

CANoe

 2、相关对象的详细信息

CANoe

DBC主要数据对象

CANoe

节点

CANoe

报文

报文右侧的相关对象区域包含内容:定义(名称、帧格式、ID、DLC、发送方、周期)、接收方、属性、信号布局

CANoe

信号信号右侧的相关对象区域包含内容:

信号配置包括定义,报文映射,属性

物理值=总线值*比例因子+偏移量

信号排布

motorola型:高字节在前,低字节在后

Intel型:相反

CANoe

环境变量总之,在信号与报文、报文与节点关联完成后,就可以在通信矩阵中观察他们的收发关系。对应的信号矩阵,就是确定了他们收发关系的信号矩阵excel表。 供应商在开发ECU软件的时候,主机厂是必须要提供其设计版的信号矩阵,明确具体的ECU收发的报文及对应的信号。通常情况下会包括如下部分(以车速为例介绍下):

CANoe

个别信息解释如下:

CANoe

矩阵图

LSB:16(起始位)

MSB:12(终止位)

Size:13(长度)

那么factor为啥是0.056我们先确定了长度是13bit,并在报文中把该信号排布,那么可知:2^13=8192 从0-8191刚好为8192个数字,那么8191转化为十六进制的数是不是1FFF,看看coding值范围0x0000~~0x1FFF   但是设计的时候,车速规定的区间是0-300也及

最小值:0

最大值:300

并且coding规定了从0x0000~~0x14D5才是有效的

14D5转化为十进制数为5333

factor=300/5333=0.05625反应到DBC中如下图:

CANoe

DBC

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分