一台电脑实现Kvaser CAN总线理论实践、开发与测试!

本文详细介绍了如何利用Kvaser的虚拟CAN驱动和CANKing软件,在家进行CAN总线的学习和开发项目。通过下载和安装必要的软件,设置虚拟CAN通道,创建并发送CAN报文,以及使用定时传输和历史记录功能,读者可以模拟CAN通信并测试自己的CAN应用。
摘要由CSDN通过智能技术生成

本文将分享如何只需一台电脑,就能应用一些免费下载的软件来学习CAN理论,进行CAN开发和测试项目。

如果你希望在家里就能通过现有工具实践CAN理论或开发控制器域网(CAN)项目,本文就可以为你提供帮助。Kvaser的CAN适配器和数据记录仪都能与一个通用驱动程序协作,此驱动程序包括一个Virtual CAN Driver(虚拟CAN驱动程序)。此虚拟CAN驱动可用来监测和传输CAN数据,这样你借助它们进一步了解CAN,或进行CAN开发项目。所有这些你在家里就可以实现。

在这里,我们将举一个例子来说明如何做到这一点。使用提供的免费软件Kvaser CANKing(Kvaser的总线监测软件),以及Kvaser Drivers for Windows(Kvaser的Windows驱动程序-虚拟端口可用于发送和接收CAN报文),就可以完成。

第1步 | 下载并安装Kvaser Drivers for Windows和Kvaser CANKing。

第2步 | 打开CANKing并从第一个窗口选择 Template (模板)。

选择OK后,你会看到Templates – 模板选择窗口。在此窗口中选择2 CAN channels (2路CAN通道),这样你的桌面上就出现两个CAN窗口——一个Kvaser驱动程序最多支持两路虚拟通道,因为你需要至少两路通道来传递数据。

图片

此时,你的桌面上应该有五个打开的窗口:Kvaser CANKing窗口、两个CAN通道窗口、一个Select Formatter(选择格式器)窗口和Output(输出)窗口。如果你的电脑桌面上不是这样,可以去View (查看)菜单并手动打开这五个窗口。你还需要Timed Transmission(定时传输)和History List(历史记录)窗口,所以也打开这些窗口。我们可以在桌面上调整这些窗口,这样就可以方便地看到所有信息。我们的桌面如下图:

图片

注意你必须在CAN Channel下的CAN 1和CAN 2窗口中都选择Virtual CAN Driver(虚拟CAN驱动)。一个应该是0(Kvaser Virtual CAN Driver),另一个应该是1(Kvaser Virtual CAN Driver)。这两路通道也应具有相同的总线配置信息。所有这些都应该默认设置。现在在你的Kvaser CANKing窗口中选择Start Run。这将同时打开两路虚拟通道并开始通信。现在我们创建一条报文。

第3步 | 转到右上角的Message(报文)菜单,选择Universal (通用),或使用快捷键Ctrl+U。打开的窗口将如下所示:

图片

第4步 | 在这个CAN Message 1 窗口中,我们将选择要通过我们的虚拟CAN总线发送的CAN报文。在最上面一栏中添入一个简单的CAN标识符,例如$0F0,然后在DLC(数据长度代码)栏中键入一个介于1和8之间的数字。我用8发送一个完整的数据帧。现在点击窗口右下角的Randomize Data(随机数据)。我的窗口现在看起来像这样:

图片

第5步 | 我们现在已准备好传送数据了。在CAN Message 1 窗口中单击Send。如果你是按照上面的步骤正确操作,应该会在Output Window窗口中看到两个报文,在History List 窗口中会看到一个报文。输出窗口显示一个报文已发送,同时在另一路通道上已接收到的相同的报文。我们刚刚做的是将CAN报文从一路虚拟通道发送到另一路虚拟通道。以下是在我的Output Window顶部显示内容:

图片

你可以看到,这与在CAN Message 1窗口中选择的随机数据完全相同,具有我选择的CAN标识符,从通道0发送出,在通道1上接收到。

在这里插入图片描述

第6步 | 让我们用不同数据长度代码(DLC)再发送一条报文。转到CAN Message 1窗口,更改CAN标识符,我将使用$050作为新标识符。现在将DLC改为3。再次单击Randomize Data 键,然后点击Send。一条新报文应该从通道0发出,并在通道1上接收,这次只有三个数据字节。你可以在我的CAN Message 1 窗口和Output Window中看到以下内容:

图片

第7步 | 现在,我们进入此教程的第二步,使用History List 窗口发送重复的CAN数据帧。你的桌面上的Timed Transmission (定时传输)窗口应仍然打开着。如果没有,可以转到View 菜单将其打开。我在我的Timed Transmission窗口里写了1000毫秒并选了Cyclic (循环)传输模式:

图片

第8步 | 接下来,我查看我的History List 窗口,可以看到我最初通过虚拟通道发送和接收的两条报文:

图片

现在如果你在History List 窗口中选择Send All (全部发送),你将看到你之前创建的报文被从历史记录中提取出来,并根据你在 Timed Transmission窗口中的参数设置,在虚拟CAN总线上传输。下面是我的Output Window现在显示的内容:

图片
这只是通过 Kvaser 虚拟CAN驱动和 Kvaser CANKing进行开发的一个例子。其他可通过此软件执行的任务包括:

⚫开发一个示例.dbc文件,它可用于解码任何CAN数据(J1939, NMEA2000 或 CANOpen),然后通过CANKing生成一些数据,让这些数据运行,以查看解码是否正确。

⚫下载并安装CAN分析工具试用版,并通过你的虚拟CAN总线发送和接收数据来了解该工具。

⚫下载并安装Kvaser CANlib SDK,并开发一个适用于电脑的应用程序,该应用程序能访问CAN总线,然后通过虚拟CAN驱动测试此应用程序。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值