本申请提供了一种串行通信的波特率识别方法、装置、微控制器及系统,方法包括:获取脉冲宽度数据,脉冲宽度数据包括八个脉冲宽度时间;确定脉冲宽度数据是否满足第一预设条件;当脉冲宽度数据满足第一预设条件时,从脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间;计算除最大的脉冲宽度时间和最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间;基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件;当脉冲宽度数据满足第二预设条件时,通过平均脉冲宽度时间确定串行通信的波特率。本申请提供方法、装置、微控制器及系统,可解决由干扰造成的波特率计算错误的问题,能够提高串行通信的可靠性。
【技术实现步骤摘要】
串行通信的波特率识别方法、装置、微控制器及系统
本专利技术涉及串行通信
,尤其涉及一种串行通信的波特率识别方法、装置、微控制器及系统。
技术介绍
对于串行通讯,只有通信双方波特率相同时,才能实现数据的正确传输与接收。而一些系统总是希望能实现对各种波特率的兼容。通常的实现方法是,要求对方首先发出规定的字符或数据,系统收到该字符和数据后,计算对方的波特率,以适应对方的波特率进行工作。专利技术人在实现本专利技术创造的过程中发现:目前采用的自适应的波特率识别方法大多为采用测量脉冲宽度后求平均值的计算方法,然而,采用直接求平均值得计算方法存在风险,当数据受到干扰后,会导致计算错误,进而导致数据通讯失败。
技术实现思路
有鉴于此,本专利技术提供了一种串行通信的波特率识别方法及装置,用以解决现有技术中的采用的自适应的波特率识别方法存在风险,当数据受到干扰后,会导致计算错误,进而导致数据通讯失败的问题,其技术方案如下:一种串行通信的波特率识别方法,应用于微控制器,所述方法包括: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:基于平均脉冲宽度时间确定脉冲宽度数据是否满足第二预设条件。其中,第二预设本文档来自技高网...
【技术保护点】
一种串行通信的波特率识别方法,其特征在于,应用于微控制器,所述方法包括: a:获取脉冲宽度数据,所述脉冲宽度数据包括8个脉冲宽度时间; b:确定所述脉冲宽度数据是否满足第一预设条件; c:当所述脉冲宽度数据满足所述第一预设条件时,从所述脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间; d:计算除所述最大的脉冲宽度时间和所述最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间; e:基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件; f:当所述脉冲宽度数据满足第二预设条件时,通过所述平均脉冲宽度时间确定串行通信的波特率。
【技术特征摘要】
1.一种串行通信的波特率识别方法,其特征在于,应用于微控制器,所述方法包括:a:获取脉冲宽度数据,所述脉冲宽度数据包括8个脉冲宽度时间;b:确定所述脉冲宽度数据是否满足第一预设条件;c:当所述脉冲宽度数据满足所述第一预设条件时,从所述脉冲宽度数据中确定出最大的脉冲宽度时间和最小的脉冲宽度时间;d:计算除所述最大的脉冲宽度时间和所述最小的脉冲宽度时间外的其它脉冲宽度时间的平均脉冲宽度时间;e:基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件;f:当所述脉冲宽度数据满足第二预设条件时,通过所述平均脉冲宽度时间确定串行通信的波特率;其中,所述确定所述脉冲宽度数据是否满足第一预设条件,包括:计算所述8个脉冲宽度时间的累加时间,并判断所述累加时间是否小于设定的时间阈值;当所述累加时间小于设定的时间阈值时,确定所述脉冲宽度数据满足所述第一预设条件,否则,确定所述脉冲宽度数据不满足所述第一预设条件。2.根据权利要求1所述的方法,其特征在于,所述基于所述平均脉冲宽度时间确定所述脉冲宽度数据是否满足第二预设条件,包括:分别计算所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值,并判断所述差值的绝对值是否小于或等于设定的脉冲宽度门限值;当所述8个脉冲宽度时间与所述平均脉冲宽度时间差值的绝对值均小于或等于所述设定的脉冲宽度门限值时,确定所述脉冲宽度数据满足所述第二预设条件,否则,确定所述脉冲宽度数据不满足第二预设条件。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述脉冲宽度数据不满足所述第一预设条件时,转入步骤a。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述脉冲宽度数据不满足所述第二预设条件时,转入步骤a。5.一种串行通信的波特率识别装置,其特征在于,应用于微控制器,所述装置包括:获取模块,用于获取脉冲宽度...
【专利技术属性】
技术研发人员:台生斌,吴晓东,付宽,曹海建,
申请(专利权)人:北京经纬恒润科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。