调整波特率的方法、电子设备及计算机存储介质技术

技术编号:34378300 阅读:74 留言:0更新日期:2022-08-03 20:50
本申请公开了一种调整波特率的方法、电子设备及计算机存储介质。该方法包括:获取发送端与接收端之间波特率的误差;基于误差获取预设补偿参数表;利用预设补偿参数表按照每比特对波特率进行修正,以调整波特率。通过这种方式,能够提高波特率精度,从而能够增加数据传输的可靠性。输的可靠性。输的可靠性。

【技术实现步骤摘要】
调整波特率的方法、电子设备及计算机存储介质


[0001]本申请涉及通信
,特别是涉及一种调整波特率的方法、电子设备及计算机存储介质。

技术介绍

[0002]通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一个通用同步/异步串行收发模块。异步串行通信根据数据格式,按照一定的通信协议和通信速率进行数据的传输,在异步串行通信中,采用波特率来描述数据的传输速率。
[0003]在实际工作中,接收端与发送端所处的环境以及其它因素,如传输距离过远、时钟误差等会导致接收端和/或发送端的波特率产生误差,使发送端所发送的数据在接收端不能准确接收,导致数据传输失败。

技术实现思路

[0004]本申请主要解决的技术问题是如何提高数据传输的可靠性。
[0005]为解决上述技术问题,本申请采用的一个技术方案是:提供一种调整波特率的方法。该方法包括:获取发送端与接收端之间波特率的误差;基于误差获取预设补偿参数表;利用预设补偿参数表按照每比特对波特率进行修正,以调整波特率。
[0006]为解决上述技术问题,本申请采用的一个技术方案是:提供一种电子设备。该电子设备包括处理器及与处理器耦接的存储器,处理器执行存储器中的程序指令时用于实现上述调整波特率的方法
[0007]为解决上述技术问题,本申请采用的一个技术方案是:提供一种计算机存储介质。该计算机存储介质上存储有程序指令,程序指令被执行时以实现上述调整波特率的方法。
[0008]本申请的有益效果是:区别于现有技术,本申请实施例基于波特率的误差获取对应的预设补偿参数表,并利用预设补偿参数表按照每比特对波特率进行修正,因此,能够调整波特率,使得按照调整后的波特率进行数据传输,能够减少因波特率出现误差,造成数据发送端/或接收端对数据的实际采样点与理想采样点之间的偏差超过通信协议的要求,从而导致数据传输失败的问题,因此,本申请实施例能够降低波特率的误差,以使数据的实际采样点与理想采样点之间的偏差满足通信协议要求,能够提高波特率精度,从而能够增加数据传输的可靠性。
附图说明
[0009]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
[0010]图1是UART数据传输的示意图;
[0011]图2是本申请调整波特率的方法一实施例的流程示意图;
[0012]图3是图2实施例中步骤S201的具体流程示意图;
[0013]图4是图2实施例中步骤S202的具体流程示意图;
[0014]图5是图2实施例中步骤S203的具体流程示意图;
[0015]图6是本申请调整波特率的方法一实施例的流程示意图;
[0016]图7是本申请调整波特率的方法一实施例的流程示意图;
[0017]图8是本申请调整波特率的方法中生成第一预设补偿表和第二预设补偿表的流程示意图;
[0018]图9是本申请电子设备一实施例的结构示意图;
[0019]图10是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
[0021]本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0022]如图1所示,UART的基本协议如下:发送端/接收端通过对数据中每个比特的理想采样点(一般理想采样点为中间时刻点)的采样获得该比特的值(0或1),其它比特依此类推,从而获得一个字节或一帧数据。而实际应用中,波特率会存在一定误差,该误差会导致实际采样点不在每个比特的中间。为了获得稳定可靠的通信,协议要求到最后一个比特的实际采样点与理想的采样点之间的偏差不超过+/

50%(统一定义右偏为+,左偏为

),也就要求波特率必须达到一定的精度;以每字节或每帧数据包括10比特(包括start/stop比特)为例,每比特的误差应不超过5%,按发送端/接收端对半分原则,每比特要求波特率误差不超过2.5%;协议对波特率精度的要求随着每字节或每帧数据包含的比特数的增加而升高。
[0023]为解决上述技术问题,本申请首先提出一种调整波特率的方法,如图2所示,图2是本申请调整波特率的方法一实施例的流程示意图。本实施例调整波特率的方法具体包括以下步骤:
[0024]步骤S201:获取发送端与接收端之间波特率的误差。
[0025]异步串行通信是根据数据格式,按照一定的通信协议和通信速率进行数据的传输,在异步串行通信中,通常采用波特率来描述数据的传输速率;在异步串行通信中,二进制数据系列是以数字信号波形的形式出现,并通过波特率时钟控制二进制数据系列传输。
[0026]在发送数据时,发送端按波特率将移位寄存器的数据按位串行移位输出;在接收数据时,接收端按波特率对接收数据位采样,并按位串行已入移位寄存器。可见,波特率对
数字波形的每一位传送都要进行作用,因此,波特率的精度或误差会直接影响数据传输的可靠性。
[0027]为提高数据传输的可靠性,发送端的波特率应与接收端的波特率一致,发送端的波特率时钟应与接收端的波特率时钟同步。
[0028]时钟误差是造成波特率误差的主要来源,时钟的精度越高,芯片中时钟模块的代价越大(包括人力、成本等);且当接收端或发送端不满足上述精度或误差要求时,通信会出错。
[0029]需要注意的是,本实施例可以获取波特率误差。
[0030]可选地,本实施例可以采用如图3所示的方法实现步骤S201。本实施例的方法包括步骤S301至步骤S304。
[0031]步骤S301:发送并由示波器接收测试数据。
[0032]在假设没有波特率误差的情况下,配置某一波特率并发送,然后由示波器等途径接收并量测脉宽。
[0033]步骤S302:计算测试数据的总脉冲宽度与总脉冲宽度的理论脉冲宽度之间的第一差值。
[0034]由上述分析可知,在异步串行通信中,二进制数据系列是以数字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调整波特率的方法,其特征在于,所述方法包括:获取发送端与接收端之间波特率的误差;基于所述误差获取预设补偿参数表;利用所述预设补偿参数表按照每比特对所述波特率进行修正,以调整所述波特率。2.根据权利要求1所述的方法,其特征在于,所述误差包括误差幅度及偏移方向,所述预设补偿参数表包括第一预设补偿表和第二预设补偿表,所述基于所述误差获取预设补偿参数表的步骤包括:响应于所述误差的误差幅度位于预设范围内,获取与所述预设范围对应的所述第一预设补偿表;响应于所述误差的偏移方向为预设偏移方向,获取与所述预设偏移方向对应的所述第二预设补偿表。3.根据权利要求2所述的方法,其特征在于,所述第一预设补偿表包括预设序号及与所述预设序号对应的第一预设补偿幅度,所述第二预设补偿表包括所述预设序号及与所述预设序号对应的第一预设补偿方向,所述利用所述预设补偿参数表按照每比特对所述波特率进行修正的步骤包括:获取所述数据的每个比特;响应于所述比特的第一序号与所述预设序号相同,从所述第二预设补偿表中获取所述第一预设补偿方向,并从所述第一预设补偿表中获取所述第一预设补偿幅度;利用与所述第一预设补偿方向和所述第一预设补偿幅度对所述比特的预设采样点按照每比特进行调整。4.根据权利要求3所述的方法,其特征在于,所述数据的所有所述比特的所述第一预设补偿幅度至少部分不同。5.根据权利要求3所述的方法,其特征在于,所述第一预设补偿方向包括前移方向、后移方向及零偏移,所述利用所述第一预设补偿方向和所述第一预设补偿幅度对所述比特的预设采样点按照每比特进行调整的步骤包括:响应于与所述第一预设补偿方向为所述前移方向,将所述比特的预设采样点向前移动所述第一预设补偿幅度,以获得实际采样点;响应于所述第一预设补偿方向为所述后移方向,将所述比特的预设采样点向后移动所述第一预设补偿幅度,以获得实际采样点;所述利用所述预设补偿参数表按照...

【专利技术属性】
技术研发人员:李广耀
申请(专利权)人:武汉杰开科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1