一种UART接口的数据接收方法和装置制造方法及图纸

技术编号:23470522 阅读:21 留言:0更新日期:2020-03-06 12:39
本发明专利技术提供了一种UART接口的数据接收方法和装置,包括:采样模块,用于分别在工作时钟的上升沿和下降沿对接收信号进行采样,获取对应的采样值;起始检测模块,与所述采样模块电连接,用于当在空闲态检测到所述采样值由高电平翻转为低电平时,则立即进入数据接收态;数据接收模块,与所述采样模块和所述起始检测模块电连接,用于在数据接收态,根据码元周期内的采样值得到相应位的判决值。本发明专利技术可以改善因接收工作时钟的频率低、偏差大等造成的接收误码问题。

A data receiving method and device of UART interface

【技术实现步骤摘要】
一种UART接口的数据接收方法和装置
本专利技术涉及数据传输领域,尤指一种UART接口的数据接收方法和装置。
技术介绍
UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发传输器)是一种通用串行数据总线,用于异步通信,可实现全双工传输和接收,被广泛应用计算机、通信领域。UART的帧格式,如图7所示:1bit的起始位(start),8bit的数据位,1bit的校验位(可选),1bit/1.5bit/2bit的停止位(stop)。其中,每个bit统一称为一个码元。起始位为低电平,停止位为高电平。UART是异步传输,没有传输同步时钟,所以收/发双方需预先定义一致的数据传输速率,即波特率。传统的UART接收方法为:空闲态(IDLE)时,线路处于高电平;持续检测处于空闲态的线路上是否出现下降沿,如果检测到下降沿则说明线路开始数据传输,立即进入数据接收态,按照约定的波特率进行UART帧的接收。首先开始起始位的码元周期,接收起始位。码元周期结束后进入数据位的接收,取每个码元周期的中间采样点记录的采样值作为相应位的判决值。当数据位的最后一位码元结束时进入校验位的接收(如果有),采样码元中间点作为校验值,之后等待码元周期结束后进入停止位的接收。在停止位码元周期结束,跳转至IDLE状态,等待下一个UART帧的接收。一般,在工作时钟的上升沿进行采样,码元周期等于配置的波特率除以工作时钟频率。比如,波特率为1kbps,工作时钟为16kbps(即16倍钟),在工作时钟的上升沿进行采样,这样每个码元周期有16个采样值,取中间采样点记录的采样值作为相应位的判决值。由于UART是用接收端的工作时钟的上升沿采样,每个码元周期的中间采样点并不是绝对的数据中心点,这就引入采样误差。接收端的工作时钟的频率越低、精度越低,则采样误差会越大。所以为了保证数据传输的正确性,通常要求:1.发送或接收设备的工作时钟相对于理想时钟的偏差不能超限。2.接收设备的工作时钟频率应不低于传输波特率的16倍。但实际应用中,采用精准时钟和高频时钟会增加成本和功耗,在某些场景中,上面两点可能无法满足。比如,NBIOT场景,要求终端设备低功耗,通常这类设备在进入休眠态时采用低精度的低频时钟工作,在这种情况下,如何改善数据传输成功率,是一个待解决的问题。
技术实现思路
本专利技术的目的是提供一种UART接口的数据接收方法和装置,用于改善因接收工作时钟的频率低、偏差大等造成的接收误码问题。本专利技术提供的技术方案如下:一种UART接口的数据接收装置,包括:采样模块,用于分别在工作时钟的上升沿和下降沿对接收信号进行采样,获取对应的采样值;起始检测模块,与所述采样模块电连接,用于当在空闲态检测到所述采样值由高电平翻转为低电平时,则立即进入数据接收态;数据接收模块,与所述采样模块和所述起始检测模块电连接,用于在数据接收态,根据码元周期内的采样值得到相应位的判决值。进一步地,所述数据接收模块,进一步用于将码元周期的中间采样点记录的采样值作为相应位的判决值。进一步地,所述数据接收模块包括:计数单元,用于在每个码元周期开始时,启动分频计数器,每经过一个时钟周期,计数值加1;码元边界检测单元,与所述计数单元电连接,用于当所述计数值等于预设码元周期,或检测到所获取的采样值发生翻转时,将所述分频计数器清0,启动下一码元周期的采样。进一步地,所述数据接收模块还包括:码元周期更新单元,用于在数据接收态,统计预设数目的连续码元所包含的时钟周期数;根据所述时钟周期数更新所述预设码元周期。进一步地,所述数据接收模块还包括:空闲态判断单元,用于在进入停止位的接收时,若检测到高电平,则停止对停止位的采样,直接进入空闲态。本专利技术还提供一种UART接口的数据接收方法,包括:分别在工作时钟的上升沿和下降沿对接收信号进行采样,获取对应的采样值;当在空闲态检测到所述采样值由高电平翻转为低电平时,则立即进入数据接收态;在数据接收态,根据码元周期内的采样值得到相应位的判决值。进一步地,所述的根据码元周期内的采样值得到相应位的判决值,包括:将码元周期的中间采样点记录的采样值作为相应位的判决值。进一步地,所述的立即进入数据接收态,之后还包括:在每个码元周期开始时,启动分频计数器,每经过一个时钟周期,计数值加1;当所述计数值等于预设码元周期,或检测到所获取的采样值发生翻转时,将所述分频计数器清0,启动下一码元周期的采样。进一步地,所述的根据码元周期内的采样值得到相应位的判决值,之后包括:在数据接收态,统计预设数目的连续码元所包含的时钟周期数;根据所述时钟周期数更新所述预设码元周期。进一步地,所述的根据码元周期内的采样值得到相应位的判决值,之后还包括:在进入停止位的接收时,若检测到高电平,则停止对停止位的采样,直接进入空闲态。通过本专利技术提供的一种UART接口的数据接收方法和装置,能够带来以下有益效果:1、本专利技术通过在工作时钟的上升沿和下降沿对接收信号进行采样,获得了2倍工作时钟的采样效果,降低了采样误差,从而提高了数据接收的成功率,增强了接收设备的抗干扰能力。2、本专利技术通过监测线路上的数据翻转,当出现翻转时,立即重置码元边界,防止时钟偏差累积造成后续码元的采样错误。3、本专利技术通过统计预设数目的连续码元所包含的时钟周期数,动态更新预设码元周期,从而自适应匹配发送端的波特率变化。4、本专利技术通过在停止位的接收中,一旦检测到高电平就直接进入空闲态,避免在某些情况下(比如,停止位短、快速进入下一UART帧的起始位时)因停止位的接收而过晚进入下一UART帧的接收,影响了下一帧的采样。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种UART接口的数据接收方法和装置的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术实施例的一种UART接口的数据接收装置的结构示意图;图2是本专利技术实施例的另一种UART接口的数据接收装置的结构示意图;图3是本专利技术实施例的另一种UART接口的数据接收装置的结构示意图;图4是本专利技术实施例的一种UART接口的数据接收方法的流程图;图5是本专利技术实施例的另一种UART接口的数据接收方法的流程图;图6是本专利技术实施例的另一种UART接口的数据接收方法的流程图;图7是UART帧格式的示意图;图8是本专利技术实施例的一种双沿采样电路;图9是本专利技术实施例的一种码元边界检测示意图;图10是本专利技术实施例的另一种码元边界检测示意图。附图标号说明:100.采样模块,200.起始检测模块,300.数据接收模块,310.计数单元,320.码元边界检测单元,330.码元周期更新单元,340.空闲态判断单元。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附本文档来自技高网
...

【技术保护点】
1.一种UART接口的数据接收装置,其特征在于,包括:/n采样模块,用于分别在工作时钟的上升沿和下降沿对接收信号进行采样,获取对应的采样值;/n起始检测模块,与所述采样模块电连接,用于当在空闲态检测到所述采样值由高电平翻转为低电平时,则立即进入数据接收态;/n数据接收模块,与所述采样模块和所述起始检测模块电连接,用于在数据接收态,根据码元周期内的采样值得到相应位的判决值。/n

【技术特征摘要】
1.一种UART接口的数据接收装置,其特征在于,包括:
采样模块,用于分别在工作时钟的上升沿和下降沿对接收信号进行采样,获取对应的采样值;
起始检测模块,与所述采样模块电连接,用于当在空闲态检测到所述采样值由高电平翻转为低电平时,则立即进入数据接收态;
数据接收模块,与所述采样模块和所述起始检测模块电连接,用于在数据接收态,根据码元周期内的采样值得到相应位的判决值。


2.根据权利要求1所述的数据接收装置,其特征在于,还包括:
所述数据接收模块,进一步用于将码元周期的中间采样点记录的采样值作为相应位的判决值。


3.根据权利要求1所述的一种UART接口的数据接收装置,其特征在于,所述数据接收模块包括:
计数单元,用于在每个码元周期开始时,启动分频计数器,每经过一个时钟周期,计数值加1;
码元边界检测单元,与所述计数单元电连接,用于当所述计数值等于预设码元周期,或检测到所获取的采样值发生翻转时,将所述分频计数器清0,启动下一码元周期的采样。


4.根据权利要求3所述的一种UART接口的数据接收装置,其特征在于,所述数据接收模块还包括:
码元周期更新单元,用于在数据接收态,统计预设数目的连续码元所包含的时钟周期数;根据所述时钟周期数更新所述预设码元周期。


5.根据权利要求1-4任意一项所述的数据接收装置,其特征在于,所述数据接收模块还包括:
空闲态判断单元,用于在进入停止位的接收...

【专利技术属性】
技术研发人员:杨春阳赵辉
申请(专利权)人:上海移芯通信科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1