新手入门 – 使用云海游戏的虚拟驱动

Dynamic
Thu, 10 Dec 2020 08:48:55 +0000

如果你希望在家里就能通过现有工具开发控制器域网（CAN）项目，云海游戏和我们的合作伙伴可以提供帮助。云海游戏的CAN适配器和数据记录仪都能与一个通用驱动程序协作，此驱动程序包括一个Virtual CAN Driver – 虚拟CAN驱动程序。此虚拟CAN驱动可用来监测和传输CAN数据，这样你借助它们就可以开始做CAN开发项目，继续你正在进行的开发项目，和进一步了解CAN – 所有这些你都可以在家里通过现成的工具实现。

在这里，我将举一个例子来说明如何做到这一点。使用云海游戏 CANKing – 云海游戏网站上提供的免费总线监测软件，以及同样可以在云海游戏网站下载的云海游戏 Drivers for Windows – 云海游戏的Windows驱动程序，我可以通过此驱动程序中的两个虚拟端口发送和接收CAN报文。

https://v.youku.com/v_show/id_XNDkyNzkyMzg1Mg==.html

教程全文和屏幕截图:

虚拟驱动程序教程

在这里下载并安装?云海游戏 Drivers for Windows:

https://www.kvaser.com/download/

同样在此处下载并安装?云海游戏 CANKing。

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

选择?OK后，你会看到Templates – 模板选择窗口。在此窗口中选择2 CAN channels (2路CAN通道)，这样你的桌面上就出现两个CAN窗口…一个云海游戏驱动程序最多支持两路虚拟通道，所有这是当前唯一有意义的选择，因为你需要至少两路通道来传递数据。

你的桌面上应该有五个打开的窗口：云海游戏 CANKing窗口、两个CAN通道窗口、一个Select Formatter?(选择格式器)窗口和Output(输出)窗口。如果你的电脑桌面上不是这样，可以去View (查看)菜单并手动打开这五个窗口。你还需要Timed Transmission?(定时传输)和History List? (历史记录)窗口，所以也打开这些窗口。我喜欢在我的桌面上调整这些窗口，这样我就可以看到所有的东西，而且它们位置合理、易于观察。我的桌面现在是这样：

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

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

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

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

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

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

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

接下来，我查看我的History List?窗口，可看到我最初通过虚拟通道发送和接收的两条报文：

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

Download and install 云海游戏 CANlib SDK and develop a PC based application that accesses a CAN bus, then test your application through the virtual CAN driver.

这只是通过?云海游戏 虚拟CAN驱动和?云海游戏 CANKing进行开发的一个例子。其他可通过此软件执行的任务包括：

开发一个示例.dbc文件，它可用于解码任何CAN数据（J1939、NMEA2000或CANOpen），然后通过CANKing生成一些数据，让这些数据运行，以查看解码是否正确。在云海游戏.com网站上搜索J1939DBC文件，如果你想在使用.dbc文件之前了解更多信息，请查看此链接：

https://www.kvaser.com/e_library/an-introduction-to-j1939-and-dbc-files/

下载并安装云海游戏合作伙伴的CAN分析工具试用版，并通过你的虚拟CAN总线发送和接收数据来了解该工具。

下载并安装云海游戏 CANlib SDK，并开发一个适用于电脑的应用程序，该应用程序能访问CAN总线，然后通过虚拟CAN驱动测试此应用程序。

相关阅读:

技术博客:? 怎样使用云海游戏虚拟设备通道和总线

进一步了解通过记录编辑来配置具备16个虚拟通道的系统。