[发明专利]基于定时器录波的串口通讯方法有效
申请号: | 201410002214.2 | 申请日: | 2014-01-03 |
公开(公告)号: | CN103699509A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 陈星;刘笑菲;吴章宪 | 申请(专利权)人: | 烟台东方威思顿电气有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 烟台双联专利事务所(普通合伙) 37225 | 代理人: | 梁翠荣 |
地址: | 264000 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 定时器 串口 通讯 方法 | ||
技术领域
本发明属于数据通信领域,涉及一种采用定时器录波模拟串口通信的方法,可用于在硬件串口资源较少的MCU上实现串口通信。
背景技术
在工业领域,串口的使用非常普遍,很多产品会遇到硬件串口资源不足的情况。而更换MCU或者使用串口扩展芯片会产生额外的硬件开销,从而增加了产品的生产和研发成本。因此,在这种情况下,需要采用软件模拟来实现串口通信。
目前,使用比较普遍的软件模拟串口方法,采用了外部IO中断配合定时采样来捕捉数据的方法。这种方法的数据接收过程依赖于波特率的稳定,并且抗干扰能力较差。
由于生产MCU的硬件厂商较多,生产工艺以及时钟频率的差异性导致了串口波特率会有细微的差异,而基于定时采样捕捉数据的方法在接收数据的过程中可能会因为波特率的差异造成对信号的误采样,从而导致通信错误。
采用串口通信的应用场合,由于实际使用环境的复杂性,可能会产生许多干扰信号。例如使用串口进行红外通信,日光灯的红外光会造成信号的误触发,导致通信错误。
发明内容
本发明所要解决的技术问题是,提供一种基于定时器录波的串口通讯方法,以提高软件模拟串口通信的稳定性和可靠性。以克服现有方法出现的依赖波特率稳定性以及抗干扰能力较差的缺点。
实现本发明目的的技术方案如下:
一种基于定时器录波的串口通讯方法,包括模拟串口的接收过程和模拟串口的发送过程,其特征在于模拟串口的接收过程为:首先,使用MCU定时器的捕获功能来捕捉接收数据上升沿和下降沿发生的时间,达到录制数据波形的目的;然后,计算捕获到的波形发生时间,得到接收到的数据;发送数据时,根据模拟串口波特率设定定时器周期,启动定时器,每个周期中根据要发送的数据的数据位设定模拟串口发送数据脚的状态,当一个字节的数据发送完成后停止定时器。
所述的基于定时器录波的串口通讯方法,其特征在于,所述模拟串口的接收过程为:
(1)、将串口接收引脚配置为IO下降沿触发中断,根据中断确定起始位;
(2)、当下降沿中断被触发后,关闭IO下降沿中断,将串口接收引脚重新配置为定时器捕获通道输入引脚,配置“捕获定时器”为上升沿、下降沿同时捕获模式,开启捕获中断,根据捕获发生的时刻录制接收数据的波形;
(3)、根据捕获到的数据波形,处理得到二进制数据。
所述的基于定时器录波的串口通讯方法,其特征在于,所述模拟串口的发送过程为:
(1)、将串口发送引脚初始化为输出模式,在空闲状态保持高电平;
(2)、当需要发送数据时,根据所需波特率设置定时器周期,根据需要发送数据的高低电平状态,利用定时器延时,将发送引脚置高或者置低,完成一帧数据的发送。
所述的基于定时器录波的串口通讯方法,其特征在于,其中步骤(2)如下:
(2a)、当下降沿中断被触发后,关闭IO下降沿中断,将串口接收引脚重新配置为定时器捕获通道输入引脚,将该定时器记为“捕获定时器”,根据串口通信的波特率和校验方式配置捕获定时器的计时周期:
, <1>
其中, 表示“捕获定时器”计时周期,表示串口通信波特率,表示起始位位数,表示数据位位数,表示校验位位数,表示停止位位数;
(2b)、配置“捕获定时器”为上升沿、下降沿同时捕获模式,开启捕获中断,开启定时器计数溢出中断,启动“捕获定时器”;
(2c)、当捕获中断被第一次触发时,记录此时定时器捕获的时刻,设为,若, 为数据位最小时间阈值,则认为该次触发为误触发,关闭“捕获定时器”,跳转至步骤(1a);若,则认为数据接收正确,继续执行步骤(2d);
(2d)、当捕获中断被连续触发时,分别记录各个捕获时刻为,其中,表示定时器捕获第N次触发时的数值。
所述的基于定时器录波的串口通讯方法,其特征在于,其中程步骤(3)如下:
(3a)、“捕获定时器”计数溢出中断触发后,表示一帧数据已经接收完毕,根据记录的数值,可以得到该帧数据的高低电平持续时间:
<2>
其中,表示低电平数据位持续时间,表示高电平数据位持续时间;表示向下取整;
(3b)、根据的时值,将映射至相应的数据位,设表示起始位,表示数据位的第一位至第八位,如果有校验位,则表示校验位,表示停止位;如果没有校验位,则表示停止位;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台东方威思顿电气有限公司,未经烟台东方威思顿电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410002214.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种炭/陶复合材料的制造方法
- 下一篇:窗口防盗报警花槽的制造方法