Jetson TX2上CAN口的使用

Jetson TX2上使用CAN口的使用

TX2上有2个CAN控制器,CAN控制器需要通过CAN收发器连接到物理总线上。具体参阅原理图和相关技术参考手册。
下载地址:https://developer.nvidia.com/embedded/downloads


CAN测试方法如下图:

这里写图片描述

步骤具体说明:

1)TX2已经写好了canbus的驱动并集成到了SDK中,已经支持canbus无需多做处理。
2)安装canbus模块.

  • 直接通过运行Shell脚本can.sh加载所需的.ko文件,脚本文件如下所示。
#!/bin/bash
modprobe can        // 插入 can 总线子系统
modprobe can-raw    //插入can 协议模块
modprobe can-bcm
modprobe can-gw  
modprobe can_dev
modprobe mttcan      //真正的can口支持
  • 通过Lsmod 命令检查是否安装成功,如果成功则如下所示。
Module             Size Used by
mttcan               60210  0
can_dev              13393  1 mttcan
can_raw              9004   0
can_gw               10262  0
can_bcm              15298  0
can                  46782  3 can_gw,can_bcm,can_raw

3) 安装第三方开源app can-utils

git clone https://github.com/linux-can/can-utils.git
cd can-utils
make
sudo make install

4) canbus属性配置

  • 环回模式(自测)
  sudo ip link set can0 type can bitrate 1000000 loopback on
  sudo ip link set up can0
  sudo ip link set can1 type can bitrate 1000000 loopback on
  sudo ip link set up can1
  ifconfig      //检查can是否挂载成功

  ip -details link show can0  //检查can口状态
  ip -details link show can1

在一个终端通过cansend can0(can1) ×××命令来发送数据×××, 另一个终端通过candump can0(can1)进行回环发送
这里写图片描述

  • 使用can收发器实测
    TX2的J26模块下的CAN0及CAN1控制器接口通过canbus收发器的CTX和CRX相接进行实测。图1为J26模块接口信息,图2为J26与canbus收发器物理连接图。图3为实物连接图
    图1
    can接口详情
    图1
    这里写图片描述
    图2
    这里写图片描述
    图3
//实测下canbus属性配置
sudo ip link set can0 type can bitrate 500000 
sudo ip link set up can0
sudo ip link set can1 type can bitrate 500000 
sudo ip link set up can1
ifconfig

在一个终端通过cansend can0(can1) ×××命令来发送数据, 另一个终端通过candump can1(can0)完成实际信号收发测试

猜你喜欢

转载自blog.csdn.net/xuezhunzhen9743/article/details/81877757