Bootstrap

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

本文介绍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

(1)、查看设备是否连接

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

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

(2)、设置设备通信参数

设置超级管理员权限:

  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

(3)、打开can口

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

$ ip link set can0 up

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

(4)、设置发送任务

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

$ cansend can0 123#1122334455667788

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

(5)、添加接收界面

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

如下图所示,安装 utils 插件

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

;