[评测分享]
【更适合初学者的开发板ELF 1】03-CAN通讯测试
#板卡评测
 
2124 人阅读
|
2 人回复
|
2023-11-23 
 
 
 
 
TA的每日心情  | 慵懒 2025-8-6 21:07 | 
|---|
 
  签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I 
状元 
 
 
	- 积分
 - 5300
 
 
 
 
 | 
 
 
 本帖最后由 stm1024 于 2023-11-24 09:20 编辑  
 
今天抽空测试了一下CAN通讯,CAN通讯在汽车和工业自动化上的应用还是很多的,因此是一个很值得学习的协议,今天晚上测试了一下ELF-1开发板上的CAN通讯接口。 
 
1. 线路连接 
线路连接起来很方便,只需要将左下方的凤凰端子,CAN-H和采集卡上的CAN-H连接,CAN-L和采集卡上的CAN-L连接即可,GND一般是接屏蔽线,在短距离通讯的时候可以不用接。 
 
然后使用上位机打开CAN采集卡,用250kbps波特率。 
2. CAN外设配置及测试 
现在linux都使用的是ip link方式配置这些以太网和CAN,ELF-1开发板上是支持两路CAN的,但是底板本身只有一路CAN0,CAN1应该是在左边的40排针上,通过扩展板引出的,而且,这个针脚是没有CAN收发器的,因此,我这里先使用带收发器的这一路CAN,启动CAN比较简单,几条命令就可以: 
 
第一句是先关闭CAN0,这样才能配置,第二句是配置CAN的波特率,这里使用的是250kbps,第三句是启动CAN0,第四句是通过can util工具包中的cangen生成随机can报文,报文周期为100ms。 
CANTest上接收到的数据如下: 
 
还可以新开一个终端,然后再里面使用命令: 
candump can0 
接收报文,效果如下: 
 
可见报文收发功能正常。 
 
3. CAN1的测试 
CAN1虽然没有物理层,但是我们可以使用环回loopback测试,配置及测试截图如下: 
 
 
 
 
当然还有一种方式,不需要开启环回也可以测试的,那就是使用了CAN1的TX和RX。通常我们采集到的报文是CAN信号经过收发器调制成差分信号的,其实CAN控制器最后也就是TX和RX,这点基本上和RS232/485之于USART的关系。所以,我们完全可以将CAN的TX和RX短接起来,也就是这样: 
 
 
然后再测试一次,这次不开环回模式: 
 
 
 
可见同样可以正常收发CAN报文。 
这个开发板的这种方式也挺好,对于想深入学习分析CAN通讯协议的童鞋来说比较方便,从协议层到数据链路层都可以方便学习测试。不过现在很多微控制器都在推CAN-FD了,但是imx6ULL目前还不支持这个协议,略有遗憾。 
 
OK,今天就到这。  
话说坛子的敏敢磁还真不少啊,动不动就是****************** 
 |   
 
  
  
  
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
TA的每日心情  | 慵懒 2025-8-6 21:07 | 
|---|
 
  签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I 
状元 
 
 
	- 积分
 - 5300
 
 
 
 
 | 
沙发
 
 
stm1024 
 
发表于 2023-11-24 09:16:56
|
只看该作者
 
 
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 | 
 
 
 
TA的每日心情  | 开心 2025-9-22 14:13 | 
|---|
 
  签到天数: 335 天 连续签到: 1 天 [LV.8]以坛为家I 
状元 
 
 
	- 积分
 - 8299
 
 
  
 
 | 
板凳
 
 
xiaoshen-372360 
 
发表于 2023-11-24 11:20:54
|
只看该作者
 
 
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |