前言
作者介绍
阿隆,深耕汽车控制器应用层开发多年,经历多家企业项目(包含多家中外头部企业),拥有多款控制器量产经验。主要技能包括应用层模型开发和c/c++代码编写,mil/sil测试,工具链开发,静态检查,BSW配置和手写,上位机开发等。
使用介绍
MBD课程是阿隆从业多年后,在2022年的时候从0开始一点点录制的视频,一点点码字码出来的课程,现在分享给大家用来学习,如果对正在观看的你有帮助,可以帮忙推荐给身边的朋友,一起学习,也可以免费加入阿隆的技术交流群进行交流学习。
课程使用平台Matlab 2021b,建议初学者尽量使用同版本,避免出现版本差异带来的问题。等熟练掌握课程以后,再升级平台,出现版本差异的问题也知道该如何解决。
全网同名阿隆汽车,可以在其他平台搜索阿隆汽车找到阿隆,感谢观看。
入门篇视频链接如下:
https://www.bilibili.com/video/BV1xC411376N
https://www.bilibili.com/video/BV1Mt421P7HS
实战篇01视频链接如下:
https://www.bilibili.com/video/BV1Pm421x7UJ
提高篇视频观看链接
1. 问题实例
开发一款车载控制器的过程中,仪表上显示车速一直为0,我们应该从哪里入手开始查找问题原因?我们需要什么样的硬件和软件来帮助我们完成问题分析?

首先我们需要分析下,abs发出来的车速信号是多少,看看是abs的锅还是谁的问题,是仪表自己没显示还是abs发的就有问题,那我们需要采集总线的数据,首先看看abs有没有发出来正确的车速信号以及其他的标志位是否正确,那我们要采集数据该使用什么硬件和软件来帮助我们完成问题的分析与解决呢,我们可以继续往下看。

2. CAN总线介绍
CAN是什么?控制器局域网(Controller Area Network),一种高可靠性、实时性的串行通信协议。
简单来讲就是两根线,CANH和CANL,在汽车的控制器之间连接进行通信

这种总线在汽车电子上有广泛的应用
- ECU通信(发动机、ABS、仪表盘数据交互)
- 车载诊断(OBD-II,通过CAN读取故障码)
工业上也有使用但不是我们讨论的重点了。就是因为我们想从事汽车行业,CAN总线基本都是绕不开的话题
3. CAN卡介绍
CAN卡是什么?连接PC/工控机与CAN总线的接口设备(USB/CAN、PCIe/CAN等)
CAN卡在开发中的关键角色:
- 数据采集:实时捕获总线数据(如汽车故障排查)
- 仿真测试:模拟节点发送特定报文(如ECU信号注入)
- 协议分析:解析自定义帧结构(需配套上位机软件 → 引出产品兼容性)
真实的ECU之间的线束连接就是两根CAN线以及终端电阻这种,如果出问题或者在前期开发的过程中遇到问题,如何分析,很多时候我们就需要借助CAN卡,把总线的数据进行采集或者实时分析。否则数据在ECU之间实时传递,有问题我们工程师是没办法介入去分析的
4. 硬件对比
4.1 Vector
硬件列表

比较常见的有这种VN16XX系列的,价格都在五六位数,非常昂贵,属于CAN卡中的劳斯莱斯。这些设备还是便宜的,其他VN7XXX/VN8XXX/VXNNN系列的更贵



东西是好,但是价格也很不美丽

还有以前的硬件比如CANCase等
4.2 同星
支持2路CANFD的CAN盒价格3999

支持4路CANFD的CAN盒价格7999

总体的价格截图,可以看到最基本的CAN盒都在3999价格及以上,对个人购买者来说压力挺大的

4.3 PEAK
支持1路CAN的PCAN-USB

最基础的硬件价格在两千多,对个人购买者来说还是压力不小的

其他的更贵

汽车行业的硬件使得个人想学习非常困难

4.4 周立功
支持1路的CAN盒价格980

支持2路CAN盒价格1680

总体的价格截图

5. 软件对比
硬件是与汽车上的CAN总线进行连接的介质,还需要有软件搭配硬件才能进行数据分析、采集等工作。优秀的软件可以让我们的分析工作更加高效地开展

5.1 Vector
Vector的软件跟硬件一样,是属于汽车行业主流的工具,基本在比较规范的公司里任职都需要会使用。当然价格也跟硬件一样,非常昂贵

5.1.1 CANoe/CANalyzer
CANoe是Vector总线分析的最常用的工具,CANalyzer是相当于有一部分CANoe的功能,少一些内容,价格也是相应的低一点
我的实战篇01_CANoe与生成代码联合仿真就讲解了一些CANoe的使用方法,包括怎么创建和编辑DBC文件、收发报文、使用Panel、编写CAPL脚本等,对CANoe的使用有兴趣的可以去学习一下。当然CANoe的功能不止于此,还可以做总线测试,诊断等
DBC编辑

总线节点

使用Panel

使用CAPL

诊断

分析数据波形

CANoe硬件软件加起来一套就得十几二十万的,别说学生了,很多小公司都没有能力承担太多这样的工具购买

5.1.2 CANape
标定软件,暂不讨论

当然CANape也不只是用来标定的,也可以采集总线数据进行分析,只是我们更多是用它来做标定和观测这些内容,如果只是用来分析数据和记录数据,没有必要用到CANape
5.2 同星
TSMaster是同星的软件
TSMaster下载链接
https://www.tosunai.com/downloads/#download_TSM

同星TSMaster教程链接
https://space.bilibili.com/2042371333
软件显示报文界面

数据显示波形分析

记录数据


Panel

测量

dbc编辑

脚本程序

看下来其实功能跟CANoe是很类似的,国产的可以作为替代Vector的工具
5.3 PCAN
5.3.1 PCAN-View
PCAN-View用做基本的数据分析,能看到收到哪些报文,数据都是以16进制默认显示,还需要自己对数据进行解析,不然只看到这样的数据,无法看出来接收到的物理意义是什么。不过可以简单分析下有没有收到某个报文,以及报文的Cycle是不是正确

PCAN-View for Windows软件是一款简便的CAN监视软件,可用于显示、发送、和记录CAN数据通讯。可手动和定期发送报文,用户可决定比特率。它显示整个过程中的总线系统错误和CAN硬件存储器溢出。它的示踪功能可用于记录和保存CAN数据通讯
就这买一个硬件盒子+免费的PCAN-View能做的事就这么少

PCAN-View由PEAK官网免费提供,可以直接进行下载
PCAN-View下载链接
https://peak-system.com.cn/software/apsoftware/pcan-view/
主要是需要下载上位机软件和驱动程序,其他的二次开发驱动可以暂不理会

5.3.2 PCAN-Trace
可以用来记录报文。PCAN-Trace程序是一个数据记录仪,最多可存储9,999,000条CAN报文。它使CAN报文可以快速记录,保存,甚至在CAN总线上回放。该程序显示接收到的报文的数量,并标识报文的类型(数据帧,错误帧,RTR帧)

5.3.3 PCAN-Explorer
PCAN-Explorer是PCAN比较全面的上位机,可以导入DBC,分析波形等

功能如下:
- CAN总线监控,过滤
- CAN总线记录
- CAN总线报文回放
- 支持加载dbc文件
- CAN总线节点仿真
- 创建信号历史曲线图
- 图形面板,可与VBS脚本联动
- VBS脚本,实现自动化测试
- J1939协议支持
5.4 周立功
5.4.1 CANTest
CANTest进行收发数据和显示报文

5.4.2 ZCANPro
ZCANPro进行收发数据

6. Electrl-CAN
大家可以淘宝搜索店铺易控科技小店,或者搜商品易控科技can卡,可以报阿隆汽车的名字,有相应的优惠

如果是学校/企业有需要试用的需求,也可以联系阿隆,批量价更低。欢迎合作咨询

6.1 硬件介绍
Electrl-CAN是一款CAN盒,能够兼容同星、PCAN以及Kvaser的软件


DB9转接板,On可以选择接入终端电阻

但是硬件的价格比上述几种硬件均便宜很多,非常适合预算有限的企业、学校或者个人使用。其实在收发报文、分析数据波形、记录和回放报文这些方面来说,完全可以胜任。或者换言之,同星、PCAN和Kvaser能够实现的功能,这款CAN盒都可以实现,但是价格少了好几个数量级

6.2 PCAN使用
6.2.1 驱动安装
可以在上面的官网链接下载驱动或者使用其他的PCAN驱动

选择Windows驱动

点击下载

下载完解压以后的安装包
![]()
双击安装就行

选择接受,点击Next

选择安装路径,然后继续Next

然后点Install安装就行

6.2.2 软件使用
6.2.2.1 配置网络
以使用PCAN-Explorer为例
安装完驱动以后,插上CAN盒,显示红灯

配置网络,首先在Tools里选择Nets Configuration

在弹出的窗口中,选择PCAN-USB,然后鼠标右键,在弹出的菜单中选择New Net,或者等效于选择PCAN-USB点击上面的图标

命名Net,然后选择波特率500k

新建完后这里有相应的配置出现,如果需要其他配置可以根据这种方式自己添加

然后点击保存配置

点击完保存后

6.2.2.2 工程建立
然后新建一个工程

新建完工程后可以点击Add Connection进行添加连接

选择之前配置的网络500k那个,现在只有一个,如果有多个网络配置这里就可以从多个里面选,然后命名下Connection

然后可以看到已经添加好的Connection

连接以后,Electrl-CAN显示3个灯

6.2.2.3 发送/接收
可以在View中选择打开其他的窗口进行查看,选择发送/接收窗口

使用另一个设备发送报文,这边进行接收,然后可以看到报文在持续接收,Cycle Time有值,Count在累加。硬件设备的灯这时候是闪烁状态

但是现在的报文我们只能看到数值,无法实时查看数据的物理意义
6.2.2.4 添加DBC
在Project Browser窗口,鼠标右键点击,添加已经存在的Item

选择相应的DBC后点打开

然后在Project Browser窗口选择DBC后点Apply,进行使用

点完后自动解析DBC

然后再回到发送接收窗口,这时候看到报文已经被解析了。我们随便点开一下ABS的报文,如果这时候我们在最前面提到的问题比较明显的话,我们通过看报文的物理值就能分析出来了

在发送窗口鼠标点击右键,New Message进行发送数据

可以选择DBC中的Message,然后就会自动使用DBC中的配置,ID,Cycle Time这些

在Message上双击,可以进行编辑发送的内容,这样就可以不用自己去推算发送的有些信号的值,比如有些跨字节和占了某几位的数据,通常改变一个值需要自己计算花费一些时间,用DBC就会简单很多,直接依靠工具自动计算

在连接上点显示总线负载率,就可以查看当前的负载率,确认连接是不是健康

6.2.2.5 编辑DBC
可以在这里选择DBC编辑器,不过我这个DBC是从CANoe编辑的拿过来用的,这个也可以编辑,也可以参考下我的实战篇01的DBC编辑的内容,编辑原理都差不多

编辑界面

message的layout,可以清楚地看到信号的排列

6.2.2.6 记录数据
点击记录数据

点击保存,选择保存的文件名和类型

在Options里设置

记录数据的模式。动态就是一直保存,但是存在内存里,存的久了内存会扛不住。新版的有记录到File的选项,就是一边直接存到文件里了,不会一直占着内存。Linear是按照Buffer的大小去保存数据,保存到就停,Ring是按照Buffer大小动态往前保存,直到停止,会记录最新的Buffer大小的数据

6.2.2.7 显示波形和回放数据
点击波形按钮,选择要画波形的信号

选择增加Channel

点击从数据中回放波形

选择相应的trc文件进行回放

选择要显示的波形信号,就会显示第一张图的波形,可以进行分析

6.2.2.8 保存工程
保存工程,选择Save Project As...或者Save All都可以

选择路径,对工程进行命名后,点击保存

保存完后我们下次再使用工程就不需要重新配置DBC这些操作,可以直接使用当前已经配置好的部分
6.3 Kvaser使用
6.3.1 驱动安装
可以在下面的官网链接下载驱动
https://www.kvaser.cn/single-download/?download_id=1017539
6.3.2 软件使用
Kvaser CanKing 7是免费的软件,可以直接去官网下载
可以在下面的官网链接下载软件
4054

被折叠的 条评论
为什么被折叠?



