上期文章分享了如何在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
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
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),不可使用交叉线。
三、下载驱动
下载Linux驱动(支援内核版本3.4以上的Linux操作系统)
下载网址:www.cervoz.com/products/in…
四、驱动安装
- 将下载好的驱动文档解压缩之后,存放在需安装驱动的工控机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
- 查看驱动是否已安装完成, 查看CAN的状态,输入命令
ls /sys/class/net/ -al
can0:表示CAN 1,can1:表示CAN 2,以此类推
五、CAN对接测试
- 依照针脚定义备妥测试的连接线,并接至需要测试的CAN接口,安装测试软件
① 打开终端,输入命令
sudo su
② 输入 root 密码后,安装测试软件 : can-utils,输入命令
apt-get install can-utils
- 在已打开的终端中,设置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
如图:
※ 第三行命令:ip link set can0 type can bitrate 250000 sample-point 0.875,为测试速度,如要设置其他速度,可参考图示中对应的数值进行更改,如:can bitrate 800000 sample-point 0.800
- 再打开另一个终端,设置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
如图:
- 测试发送接收数据
① 在CAN0 终端窗口,设置发送端(cangen),输入命令
cangen can0 -n 6
① 在CAN1终端窗口,设置接收端(candump),输入命令
candump can1
① 查看设置为接收端的CAN1终端窗口,是否有收到数据
① 再重复上述动作,可交换测试CAN的发送端和接收端。
参考网址1:
www.cincoze-china.com/goods_info.…
参考网址2: