使用我司MiniPceiCANFD-200在Linux系统下扩展两路socketCAN网络节点

作者:南金研--(王东东)来源:南金研--(王东东)网址:http://www.njyan.com


本文介绍Linux系统下使用我司MPCIeCANFD-200设备。主要介绍socketCAN通信测试。

Linux系统下使用Socket CAN进行通信无需安装驱动,Linux集成了Socket CAN 环境。将设备通过USB转miniPCIEe接口转接板或者miniPCIE接口连接电脑,然后将其挂载到Linux系统。

下面简单介绍socket CAN通信操作,详细操作请参考:https://www.kernel.org/doc/html/next/networking/can.html

查看设备是否连接

输入 $ sudo ip link show 来查看设备是否已加载。如果有多个socketCAN节点,这里就会按顺序罗列,比如 can0,can1,can2,can3......

正常连接时设备的sys指示灯绿色慢闪,can指示灯绿色慢闪。

设置设备通信参数

设置超级管理员权限:

   sudo su   进入 root权限。

设置CAN仲裁段波特率

命令行输入下面指令将设备的can0波特率设置为500Kbps:

$ ip link set can0 type can bitrate 500000

设置CANFD仲裁段和数据段波特率

命令行输入下面指令将设备的can0波特率设置为 500K/2Mbps。

$ ip link set can0 type can bitrate 500000 dbitrate 2000000 fd on

设置波特率的采样点

比如下方设置设备can0仲裁段波特率500K,采样点0.75;数据段波特率2000K,采样点0.8;

$ ip link set can0 type can bitrate 500000 sample-point 0.75 dbitrate 2000000 dsample-point 0.8 fd on

注:这里设置can0和can1要根据设备的实际接口来设置,比如设备实际can接口是 can3和can4,这里就应该输入

$ ip link set can3 type can bitrate 500000

$ ip link set can4 type can bitrate 500000

打开can口

配置好设备的波特率参数之后,命令行输入下面指令来打开CAN口。

$ ip link set can0 up

打开can口之后,设备的can指示灯绿色慢闪。


设置发送任务

在命令行输入下面指令添加一个发送任务,比如ID=0x123 Data=0x 1122334455667788

$ cansend can0 123#1122334455667788

将设备的can0 和can1连接起来,进行收发测试。

添加接收界面

如下图所示,新打开一个终端,输入   candump can1 需要安装插件   

如下图所示,安装 utils 插件

输入 candump can1 之后,第一个终端发送数据,第二个终端会显示此通道接收到的数据。



scy@njlike.com
——————————————————————————————————————————————————————————————————————————————————————
工作时间:08:30—17:30
技术服务电话:400-777-8580
南京市江宁区高湖路9号4号楼6楼