Jetson TX2——CAN口的使用

2023-05-16

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)完成实际信号收发测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson TX2——CAN口的使用 的相关文章

随机推荐

  • CAN 通讯-基础篇-帧结构

    学习STM32 CAN通讯中 xff0c 记录下CAN的基本结构 xff1a 对于STM32F10x包含有CAN控制单元 xff0c 但是外部需要CAN收发器实现 STM32控制单元配置后可实现数据的收发过滤转换等 xff1b CAN收发器
  • go环境配置GO111MODULE出现go: unknown environment setting GO111MODULE=xxx的解决办法

    当第一次设置GO111MODULE错误后 xff0c 无论是查看go env状态还是重新设置GO111MODULE xff0c 都会报下面这个错误 解决办法 xff1a windows 平台 xff1a set GO111MODULE 61
  • 使用c++对阿里云OSS SDK进行封装,实现查询文件夹、上传文件、下载文件到内存和本地路径下等功能,并附赠进度条

    最近工作中遇到需要将文件上传到阿里云的oss服务器上 xff0c 所以根据阿里云的说明文档 xff0c 封装了一个类 xff0c 希望对大家有所帮助 xff0c 如发现问题 xff0c 欢迎批评指正 主要功能 xff1a 1 设置连接池数
  • CAN2.0B 数据帧详解

    CAN的帧类型分为数据帧 遥控帧 错误帧 过载帧以及帧间空隙 xff0c 本文将对数据帧的帧结构展开说明 xff1a 引言 xff1a CAN2 0协议分为A版本和B版本 xff0c A版本协议为11位标识符 xff08 标准帧 xff09
  • window下c/c++异步发送udp和非阻塞的方式接收udp的类封装

    以下代码对udp发送和接收都做了封装 xff0c 在发送和接收前都需要去注册使用的功能 xff0c 从而做到需要哪个模块才启动哪个模块的功能 xff0c 避免资源的浪费 udp发送功能 使用列表和信号量的方式实现异步发送数据 xff0c 避
  • c/c++使用libhdfs对HDFS(Hadoop分布式文件系统)进行读写操作

    最近需要对HDFS进行读写操作 xff0c 参考hdfs h头文件里面的注解 xff0c 编写了一个例子 详细的说明在代码的注释中 如发现问题欢迎批评指正 span class token macro property span class
  • 使用c/c++将十六进制的stl字符串转换成IEEE - 754 浮点数

    span class token keyword typedef span span class token keyword union span span class token punctuation span span class t
  • 使用 C++ 处理 JSON 数据交换格式

    使用 C 43 43 处理 JSON 数据交换格式 一 摘要 JSON 的全称为 xff1a JavaScript Object Notation xff0c 顾名思义 xff0c JSON 是用于标记 Javascript 对象的 xff
  • C++ -- 智能指针( C++11与boost库的智能指针及其使用)

    1 智能指针的引入 1 在动态内存管理中 xff0c 如果new上一块空间 xff0c 但是没有delete xff0c 就会产生内存泄露的问题 2 但是有时候 xff0c 我们new了 xff0c 也delete了 xff0c 但是还会出
  • 动态库与静态库区别

    首先 xff0c 两者最重要的区别在于该库是否被编译进目标程序当中 静态库 xff1a 该库在编译的时候会直接整合到目标程序当中 xff0c 也就是说 xff0c 每个程序的静态库都是独立的 这样使得文件比较大 而且因为是编译的的时候整合进
  • 解决ubuntu20.04虚拟机无法上网的问题

    64 linux虚拟机无法正常上网 前言 刚建立好的linux虚拟机使用NAT方式可以连接外网 xff0c 系统重启几次 xff0c 系统无法上网 xff0c 这是什么问题导致的呢 xff1f 提示 xff1a 以下是本篇文章正文内容 xf
  • Arduino系列教程之 – PWM的秘密

    转载地址 xff1a http www diy robots com p 61 814 感谢作者的翻译 PWM是啥玩意儿 xff1f PWM是 怕玩命 的缩写 xff0c 英文写法是 Pulse width modulation xff0c
  • YOLOv2代码分析_读取labels[by zhangzexuan]

    YOLOv2代码分析 读取labels by zhangzexuan YOLOv2代码分析 读取labelsby zhangzexuan YOLOv2的输入代码阅读 嗯 现在参与的项目要求在人脸检测步骤直接连同人脸特征点一起预测出来 xff
  • 【企业微信】获取token & 发送应用消息

    企业微信获取token 存入redis 设置时长2小时 amp amp 发送企业应用消息接口 1 常量类 span class token keyword package span span class token namespace co
  • 学习笔记--HTTP-字段总结(一)-与传输实体相关的报文字段总结

    目录 一 概述 二 介绍一些常用字段 三 传输实体的一些属性 1 传输的数据类型 2 实体的语言类型和编码 3 编码类型 四 文件类型和压缩编码字段 1 Accept 2 Content Type 3 Accept Encoding 4 C
  • C/C++ 去掉宏定义__FILE__路径

    一 问题 在日志模块中往往带着文件信息 xff0c 有的源文件是加载其他路径下的源文件 xff0c 但是不想让别人看到文件路径信息 xff0c 只显示源文件的名字和行数即可 如下图所示 xff0c 有烦人的相对路径 二 解决方案 自定义一个
  • C语言提高(一)

    C语言提高 CS和BS的区别函数封装和数组形参退化为指针数据类型本质变量的本质内存分区模型全局区以文字常量区为例分析全局区 栈区堆区 函数的调用模型函数调用变量传递分析静态局部变量的使用栈地址的生长方向堆地址的生长方向内存的存放方向 以数组
  • ROS Gazebo(三):启动gazebo/URDF

    打开Gazebo的方式主要有两种 xff1a rosrun 和 roslaunch 1 启动ROS节点 启动ROS节点 bring up 机器人的标准工具是roslaunch 打开一个空的Gazebo世界命令如下 xff1a roslaun
  • Windows与Ubuntu之间通过网线传输文件

    一 windows与Ubuntu之间网线直连搭建局域网 把网线连好后 xff0c 在两个系统中做以下设置 Windows下的配置 右键右下角的网络图标 xff08 或者右键网络 属性 xff09 更改适配器设置 以太网 右键属性 TCP I
  • Jetson TX2——CAN口的使用

    Jetson TX2 之CAN口的使用 TX2上有2个CAN控制器 xff0c CAN控制器需要通过CAN收发器连接到物理总线上 具体参阅原理图和相关技术参考手册 下载地址 xff1a https developer nvidia com