【问题解决:在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-遗留问题-开机自启动can】

文章讲述了在NVIDIAJetsonOrinNX上使用CAN进行基础收发时遇到的问题,包括发送和接收数据异常。作者通过更换CAN模块、配置开机自启动脚本以及排查硬件和命令细节解决了问题,并分享了相关教程链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概述

【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】

书接上文,之前在orin nx 调试can的时候,发现,要不只能发送,要不只能接接收。按照英伟达论坛里,博主的建议,尝试更换了模块后,解决了,值得记录下来。

2、实验环境

初次了解,这里使用提供软硬件信息吧。
硬件信息:Jetson Orin nx
软件版本:5.10.104-tegra #1 SMP PREEMPT Sun Mar 19 07:55:28 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux
在这里插入图片描述
其它硬件:can卡 和 can转TTL模块SN65HVD230模块。

3、问题描述

配置完了命令后,在一种情况下,orin可以收到信息,但是发不出来,另一种情况是可以发出来,但是收不到信息PC,这就很神奇

# 1-1、发送可以发送,但是PC发送数据收不到。

使用cansend命令
在这里插入图片描述
命令如下
在这里插入图片描述

在PC电脑软件接受结果,波特率500kbps。
在这里插入图片描述

# 1-2、接收是可以接收,但是发送PC收不到数据

使用candump命令
使用命令

`
在这里插入图片描述
在PC电脑软件接受结果,波特率500kbps。
在这里插入图片描述

4、解决方式

更换模块:SN65HVD230模块
更换了模块后,还是原先的命令,发现既能收,又能发了,且仅仅是更换了模块。

(1)在论坛上已经详细描述了。具体链接如下,可以自己观看。

论坛链接:https://forums.developer.nvidia.com/t/jetson-orin-nx-can-candump-can0-messages-cannot-be-received-but-cansend-can-be-sent/261012/23
在这里插入图片描述

(2)在下面是成功通讯的orin截图。

在这里插入图片描述

(3)在下面是成功通讯的PC截图。

在这里插入图片描述

(4)在下面是整个物理框图示意图。

在这里插入图片描述

5、开机自启动

这样我们成功通讯之后,我们就可以设置开机自启动相关配置了。
这里使用方式添加一个rc.local文件方式,当然方式不只是这一种。

(1)在/etc/目录下编写rc.local脚本。

系统本身可能不自带这个rc.local文件,开始时候,我尝试找这个文件,发现没有,只能自己添加一个,命令如下。

sudo  vim /etc/rc.local

在这里插入图片描述
文件内的内容如下:

#!/bin/sh -x
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing


sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
sudo ip link set up can0

exit 0
~                                                                               
~

(2)给权限rc.local文件脚本权限。

sudo chmod +x /etc/rc.local

(3)重启查看can网络是否存在。

重启

reboot

查看

ifconfig

如果像下面这样,有can0等字样,那么恭喜你,就成功了。
在这里插入图片描述

随后通讯测试。
在这里插入图片描述

6、细节部分

(1)查看datasheet,暂时没发现特别说明,除了电压。

1、查看模块SN65HVD230的datasheet。
文档链接:https://www.ti.com/lit/ds/symlink/sn65hvd230.pdf?ts=1691544729559
在这里插入图片描述
2、查看模块TJA1050的datasheet。
文档链接:https://datasheetspdf.com/pdf-file/323973/NXP/TJA1050/1
在这里插入图片描述

(2)查看命令ifconfig,啥也没有,没有can0的字样。

1、一种可能是指令敲错了,建议检查文件rc.local
2、另一种是忘记给权限了。
3、注意“”#“”是注释的意思。
如下图,我这里是少个条指令。
在这里插入图片描述

(3)其实官方文档也说明推荐使用can模块(SN65HVD230)

在这里插入图片描述

7、总结

问题得到解决还是挺愉快的,也没想到,论坛里会有人去给支持,也挺不错的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇龙猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值