CAN BUS 测试教程Ⅱ:德承工控机DS-1402在Linux操作系统调试CAN模块的详细教程指南

53 阅读5分钟

图1.jpg 上期文章分享了如何在windows操作系统中调试Cervoz CAN模块,可参考上期文章:

[《CAN BUS 测试教程:德承工控机DS-1402在windows操作系统调试CAN模块的测试步骤》] 而在实际工业应用场景中,除了用windows操作系统,也有很多应用是采用Linux系统的,众所周知Linux系统是需要用指令来完成许多操作,相对windows系统来说就稍微复杂些,所以本篇就在原有硬件的基础上,在Linux操作系统中来演示如何测试CAN模块,即使是电脑小白也可以轻松上手。

 

德承工控机DS-1402在Linux操作系统调试CAN模块的详细教程指南

一、硬件配置

工控机型号:德承 Cincoze DS-1402 CPU:Intel® Core® i7-14700

内存:DDR5 5600 MHz 32GB

存储:SSD 1TB

CAN模块:Cervoz MEC-CAN-2814i

图2.jpg Cincoze DS-1402

第14/13/12代Intel Core系列处理器,高性能且可扩展PCIe的强固型嵌入式工控机,支持2张PCI/PCIe扩展卡

  • Intel® 第 14/13/12 代 Raptor Lake-S Refresh / Raptor Lake-S / Alder Lake-S Core™ i9/i7/i5/i3 处理器(功耗达65W)

  • 2个DDR5 SO-DIMM插槽,支持ECC/非ECC类型内存,高达5600MHz,64GB

  • 2个1GbE LAN和可选的2个10GbE LAN、8个1GbE LAN、8个1GbE M12 LAN

  • 2个2.5 英寸SATA存储、3个mSATA插槽、1个NVMe SSD的M.2 key M

  • 支持2个PCI/PCIe扩展插槽, 支持最高130W功耗的GPU显卡

  • 用于I/O扩展的可选 CMI 模块,用于点火感应和PoE的可选CFM模块

  • 宽工作温度 -40°C 至 70°C

  • MIL-STD-810G 军用标准和 EN50155轨道交通认证(EN 50121-3-2 only)

  • 安全标准:UL、cUL、CB、IEC、EN 62368-1

图3.jpg CervozMEC-CAN-2814i

工业级M.2 PCIe CAN Bus扩展模块,支持M.2 2242/2260/2280 B+M key,可扩展4个独立的CAN BUS接口

  • 单通道(x1)PCI Express,吞吐量高达5.0/2.5GT/s

  •   符合PCI Express Rev. 2.0

  •   满足ISO 11898高速标准

  •   CAN总线2.0B EFF向下兼容2.0A SFF

  •   支持波特率10/20/50/100/125/250/500/800/1000K

  •   支持CAN消息接收过滤器

  •   每个端口带隔离2.5kV

二、针脚定义&接线

CAN bus的针脚定义如下图,采用标准的DB9接口,测试时也需准备两个DP9 接口的连接线 ,并需将其中的2、3、7 pin 对接(即2接2、3接3、7接7),若是使用RS-232 测试线进行测试 ,需注意应选择直连线(pin to pin),不可使用交叉线。

图4.jpg

三、下载驱动

下载Linux驱动(支援内核版本3.4以上的Linux操作系统)

下载网址:www.cervoz.com/products/in…

图5.jpg

四、驱动安装

  1. 将下载好的驱动文档解压缩之后,存放在需安装驱动的工控机DS-1402的桌面中,本次测试以ubuntu系统为例。

① 打开终端,输入命令

sudo su

② 输入 root 密码后,先进行更新,输入命令

apt-get update

③ 安装gcc及相关程序,输入命令

apt-get install build-essential gcc net-tools can-utils

④ cd 至driver(桌面的驱动文件夹中),再输入命令

make clean ; make ; make install

⑤ 重启,输入命令

reboot

  1. 查看驱动是否已安装完成, 查看CAN的状态,输入命令

ls /sys/class/net/ -al

can0:表示CAN 1,can1:表示CAN 2,以此类推

图6.jpg

五、CAN对接测试

  1. 依照针脚定义备妥测试的连接线,并接至需要测试的CAN接口,安装测试软件

① 打开终端,输入命令

sudo su

② 输入 root 密码后,安装测试软件 : can-utils,输入命令

apt-get install can-utils

  1. 在已打开的终端中,设置CAN0

设置CAN0,分别依次输入下列命令

ip link set can0 type can restart-ms 100
ip link set can0 type can bitrate 250000 sample-point 0.875
ip link set can0 type can berr-reporting on
ifconfig can0 txqueuelen 1000
tc qdisc add dev can0 root handle 1: pfifo
ifconfig can0 up

如图:

图7.jpg

※ 第三行命令:ip link set can0 type can bitrate 250000 sample-point 0.875,为测试速度,如要设置其他速度,可参考图示中对应的数值进行更改,如:can bitrate 800000 sample-point 0.800

图8.jpg

  1. 再打开另一个终端,设置CAN1

① 打开终端,输入命令

sudo su

② 输入 root 密码后,设置CAN1,分别依次输入下列命令

ip link set can1 type can restart-ms 100
ip link set can1 type can bitrate 250000 sample-point 0.875
ip link set can1 type can berr-reporting on
ifconfig can1 txqueuelen 1000
tc qdisc add dev can1 root handle 1: pfifo
ifconfig can1 up

如图:

图9.jpg

  1. 测试发送接收数据

①   在CAN0 终端窗口,设置发送端(cangen),输入命令

cangen can0 -n 6

①   在CAN1终端窗口,设置接收端(candump),输入命令

candump can1

①   查看设置为接收端的CAN1终端窗口,是否有收到数据

图10.jpg

①   再重复上述动作,可交换测试CAN的发送端和接收端。

参考网址1:

www.cincoze-china.com/goods_info.…

 

参考网址2:

www.cervoz.com/products/in…