RainbowLink USB 协议转换器 测评二:TTL 电平通信丢波率测试
[复制链接]
本帖最后由 我的学号 于 2025-3-4 21:26 编辑
1.RainbowLink USB 协议转换器 上带有 TTL*2, 232 *1 和485 *1,先复习 TTL 电平的概念:
按答案,主要区别在于输入输出电平,以及通过 MCU 的 GPIO 输出可以得到 TTL 电平
2.本次测试TTL 通信,基本思路是利用 MCU 的 UART 接口发送固定次数通信数据,数据采集由 RainbowLink 实现,并在PC 上位机中显示;
通过 上位机接收到的数据总量/理论数据总量,即可得到通信丢波率。一次测试完成后,修改MCU 通信波特率,继续测试;连接示意图如下:
为得到高波特率的 UART 通信,MCU 本身的频率必须高
结合手头板卡,选用了 TI 的 28377s. 其时钟可达 200MHz, 通过修改相关寄存器可得到不同波特率
3,初始化设置串口发送每帧格式为 8bit 数据位,奇校验,1 bit 停止位;理论上MCU 发送1w 帧后上位机可以收到 8w数据
分别测试 115200 波特率
256000 波特率
512000 波特率
1M 波特率
2.5M 波特率
4.数据统计及分析
由统计数据可以发现,随着通信波特率提高,丢波率上升;按产品宣传 RainbowLink USB 最高通信波特率可到 6M;这个丢波率的提高估计是杜邦线连接、终端阻抗不匹配带来的影响
另一个有意思的情况是,115200 波特率和 512000 波特率 通信基本不丢波,256000 为什么就丢波严重了?
将寄存器数值带回原公式可发现:
256000 实际波特率是 257731,理论与实际偏差较大造成数据丢失严重
|