首页> 中国专利> 串行通信的波特率识别方法、装置、微控制器及系统

串行通信的波特率识别方法、装置、微控制器及系统

摘要

本申请提供了一种串行通信的波特率识别方法、装置、微控制器及系统,方法包括:获取脉冲宽度数据,脉冲宽度数据包括八个脉冲宽度时间;确定脉冲宽度数据是否满足第一预设条件;当脉冲宽度数据满足第一预设条件时,从脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间;计算除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间;基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件;当脉冲宽度数据满足第二预设条件时,通过平均脉冲宽度时间确定串行通信的波特率。本申请提供方法、装置、微控制器及系统,可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。

著录项

  • 公开/公告号CN103970698A

    专利类型发明专利

  • 公开/公告日2014-08-06

    原文格式PDF

  • 申请/专利权人 北京经纬恒润科技有限公司;

    申请/专利号CN201410072302.X

  • 发明设计人 台生斌;吴晓东;付宽;曹海建;

    申请日2014-02-28

  • 分类号G06F13/38(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人王宝筠

  • 地址 100101 北京市朝阳区安翔北里11号B座8层

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-22

    授权

    授权

  • 2014-09-03

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20140228

    实质审查的生效

  • 2014-08-06

    公开

    公开

说明书

技术领域

本发明涉及串行通信技术领域,尤其涉及一种串行通信的波特率识别方法、装置、微控制器及系统。>

背景技术

对于串行通讯,只有通信双方波特率相同时,才能实现数据的正确传输与接收。而一些系统总是希望能实现对各种波特率的兼容。通常的实现方法是,要求对方首先发出规定的字符或数据,系统收到该字符和数据后,计算对方的波特率,以适应对方的波特率进行工作。>

发明人在实现本发明创造的过程中发现:目前采用的自适应的波特率识别方法大多为采用测量脉冲宽度后求平均值的计算方法,然而,采用直接求平均值得计算方法存在风险,当数据受到干扰后,会导致计算错误,进而导致数据通讯失败。>

发明内容

有鉴于此,本发明提供了一种串行通信的波特率识别方法及装置,用以解决现有技术中的采用的自适应的波特率识别方法存在风险,当数据受到干扰后,会导致计算错误,进而导致数据通讯失败的问题,其技术方案如下:>

一种串行通信的波特率识别方法,应用于微控制器,所述方法包括:>

a:获取脉冲宽度数据,所述脉冲宽度数据包括8个脉冲宽度时间;>

b:确定所述脉冲宽度数据是否满足第一预设条件;>

c:当所述脉冲宽度数据满足所述第一预设条件时,从所述脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间;>

d:计算除所述最大的脉冲宽度时间和所述最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间;>

e:基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件;>

f:当所述脉冲宽度数据满足第二预设条件时,通过所述平均脉冲宽度时间确定串行通信的波特率。>

其中,所述确定所述脉冲宽度数据是否满足第一预设条件,包括:>

计算所述8个脉冲宽度时间的累加时间,并判断所述累加时间是否小于设定的时间阈值;>

当所述累加时间小于设定的时间阈值时,确定所述脉冲宽度数据满足所述第一预设条件,否则,确定所述脉冲宽度数据不满足所述第一预设条件。>

其中,所述基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件,包括:>

分别计算所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值,并判断所述差值的绝对值是否小于或等于设定的脉冲宽度门限值;>

当所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值均小于或等于所述设定的脉冲宽度门限值时,确定所述脉冲宽度数据满足所述第二预设条件,否则,确定所述脉冲宽度数据不满足第二预设条件。>

所述方法还包括:>

当所述脉冲宽度数据不满足所述第一预设条件时,转入步骤a。>

所述方法还包括:>

当所述脉冲宽度数据不满足第二预设条件时,转入步骤a。>

一种串行通信的波特率识别装置,应用于微控制器,所述装置包括:>

获取模块,用于获取脉冲宽度数据,所述脉冲宽度数据包括8个脉冲宽度时间;>

第一确定模块,用于确定所述获取模块获取的所述脉冲宽度数据是否满足第一预设条件;>

第二确定模块,用于当所述第一确定模块确定出所述脉冲宽度数据满足所述第一预设条件时,从所述脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间;>

计算模块,用于计算除所述第二确定模块确定出的所述最大的脉冲宽度时间和所述最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间;>

第三确定模块,用于基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件;>

第四确定模块,用于当所述脉冲宽度数据满足所述第二预设条件时,通过所述平均脉冲宽度时间确定串行通信的波特率。>

其中,所述第一确定模块包括:>

第一计算子模块,用于计算所述8个脉冲宽度时间的累加时间;>

第一判断子模块,用于判断所述第一计算子模块计算出的所述累加时间是否小于设定的时间阈值;>

第一确定子模块,用于当所述第一判断子模块判断出所述累加时间小于所述设定的时间阈值时,确定所述脉冲宽度数据满足所述第一预设条件,否则,确定所述脉冲宽度数据不满足所述第一预设条件。>

其中,所述第三确定模块包括:>

第二计算子模块,用于分别计算所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值;>

第二判断子模块,用于判断所述第二计算子模块计算的所述差值的绝对值是否小于或等于设定的脉冲宽度门限值;>

第二确定子模块,用于当所述第二判断子模块判断出所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值均小于或等于所述设定的脉冲宽度门限值时,确定所述脉冲宽度数据满足第二预设条件,否则,确定所述脉冲宽度数据不满足第二预设条件。>

一种微控制器,包括:上述的串行通信的波特率识别装置。>

一种串行通信的波特率识别系统,至少包括:上述的微控制器。>

上述技术方案具有如下有益效果:>

本发明提供的串行通信的波特率识别方法、装置、微控制器及系统,当接收到脉冲宽度数据满足第一预设条件时,通过除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间计算平均脉冲宽度时间,在基于平 均脉冲宽度时间确定出脉冲宽度数据满足第二预设条件时,通过平均脉冲宽度时间确定波特率。本发明实施例提供的串行通信的波特率识别方法、装置、微控制器及系统可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。>

图1为本发明实施例提供的一种串行通信的波特率识别方法的流程示意图;>

图2为本发明实施例提供的另一种串行通信的波特率识别方法的流程示意图;>

图3为8个脉冲的示意图;>

图4为本发明实施例提供的一种串行通信的波特率识别装置40的结构示意图;>

图5为本发明实施例提供的串行通信的波特率识别装置中第一确定模块402的结构示意图;>

图6为本发明实施例提供的串行通信的波特率识别装置中第三确定模块405的结构示意图;>

图7为本发明实施例提供的微控制器70的结构示意图;>

图8为本发明实施例提供的一种串行通信的波特率识别系统80的结构示意图。>

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。>

请参阅图1,为本发明实施例提供的一种串行通信的波特率识别方法的流程示意图,该方法应用于微控制器,该方法可以包括:>

步骤S101:获取脉冲宽度数据。>

其中,脉冲宽度数据包括8个脉冲宽度时间。>

步骤S102:确定脉冲宽度数据是否满足第一预设条件。>

其中,第一预设条件可以为8个脉冲宽度时间的累加时间小于设定的时间阈值。>

则确定脉冲宽度数据是否满足第一预设条件具体为:计算8个脉冲宽度时间的累加时间,并判断累加时间是否小于设定的时间阈值,如果累加时间小于设定的时间阈值,则确定脉冲宽度数据满足第一预设条件,否则,确定脉冲宽度数据不满足第一预设条件。>

步骤S103:当脉冲宽度数据满足第一预设条件时,从脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间。>

步骤S104:计算除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间。>

步骤S105:基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件。>

其中,第二预设条件可以为8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值均小于或等于设定的脉冲宽度门限值时。>

则基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件,具体为:分别计算8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值,并判断差值的绝对值是否大于设定的脉冲宽度门限值,如果8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值均小于或等于设定的脉冲宽度门限值,则确定脉冲宽度数据满足第二预设条件,否则,确定脉冲宽度数据不满足第二预设条件。>

步骤S106:当脉冲宽度数据满足第二预设条件时,通过平均脉冲宽度时间确定串行通信的波特率。>

具体的,串行通信的波特率为1/平均脉冲宽度时间。>

本发明实施例提供的串行通信的波特率识别方法中,当接收到脉冲宽度数据满足第一预设条件时,通过除最大的脉冲宽度时间和最小的脉冲宽度时 间外的其它脉冲宽度时间计算平均脉冲宽度时间,在基于平均脉冲宽度时间确定出脉冲宽度数据不满足第二预设条件时,通过平均脉冲宽度时间确定波特率。本发明实施例提供的串行通信的波特率识别方法可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

请参阅图2,为本发明实施例提供的另一种串行通信的波特率识别方法的流程示意图,该方法应用于微控制器,该方法可以包括:>

步骤S201:获取脉冲宽度数据。>

其中,脉冲宽度数据包括8个脉冲宽度时间。>

由于标准的串行通讯数据位为8位,因此,脉冲宽度数据为与8个脉冲对应的脉冲宽度时间。图3示出了8个脉冲的示意图。8个脉冲宽度时间分别为△t0、△t1、△t2、△t3、△t4、△t5、△t6和△t7。>

步骤S202:计算8个脉冲宽度时间的累加时间。>

8个脉冲宽度时间的累加时间为:>

ts=Σi=07Δti

步骤S203:判断累加时间是否小于设定的时间阈值,如果是,则转入步骤S204,否则,转入步骤S201。>

具体的,当累加时间ts<δ时,转入步骤S204。其中,δ即为设定的时间阈值。>

步骤S204:从8个脉冲宽度时间中确定出最大的脉冲宽度时间和最小的脉冲宽度时间。>

步骤S205:计算除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间。>

示例性的,8个脉冲宽度时间中最大的脉冲宽度时间为△t6,最小的脉冲宽度时间为△t7,则平均脉冲宽度时间为:>

Δt=Σi=05Δti8

步骤S206:分别计算8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值。>

步骤S207:判断8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值差值的绝对值是否均小于或等于设定的脉冲宽度门限值,如果是,则转入步骤S208,否则,转入步骤S201。>

具体的,当时,转入步骤S208。其中,ε即为设定的脉冲宽度门限值。其中,脉冲宽度门限值依据微控制器的测量误差设定。>

步骤S208:通过均脉冲宽度时间确定串行通信的波特率。>

具体的,为传输1二进制代码的时间,则串行通信的波特率为

本发明实施例提供的串行通信的波特率识别方法中,当8个脉冲宽度时间的累加时间小于设定的时间阈值时,通过除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间计算平均脉冲宽度时间,当8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值均小于或等于设定的脉冲宽度门限值时,通过均脉冲宽度时间确定串行通信的波特率。本发明实施例提供的串行通信的波特率识别方法可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

请参阅图4,为本发明实施例提供的一种串行通信的波特率识别装置40的结构示意图,该装置应用于微控制器,该装置可以包括:获取模块401、第一确定模块402、第二确定模块403、计算模块404、第三确定模块405和第四确定模块406。其中:>

获取模块401,用于获取脉冲宽度数据。>

其中,脉冲宽度数据包括8个脉冲宽度时间。>

第一确定模块402,用于确定获取模块401获取的脉冲宽度数据是否满足第一预设条件。>

第二确定模块403,用于当第一确定模块402确定出脉冲宽度数据满足第一预设条件时,从脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间。>

计算模块404,用于计算除第二确定模块403确定出的最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间。>

第三确定模块405,用于基于计算模块404计算出的平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件。>

第四确定模块406,用于当第三确定模块405确定出脉冲宽度数据满足第二预设条件时,通过平均脉冲宽度时间确定串行通信的波特率。>

本发明实施例提供的串行通信的波特率识别装置,当接收到脉冲宽度数据满足第一预设条件时,通过除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间计算平均脉冲宽度时间,在基于平均脉冲宽度时间确定出脉冲宽度数据不满足第二预设条件时,通过平均脉冲宽度时间确定波特率。本发明实施例提供的串行通信的波特率识别装置可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

进一步的,请参阅图5,为上述实施例中的第一确定模块402的结构示意图,可以包括:第一计算子模块4021、第一判断子模块4022和第一确定子模块4023。其中:>

第一计算子模块4021,用于计算8个脉冲宽度时间的累加时间。>

第一判断子模块4022,用于判断第一计算子模块4021计算出的累加时间是否小于设定的时间阈值。>

第一确定子模块4023,用于当第一判断子模块4022判断出累加时间小于设定的时间阈值时,确定脉冲宽度数据满足第一预设条件,否则,确定脉冲宽度数据不满足第一预设条件。>

进一步的,请参阅图6,为上述实施例中的第一确定模块405的结构示意图,可以包括:第二计算子模块4051、第二判断子模块4052和第二确定子模块4053。其中:>

第二计算子模块4051,用于分别计算8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值。>

第二判断子模块4052,用于判断第二计算子模块4051计算的差值的绝对值是否小于或等于设定的脉冲宽度门限值。>

第二确定子模块4053,用于当第二判断子模块4052判断出8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值均小于或等于设定的脉冲宽度门限值时,确定脉冲宽度数据满足第二预设条件,否则,确定脉冲宽度数据不满足第二预设条件。>

请参阅图7,为本发明实施例提供的一种微控制器70的结构示意图,该微控制器设置有上述实施例提供的串行通信的波特率识别装置40。设置有串行通信的波特率识别装置40的微控制器70可以解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

请参阅图8,为本发明实施例提供的一种串行通信的波特率识别系统80的结构示意图,该系统可以包括:微控制器801,该微控制器801可以为上述实施例提供的微控制器,本发明实施例提供的串行通信的波特率识别系统除了包括微控制器801外,还可以包括:串行通信接口802和通信波特率采集电路803。其中:>

串行通信接口802,用于接收脉冲信号,并将脉冲信号传输至微控制器801。>

通信波特率采集电路803,用于采集脉冲信号的脉冲宽度数据。>

微控制器801,用于识别串行通信的波特率,具体的,获取通信波特率采集电路803采集的脉冲宽度数据,脉冲宽度数据包括8个脉冲宽度时间,确定通信接口802获取的脉冲宽度数据是否满足第一预设条件,当脉冲宽度数据不满足第一预设条件时,从脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间,计算除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间,基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件,当脉冲宽度数据不满足第二预设条件时,通过平均脉冲宽度时间确定串行通信的波特率,并按确定出的波特率接收串行通信接口802传输的脉冲信号。>

其中,第一预设条件为8个脉冲宽度时间的累加时间小于设定的时间阈值。>

其中,第二预设条件为8个脉冲宽度时间与平均脉冲宽度时间差值的绝对值均小于或等于设定的脉冲宽度门限值时。>

本发明实施例提供的串行通信的波特率识别系统,可以解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。>

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。>

在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。>

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。>

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。>

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。>

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。>

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号