当前所在位置:首页 > 技术知识 > 安全模块

技术知识

北京盟通科技是工业自动化领域的高科技企业,依托于核心团队多年的海外和行业经验,致力实时现场总线技术及工业通讯技术的推广

在Linux环境下通过ECI驱动进行开发--测试你的第一个CANdemo

发布时间:2023-08-09


本文将详细讲解如何通过ECI驱动的API接口快速的控制一个CAN设备的收发。

如果您需要在您的PC机器上进行CAN接口的开发和测试,由于PC机器本身不具备CAN接口,您需要通过额外的硬件来将PC机上扩展CAN接口,常见的CAN接口扩展方式有:通过USB接口扩展、通过PCIe总线扩展、通过以太网网络扩展等。我们可以提供常见的CAN接口设备,并开放相应的API接口以支持客户进行二次开发,以下内容为通过我们的Ixxat系列产品的API接口开发CAN的演示用例。

此次我将演示在Ubuntu18.04环境下通过ECI驱动进行CAN设备开发。首先,您需要下载安装我们的硬件设备驱动ECI,您可以通过我们的官方网站或者销售渠道获得。



目前我们最高支持的linux内核版本为5.8,此次测试将在5.4内核中测试。



安装ECI驱动

下载驱动压缩包后将其解压,并找到src/KernelModule文件夹。



在此处编译内核模块:

输入make”“sudo make install”;



注意,如果想要运行工程,您需要保证内核中编译信息完整并存在gcc编译器。

另外一种简单的办法是使用模块助手(module-assistant)。你可以通过输入“sudo apt-get install module-assistant”来安装它。现在您可以使用“sudo module-assistant prepare”命令让module-assistant为您安装所需的软件包。

编译ECI demo程序

找到src/EciDemos文件夹。

在此处编译demo文件,在编译之前,您需要做两件事情:

需要先安装libusb-dev的依赖库;

运行sudo apt-get install libusb-dev”。



另外需要连接动态库:

运行export LD_LIBRARY_PATH=../../bin/release$:LD_LIBRARY_PATH”。

最后编译,运行make”。



通过IXXAT Pcie CAN卡测试demo的收发

我们打开demo进行测试。

打开bin/release文件夹路径。运行“。/LinuxEciDemo



程序运行后可以看到,demo会自动寻找并对应对应板卡的应用:



这里测试的设备是CAN-IB640/PCIe,它本身就具有四个通道,我们通过两个通道之间物理链接后对发的形式进行测试。

可以看到能够正确的收发数据帧。



至此,数据包的收发测试完毕。

最后可以点击Crtl+C按键来退出demo程序。