S32V CAN 总线通信测试

关键字 :NXPCANS32V
一、前言

       要使用 CAN 总线传输数据之前,首先需要对总线的是否工作正常进行测试,本文提供测试方法。

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

 

编译方法:

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

 

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

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

 

三、测试 can 通讯:

步骤一:up can0

$ip link set can0 up type can bitrate 125000

$ ifconfig can0 up

$ifconfig

 

步骤二:使用一款 can 收发器测试发送数据

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

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

 

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

步骤三:测试接收数据

输入命令:candump can0

 

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

 

开发收到如下数据

 

四、针对 EVB 29288 板子 CAN PHY TJA1145 调试

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

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

输入命令:

$cd  …/linux/Documentation/spi/
$ …/gcc-arm-1/bin/aarch64-linux-gnu-gcc spidev_test.c –o spidev
$ls
 

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

 

步骤 3 :将 can_utils 编译生成的文件

 

移至路径 …/rootfs/usr/bin/  

 

步骤 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

 
 

步骤 5 :测试发送功能 
本次测试使用 can 收发器相关工具包:(应根据实际使用的收发工具获取相应的工具包)
 

首先安装 win7silicon_cp210x_vcp_6.6.1.0 的驱动 
其次打开 EmbededDebug v2.0 串口工具软件
 

波特率设置为 115200
 

启动
 


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

 

PC :接收数据如下
 

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

开发板结果显示:
 
 关于 S32V BSP 调试与进阶的更多博文内容可以通过关注大大通,或者扫描以下二维码即可链接到上一篇博文《 S32V GPIO 设备驱动 》, 二维码如下所示:

五、附件

NXP 官方参考资料

1、Auto_Linux_BSP_21.0_User_Manual.pdf

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论