step by step implementation
搞硬件开发,先把技术手册搞到手
这个网页把几乎Jetson tx2的开发资料都汇总了一下。
找教程开始配置can所需要系统环境
NIVIDA社区的教程:https://devtalk.nvidia.com/default/topic/1025010/jetson-tx2/how-to-use-can-on-jetson-tx2-/post/5213792/#5213792
CSDN上两篇教程:
https://blog.csdn.net/xuezhunzhen9743/article/details/81877757
https://blog.csdn.net/zhenguo26/article/details/79629665
主要按照NVIDIA社区上的教程,第一步检查内核是否已经开启了ttCAN,如何build kernel可以查看我前面的blog:jetson tx2 flash.
最后进行CAN通信的loop_back 测试,采用的是[1]
sudo ip link set can0 type can bitrate 500000 loopback on
sudo ip link set up can0
sudo ip link set can1 type can bitrate 500000 loopback on
sudo ip link set up can1
硬件配置
can 收发器
nvidia的CAN TX和 CAN RX并没有驱动能力,需要CAN收发器
购买的是:SN65HVD230 CAN总线模块,兼容can ISO 11898 standard
TX2的CAN模块支持:Support ISO11898-1:2006 FD format and BOSCH FD format
TX2 上的CAN接口
1.我们需要找到TX2外设的管教图,这个一般在user tutorial上,或者是电力原理图上。
user tutorial: JETSON TX2 DEVELOPER KIT User Guide 这里有外设的管教图
选择J26的2,11,5,7
在jetson tx2的电路原理图上(DevKit Carrier Spec )其中一个叫P2597_B04_Concept_schematics的文件上,将各种外设的管教定义以及内部的电路表示出来了。
用can-utils 测试can通信
使用命令行测试能否正确通信
看一下can-utils source code, https://github.com/linux-can/can-utils
基于lib.c和lib.h
用vcan 进行CAN测试
在电脑上,并没有直接的硬件进行调试,所以先在vcan 上进行测试
Reference
[1] https://blog.csdn.net/xuezhunzhen9743/article/details/81877757
[2] https://blog.csdn.net/faihung/article/details/84313299