概述
最近在开发一个网关项目,需要调试一些通信接口。网关底板是基于jetson xavier nx设计的,所以硬件上许多相似,所以我也会基于jetson xavier nx去做一些接口的测试,这里需要提一下,jetson xaxier nx和jetson xavier是不一样的,而且jetson xavier nx和其他jetson产品,比如AGX TX这些在硬件上都有不同的设计,这里说一下Jetson Xavier 有两个CAN口,而Jetson Xavier NX只有一个,而且没有引出来!
实际操作
这里说一下网上很多教程都基于Jetson Xavier 的,引脚和NX是不一样的
NX的CAN不在40 pin那里,看看NVIDIA官网论坛你就你知道答案
直接上图!
其他教程就基本和网上的一样了
首先修改寄存器
sudo apt install busybox ##你可能需要下载的
sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
然后挂载CAN设备
sudo modprobe can
sudo modprobe can_raw
sudo modprobe can_dev
sudo modprobe mttcan
设置波特率
sudo ip link set can0 type can bitrate 1000000
启动&&关闭端口
sudo ip link set up can0
如果没有CAN收发器,则可以使用回环模式做测试,这里提一下,无需短接CAN_RX和CAN_TX,这里不要受网上误导,CAN是根据CANH和CANL的差分电压输出数据的,短接是错的,无需短接也可以收到回环的数据
## loopback mode
sudo ip link set down can0
sudo ip link set can0 type can bitrate 1000000 loopback on
sudo ip link set up can0
发送和接收数据
sudo apt install can-utils #你可能需要安装的东西,但是笔者经过多次测试发现这是jetson自带的
candump can0 ##接收数据
cansend can0 123#abcdabcd ##发送数据
在有CAN收发器的前提下进行进一步测试
将CAN的引脚对应接到收发器上,收发器会将CANTX和CANRX的信号转换为CANH和CANL的差分信号
将CANH和CANL接到CAN分析器,然后接到上位机测试
测试结果
和其他设备通信
writing...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)