示波器的协议解码功能大家都不生疏,你是否有过波形看起来正常,协议参数、解码设置都正确,却无法正常解码的经历呢?本文以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 从波形最小位宽估算波特率图
总结
在解码中波特率虽然只是一个参数,但因其漂移产生的影响不容忽视,它可能就是导致通信故障的因素。解码前注意检验波特率,这么一个小细节也许可以省去日后排查故障的时间。从波形出发,重新审视示波器价值,它用来观察波形和分析数据就是为了检测被测部件是否正常的。
关键字:通讯
引用地址:
因波特率漂移导致的通讯异常问题的排查技巧
推荐阅读最新更新时间:2024-03-30 23:38
单片机串口通讯RXD与TXD如何对接详解
相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑。因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑。 首先需要明白两个概念,就是DTE和DCE。DTE是指数据终端设备,典型的DTE就是计算机和单片机。DCE是指数据通信设备,典型的DCE就是MODEM。RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE。明白了这一点,再讲下面的接线方法,就很好理解了。 单片机与计算机进行串口通信时,单片机的RXD接计算机的TXD,单片机的TXD接计算机的RXD。 (1)使用串口直通线。设计电路时,单片机的RXD连接电路板DB9的TXD,单片机的TXD连接电路板DB9的RXD
[单片机]
创益通:目前5G通讯连接器主要通过中航光电间接为华为供货
创益通今日在互动平台表示,目前,公司与华为没有直接的合作,5G通讯连接器主要通过中航光电间接向华为等客户提供产品服务。新能源精密结构件领域的业务目前还在拓展当中,客户的认证周期较长且能否成功尚具有较大的不确定性。 资料显示,创益通是一家以研发设计和精密制造为核心,向客户提供精密连接器、连接线、精密结构件等互连产品的国家高新技术企业。产品主要包括数据存储互连产品及组件、消费电子互连产品及组件、新能源精密结构件等。目前客户包括晟碟(西部数据)、莫仕、公牛集团、安克创新、星科金朋、伟创力、埃梯梯、小米(紫米)等。 从业绩来看,创益通的销售规模和盈利能力都在稳步增长,2017年至2019年,分别实现营收2.82亿元、3.68亿元和4.41
[手机便携]
联发科布局通讯业务,15亿元取得以太网络及交换器芯片技术
联发科宽频通讯布局积极,27日再度出手,宣布旗下负责宽频事业的络达科技要以每股22元收购九旸电子100%股权,溢价幅度15.79%,相当于花15.07亿元加强取得以太网络及交换器芯片技术,布局工业用物联网战场。 联发科布局通讯业务企图心强烈,12月连挥两拳,先是透过子公司络达科技认购以4.95亿元认购工业以太网络芯片公司亚信电子私募股,成为持股2成的最大单一股东, 27日又宣布以络达科技为主体,与九旸科技换股合并,预计经九旸股东会通过后,合并基准日暂订2021年4月30日完成。 合并后,九旸将下市,成为络达子公司,联发科表示此举对发展宽频通讯有正面帮助。事实上,九旸电子跟亚信电子业务方向相同,后续是否进一步提高对亚信持股,
[网络通信]
基于VC5.0的PC与松下PLC的通讯及其应用
1 引言 随着 PLC 应用范围的不断扩大,PLC与PC之间通讯技术的应用需求越来越广泛。通过PLC的编程口进行通讯不仅可以减少系统的本钱及复杂性,同时可以减少PLC方面软件的复杂程度和编程量。本文根据实际工程中的经验进行总结,介绍了利用VC++中MFC实现PC与松下FP0系列PLC编程口进行串行通讯的程序设计基本方法。 2 PC与FP0 PLC之间的通讯协议和接口 在一个规模较大的纺织产业 控制系统 中,经常有几十个、几百个甚至更多的测温顺控制对象。即使速度很高的系统,也很难满足要求。为了降低危险,进步可靠性,必须将任务分散,而分散的设备需要通过一定的手段连接起来,其中数据通讯和系统互连是该系统的关键技术之一。松
[嵌入式]
PIC单片机实现RS232串口异步通讯的设计
编写程序实现以下功能。在计算机上使用串口大师向开发板发每次发送1个字符。开发板每接收到一个数据,则交换该数据的高低4位,再发送回计算机。 端口初始化时使能发送与接收,使用扫描方式接收数据,接收到数据后立即交换高低四位并发送,交换高低四位方式如下: 完整程序: * 标 题: 异步串口通讯 * 功能描述: 在计算机上使用串口大师向开发板发每次发送1个字符。 * 开发板每接收到一个数据,则交换该数据的高低4位,再发送回计算机。 #include #define uint8 unsigned char #define uint16 unsigned int __CONFIG(FOSC_HS &WDTE_OFF &BOREN_OFF
[单片机]
AVR复习笔记--AVR单片机SPI多机通讯
最近决定复习下AVR单片机,其实也是为了借此复习下几种简单的通信协议,包括串口,SPI,I2 C等。 本来以为一两个晚上就能搞定的事儿,没想到竟耗费了一周晚上空余的时间。 当然主要是这次的要求要提高点,实现SPI的多机通信, 不但要发数据还要回传数据。 实际中还是遇到了比我想象中要大的多的困难。 即使是现在的实现方式也不是很理想。 下面是spi部分的代码,由于spi接收发送用的同一终端,感觉使用起来形式不怎么样,还是采用了轮询标志位的方式 Code #include spi.h static char mode=1; void spi_init(char flag) { char tmp=0;
[单片机]
看无线通讯技术如何赋能体测设备行业
摘要:体育老师再也不用为记录数千学生的成绩而犯愁了,学生也再不用担心成绩录错而导致挂科了,且看无线通讯技术如何赋能体测设备行业! 从全民运动热潮可以感受到国家对人民身体健康的重视程度逐年提升,体质测试项目在中小学、大学也开始作为成绩考核的一部分,体质测试的指标一般分为形态测试,包括身高与体重;机能测试,包括肺活量与台阶试验;素质测试,包括握力,俯卧撑,纵跳等测试项目,如何客观的评价体质状况和体现体育锻炼效果成为了各厂商产品考虑的出发点。 传统的体育考试使用的体测设备一般分布在运动场各个角落,分布比较零散,这种方式需要监考人员手动抄录体测效果。整个过程比较繁琐,并且可能出现记录人员错记,误记,漏记等失误,造成学生成绩的错误。
[网络通信]
中兴通讯顾翔:把控好TD-LTE发展的方向和节奏
近两年,TD-LTE的商用化发展不断提速,全球多个国家和地区开始部署甚至已经推出了商用的TD-LTE网络。近日举行的第十四届高交会为TD-LTE专门设立了专题馆,展示TD-LTE的产业化和国际化最新进展。展会期间,中兴通讯中国区副总经理顾翔接受了《人民邮电》报记者的采访,畅谈中兴通讯对TD-LTE当前发展形势的认识,梳理TD-LTE商用化发展过程中的难点和重点,介绍中兴通讯的TD-LTE发展战略及未来规划。 TD-LTE商用化 步入快车道 移动通信已经与人们的生活密不可分。顾翔表示,TD-LTE是未来移动通信发展的主流选择,其商用化已进入高速发展期。TD-LTE是国家层面的战略,是利国利民的大事。近两年来,产业界
[网络通信]