您的位置 首页 芯闻

怎么排查因波特率漂移导致的通讯反常问题

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

  示波器的协议解码功用我们都不陌生,你是否有过波形看起来正常,协议参数、解码设置都正确,却无法正常解码的阅历呢?本文以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 从波形最小位宽预算波特率图

  总结

  在解码中波特率尽管仅仅一个参数,但因其漂移发生的影响不容忽视,它或许便是导致通讯毛病的要素。解码前留意查验波特率,这么一个小细节或许能够省去日后排查毛病的时刻。从波形动身,从头审视示波器价值,它用来调查波形和剖析数据便是为了检测被测部件是否正常的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/130402.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部