[发明专利]一种识别串口通信波特率的方法及可读取存储介质有效
申请号: | 202010224681.5 | 申请日: | 2020-03-26 |
公开(公告)号: | CN111427818B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 谢兵;李毅 | 申请(专利权)人: | 重庆智慧水务有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 重庆华科专利事务所 50123 | 代理人: | 谭小琴 |
地址: | 400052 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 识别 串口 通信 波特率 方法 读取 存储 介质 | ||
本发明所述的一种识别串口通信波特率的方法及可读取存储介质,涉及数据通信技术领域,通过捕获定时器获取串口信号同步码中相邻的两次上升沿与下降沿信号间的定时计数值;然后将获取到的定时计数值通过波特率计算公式,得到动态波特率参数;再将计算出的所述动态波特率参数去设置从设备的串口寄存器,使所述从设备中串口信号的通信波特率与主设备中串口信号的通信波特率保持一致。解决了主从设备在进行串口通信时,不再受到双方因实际波特率与要求的波特率存在误差或干扰信号,而导致不能通信的技术问题,提高了串口通信的可靠性与稳定性。
技术领域
本发明属于数据通信技术领域,具体涉及一种识别串口通信波特率的方法及可读取存储介质。
背景技术
串行接口(Serial Interface,简称串口)是指数据一位一位地顺序传送,是一种应用非常普遍的低速通信接口,其特点是通信线路简单,只要一对传输线就可以实现双向通信。波特率是一种衡量通信速度的参数,它表示每秒钟传送的bit的个数,连接到串口上的设备以约定的波特率进行通信,即串口两端的设备只有保持相同速率的条件下才能够实现正常通信,否则会出现调试指令无效、显示乱码。在工业领域,串口的使用非常普遍,很多产品会遇到硬件串口资源不足的情况。而更换MCU或者使用串口扩展芯片会产生额外的硬件开销,从而增加了产品的生产和研发成本。因此,在这种情况下,需要采用软件模拟来实现串口通信。
目前,使用比较普遍的软件模拟串口方法,采用了外部IO中断配合定时采样来捕捉数据的方法。这种方法的数据接收过程依赖于波特率的稳定,并且抗干扰能力较差。采用串口通信的应用场合,由于实际使用环境的复杂性,可能会产生许多干扰信号。例如使用串口进行红外通信,日光灯的红外光会造成信号的误触发,导致通信错误。在双方进行通信交流时,还经常因为双方通信的实际波特率跟要求的波特率存在误差,导致不能通信的情况也时有发生。
因此,有必要开发一种新的识别串口通信波特率的方法。
发明内容
有鉴于此,本发明的目的在于提供一种识别串口通信波特率的方法及可读取存储介质,用于解决现有方法中常出现干扰信号或双方通信实际波特率跟要求的波特率存在误差,导致不能通信的技术问题,以提高串口通信的可靠性与稳定性。
本发明提供了一种识别串口通信波特率的方法,包括获取串口信号的过程与发送串口信号的过程,包括如下步骤:通过捕获定时器获取所述串口信号同步码中相邻的两次上升沿与下降沿信号间的定时计数值;将获取到的所述定时计数值通过波特率计算公式,得到动态波特率参数;再将计算出的所述动态波特率参数去设置从设备的串口寄存器,使所述从设备串口信号的通信波特率与主设备串口信号的通信波特率一致。
进一步地,所述捕获定时器获取到串口信号同步码中相邻的两次上升沿与下降沿信号间的定时计数值,具体包括如下步骤:将串口信号接入单片机捕获引脚,产生两次上升沿信号与下降沿信号;将所述捕获定时器初始化,用于捕获第一次下降沿信号,并判断是否捕获到第一次下降沿信号,若未捕获到所述第一次下降沿信号,则继续捕获所述第一次下降沿信号,直至所述第一次下降沿信号被捕获,再设置所述捕获定时器,用于捕获第一次上升沿信号。
进一步地,若所述捕获定时器未捕获到所述第一次上升沿信号,则判断所述捕获定时器捕获是否接收超时;若所述捕获定时器捕获未接收超时,则继续捕获所述第一次上升沿信号,直至所述第一次上升沿信号被捕获;若所述捕获定时器捕获接收超时,所述捕获定时器则重新初始化;若所述捕获定时器捕获到所述第一次上升沿信号,通过CPU可读取定时器读取低电平的定时计数值,并通过单片机判断所述第一次上升沿信号是否为干扰信号。
进一步地,若判断出所述第一次上升沿信号是干扰信号,则结束信号的捕获过程;若判断出所述第一次上升沿信号不是干扰信号,则完成第一次上升沿信号的捕获,通过CPU可读取定时器读取并记录所述定时计数值CAP_01在timer计数器中,上传所述定时计数值后timer计数器清零,并通过捕获定时器进行第二次下降沿信号捕获。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆智慧水务有限公司,未经重庆智慧水务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010224681.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种PLC程序监控系统及方法
- 下一篇:一种大数据的数据存储系统及方法