打印
[应用]

树莓派CM4_UART扩展板之RS485速度测试

[复制链接]
3547|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcuzone|  楼主 | 2021-12-1 08:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
关键词:树莓派  CM4  UART  扩展板  RS485  最高波特率  串口
概述:CM4_UART扩展板是一款针对工业数据采集传输的应用平台。CM4_UART具备RS232和RS485两个接口,下面我们要验证的是RS485端口的速度,RS485我们采用了隔离模块,可以更加安全的在工业场合使用,隔离模块的理论速度是500K,我们要实际验证一下是否可以达到甚至超过这个指标。CM4_UART可选配套的铝合金外壳以应对工业现场比较恶劣的工作环境,确保不受磕碰和轻微撞击的影响。

硬件平台:
CM4_UART扩展板
USB转RS485模块

软件平台:
树莓派Raspberry Pi OS 32bit 2021-10-30

测试方法:
CM4_UART扩展板的RS485和PC端的USB转485模块相连,PC端采用secureCRT工具进行数据收发,之所以用secureCRT是因为其可以手动设置非标波特率,方便试探最高波特率。其它串口工具也一样可以使用。

使用特权

评论回复

相关帖子

沙发
mcuzone|  楼主 | 2021-12-1 08:13 | 只看该作者
RS485隔离模块的理论速度是500K,经测试毫无问题,收发都正常,没有丢数据,也没有出现乱码。然后我们一路往上加波特率,最高加到3090000,即3Mbps左右,以下是测试截图:





使用特权

评论回复
板凳
mcuzone|  楼主 | 2021-12-1 08:14 | 只看该作者
硬件测试平台:









使用特权

评论回复
地板
mcuzone|  楼主 | 2021-12-1 08:15 | 只看该作者
测试代码供参考:
发送测试:
import time
import serial

ser = serial.Serial("/dev/ttyAMA3", 3090000)

times = 0

while True:
    send_string = serial.write("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_Mcuzone\r\n".encode())
   
    time.sleep(0.2)
   
接受测试:
import time
import serial

ser = serial.Serial("/dev/ttyAMA3", 3090000)

times = 0

while True:
    count = ser.inWaiting()
    if (count != 0):
        recieve = ser.read(count)
        print(recieve)
        time = time + 1
        #print recieve_times
        print(times)
    time.sleep(0.2)

使用特权

评论回复
5
mcuzone|  楼主 | 2021-12-1 08:19 | 只看该作者
总结:树莓派自带的串口最高波特率可以跑到3Mbps以上,RS485模块本身可以稳定可靠的跑到500Kbps,但在实测中发现室温环境下也能上到3Mbps,仅供参考。

使用特权

评论回复
6
闻则123| | 2023-12-13 15:42 | 只看该作者
看看,学习下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

1125

帖子

1

粉丝