S32V234 软件浅谈-BSP | CAN 总线通信测试

今天来给大家分享如何在 S32V 上测试 CAN 总线通信。

 

###笔者 Jackknife 主要负责 ADAS 领域,对 NXP S32V234 拥有非常深入的研究,如果对 S32V234 方案感兴趣,欢迎联系。

 

在 S32V234 开发过程中,工程师通常需要用到 CAN 总线传输数据,

但在测试时可能会出现 CAN 总线不通的情况。

S32V234 软件浅谈-BSP | CAN 总线通信测试_第1张图片

                                   (CAN 总线没有使能,通过 CAN 总线发送数据没有反应)

 

今天会跟大家一起探讨,如果进行 CAN 总线通信测试!

 

一、下载编译  can-utils 工具,编译后生成测试命令。

 

编译方法:

 

Can-utils 使用 GNU automake 方法编译。在工具包根目录下创建automake.sh 脚本,内容如下:

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第2张图片

(其中 CC 是交叉编译器, --host 指定运行平台,--prefix 指定安装目录)

 

执行完脚本后在工具包根目录下生成 cansendcandump 等可执行文件,将这些拷贝到根文件系统下进行测试

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第3张图片

 

 

二、测试 CAN 通讯:

 

步骤 1:up can0

 

$ip link set can0 up type can bitrate 125000

$ifconfig can0 up

$ifconfig

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第4张图片

 

步骤 2:使用一款 CAN 收发器测试发送数据

 

将  CAN 收发器连接到板子上 CAN  接口

输入命令:cansend can0 500#1E.10.10

 

 

收发器上显示收到三字节数据 1E 10 10

 

 

步骤 3:测试接收数据

 

输入命令:candump can0

 

 

在收发器发送区域设置 ID 为 8,长度为 8,数据为 11,22,33,44,55,66,77,88

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第5张图片

 

开发收到如下数据

 

 

 

三、针对 S32V234-EVB2 CAN PHY(TJA1145)调试

 

因为 CAN PHY(TJA1145)需要通过 SPI 总线进行初始化,所以需要进行以下的配置。

 

步骤 1 :编译生成 spidev 执行文件

 

输入命令:

$cd …/linux/Documentation/spi/

$…/gcc-arm-1/bin/aarch64-linux-gnu-gccspidev_test.c –o spidev

$ls

 

 

步骤 2 :将 spidev 文件移至路径 …/rootfs/usr/bin//*rootfs 为加载的根文件系统*/

 

步骤 3 :将 can_utils 编译生成的文件移至路径 …/rootfs/usr/bin/

S32V234 软件浅谈-BSP | CAN 总线通信测试_第6张图片

 

步骤 4 :将 TJA1145 从备用状态设置为激活状态

输入以下命令

#spidev_test -D/dev/spidev0.7 -v -H -b 8 -p "\x02\x07"

#spidev_test -D/dev/spidev0.6 -v -H -b 8 -p "\x02\x07"

#spidev_test -D /dev/spidev0.7 -v -H -b 8 -p"\x03\x07"
#spidev_test -D /dev/spidev0.6 -v -H -b 8 -p"\x03\x07"
#ip link set can0 type can bitrate 500000
#ifconfig can0 up

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第7张图片

 

步骤 5:测试发送功能
 
本次测试使用 CAN 收发器相关工具包:

 

(应根据实际使用的收发工具获取相应的工具包)

 

a、首先安装win7silicon_cp210x_vcp_6.6.1.0 的驱动

b、其次打开EmbededDebug v2.0 串口工具软件

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第8张图片

 

c、波特率设置为 115200

d、启动

 

开发板输入命令:
#cansend can0 500#1E.10.12
#cansend can0 500#1E.10.12

 

 

PC :接收数据如下

 

 

步骤 6 :测试接收功能
开发板输入命令:
#candump can0
 
PC:发送如下

 S32V234 软件浅谈-BSP | CAN 总线通信测试_第9张图片

 

开发板结果显示:

 

 

完成测试!!!

你可能感兴趣的:(S32V234)