TX2平台CAN总线收发功能的测试
broadcasting a can data packet:(发送程序)
cansend <can_interface> <can_frame>
e.g. cansend can0 123#abcdabcd
Receiving a can data packet:(接收程序)
前言
项目实现过程中需要将获取的数据信息通过CAN总线传输到控制规划模块,本文主要介绍如何在TX2平台测试CAN总线的收发功能。
TX2是英伟达旗下为嵌入式平台人工智能应用开发出的一个硬件平台,TX1没有CAN bus功能,TX2有。
CAN bus作为TX2的外设,一般需要驱动,也有一些功能函数,可以用这些函数进行应用编程。Linux下的canbus是通过socket进行can传输的。
大致实现步骤是:安装驱动 -> 安装开源canbus通信的user app -> 连接CAN接口以及canbus收发器 -> 测试CAN总线收发功能;
实现方法
参考英伟达官方论坛here,可以找到官方的回复,步骤如下:
These are the steps can be followed to enable and check CAN on TX2.
1. Enable kernel support for mttcan(Other required modules are already supported)
CONFIG_MTTCAN = m (Here mttcan is compiled as a module)
使能canbus需要在tegra18_defconfig配置文件中配置CONFIG_MTTCAN=m之后重新编译内核才能使用。
本人拿到的板子这一步已经完成,直接进行之后的步骤;
2. Insert CAN BUS subsystem support module.
modprobe can
3. Insert Raw CAN protocol module (CAN-ID filtering)
modprobe can_raw
4. Real CAN interface support (for our case, it is: mttcan)
modprobe mttcan (dependent module is can_dev: can driver with netlink support)
modprobe是在linux的shell运行的命令行,用于安装canbus模块;
Linux将不常用的模块做成.ko文件,在需要使用时可以将其进行载入内核,降低系统的开销;
5. CAN interface settings for both the controllers
ip link set can0 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
ip link set up can0
ip link set can1 type can bitrate 500000 dbitrate 2000000 berr-reporting on fd on
ip link set up can1
CAN interfaces are up now. Use ifconfig to list all the interfaces which are up.
配置canbus的属性(命令行配置),和串口的波特率设置类似,同驱动编程中的ioctl.
6. Installation of user app to check CAN communication
sudo apt-get install can-utils
安装第三方开源app can-utils测试canbus的收发功能;
7. Commands to run to check CAN packet send/receive
broadcasting a can data packet:(发送程序)
cansend <can_interface> <can_frame>
e.g. cansend can0 123#abcdabcd
Receiving a can data packet:(接收程序)
candump can_interface
e.g. candump can1
Different tools (i.e. cangen, cangw etc) can be used for various filtering options.
命令行使用应用程序测试canbus的收发功能;
8. To check the interface statistics
ip -details -statistics link show can0
ip -details -statistics link show can1
检测canbus的状态;
以上完成在TX2平台使用命令行测试CAN通讯,有机会会介绍canbus的API和应用开发函数,具体可参看github上can-utils的开源程序here.
问题
1.使用CAN分析仪测试CAN总线的收发功能,打开can分析仪的应用工具CANPro,连接TX2平台can接口、CAN分析仪和应用工具主机,使用命令行测试can口的收发功能;
2.测试成功,但是每次重启或者开机需要重新配置CAN的环境,解决方法是在/etc/rc.local中添加canbus模块和属性(2-5步骤)即可;
3.若各个设备连接没有问题,且相关配置也已完成,但是不能正常收发,需要查看板子的can接口硬件部分PIN脚是否连接正确;(重要!!)
参考
1.英伟达官网论坛;
2.CSDN系列博客;
完
TX2平台CAN总线收发功能的测试的更多相关文章
- CAN总线收发节点设计
CAN总线收发节点设计 写在前面 这是微机接口的一个项目作业. 这段时间一直在宿舍隔离,没办法进行焊接和测试,但原理和代码已经在学习板子上经过验证. 设计目标 CAN在工业现场大量应用,尤其是汽车工业 ...
- GPS部标监控平台的功能设计(一)-功能列表
在2011年交通部的796标准推出后,随着各地交管部门的硬性要求,大多数的GPS监控系统或者车辆管理系统或者物流管理系统,无论是旧的,还是新开发的,都必须要以796标准为基础蓝本,首先要满足796的要 ...
- 微信平台接入Web页面功能接口(C#)
微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ...
- 完全国人自主研发原创的智能软件路由器BDS即将发布,附带企业服务总线ESB功能
完全国人自主研发原创的智能软件路由器即将发布: 完全国人自主研发原创的智能软件路由器BDS即将发布,附带企业服务总线ESB功能 智能软件路由器 BDS 简要介绍 http://kan.weibo.co ...
- 接口自动化平台搭建(二),搭建django项目与接口自动化平台的由来与功能特征
1.创建django项目 a.使用命令创建,安装完django之后就有django-admin命令了,执行命令创建即可,命令如下: django-admin startproject my_djang ...
- 微信公众平台"微信连Wi-Fi"功能来了 线下微信增粉利器
微信连Wi-Fi功能在第三方开发者和服务商已经有出现了,但有些成本相对会高些.近日微信公众平台新添了一个功能插件“微信连Wi-Fi”,已有微信认证过的公众号即可申请开通.赶紧去布局这个线下微信增粉利器 ...
- 2017U-Mail邮件营销平台新邮件模板功能
据U-Mail调查表明,企业用户中普遍最关心群发邮件会不会被列入垃圾箱?的确,哪怕你最用功,一旦邮件进了垃圾箱,意味着全盘尽废.业界知名服务商U-Mail一直想用户之所想,急用户之所急,十几年如一日, ...
- APP功能点测试
一.移动互联网特点: 1,用户体验至上:精准的用户体验 2,核心竞争力:市场占有率和业务创新能力 3,营销模型:通过口碑传播吸引客户,随之参与互动(如分享等,对接口测试要求高) 二.项目特点: 1,开 ...
- TPT Fusion平台升级,AUTOSAR及ViL测试功能重装上线
TPT简介 TPT是针对嵌入式系统基于模型的测试工具,特别是针对控制系统的软件功能测试.TPT支持众多业内主流的工具平台和测试环境,可以完成V模式要求所有阶段(MiL-SiL-PiL-HiL-ViL) ...
随机推荐
- 用Java随机生成四则运算
代码链接:https://github.com/devilwjy/Code.Demo 需求分析: 1.程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符 ...
- Thunder团队Final版爱阅app发布视频
视频链接:https://www.bilibili.com/video/av17008792/ 视频简介:首先出现的是我们团队的logo,接着是Final版爱阅app的功能展示,紧接着是我们团队的开发 ...
- pycharm Django
上面的两张图片,是Django项目出错的图片,记得以前也出现过这个情况,当时好像是关闭了一些端口程序,后来就可以了,但是忘记了,那个链接也找不到了,所以现在很困惑,再找找. 电脑上现在程序安装的太多, ...
- Dalvik VM (DVM) 与Java VM (JVM) 的区别?
Dalvik虚拟机存在于Android系统,JVM是java虚拟机,两者都是虚拟机,本文就对两者进行比较,讲述它们的不同. Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的 ...
- WPF中的动画
动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式来编写动画,为了对St ...
- 20170731xlVba根据数据表和模板表生成新表
Public Sub SplitData() Dim Wb As Workbook Dim Sht As Worksheet Dim NewSht As Worksheet Dim arr As Va ...
- 20170112xlVBA查询SQL
Sub NextSeven_CodeFrame() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAlerts = Fal ...
- 安卓本地化之SharedPreferences
SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,用Sqlite数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的 ...
- 正睿 2019 省选附加赛 Day1 T1 考考试
比较奇怪的一个枚举题. 注意到10=2*5,所以10^k的二进制表示一定恰好在末尾有k个0. 考虑从小到大去填这个十进制数. 填的时候记录一下当前的二进制表示. 每次尝试去填0或者10^k. 如果要填 ...
- P4721 【模板】分治 FFT
其实是分治ntt,因为fft会爆精度,真*裸题 分治过程和fft的一模一样,主要就是ntt精度高,用原根来代替fft中的\(w_n^k\) 1.定义:设m>1,(a,m)==1,满足\(a^r= ...