NVIDIA AGX Xavier与外部设备CAN通信波特率不匹配:修改pllaon时钟源

AGX与外部设备CAN通信波特率不匹配:需要修改pllaon时钟源

摘要

在使用AGX开发套件与传感器进行CAN通信的时候,发现收不到信息。最后发现是波特率不匹配,传感器的波特率是500k,AGX的波特率始终有误差,需要使用更精确更高速的时钟源。本文将会介绍此问题的现象和解决方法。

AGX的CAN模块配置

创建脚本can_enable.sh,并设置开机自动运行(ubuntu开机自启动
主要内容

#!/bin/bash
#
# can_enable.sh
sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458

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 restart-ms 100
sudo ip link set can1 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on restart-ms 100

sudo ip link set up can0
sudo ip link set up can1

sudo ifconfig can0 txqueuelen 1000
sudo ifconfig can1 txqueuelen 1000

硬件连接

AGX引脚图
AGX的CANx_DIN, CANx_DOUT分别对应Rx和Tx,需要与CAN收发器的Rx和Tx相连。
本文使用的CAN收发器是TJA1050,5V供电。
注意:CAN收发器的连接方式与UART相反,必须Rx接Rx,Tx接Tx。

自发自收测试

我们先测试CAN0与CAN1相互通信,以确保CAN模块被使能,CAN收发器正常。
把CAN0和CAN1分别与两个收发器相连,两个收发器之间再分别连接CAN_H,CAN_L。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值