[评测分享]
【米尔-MYD-LR3568-GK开发板--试用评测】4——CAN通讯测试
#板卡评测
1429 人阅读
|
0 人回复
|
2024-11-11
TA的每日心情 | 慵懒 2025-8-6 21:07 |
|---|
签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I
状元
- 积分
- 5300
|
CAN通讯协议在工业自动化和汽车通讯中具有广泛的应用,本次测试一下米尔RK3568上的CAN通讯功能。
1. 线路连接
关于CAN的基础知识我就不再复制粘贴了,大家可以自己去寻找资料,这里主要说明一下开发板上的CAN相关环境。
首先,MYD-LR3568-GK开发板上有两路CAN,分别是J13的29/31号针脚和16/18号针脚,如下图所示(见硬件用户手册):
其中29/31针脚对应的CAN0的RX/TX,而16/18对应的是CAN1的RX和TX。
这个地方需要说明(吐槽)的是,这个是CAN控制器的TXD和RXD,和我们常用的CAN差分信号(CAN-H,CAN-L)还存在差别。这种差别类似于TTL的UART和RS232之间的差别。
所以在测试时,需要找一个CAN收发器,常见的是NXP TJA1040之类的,翻箱倒柜找出来这么个玩意儿,看丝印又不太像,应该以前用过的模块:
先把线接到开发板上去。注意:
开发板和收发器模块之间,TX和TX连接,RX和RX连接,不要做交叉,这是一些**常犯的错误(这个不是UART),随后电源和地线要接上。
最后是把逻辑分析仪接收发器模块上的CAN-H和CAN-L。一堆线,最后的效果如下:
2. 环境配置
在开发板所携带的Linux系统中,已经集成好了基于SocketCAN的CAN-Utils,即常用什么candump,cansend之类的命令行工具。
不过在使用之前,需要线配置好CAN的波特率等。使用如下命令查看CAN网络:
可以看到有CAN0和CAN1两路CAN,我们以CAN0为测试对象。
配置命令行:
- ifconfig can0 down
- ip link set can0 type can bitrate 250000
- ifconfig can0 up
复制代码 即可配置CAN0网络的波特率为250kbps,并最后打开CAN0网络。
还可以通过命令查看状态:
- ip -detail link show can0
复制代码 运行结果如下:
这表明CAN0已经启动了。
3. 通讯测试
打开逻辑分析仪,配置一下参数:
注意这里的波特率和前面一样都是250kbps。
使用命令发送一帧报文:
- cansend can0 18f055d0#0123456789abcdef
复制代码 这条命令的效果是在CAN0网络上发送报文ID=8f055d0,报文数据场内容为01 23 45 67 89 ab cd ef的报文,使用逻辑分析仪抓取数据如下:
完整的报文
报文的时间片
报文解析结果
可见通讯功能正常。本来还有一个CAN采集卡,不过落单位了就不用电脑端的CANTest采集和发送数据了,这里就不再演示了。
|
|
|
|
|
|
|
|
|