历史上的今天
返回首页

历史上的今天

今天是:2024年11月25日(星期一)

正在发生

2019年11月25日 | 波特率漂移导致通信异常的故障排查过程

2019-11-25 来源:elecfans

示波器的协议解码功能大家都不生疏,你是否有过波形看起来正常,协议参数、解码设置都正确,却无法正常解码的经历呢?本文以UART协议为例,分享由于波特率漂移导致通信异常的故障排查过程。


什么是波特率漂移呢?可以理解为被测部件晶振有偏差,导致实际波特率和正常的波特率不一致。为什么波特率漂移会导致通信异常呢?本文从波形出发,带你自检解码结果。


一、波特率漂移导致通信异常的故障排查

引出这样一个真实的例子,PC端发送串口数据为“0xEE 0x61 0x32 0xFF 0xFC 0xFF 0xFF”,示波器解码结果为“0xEE 0x98 0xF6 0xFC 0xFF”初步判定通信故障。但协议参数设置和解码设置都正确,为什么会出现收发不一致的现象呢?

下文将解码时协议参数设置中的波特率都设置为9600 bps,实际为9600 bps,10126 bps的波形图解码结果对比(如图1所示)分析为例,分享波特率漂移后导致波形有偏差,从而出现通信异常的原因排查过程。

图1 同一解码波特率下的不同波形解码结果图

首先讲讲UART的解码原理。当示波器解码UART信号时,将空闲电平之后的下降沿作为开始位,然后从波形中等间隔采样,以等间隔时间段内的采样点中的多数状态作为该位的解码数值。不同波特率的波形,最小数据位宽不一致,时间T=1/采样率,实际采样率大的波形对应的时间就小,所以从图1中可看出波特率为10126bps的波形像往左偏移了。


当解码时设置的波特率同为9600时,采样点的位置是根据9600的波特率来确定的,当实际采样率和9600bps有偏差时,误差会逐渐累积,从而导致解码有偏差。设置的数据位宽越大,越容易叠加误差。


二、自检波特率方法

从波形出发,根据波形最小位宽估算波特率,此法适用于波特率偏差较大或不确定波特率该设置多少时。这是工程师们较习惯的自检方法。估算波特率需要看波形中的最小位宽,从来图2看,时基档位为100us,最小位宽刚好占一格,则最小位宽为100us左右,换算之后等于10000bps。


想要得到更精确的波特率数值,可以使用示波器的测量功能。打开示波器面板中的【measure】,选择波特率测量项,观察波特率测量结果对比,如下图2红框内的测量结果。


开头中引出的例子,正是因为波特率产生了漂移,实际为10000 bps,而解码时按照正常部件的9600bps来设置,这么一算,波特率误差大于4%,因此会导致解码结果不正确。换个晶振再解码,通讯果然正常了。

图2 从波形最小位宽估算波特率图


总结

在解码中波特率虽然只是一个参数,但因其漂移产生的影响不容忽视,它可能就是导致通信故障的因素。解码前注意检验波特率,这么一个小细节也许可以省去日后排查故障的时间。从波形出发,重新审视示波器价值,它用来观察波形和分析数据就是为了检测被测部件是否正常的。


推荐阅读

史海拾趣

Hirschmann公司的发展小趣事
虽然TC4013的时钟频率不是直接决定延时时间的因素,但它会影响定时器的触发频率和输出信号的周期。通过调整时钟信号的频率,可以在一定程度上改变输出信号的周期或占空比,从而间接影响定时电路的延时效果。然而,这种方法通常用于调整输出信号的频率特性,而非直接调整延时时间。
Elektron公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,Elektron公司不断进行技术创新和产品升级。公司成功开发出适用于船上使用的单点和多点焊接整流器以及弧光灯的电影整流器等产品,进一步扩大了市场份额。同时,Elektron还注重产品质量和性能的提升,通过引进先进的生产设备和工艺,不断提高产品的可靠性和耐用性。

Alorium Technology公司的发展小趣事

随着环保意识的不断提高和可持续发展理念的普及,Elektron公司开始注重环保和可持续发展方面的工作。公司积极采用环保材料和节能技术,降低产品制造过程中的能耗和排放。同时,Elektron还加强了对废弃物的处理和回收工作,努力实现资源的循环利用和环境的可持续发展。这些措施不仅有助于公司降低成本和提高效率,也符合社会和消费者对环保和可持续发展的期望和要求。

以上五个故事分别从不同角度概述了Elektron公司的发展过程,包括创立与初期发展、技术创新与产品多样化、全球扩张与市场领导地位、技术突破与行业引领以及环保理念与可持续发展等方面。这些故事共同构成了Elektron公司丰富多彩的发展历程和辉煌成就。

Dynastream公司的发展小趣事

随着技术的不断进步,Dynastream公司意识到要想在竞争激烈的市场中立足,必须不断创新。因此,公司加大了研发投入,致力于提高产品的性能和稳定性。经过数年的努力,Dynastream成功推出了一款具有革命性意义的产品——一款高精度、低功耗的个人监视传感器。这一产品的推出,不仅让Dynastream在市场上树立了良好的口碑,也为公司未来的发展奠定了坚实的基础。

Applied Micro Circuits (MACOM)公司的发展小趣事

Applied Micro Circuits(MACOM)公司的历史可以追溯到其创立之初。MACOM最初名为Microwave Associates,成立于上世纪某个时期,以磁控管作为首创产品,主要应用于微波雷达领域。随着技术的不断进步,公司逐步扩展产品线,推出了包括真空管、高功率PIN二极管/晶体管和移相器等一系列产品。然而,上世纪九十年代,由于经营不善,MACOM被AMP公司收购,随后又经过多次转手,最终成为Tyco旗下的一部分。

铨力(ALLPOWER)公司的发展小趣事

在国内市场取得一定成绩后,铨力公司开始将目光转向国际市场。通过参加国际展览、与海外客户建立合作关系等方式,公司逐渐打开了海外市场的大门。同时,铨力还积极寻求与国际知名企业的合作机会,通过技术交流和资源整合,不断提升自身的技术水平和市场竞争力。

问答坊 | AI 解惑

急救啊!!一个反射式红外传感器的问题!!

我在做一个防盗电路,那个反射式红外传感器不能过滤可见光!!!应如何解决啊!!是不是换一个可过滤可见光的反射式红外传感器就可以啦???应该用什么型号的啊!!麻烦教教小弟!!我上传了电路图…

查看全部问答>

诚聘嵌入式开发人员

因业务需要,本公司急聘嵌入式开发人员,职位要求如下,工作地点杭州,欢迎加入,待遇从优。如果你想让自己更能找到发挥的潜力,展现自己的能力,请联系job@shtacom.com。 Firmware Engineer    Work Location: HangZhou Ope ...…

查看全部问答>

如何保证LED芯片固晶质量

replyreload += \',\' + 373442;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

RS485通讯再次发帖

    我现在用MAX485做半双工发送。碰到一个问题:波特率选择115200,下位机MCU通过中断接收。上位机(COMMASTER)向下位机MAX485发数据,然后MCU进行处理。当上位机如果每次只发送一位数据的时候,通讯正常;如果上位机发送一串字符串的 ...…

查看全部问答>

求助,ldrls pc, [pc, r3, lsl #2]的意思

今天打开汇编看了下有句 ldrls        pc, [pc, r3, lsl #2] 不知道哪位大哥给解释一下这句汇编的意思!! 谢谢…

查看全部问答>

eboot.nb0生成不了的问题???

只生成了eboot.bin,查看build.log,错误如下: BUILD: [01:0000000144:INFO  ] Writing E:\\WINCE600\\platform\\SMDK6410\\target\\ARMV4I\\retail\\EBOOT.bin BUILD: [01:0000000145:INFO  ] Table of contents &nbs ...…

查看全部问答>

谁有TFT的VHDL例程参考下啊?

如题 谢谢了,从网上找 了一些都不太适合 我的TFT引脚如下: RS,WR,RD,CS,RESET,DB0-DB7 从网上找到一些很复杂的,谁有比较简单的共享下啊…

查看全部问答>

程序库之旅 4: 独立于MCU的LED闪烁库

   我们知道,这样一个程序,需要两个部分。1. LED的亮灭控制;2. 延时函数;   如果只是像那些入门教程那样直接写在main函数里,这是非常简单的。           现在让我们考虑,如何实现 独立于 ...…

查看全部问答>

基于430的心率计资料共享

基于430的心率计资料共享…

查看全部问答>

求关于MSP430F149的例程帮助

我需要3个例程,关于MSP430F149的红外发射与接收,红外解码以及74HC165并转串的开发板例程。有的朋友帮我一下,谢谢啦。…

查看全部问答>