前言作者介绍阿隆深耕汽车控制器应用层开发多年经历多家企业项目(包含多家中外头部企业)拥有多款控制器量产经验。主要技能包括应用层模型开发和c/c代码编写mil/sil测试工具链开发静态检查BSW配置和手写上位机开发等。使用介绍MBD课程是阿隆从业多年后在2022年的时候从0开始一点点录制的视频一点点码字码出来的课程现在分享给大家用来学习如果对正在观看的你有帮助可以帮忙推荐给身边的朋友一起学习也可以免费加入阿隆的技术交流群进行交流学习。课程使用平台Matlab 2021b建议初学者尽量使用同版本避免出现版本差异带来的问题。等熟练掌握课程以后再升级平台出现版本差异的问题也知道该如何解决。全网同名阿隆汽车可以在其他平台搜索阿隆汽车找到阿隆感谢观看。入门篇视频链接如下https://www.bilibili.com/video/BV1xC411376Nhttps://www.bilibili.com/video/BV1Mt421P7HS实战篇01视频链接如下https://www.bilibili.com/video/BV1Pm421x7UJ提高篇视频观看链接along-auto.com1.问题实例开发一款车载控制器的过程中仪表上显示车速一直为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.1Vector硬件列表比较常见的有这种VN16XX系列的价格都在五六位数非常昂贵属于CAN卡中的劳斯莱斯。这些设备还是便宜的其他VN7XXX/VN8XXX/VXNNN系列的更贵东西是好但是价格也很不美丽还有以前的硬件比如CANCase等4.2同星支持2路CANFD的CAN盒价格3999支持4路CANFD的CAN盒价格7999总体的价格截图可以看到最基本的CAN盒都在3999价格及以上对个人购买者来说压力挺大的4.3PEAK支持1路CAN的PCAN-USB最基础的硬件价格在两千多对个人购买者来说还是压力不小的其他的更贵汽车行业的硬件使得个人想学习非常困难4.4周立功支持1路的CAN盒价格980支持2路CAN盒价格1680总体的价格截图5.软件对比硬件是与汽车上的CAN总线进行连接的介质还需要有软件搭配硬件才能进行数据分析、采集等工作。优秀的软件可以让我们的分析工作更加高效地开展5.1VectorVector的软件跟硬件一样是属于汽车行业主流的工具基本在比较规范的公司里任职都需要会使用。当然价格也跟硬件一样非常昂贵5.1.1CANoe/CANalyzerCANoe是Vector总线分析的最常用的工具CANalyzer是相当于有一部分CANoe的功能少一些内容价格也是相应的低一点我的实战篇01_CANoe与生成代码联合仿真就讲解了一些CANoe的使用方法包括怎么创建和编辑DBC文件、收发报文、使用Panel、编写CAPL脚本等对CANoe的使用有兴趣的可以去学习一下。当然CANoe的功能不止于此还可以做总线测试诊断等DBC编辑总线节点使用Panel使用CAPL诊断分析数据波形CANoe硬件软件加起来一套就得十几二十万的别说学生了很多小公司都没有能力承担太多这样的工具购买5.1.2CANape标定软件暂不讨论当然CANape也不只是用来标定的也可以采集总线数据进行分析只是我们更多是用它来做标定和观测这些内容如果只是用来分析数据和记录数据没有必要用到CANape5.2同星TSMaster是同星的软件TSMaster下载链接https://www.tosunai.com/downloads/#download_TSM同星TSMaster教程链接https://space.bilibili.com/2042371333软件显示报文界面数据显示波形分析记录数据Panel测量dbc编辑脚本程序看下来其实功能跟CANoe是很类似的国产的可以作为替代Vector的工具5.3PCAN5.3.1PCAN-ViewPCAN-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.2PCAN-Trace可以用来记录报文。PCAN-Trace程序是一个数据记录仪最多可存储9,999,000条CAN报文。它使CAN报文可以快速记录保存甚至在CAN总线上回放。该程序显示接收到的报文的数量并标识报文的类型数据帧错误帧RTR帧5.3.3PCAN-ExplorerPCAN-Explorer是PCAN比较全面的上位机可以导入DBC分析波形等功能如下CAN总线监控过滤CAN总线记录CAN总线报文回放支持加载dbc文件CAN总线节点仿真创建信号历史曲线图图形面板可与VBS脚本联动VBS脚本实现自动化测试J1939协议支持5.4周立功5.4.1CANTestCANTest进行收发数据和显示报文5.4.2ZCANProZCANPro进行收发数据6.Electrl-CAN大家可以淘宝搜索店铺易控科技小店或者搜商品易控科技can卡可以报阿隆汽车的名字有相应的优惠如果是学校/企业有需要试用的需求也可以联系阿隆批量价更低。欢迎合作咨询6.1硬件介绍Electrl-CAN是一款CAN盒能够兼容同星、PCAN以及Kvaser的软件DB9转接板On可以选择接入终端电阻但是硬件的价格比上述几种硬件均便宜很多非常适合预算有限的企业、学校或者个人使用。其实在收发报文、分析数据波形、记录和回放报文这些方面来说完全可以胜任。或者换言之同星、PCAN和Kvaser能够实现的功能这款CAN盒都可以实现但是价格少了好几个数量级6.2PCAN使用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中的配置IDCycle 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.3Kvaser使用6.3.1驱动安装可以在下面的官网链接下载驱动https://www.kvaser.cn/single-download/?download_id10175396.3.2软件使用Kvaser CanKing 7是免费的软件可以直接去官网下载可以在下面的官网链接下载软件https://www.kvaser.cn/single-download/?download_id1043514
CAN总线开发利器!汽车主流软硬件对比
前言作者介绍阿隆深耕汽车控制器应用层开发多年经历多家企业项目(包含多家中外头部企业)拥有多款控制器量产经验。主要技能包括应用层模型开发和c/c代码编写mil/sil测试工具链开发静态检查BSW配置和手写上位机开发等。使用介绍MBD课程是阿隆从业多年后在2022年的时候从0开始一点点录制的视频一点点码字码出来的课程现在分享给大家用来学习如果对正在观看的你有帮助可以帮忙推荐给身边的朋友一起学习也可以免费加入阿隆的技术交流群进行交流学习。课程使用平台Matlab 2021b建议初学者尽量使用同版本避免出现版本差异带来的问题。等熟练掌握课程以后再升级平台出现版本差异的问题也知道该如何解决。全网同名阿隆汽车可以在其他平台搜索阿隆汽车找到阿隆感谢观看。入门篇视频链接如下https://www.bilibili.com/video/BV1xC411376Nhttps://www.bilibili.com/video/BV1Mt421P7HS实战篇01视频链接如下https://www.bilibili.com/video/BV1Pm421x7UJ提高篇视频观看链接along-auto.com1.问题实例开发一款车载控制器的过程中仪表上显示车速一直为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.1Vector硬件列表比较常见的有这种VN16XX系列的价格都在五六位数非常昂贵属于CAN卡中的劳斯莱斯。这些设备还是便宜的其他VN7XXX/VN8XXX/VXNNN系列的更贵东西是好但是价格也很不美丽还有以前的硬件比如CANCase等4.2同星支持2路CANFD的CAN盒价格3999支持4路CANFD的CAN盒价格7999总体的价格截图可以看到最基本的CAN盒都在3999价格及以上对个人购买者来说压力挺大的4.3PEAK支持1路CAN的PCAN-USB最基础的硬件价格在两千多对个人购买者来说还是压力不小的其他的更贵汽车行业的硬件使得个人想学习非常困难4.4周立功支持1路的CAN盒价格980支持2路CAN盒价格1680总体的价格截图5.软件对比硬件是与汽车上的CAN总线进行连接的介质还需要有软件搭配硬件才能进行数据分析、采集等工作。优秀的软件可以让我们的分析工作更加高效地开展5.1VectorVector的软件跟硬件一样是属于汽车行业主流的工具基本在比较规范的公司里任职都需要会使用。当然价格也跟硬件一样非常昂贵5.1.1CANoe/CANalyzerCANoe是Vector总线分析的最常用的工具CANalyzer是相当于有一部分CANoe的功能少一些内容价格也是相应的低一点我的实战篇01_CANoe与生成代码联合仿真就讲解了一些CANoe的使用方法包括怎么创建和编辑DBC文件、收发报文、使用Panel、编写CAPL脚本等对CANoe的使用有兴趣的可以去学习一下。当然CANoe的功能不止于此还可以做总线测试诊断等DBC编辑总线节点使用Panel使用CAPL诊断分析数据波形CANoe硬件软件加起来一套就得十几二十万的别说学生了很多小公司都没有能力承担太多这样的工具购买5.1.2CANape标定软件暂不讨论当然CANape也不只是用来标定的也可以采集总线数据进行分析只是我们更多是用它来做标定和观测这些内容如果只是用来分析数据和记录数据没有必要用到CANape5.2同星TSMaster是同星的软件TSMaster下载链接https://www.tosunai.com/downloads/#download_TSM同星TSMaster教程链接https://space.bilibili.com/2042371333软件显示报文界面数据显示波形分析记录数据Panel测量dbc编辑脚本程序看下来其实功能跟CANoe是很类似的国产的可以作为替代Vector的工具5.3PCAN5.3.1PCAN-ViewPCAN-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.2PCAN-Trace可以用来记录报文。PCAN-Trace程序是一个数据记录仪最多可存储9,999,000条CAN报文。它使CAN报文可以快速记录保存甚至在CAN总线上回放。该程序显示接收到的报文的数量并标识报文的类型数据帧错误帧RTR帧5.3.3PCAN-ExplorerPCAN-Explorer是PCAN比较全面的上位机可以导入DBC分析波形等功能如下CAN总线监控过滤CAN总线记录CAN总线报文回放支持加载dbc文件CAN总线节点仿真创建信号历史曲线图图形面板可与VBS脚本联动VBS脚本实现自动化测试J1939协议支持5.4周立功5.4.1CANTestCANTest进行收发数据和显示报文5.4.2ZCANProZCANPro进行收发数据6.Electrl-CAN大家可以淘宝搜索店铺易控科技小店或者搜商品易控科技can卡可以报阿隆汽车的名字有相应的优惠如果是学校/企业有需要试用的需求也可以联系阿隆批量价更低。欢迎合作咨询6.1硬件介绍Electrl-CAN是一款CAN盒能够兼容同星、PCAN以及Kvaser的软件DB9转接板On可以选择接入终端电阻但是硬件的价格比上述几种硬件均便宜很多非常适合预算有限的企业、学校或者个人使用。其实在收发报文、分析数据波形、记录和回放报文这些方面来说完全可以胜任。或者换言之同星、PCAN和Kvaser能够实现的功能这款CAN盒都可以实现但是价格少了好几个数量级6.2PCAN使用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中的配置IDCycle 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.3Kvaser使用6.3.1驱动安装可以在下面的官网链接下载驱动https://www.kvaser.cn/single-download/?download_id10175396.3.2软件使用Kvaser CanKing 7是免费的软件可以直接去官网下载可以在下面的官网链接下载软件https://www.kvaser.cn/single-download/?download_id1043514