掌桥专利:专业的专利平台
掌桥专利
首页

一种强化抗干扰的UART数据接收装置及其接收方法

文献发布时间:2023-06-19 19:30:30


一种强化抗干扰的UART数据接收装置及其接收方法

技术领域

本发明涉及一种强化抗干扰的UART数据接收装置及其接收方法。

背景技术

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种通用串行数据总线,用于异步通信,可实现全双工传输和接收,被广泛应用计算机、通信领域。UART的帧格式,如图1所示:1bit的起始位(start),8bit的数据位,1bit的校验位(可选),1bit/1.5bit/2bit的停止位(stop)。其中,每个bit统一称为一个码元。起始位为低电平,停止位为高电平。UART是异步传输,没有传输同步时钟,所以收/发双方需预先定义一致的数据传输速率,即波特率。

由于UART是用接收端的工作时钟的上升沿采样,每个码元周期的中间采样点并不是绝对的数据中心点,这就引入采样误差。接收端的工作时钟的频率越低、精度越低,则采样误差会越大。

所以为了保证数据传输的正确性,通常要求:1.发送或接收设备的工作时钟相对于理想时钟的偏差不能超限。2.接收设备的工作时钟频率应不低于传输波特率的16倍。如公开号为CN110865957A公开的一种UART接口的数据接收方法和装置,通过在停止位的接收中,一旦检测到高电平就直接进入空闲态,避免在某些情况下(比如,停止位短、快速进入下一UART帧的起始位时)因停止位的接收而过晚进入下一UART帧的接收,影响了下一帧的采样。以改善因接收工作时钟的频率低、偏差大等造成的接收误码问题。

但由于UART是异步通信,接收端和发送端之间的时钟频率、相位并不相同,一般用于芯片到芯片之间的通信,在复杂工作环境下难以避免各种电磁干扰,这样的情况,如何准确检测到起始位、如何准确采样到码元数据而不被复杂环境下的电磁干扰产生的尖峰毛刺干扰,就成为一个需要解决的问题。

发明内容

为解决上述技术问题,本发明提供了一种强化抗干扰的UART数据接收装置及其接收方法。

本发明通过以下技术方案得以实现。

本发明提供的一种强化抗干扰的UART数据接收装置及其接收方法;包括

采样模块,在逻辑电路工作时钟的上升沿对接收到的信号进行多次采样,得到对应的逻辑值;

与采样模块连接的起始位置检测模块,将采样数据做M级缓存,通过比对不同缓存中的数据,来判断起始位的下降沿;

与采样模块连接的数据接收模块,将多次采样的结果做比对,提取有效采样值;

与起始位置检测模块连接的计数模块,当起始位检测模块检测到起始位时,计数模块开始工作,每经过一个逻辑电路工作时钟的上升沿,计数值加1。

所述M≥3。

所述起始位置检测模块还比对下降沿后的采样数据,来消除由于电磁干扰而产生的下降沿毛刺对系统的误触发。

所述有效采样值为多次采样值中占多数的值。

在每个码元周期开始时,启动计数器码元周期内的每个时钟周期进行计数,起始位置检测模块将采样数据做M级缓存,并对缓存数据进行对比判断采集到的电平信号是否为干扰信号;

若电平信号为干扰信号,则不启动数据接收模块;

若电平信号为下降沿,则按照预设的码元周期,周期性的对接收信号进行2N-1次采样,获取对应的采样值;

当计数值等于预设码元周期,将所述分频计数器清0,启动下一码元周期的采样。

所述电平信号发生跳变后,若后续连续几个周期采样到的电平信号依然为跳变后的信号则判断该电平信号为下降沿。

所述电平信号发生跳变后,若后续连续几个周期采样到的电平信号再次发生跳转则为干扰信号。

所述M和N的关系为:

clk为工作时钟,Baud为波特率。

本发明的有益效果在于:通过在起始位置采样M级缓存级联,通过起始位置检测模块排除了复杂工作环境下的干扰信号,增强起始位检测的抗干扰能力,增强码元采样的抗干扰能力。

附图说明

图1是本发明的接收系统结构示意图;

图2是本发明的UART帧格式示意图;

图3是本发明的起始位检测第一bit采样示意图;

图4是本发明的起始位检测第二bit采样示意图;

图5是本发明的起始位检测第三bit采样示意图;

图6是本发明的起始位检测第六bit采样结构示意图;

图7是本发明的码元多次采样示意图。

具体实施方式

下面进一步描述本发明的技术方案,但要求保护的范围并不局限于所述。

如图1所示,一种强化抗干扰的UART数据接收装置及其接收方法;包括采样模块,在逻辑电路工作时钟的上升沿对接收到的信号进行多次采样,得到对应的逻辑值;与采样模块连接的起始位置检测模块,将采样数据做M(M≥3)级缓存,通过比对不同缓存中的数据,来判断起始位的下降沿;与采样模块连接的数据接收模块,将多次采样的结果做比对,提取有效采样值;与起始位置检测模块连接的计数模块,当起始位检测模块检测到起始位时,计数模块开始工作,每经过一个逻辑电路工作时钟的上升沿,计数值加1。

如图2所示,起始位检测的抗干扰设计:起始位采用多缓存级联,后级确认起始位下降沿,前级滤除毛刺对起始位的影响。例如以下所示:时钟clk第1个上升沿时,采样到Rx信号为高电平,将1存入自动右移寄存器的Reg1,寄存器中的值为10000。

如图3所示,时钟clk第2个上升沿时,采样到Rx信号为高电平,将1存入自动右移寄存器的Reg1,同时上一个时钟周期时Reg1中的1右移到Reg2中,寄存器中的值为11000。

如图4所示,时钟clk第3个上升沿时,采样到Rx信号为低电平,将0存入自动右移寄存器的Reg1,同时之前Reg1中的1自动右移至Reg2,寄存器中的值为01100;此时,由于Reg1中的值为0,Reg2中的值为1,确定接收到一个下降沿,此时不启动码元接收,而是延迟3个时钟周期来确认接收到的下降沿不是干扰信号。

以此类推,如图5所示。当时钟第6个上升沿采样后,自动右移寄存器中的值为00001,Reg4和Reg5的01,表示系统接收到一个下降沿,Reg1、Reg2、Reg3的000,表示下降沿后的3个时钟周期均采样到低电平,可排除接收到的下降沿为线路收到干扰的原因,启动数据接收单元,进入码元接收模式。

如图6所示,码元数据的多次采样:码元数据采样部分采用奇数次的多次采样,采样时间均匀分布在整个码元周期中。例如,接收端工作时钟为22.1184MHz,波特率为256000时,每个码元会占用86个时钟周期,由于单码元数据需要采用2N-1(N大于等于2)次采样,此处选择N为5,则采样次数为9,由此可知,每过9个时钟周期就要采样码元一次。在这里,9>5,满足M和N的关系。

相关技术
  • 一种数据接收方法和数据接收装置
  • 一种PDSCH接收信息的指示方法、数据接收方法及装置
  • 一种基于软件的光伏发电信号接收装置及接收方法
  • 一种UART指令数据接收系统及其接收方法
  • 一种UART指令数据接收系统及其接收方法
技术分类

06120115938665