通信设备波特率调节方法及通信设备与流程

文档序号:19427777发布日期:2019-12-17 15:51阅读:593来源:国知局
通信设备波特率调节方法及通信设备与流程

本发明涉及通信系统技术领域,特别是涉及一种通信设备波特率调节方法及通信设备。



背景技术:

uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收,常用来传输数据、调试数据。uart的接口为非源同步接口,两个通信设备在通信时,其双方传输波特率需要通信双方约定一致,即uart通信双发的波特率需一致才能够实现uart通信,也可以说,uart通信中传输波特率需要在预定波特率的一定范围内,才能够实现uart通信。

但是uart通信设备设计时,受限于生产成本、体积等因素,通常会采用mcu(microcontrollerunit,微控制单元)内部的rc振荡器来替代晶振作为振荡源,但rc振荡器产生的振荡频率精度偏差较大,通信设备输出的波特率与设定值的偏差也相对较大,使得uart通信双方出现不匹配问题。



技术实现要素:

基于此,有必要针对通信设备输出波特率与设定值偏差大,通信双发出现不匹配的问题,提供一种通信设备波特率调节方法及通信设备。

一种通信设备波特率调节方法,应用于通用异步收发传输器通信,包括:获取通信双方预定波特率;获取通信设备输出波特率的误差范围,根据所述预定波特率及所述误差范围,得到波特率的调节范围;根据所述预定波特率,输入初始波特率;判断通信设备在当前波特率下是否能够通信;当所述通信设备在所述当前波特率下不能通信时,在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率;将所述调节后的波特率作为所述当前波特率,返回继续执行判断通信设备在当前波特率下是否能够通信的步骤。

上述通信设备波特率调节方法及通信设备,当通信设备因其输出波特率与设定值偏差大导致无法正常通信时,通过波特率的误差范围及预定波特率,以确定波特率的调节范围,在波特率的调节范围内对通信设备输出波特率进行调节,以使通信设备输出能够正常通信的波特率,不仅可以实现通信设备正常通信,而且可以提高调节效率。

在其中一个实施例中,在所述判断通信设备在当前波特率下是否能够通信的步骤之后,还包括:当所述通信设备在所述当前波特率下能够通信时,输出所述当前波特率,不再执行后续步骤。

在其中一个实施例中,所述在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率的步骤,包括:根据所述通信双方实现通信的波特率最大差值,得到波特率的调节值;在所述调节范围内,根据所述调节值,对所述当前波特率进行调节,得到调节后的波特率。

在其中一个实施例中,所述在所述调节范围内,根据所述调节值,对所述当前波特率进行调节,得到调节后的波特率的步骤,包括:在所述调节范围内,对所述当前波特率与所述调节值进行求和,得到所述调节后的波特率。

在其中一个实施例中,所述调节值小于所述波特率最大差值。

在其中一个实施例中,所述调节值为所述波特率最大差值的1/2至3/4。

在其中一个实施例中,在所述的在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率步骤之前,还包括:根据所述调节范围,得到可调波特率;判断所述可调波特率是否均被所述调节后的波特率使用过;当存在未被所述调节后的波特率使用过的所述可调波特率时,执行所述在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率的步骤。

在其中一个实施例中,在所述判断所述可调波特率是否均被所述调节后的波特率使用过的步骤之后,还包括:当所述波特率可调节值均被所述调节后的波特率使用过,输出报警信号,不再执行后续步骤。

在其中一个实施例中,所述根据所述调节范围,得到可调波特率的步骤,包括:根据所述调节范围、所述初始波特率及所述通信双方实现通信的波特率最大差值,得到所述可调波特率。

在其中一个实施例中,一种通信设备,采用上述任一实施例所述的通信设备波特率调节方法对波特率进行调节。

附图说明

图1为本发明一个实施例中通信设备波特率调节方法的流程示意图;

图2为本发明另一个实施例中通信设备波特率调节方法的流程示意图;

图3为本发明又一个实施例中通信设备波特率调节方法的流程示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

例如,提供一种通信设备波特率调节方法,应用于通用异步收发传输器通信,包括:获取通信双方预定波特率;获取通信设备输出波特率的误差范围,根据所述预定波特率及所述误差范围,得到波特率的调节范围;根据所述预定波特率,输入初始波特率;判断通信设备在当前波特率下是否能够通信;当所述通信设备在所述当前波特率下不能通信时,在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率;将所述调节后的波特率作为所述当前波特率,返回继续执行判断通信设备在当前波特率下是否能够通信的步骤。

上述通信设备波特率调节方法,当通信设备因其输出波特率与设定值偏差大导致无法正常通信时,通过波特率的误差范围及预定波特率,以确定波特率的调节范围,在波特率的调节范围内对通信设备输出波特率进行调节,以使通信设备输出能够正常通信的波特率,不仅可以实现通信设备正常通信,而且可以提高调节效率。

在其中一个实施例中,请参阅图1,一种通信设备波特率调节方法,应用于通用异步收发传输器通信,包括以下步骤:

s110,获取通信双方预定波特率。

具体的,通信双方预定波特率即通信设备与另一通信设备约定的波特率,通信双方即通信设备与另一通信设备,在uart通信中,通信双方在通信前需要预定波特率才能够实现通信,即通信双方的输出的波特率需要调节至一致,或通信双方输出的波特率的差值在一定范围内才能够实现通信设备与另一通信设备正常通信。

s120,获取通信设备输出波特率的误差范围,根据所述预定波特率及所述误差范围,得到波特率的调节范围。

具体的,通信设备包括波特率发生器,其可以输出波特率,由于每一通信设备输出的波特率都有一定精度,其输出的波特率与设定值存在一定偏差,则通信设备输出波特率的误差范围是指通信设备根据设定值输出的波特率与设定值的偏差范围,一般的,每一型号的通信设备在其出厂时均会对其输出的波特率的误差范围进行测量,并将误差范围在铭牌上写明,因此,用户通过查看通信设备的铭牌即可以获得通信设备输出波特率的误差范围,此外,相同类型振荡源的通信设备其误差范围也是相近的,用户也可以根据通信设备所采用的振荡源的型号获取通信设备输出波特率的误差范围。

具体的,波特率的调节范围即对通信设备输出的波特率进行调节的范围值,其可以根据通信设备输出波特率误差范围及预定波特率得到,波特率的调节范围即通信设备设定值的调节范围,应当理解的是,对通信设备输出的波特率调节,以使其输出的波特率满足通信双方通信需求,若通信设备设定值调节幅度过大,则通信双方的波特率差值也越来越大,通信设备输出的波特率肯定无法实现通信设备正常通信,对波特率的调节也失去了意义,因此,通过限定通信设备的调节范围,可以提升波特率的调节效率。

s130,根据所述预定波特率,输入初始波特率。

具体的,根据所述预定波特率,输入初始波特率,即将通信设备的设定值设置为预定波特率,得到初始波特率,本实施例中,此时的初始波特率即预定波特率。应当理解的是,通信设备在与另一通信设备通信时,需要将通信设备的波特率进行调节值预定波特率,但由于通信设备的实际误差无法确定,因此通常会将通信设备的设定值设置在预定波特率,则初始波特率是指通信设备将设定值设置为预定波特率时,实际输出的波特率。

s140,判断通信设备在当前波特率下是否能够通信。

具体的,判断通信设备在当前波特率下是否能够通信,即判断通信设备是否正常通信,也就是判断所述通信设备的当前波特率与另一通信设备的波特率差值的绝对值是否在通信双方能够实现通信的波特率最大差值范围内。

具体的,当前波特率即通信设备当前产生的波特率,对于在输入初始波特率时,此时的当前波特率即初始波特率,对通信设备的波特率进行调节后,此时的当前波特率即调节后的波特率。

s150,当所述通信设备在所述当前波特率下不能通信时,在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率。

具体的,当通信设备不能正常通信,则说明通信设备的当前波特率与另一通信设备输出的波特率差值较大,需要对通信设备的波特率进行调节,寻找匹配的波特率以满足通信需求。应当理解的是,本实施例中,对当前波特率进行调节即通过改变通信设备设定值的以对当前波特率进行调节,波特率调节范围即通信设备设定值的调节范围。

具体的,对当前波特率调节,可以是将当前波特率调节至调节范围内任一值,也可以将当前波特率加上固定调节值,以对当前波特率进行调节,还可以是在所述调节范围内,选取多个波特率,将所述当前波特率调节至其中一个所选取的波特率。

s160,将所述调节后的波特率作为所述当前波特率,返回继续执行判断通信设备在当前波特率下是否能够通信的步骤。

具体的,将所述调节后的波特率作为当前波特率,以继续判断通信设备在调节后的波特率是否能够实现正常通信。本实施例中,只对该通信设备的波特率进行调节,与该通信设备通信的另一通信设备的波特率不作调节。

上述通信设备波特率调节方法,当通信设备因其输出波特率与设定值偏差大导致无法正常通信时,通过对通信设备的波特率进行调节,以寻找到合适的波特率,以实现通信双方的正常通信,此外,通过波特率的误差范围及预定波特率,以确定波特率的调节范围,在波特率的调节范围内对通信设备输出波特率进行调节,以缩小波特率调节区间,可以提高调节效率。

在其中一个实施例中,在所述判断通信设备在当前波特率下是否能够通信的步骤之后,还包括:当所述通信设备在所述当前波特率下能够通信时,输出所述当前波特率,不再执行后续步骤。一种通信设备波特率调节方法,应用于通用异步收发传输器通信,包括:获取通信双方预定波特率;获取通信设备输出波特率的误差范围,根据所述预定波特率及所述误差范围,得到波特率的调节范围;根据所述预定波特率,输入初始波特率;判断通信设备在当前波特率下是否能够通信;当所述通信设备在所述当前波特率下不能通信时,在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率;将所述调节后的波特率作为所述当前波特率,返回继续执行判断通信设备在当前波特率下是否能够通信的步骤,其余实施例以此类推。具体的,若通信设备在当前波特率下能够正常通信,则说明通信设备此时输出的波特率能够与另一通信设备正常通信的,输出当前波特率,以当前波特率作为该通信设备与另一通信设备通信时输出的波特率值,以实现通信双方的正常通信,进一步的,可以根据所述当前波特率,记录通信设备波特率此时的设定值,得到第一设定值,后续需要将该通信设备需要与另一通信设备通信时,只需将该通信设备的设定值调节至第一设定值,即可以实现通信双方正常通信。

在其中一个实施例中,请参阅图2,所述在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率的步骤,包括:s151,根据所述通信双方实现通信的波特率最大差值,得到波特率的调节值;s152,在所述调节范围内,根据所述调节值,对所述当前波特率进行调节,得到调节后的波特率。具体的,所述通信双方实现通信的波特率最大是只通信设备与另一通信设备能够正常通信的前提下,通信设备的波特率与另一通信设备的波特率最大差值,将波特率最大差值作为调节值,对所述当前波特率进行调节,使得波特率调节幅度小于最大差值,以避免因波特率调节幅度大导致调节后的波特率超出合适的波特率范围,此外,无需对波特率调节范围内每一波特率值进行调试,可以提高调节效率。

为了更好地寻找到合适的波特率,在其中一个实施例中,所述在所述调节范围内,根据所述调节值,对所述当前波特率进行调节,得到调节后的波特率的步骤,包括:在所述调节范围内,对所述当前波特率与所述调节值进行求和,得到调节后的波特率。具体的,每次对当前波特率进行调节时,将当前波特率加上调节值作为调节后的波特率,即对通信设备输出的波特率进行等差调节,以有序的方式对波特率进行调节,该调节方式简单便捷,可以更好地寻找合适的波特率。

在其中一个实施例中,所述调节值小于所述波特率最大差值。具体的,所述调节值小于波特率最大差值,对当前波特率进行每次调节时,其调节幅度小于波特率最大差值,也就是说,每次调节当前波特率时,其调节后的波特率不会越过合适的波特率,因此通过将调节值设置为小于所述波特率最大差值,可以更好地调节通信设备输出的波特率。

在其中一个实施例中,所述调节值为所述波特率最大差值的1/2至3/4。应当理解的是,所述调节值是指当前波特率每次调节的值,由于波特率是在一定范围内调节,调节值越大,整个调节过程调节次数越少,寻找合适的波特率的效率也越高,但调节值越大伴随着调节精度误差也越大,调节后的波特率可能越过合适的波特率,影响调节的准确性;调节值越小,波特率调节的准确性越高,但整个调节过程调节次数越多,寻找合适的波特率的效率越低,因此,需要找到一个合适的调节值,即能保证波特率调节效率,又能保证波特率调节精度。当所述调节值为所述波特率最大差值的1/2至3/4,则当前波特率每次调节的值均在波特率最大差值内,且当前波特率在两次调节后,其调节幅度超过波特率最大范围,从而可以保证波特率调节精度的同时,至少能够提升52%的调节效率。在其中一个实施例中,所述调节值为所述波特率最大差值的2/3。

在其中一个实施例中,在所述的在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率步骤之前,还包括:根据所述调节范围,得到可调波特率;判断所述可调波特率是否均被所述调节后的波特率使用过;当存在未被所述调节后的波特率使用过的所述可调波特率时,执行所述在所述调节范围内,对所述当前波特率进行调节,得到调节后的波特率的步骤。具体的,所述可调波特率是指在波特率调节范围内选取多个具有代表性的波特率,通过判断所述可调波特率是否均被所述调节后的波特率使用过,以判断波特率调节范围内是否存在能够实现通信设备正常通信的波特率,当存在未被所述调节后的波特率使用过的所述可调波特率,说明波特率调节范围内的值还存在可以实现通信设备正常通信的波特率,因此需要对波特率进行调节,以更好地寻找到合适的波特率。

在其中一个实施例中,在所述判断所述可调波特率是否均被所述调节后的波特率使用过的步骤之后,还包括:当所述波特率可调节值均被所述调节后的波特率使用过,输出报警信号,不再执行后续步骤。具体的,当所述波特率可调节值均被所述调节后的波特率使用过,仍然无法实现通信设备正常通信,则说明该通信设备出现异常,再对其进行波特率调节,也无法实现通信设备正常通信,此时,输出报警信号,以提醒用户通信设备出现异常,进一步的,可以避免调节程序进入死循环,即避免调节程序出现bug。

在其中一个实施例中,所述根据所述调节范围,得到可调波特率的步骤,包括:根据所述调节范围、所述初始波特率及所述通信双方实现通信的波特率最大差值,得到所述可调波特率。具体的,通过所述调节范围、所述初始波特率及所述通信双方实现通信的波特率最大差值,可以得到所述可调波特率,相邻两个波特率的差值小于波特率最大差值,如果所述通信设备的波特率调节范围,存在能够与另一通信设备正常通信的波特率区间,则所述可调波特率中至少有一个数值落入该波特率区间,也就是说,所述可调波特率中不存在任一个值满足通信双方正常通信,则可以说明通信设备出现异常,如此,通过判断所述可调波特率是否都使用了,即可以判断波特率调节范围内是否存在能够正常通信的波特率,不需对所有波特率范围内所有波特率进行判断,进一步提高调节效率。在其中一个实施例中,所述根据所述波特率调节范围,得到可调波特率的步骤,包括:根据所述波特率调节范围、所述初始波特率及所述调节值,得到所述可调波特率。即可调波特率是指在所述波特率调节范围内,以所述调节值为公差,所述初始波特率等差数列中其中一个数值的数据集合,在其中一个实施例中,所述调节值根据所述可调节波特率设定,或者所述可调节波特率根据所述调节值,即通信设备对波特率进行调节时,只需将这些值试过即可,无需对其他值进行调试,以进一步提高调节效率。

以下是一个具体的实施例,请参阅图3,所述通信设备波特率调节方法包括:

s210,获取通信双方预定波特率。

s220,获取通信设备输出波特率的误差范围,根据所述预定波特率及所述误差范围,得到波特率的调节范围。

s230,根据所述预定波特率,输入初始波特率。

s240,判断通信设备在当前波特率下是否能够通信;若否,执行步骤s250;若是,执行s260。

s250,根据所述调节范围、所述初始波特率及所述通信双方实现通信的波特率最大差值,得到可调波特率,判断所述可调波特率是否均被调节后的波特率使用过;若否,执行步骤s270,若是,执行步骤s290。

s260,输出所述当前波特率,不再执行后续步骤。

s270,根据所述通信双方实现通信的波特率最大差值,得到波特率的调节值;在所述调节范围内,根据所述调节值,对所述当前波特率进行调节,得到调节后的波特率,其中,所述调节值小于所述波特率最大差值。

s280,将所述调节后的波特率作为所述当前波特率,返回继续执行s240。

s290,输出报警信号,不再执行后续步骤。

在其中一个实施例中,一种通信设备,采用上述任一实施例所述的通信设备波特率调节方法对所述通信设备输出的波特率进行调节。具体的,所述通信设备用于与另一通信设备通信,所述通信设备在于另一通信设备通信时,采用所述通信设备波特率调节方法对该通信设备输出的波特率进行调节,以寻找到能够实现通信的波特率。

上述通信设备,当通信设备因其输出波特率与设定值偏差大导致无法正常通信时,通过波特率的误差范围及预定波特率,以确定波特率的调节范围,在波特率的调节范围内对通信设备输出波特率进行调节,以使通信设备输出能够正常通信的波特率,不仅可以实现通信设备正常通信,而且可以提高调节效率。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1