Nvidia Jetson AGX Orin使用CAN通信 |收发器&CAN分析仪双版本

目标:通过调用AGX端口的CAN实现上位机与主控的通信。
整个测试流程都可以直接看官网文档。

参考连接

  1. Jetson AGX Orin CANFD 使用
  2. NVIDIA Xavier CAN
  3. AGX CAN通信 官网文档

硬件准备

  1. Nvidia Jetson AGX Orin / Xvaier / NX
  2. CAN收发器(本文用的是TJA1050)
  3. CAN分析仪(非必须)
  4. 若干杜邦线

CAN使能配置

修改GPIO口功能

由于默认的CAN引脚不是配置为CAN,因此需要修改4个寄存器的值。具体可以从文档看到:
在这里插入图片描述以Orin为例,图中Addr就是寄存器地址,value就是需要写入的值.

  1. 使用busybox修改寄存器的值
sudo apt-get install busybox
busybox devmem 0x0c303018 w 0xc458
busybox devmem 0x0c303010 w 0xc400
busybox devmem 0x0c303008 w 0xc458
busybox devmem 0x0c303000 w 0xc400
  1. 挂载CAN内核
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan

CAN属性设置

例如将CAN0波特率设置成250k

sudo ip link set down can0
sudo ip link set can0 type can bitrate 250000
sudo ip link set up can0

注意,配置前需要先关闭can

硬件连接

在这里插入图片描述

  • CAN0: RX——Pin29 ;TX——Pin31 (收发器的CANH,CANL接分析仪)
  • CAN1: RX——Pin37 ;TX——Pin33
  • GND: Pin39 / 30
  • VCC: Pin2 / 4 (具体看收发器,一般都是接5v)

测试

用can-utils进行简单的can收发测试,后续将用SocketCan结合ROS。

sudo apt-get install can-utils

cansend can0 123#00.00.00.00.11.11.11.11  #cansend can0/1 [can_id]#[八字节数据]

cangen -v can0  #随机发送

candump can0 #接受can帧

(can1同理)

效果:
AGX端CAN分析仪

如果没有can分析仪,可以短接CAN0、CAN1的RX TX,并设置回环模式。具体可以查看参考连接[2]、[3]

可能遇到的问题

  1. 发送一定数量can帧后报错 write: No buffer space available
    解决方法:将缓存区队列长度设大一点 参考
    出现这个问题原因是,没有对象接收can帧,就产生了阻塞。所以这个问题也代表了can通信还是存在问题,即无法通过can分析仪查看收发的can帧信息,需要检测硬件连接和软件设置。

SocketCan + ROS

待续。


Up to 2023.6
一直没更新是因为在使用socketcan的时候遇到了一些无法解决的问题(收发非常不稳定)
另,在使用CAN收发器这个方案时,总会遇到许多奇奇怪怪的问题,比如有些问题在NVIDIA的论坛提问,得到的回复时有些官方库没有正常安装。总体来说,个人觉得这个方法并不好用稳定。

解决方法:**购买带有LINUX驱动的CAN分析仪,调用厂家的报文收发函数就好了,比较简单。**

分析仪价格也不算贵,500左右吧。

当然这其中可能也会涉及到缓冲区的问题,我自己遇到的情况是,通过ROS发送接收到的报文数组时,一定时间(一定数量)后,节点便报错。解决方法是一条条can_frame发送。
如有大佬解决了,烦请指教。

  • 11
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: NVIDIA Jetson AGX Orin是一款高性能的嵌入式计算平台,适用于人工智能和机器学习应用。它采用了NVIDIA自主研发的Orin芯片,具有强大的计算能力和低功耗特性,可用于自动驾驶、机器人、智能城市等领域。该平台还支持多种传感器和接口,可实现多种应用场景。 ### 回答2: NVIDIA Jetson AGX Orin是一款功能强大的嵌入式计算平台,专为边缘计算和AI应用而设计。它可以处理复杂的视觉、声音和多传感器融合任务,是集成高性能计算、AI推理和视觉图像处理的终极解决方案。 Jetson AGX Orin的特点包括超高的计算性能、低延迟的响应时间、智能化的信号处理和丰富的数据接口。它采用12颗Arm Cortex-A78 CPU核心和6颗NVIDIA Ampere GPU,可支持11T层次的Tensor Core加速,性能比前一代Jetson Xavier AGX提高了1.7倍。 此外,Jetson AGX Orin还具有高效的功耗控制和灵活的软件开发环境。它支持NVIDIAJetPack和DeepStream SDK,提供完整的AI软件栈和工具套件,可轻松实现目标检测、语音识别、自动驾驶等复杂的应用场景。 总的来说,NVIDIA Jetson AGX Orin是一款非常先进和功能强大的嵌入式计算平台,可满足各种边缘计算和AI应用的需求。无论是智能制造、无人驾驶还是智能安防等领域,它都能提供快速、精确和高效的计算和分析能力。 ### 回答3: NVIDIA Jetson AGX Orin是一款高性能的AI计算平台,可以帮助开发者快速构建高级智能应用。它采用了NVIDIA自主设计的Orin系统芯片,拥有24个CPU和9个CUDA加速器,并支持多种视觉化处理技术。Jetson AGX Orin不仅具有高性能和低功耗的特点,还集成了许多传感器和接口,可以支持各种不同的应用场景,如自动驾驶、智能家居、工业自动化等。 Jetson AGX Orin的CPU采用了NVIDIA自主设计的Carmel核心,这是一种高性能的64位ARMv8 CPU,最高主频可达2.7GHz,具有强大的计算处理能力。它还配备了9个NVIDIA自主设计的CUDA加速器,其中8个可用于AI计算,1个用于图像信号处理。这些加速器可以在原始数据上进行高效且实时的计算,支持深度学习模型和图像处理算法的加速。 除了强大的处理能力,Jetson AGX Orin还与多种传感器和接口相结合,例如6路CSI-2相机接口、HDMI、USB-C和Gigabit以太网等接口。同时,它还集成了多种传感器,包括雷达、毫米波雷达和激光雷达等,可用于实现环境感知、位置和导航、障碍物检测和避障等功能。 总之,NVIDIA Jetson AGX Orin是一款高度集成的AI计算平台,拥有强大的计算能力和多种传感器和接口。它可以帮助开发者快速构建高级智能应用,解锁AI的潜力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值