1103|1

253

帖子

3

TA的资源

纯净的硅(初级)

楼主
 

【米尔-TI AM62x开发板-试用评测】485通讯测试 [复制链接]

在米尔-TI AM62x开发板上,提供了两个RS485端口,可以用于连接RS485外部工业设备。

 

 

我手头正好有RS485相关的设备,所以正好开展一下测试。

 

一、硬件准备

这次测试,使用了一个USB2485,方便和电脑连接进行通讯:

 

 

RS485采用平衡发送和差分接收方式实现通信:发送端将串行口的ttl电平信号转换成差分信号a,b两路输出,经过线缆传输之后在接收端将差分信号还原成ttl电平信号。

因此,只需要两根线即可完成通讯。

不过需要注意的是,两个设备或者端口之间,RS485的A对A,B对B,而不是像RS232那样RX对TX,TX对RX。

 

二、软件准备

1. 串口工具

我用的是picocom和comtools,可以在macOS和Linux下面使用。

 

要在开发板的Linux中使用picocom,需要在应用开发环境进行编译:

git clone https://github.com/npat-efault/picocom.git
cd picocom
make
file picocom
# picocom: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=39afadd44edb2b86a1f4d60cb55a6f558263cb1c, for GNU/Linux 3.14.0, with debug_info, not stripped

编译完成后,将生成的picocom上传到开发板备用。

 

2. 串口测试工具

串口测试工具,使用的是 linux-serial-test,也需要先编译:

git clone https://github.com/cbrake/linux-serial-test.git
cd linux-serial-test
cmake .
make

file linux-serial-test
# linux-serial-test: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=70dc505751ab3c56dd4db2ee5c1fe644c2b626d7, for GNU/Linux 3.14.0, with debug_info, not stripped

编译完成后,将生成的linux-serial-test上传到开发板备用。

 

三、端口对端口基础测试

用杜邦线,直接将A1-A2连接,B2-B2连接,就可以进行开发板本机测试了。

ssh连接1:

./picocom -c -b 115200 /dev/ttyS0

ssh连接2:

./picocom -c -b 115200 /dev/ttyS1

因为485端口1和2互联了,所以上面两个串口的picocom终端会相互关联,在一个操作,会同步发送到另外一边。

 

具体测试结果如下:

iShot_2024-02-22_00.10.24

 

四、开发板485端口性能测试

通过 linux-serial-test 可以对单个端口,或者两个端口,进行性能测试。

如果测试单端口,需要使用回环电缆,但我手头没有,所以进行双端口测试。

ssh连接1:接收端命令:

linux-serial-test -s -e -p /dev/ttyS1 -t -c -l 250

ssh连接段2:发射端命令:

linux-serial-test -s -e -p /dev/ttyS0 -r -c

上述命令,可以实现 RTS/CTS 流量控制,并发送带有计数模式的数据, 两次读取之间延迟 250 毫秒,这将导致缓冲区填满并开始使用流量控制。

同样程序将报告模式中任何缺失的数据,如果流控制正常工作,则不应有任何缺失数据报告。

具体测试结果如下:

iShot_2024-02-22_00.16.51

 

从上述结果来看,测试均通过,err显示为0,表示无错误发生。

 

五、开发板与电脑使用串口工具通讯

开发板上运行命令:

./picocom -c -b 115200 /dev/ttyS0

电脑上使用comtools打开窗口,即可进行通讯测试:

iShot_2024-02-22_00.37.34

 

六、文件传输测试

使用串口,可以在电脑和开发板之间传送文件。

根据modem所采用的文件传输协议:xmodem,ymodem,zmodem将其分类  

  • xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用  
  • ymodem:由XMODEM演变来,效率可靠性高,包=128*8B;一次传输可发送或接受几个文件  
  • zmodem:于上两种不同,已连续的数据流发送数据,效率更高

在macOS/Linux下,一般通过rz/sz来进行文件的传输。

 

首先,在交叉编译环境编译lrzsz:

git clone https://github.com/coderfordev/lrzsz.git
cd lrzsz
make

file src/lrz
# src/lrz: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=79e067ed07413d1591ccf95de51917342a19c0fd, for GNU/Linux 3.14.0, with debug_info, not stripped

 

将最后生成的lrz、lsz部署到开发板上,并改名为rz sz。

然后,在开发板上运行命令:

PATH=/home/roo:$PATH

picocom --send-cmd "sz -vv" --receive-cmd "rz -vv" -b 115200 /dev/ttyS0

 

在电脑上,可以用SecurtCRT图形界面工具,或者用picocom命令行工具。

用picocom的话,命令如下:

picocom --send-cmd "sz -vv" --receive-cmd "rz -vv" -b 115200 /dev/cu.usbserial-0001

 

要开始传输文件的话,按照以下步骤进行:

  1. 先在开发板上,按Ctrl+A,再按Ctrl+R,表示接受文件,出现提示时,不要回车
  2. 在电脑上,按Ctrl+A,再按Ctrl+S,表示发送文件,出现提示时,输入文件的完整路径,然后回车
  3.  然后在开发板上,回车接收文件即可,回车后,自动开始文件传输
  4. 文件发送完成后,可以用md5sum命令检查,文件传输是否正确

具体的操作过程和结果如下:

iShot_2024-02-22_10.16.44

 

七、总结

做为一款可供工业开发使用评估的开发板,米尔-TI AM62x开发板 提供了RS485接口,可以很方便的进行485设备的通讯和控制。

后续将会使用485解决的读卡器进行测试通讯,并分享经验。

 

八、参考资料

最新回复

这个测评报告写的完整,下次有机会测评的话也参考这种模式  详情 回复 发表于 2024-4-8 11:35
点赞 关注
 

回复
举报

1136

帖子

2

TA的资源

版主

沙发
 
这个测评报告写的完整,下次有机会测评的话也参考这种模式
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表