[发明专利]一种串口通信波特率自适应方法、系统及设备有效
申请号: | 201711463331.9 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108170630B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 陈波 | 申请(专利权)人: | 杭州万高科技股份有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 310053 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 串口 通信 波特率 自适应 方法 系统 设备 | ||
本发明公开了一种串口通信波特率自适应方法包括:S1:判断串口的通信模块是否处于自适应状态;若是,则进入S2;若否,则进入S3;S2:通过预设字节计算通信模块的波特率;S3:判断通信模块以所述波特率通信是否正确;若是,则进入S4;若否,则进入S2;S4:通过预设字节测量串口内部的当前HRC值;S5:判断当前HRC值与上一时刻的HRC值的差值是否小于预设值;若是,则将当前HRC值作为上一时刻的HRC值。本发明公开的串口通信波特率自适应方法在内部时钟源不稳定的情况下,确保串口通信的实时性和抗干扰性。本发明还公开了一种串口通信波特率自适应系统及设备和一种计算机可读存储介质,同样能实现上述技术效果。
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种串口通信波特率自适应方法、系统及设备和一种计算机可读存储介质。
背景技术
串口通信因为成本低、易于实现,是目前嵌入式系统中常用的一种通信模式。在串口通信中,“波特率”是用来描述通信速度的单位。在通信中,只有通信双方的波特率相同才能确保通信的正常进行,这为串口通信设备的使用带来了不便,尤其是当对一方对另一方波特率未知的时候。如果能实现串口通信波特率的自适应,无疑会提高串口通信设备使用的灵活性和通用性。
目前波特率自适应常用的两种方式是:标准波特率穷举法和码元宽度实时检测法。波特率穷举法要求通信设备波特率只能在有限的固定值之间变化,串行设备启动后,逐个尝试以不同的波特率接收数据终端发出的特征字符,直到能正确接收为止。这种办法效率很低,对于实时通信要求高的地方,无法确保通信的及时性。
码元宽度实时检测法要求数据终端按照约定发送特征字符,串行设备测量输入数据的码元宽度,而后计算出待测的波特率。该方法目前应用比较广泛。但如果因为外部电路造成了波形的畸变,则计算出的波特率就会有较大的误差,影响通信的成功率。
同时,以上两种自适应方法都是基于系统工作在一个稳定的时钟源上,但是目前很多MCU(英文全称:Micro Control Unit,中文全称:微控制单元)为了节省成本,都相继采用无晶振设计,通过内部的HRC(时钟源)作为系统的时钟源,内部HRC会随着温度有大约±5%的频率变化,而这个变化会影响波特率的正确性。
因此,如何在内部时钟源不稳定的情况下,确保串口通信的实时性和抗干扰性是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种串口通信波特率自适应方法、系统及设备和一种计算机可读存储介质,在内部时钟源不稳定的情况下,确保串口通信的实时性和抗干扰性。
为实现上述目的,本发明实施例提供了一种串口通信波特率自适应方法,包括:
S101:判断所述串口的通信模块是否处于自适应状态;若是,则进入S102;若否,则进入S103;
S102:通过预设字节计算所述通信模块的波特率;
S103:判断所述通信模块以所述波特率通信是否正确;若是,则进入S104;若否,则进入S102;
S104:通过所述预设字节测量所述串口内部的当前HRC值;
S105:判断当前HRC值与上一时刻的HRC值的差值是否小于预设值;若是,则将当前HRC值作为上一时刻的HRC值。
其中,判断所述串口的通信模块是否处于自适应状态包括:
判断所述串口是否进行复位操作,判断所述通信模块以当前波特率通信是否错误;
若均是,则所述串口的通信模块处于自适应状态。
其中,所述S102包括:
通过所述0x7D字节计算所述通信模块的通信波形两个下降沿之间的第一采集点数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州万高科技股份有限公司,未经杭州万高科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711463331.9/2.html,转载请声明来源钻瓜专利网。