[发明专利]一种基于查询方式模拟串口通信的方法和装置有效
申请号: | 201780009007.1 | 申请日: | 2017-11-29 |
公开(公告)号: | CN108701112B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 龚铭;吴志明;刘光林 | 申请(专利权)人: | 深圳和而泰智能控制股份有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 宋建平 |
地址: | 518000 广东省深圳市高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 查询 方式 模拟 串口 通信 方法 装置 | ||
一种基于查询方式模拟串口通信的方法,由定时器以及通用IO接口来模拟串口通信,包括以下步骤:模拟串口接收数据时,控制该定时器以第一中断时间(T1)定时采样该通用IO接口的电平;当查询到数据报文的起始位时,对该第一中断时间(T1)的采样点延时指定时间(T)后,调整该定时器的第一中断时间为第二中断时间(T2)进行采样,按位接收该数据报文;完成接收该数据报文的停止位后,恢复该定时器以该第一中断时间(T1)定时查询该通用IO接口的电平。
技术领域
本申请涉及通信技术领域,具体涉及一种基于查询方式模拟串口通信的方法和装置。
背景技术
在工业控制领域,串口因为协议简单使用方便,因此使用非常普遍。串行接口采用串行通信方式的扩展接口,将数据一位一位地顺序传送。
随着工业控制终端的功能集成和扩展,很多工业控制终端会碰到微控制器(Microcontroller Unit,MCU)硬件串口资源不足的情况。而更换微控制器或者使用串口扩展芯片会产生额外的硬件开销,从而增加产品的研发和生产成本,因此,就需要用软件来模拟串口通信。
现有的软件模拟串口的方法,一般通过使用微控制器的可中断IO接口来检测通信线上的边沿信号,不仅增加了微控制器选型的局限性,同时对于微控制器的时钟精度要求较高。
现有的模拟串口通信方法,需要具有外部中断能力的IO接口才可作为通信口使用,对IO接口的要求特殊,会增加产品的微控制器的选型局限性。并且,利用中断边沿来录制电平波形,会将两个数据报文之间的空闲时间记录在数据时间中,还需要额外增加数据解析处理程序。该数据解析处理程序需从该电平波形中提取出数据报文,并判断一帧数据报文是否接受完毕,因此数据通信处理过程复杂,影响串口通信效率。并且微控制器的时钟一般都存在误差,微控制器的时钟误差也会给模拟串口通信带来不稳定因素,出现通信异常或者数据出错。
因此,现有技术的模拟串口技术还有待于改进。
发明内容
本申请针对以上要解决的技术问题,提供一种基于查询方式模拟串口通信的方法和装置,采用通用定时器和通用IO接口即可实现模拟串口通信功能,同时通过动态调整数据报文起始位的定时中断时间,以较长的第二中断时间完成数据接收,再恢复回第一中断时间进行检测采样,避免了微控制器时钟误差造成的通信数据异常,提高数据接收准确率。
第一方面,本申请实施例提供了一种基于查询方式模拟串口通信的方法,由定时器以及通用IO接口来模拟串口通信,包括以下步骤:
模拟串口接收数据时,控制该定时器以第一中断时间(T1)定时采样该通用IO接口的电平;
当查询到数据报文的起始位时,对第一中断时间(T1)的采样点延时指定时间(T)后,调整该定时器的第一中断时间为第二中断时间(T2)进行采样,按位接收该数据报文;
完成接收该数据报文的停止位后,恢复该定时器以该第一中断时间(T1)定时查询该通用IO接口的电平。
该模拟串口发送数据时,根据通用IO接口的比特率设定该定时器的第三中断时间(T3),在每个第三中断时间的周期内根据发送数据报文的数据位设定模拟串口的电平状态,当一个数据报文发送完成后停止定时器。
其中,该定时器的第一中断时间(T1)为:T1=T2-2T;
该定时器的第二中断时间(T2)为:其中A为通信比特率;
该定时器的第三中断时间(T3)为:其中A为通信比特率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳和而泰智能控制股份有限公司,未经深圳和而泰智能控制股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780009007.1/2.html,转载请声明来源钻瓜专利网。