1 波特率漂移导致通信异常的故障排查过程-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

AGk5_ZLG_zhiyua 来源:佚名 作者:佚名 2019-01-08 13:51 次阅读

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

总结

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    6240

    浏览量

    184791
  • 波特率
    +关注

    关注

    2

    文章

    307

    浏览量

    34115

原文标题:波形正常但是解码失败?可能是波特率漂移了

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RS232通信波特率设置说明

    RS232通信波特率设置是确保数据正确传输的关键参数之一。以下是对RS232通信波特率设置的说明: 一、波特率的概念
    的头像 发表于 12-10 16:26 477次阅读

    波特率设置中的常见问题解析

    在数字通信系统中,波特率是一个关键参数,它直接影响数据传输的效率和可靠性。然而,在实际应用中,波特率的设置往往会引起一些常见的问题。 一、波特率与数据速率的混淆 问题描述: 许多人会将
    的头像 发表于 11-22 10:06 323次阅读

    波特率与串行通信的关系 各种设备波特率转换的方法

    至关重要。 波特率与串行通信的关系 数据传输速度 :波特率直接影响数据传输的速度。更高的波特率意味着在相同的时间内可以传输更多的数据。 通信
    的头像 发表于 11-22 10:01 288次阅读

    常见的波特率标准和协议

    波特率是指在数据通信中,每秒钟传输的符号数(或比特数),是衡量数据通信速度的重要指标。在不同的通信协议和场景中,常见的波特率标准和协议有所不
    的头像 发表于 11-22 09:56 894次阅读

    波特率的定义和计算方法 波特率与数据传输速度的关系

    波特率的定义 波特率(Baud Rate),又称调制速率或传符号,是指每秒传输的符号数目,单位为波特(Bd)。它是一个数字信号通信中重要的
    的头像 发表于 11-22 09:49 989次阅读

    波特率9600和115200的区别

    在现代通信技术中,数据传输速率是一个关键的性能指标。对于串行通信波特率是衡量数据传输速度的基本单位。波特率9600和115200是两种常见的设置,它们在不同的应用场景中有着各自的优势
    的头像 发表于 10-18 14:56 1389次阅读

    波特率与比特有何关系 波特率与数据传输速率的关系

    波特率(Baud Rate)和比特(Bit Rate)是衡量数据通信系统性能的两个重要参数,它们之间有着密切的关系,但并不完全相同。 波特率(Baud Rate):
    的头像 发表于 10-18 14:55 739次阅读

    uart波特率和传输频率的关系 UART串口的常用波特率为多少

    UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的异步串行通信技术,它允许两台设备之间进行双向数据传输。在UART通信中,波特率和传输
    的头像 发表于 10-06 16:12 2515次阅读
    uart<b class='flag-5'>波特率</b>和传输频率的关系 UART串口的常用<b class='flag-5'>波特率</b>为多少

    串口通信中的波特率你真的了解吗?差距竟如此重要!

    波特率在串口通信中的作用在串口通信中,波特率起着至关重要的作用。因为在传输数据时,发送方和接收方需要以相同的波特率进行
    的头像 发表于 08-27 11:46 1373次阅读
    串口<b class='flag-5'>通信</b>中的<b class='flag-5'>波特率</b>你真的了解吗?差距竟如此重要!

    如何使用示波器测量串口波特率

    通信和电子测量领域,串口波特率是一个至关重要的参数,它决定了数据在串行通信线上的传输速率。使用示波器来测量串口波特率是一种常见且有效的方法,尤其是在没有专业串口调试工具或需要更精确测
    的头像 发表于 05-27 16:25 4888次阅读

    波特率有什么危害尼?又该如何避免?

    深入探讨了波特率过高可能带来的危害,并提供了一些实用建议来保护设备不受影响。在通信领域,波特率是决定数据传输速度的重要参数。然而,波特率设置不当可能会对设备造成严重的影响。本文旨在揭示
    的头像 发表于 04-03 16:45 1366次阅读

    为啥要转换波特率 波特率和传输速率的关系

    对于串行多主 CAN 总线,如果波特率被称为“500000波特”,则 CAN 上的该端口每秒最多可传输500000位。
    的头像 发表于 03-06 17:38 4983次阅读
    为啥要转换<b class='flag-5'>波特率</b> <b class='flag-5'>波特率</b>和传输速率的关系

    TC397 QSPI波特率异常问题怎么解决?

    时,收发数据异常;3. 在2的条件下,只要设置的波特率低于23M, 收发数据正常,与datasheet中描述的max 波特率50M矛盾;
    发表于 02-02 14:25

    波特率发生器使用哪个定时器 波特率发生器的时钟来源是什么

    波特率发生器是一种用于控制串行数据通信速率的设备,它可以生成特定波特率的时钟信号。在嵌入式系统、通信设备和计算机硬件中,波特率发生器的使用十
    的头像 发表于 01-24 09:56 2147次阅读

    什么是串口波特率?串口通信为什么要设置波特率

    什么是串口波特率?串口通信为什么要设置波特率波特率与比特的关系 如何选择串口波特率?  串口
    的头像 发表于 01-22 16:10 2140次阅读