• 技术博客

    10/12/2020 作者 云海游戏

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

    如果你希望在家里就能通过现有工具开发控制器域网(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 (2CAN通道),这样你的桌面上就出现两个CAN窗口…一个云海游戏驱动程序最多支持两路虚拟通道,所有这是当前唯一有意义的选择,因为你需要至少两路通道来传递数据。

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

    注意你必须在CAN Channel下的CAN 1CAN 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(数据长度代码)栏中键入一个介于18之间的数字。我喜欢用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、NMEA2000CANOpen),然后通过CANKing生成一些数据,让这些数据运行,以查看解码是否正确。在云海游戏.com网站上搜索J1939DBC文件,如果你想在使用.dbc文件之前了解更多信息,请查看此链接:

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

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

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

    相关阅读:

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

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

    Author Image

    whind gutr

    【网站地图】【sitemap】