串口异步通信——时序宽度测试

        一般情况下串口“bit 1 ”与“bit 0”宽度能基本维持对等,脉宽接近,把串口:“0x55”理解为一个占空比为50% 的方波,在占空比接近50%的情况下,通信一般不会出现错误。

        但是,在一些脉宽有损失的场景中,则非常需要注意脉冲宽度要求。

        使用波形发生器+串口模块进行测试。

        串口接收芯片:CP2102

        数据帧:0x55

        波特率:115200

        PWM:57600 Hz——模拟115200波特率0x55数据

       串口接收数据为:0x55

验证:

占空比100%——不接收

占空比:90%——不接收

占空比:80%——不接收

占空比:73%——0x55,偶发0xD5,0xF5

占空比:74%——0x55,偶发0xD5

占空比:72%——0x55

占空比:70%——0x55,低电平脉宽5.2us,损失40%

占空比:60%——0x55

占空比:50%——0x55

占空比:40%——0x55

占空比:30%——0x55,高电平脉宽5.2us,损失40%

占空比:29%——0x55,偶发0x15

占空比:28%——0x55,出现0x15数据

占空比:27%——0x55,出现0x15数据增多现象

占空比:26%——出现0x01、0x05、0x15、0x55数据混杂现象

占空比:25%——出现0x00、0x01、0x05、0x40、0x55数据混杂现象

占空比:20%——0x00

占空比:10%——0x00

测试以下波特率亦出现类似情况:

        600、1200bps、2400、4800、9600、14400、19200、28800、38400、115200、230400、460800

总结——

        串口通信对于脉宽要求需要小于正负40%波形损失或延迟,超过45%基本上均出现通信数据错误的情况。

        

版权声明:本文为CSDN博主「zfysis」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zfysis/article/details/121886968

生成海报
点赞 0

zfysis

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Lin总线通信在STM32作为主机代码以及从机程序

距离上次做资料准备已经过去六天了。最近在学车,上周末就没有开电脑。这周开始进行了Lin通信的代码整理,目前是可以正常通信的了,采用的是增强型校验方式。后期再进一步跟进研究。。。更新一博,留

串口调试工具推荐

作者:三十三重天 博客: http://www.zhouhuibo.club 沉淀、分享、成长,让自己和他人都能有所收获!😜 在进行嵌入式开发时,总是要面对着来自终端的各种

GD32串口通信注意事项

GD32串口通信 虽说GD32与stm32采用同样的ARM® Cortex®-M3内核,而且GD32很大程度上可兼容stm32的程序,但是也存在着一些差异;所以为了使用上减少出错,使用G

STM32串口接收数据处理方法

STM32串口接收数据处理方法 STM32串口接收定长数据处理方法 STM32串口接收定长数据的处理方法非常简单,我目前做项目都是用的这个,也可用做处理MODBUS协议,直接上代码。 void U