异步串行通信数据接收时的抗干扰纠错采样系统和方法

文档序号:7897201阅读:1015来源:国知局
专利名称:异步串行通信数据接收时的抗干扰纠错采样系统和方法
技术领域
本发明涉及串行通信技术领域,尤其是涉及一种用于在异步串行通信中接收数据时进行抗干扰纠错采样的系统和方法。
背景技术
在串行通信中,常用“波特率”来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为BPS(bits per second)。波特率是衡量串行数据速度快慢的重要指标。有时也用“单比特周期”来表示传输速率,它是波特率的倒数。例如波特率为 9600bps指的是每秒传送9600位,在这9600位中包含有字符位和诸如奇偶校验位等的其它位。在数据传输过程中,所有单比特的传输都有着根据波特率来设置的相同的传输时间,该传输时间被称为单比特周期。例如,单比特周期具有16个波特率时钟。为了确保在异步串行通信中进行数据接收时能够稳定地采样,同时避免不同比特传输在边沿跳变时会产生振铃或过冲等抖动,传统上多采用如图1所示的设计。在图1所示的系统设计中,输入信号RX经寄存器同步之后一方面被传输给数据接收模块,另一方面被传输给状态判定模块。状态判定模块的作用是检测异步串口的起始位、 终止位等信息,并在此次输入的信号RX中提取为进行采样判定所需的采样时刻。在状态判定模块提取出进行采样判定所需的采样时刻之后,状态判定模块向数据接收模块发送采样使能信号,从而使得数据接收模块尽可能在输入信号RX的单比特传输周期的中部对信号进行采样。数据接收模块将采样得到的结果输出,以进行后续数据处理。数据接收模块还将输出结果同时反馈给状态判定模块,以通知状态判定模块提取针对下一输入信号进行采样判定所需的采样时刻。图2示意性示出了图1中所示的数据接收模块的采样时刻。当检测到数据接收开始时,数据接收模块根据状态判定模块提取的采样时刻被使能在大约靠近单比特周期中部的波特率时钟沿进行采样,以便保持采样稳定。同时,这种采样方式避免了不同比特之间的传输跳变的边沿抖动所带来的影响。但是,在加入了随机的脉冲干扰信号之后,随机脉冲的干扰也可能出现在单比特周期的中部。因此,在这种情况下,可能采样到错误的数据。

发明内容
本发明的目的在于克服现有的异步串行通信数据接收模块在干扰条件下采样到错误数据的不足,从而提供一种较稳定的自动纠正干扰的用于在异步串行通信中接收数据的方法和系统。根据本发明的一方面,提出了一种用于在异步串行通信中接收数据时进行抗干扰纠错采样的系统。所述系统包括采样模块和控制模块。当数据接收开始时,输入信号被传输到采样模块和控制模块。控制模块根据输入信号确定多个采样时刻和接收判定时刻。当采样模块接收到来自控制模块的采样时刻控制信号时,采样模块对输入信号进行采样。所述系统还包括纠错输出模块,其接收采样模块输出的采样输出结果。当纠错输出模块接收到来自控制模块的接收判定时刻控制信号时,纠错输出模块对来自采样模块的采样输出结果进行统计并且根据统计结果输出数据接收结果。优选地,当采样模块输出的采样输出结果中的高电平个数多于低电平个数时,纠错输出模块的输出结果为高电平;当采样模块输出的采样输出结果中的低电平个数多于高电平个数时,纠错输出模块的输出结果为低电平。根据输入信号,控制模块将采样时刻确定为单比特周期中的前N-I个波特率时钟,并将接收判定时刻确定为单比特周期中的第N个波特率时钟。在本发明中,N是单比特周期所包含的波特率时钟个数。通常情况下,N个波特率时钟为三个或三个以上的波特率时钟。可替换地,以若干个相邻的波特率时钟为一组,可以将单比特周期中的前多组波特率时钟选择为采样时刻。相对应地,接收判定时刻被确定为单比特周期中的在所选择的采样时刻之后的某个波特率时钟。优选地,数据接收结果被反馈给控制模块,使得控制模块开始针对下一输入信号确定采样时刻和接收判定时刻。并且当控制模块接收到所反馈的数据接收结果时,控制模块还向纠错输出模块发送复位控制信号,使得纠错输出模块将统计结果清零。在本发明中,对输入信号进行采样是在整个单比特周期中对波特率时钟沿进行采样。优选地可通过比较单元和寄存单元来实现根据本发明的系统中的纠错输出模块。 特别优选地,通过比较电路和移位寄存器来实现根据本发明的系统中的纠错输出模块。在本发明的一个实施例中,在背景技术中介绍的系统中通过引入滤波采样模块来实现根据本发明的系统。该滤波采样模块包括加减运算器电路、优选为16位加减运算器电路,并且包括带使能的同步复位寄存器、优选为16位带使能的同步复位寄存器。所述加减运算器电路的输入端与所述带使能的同步复位寄存器的输出端相连。所述加减运算器电路的输出端与所述带使能的同步复位寄存器的输入端相连。所述加减运算器电路的减数或加数的最低位固定连接信号高电平。所述带使能的同步复位寄存器的使能端与状态判定模块的滤波采样判定信号相连接。所述带使能的同步复位寄存器的复位端与状态判定模块的接收采样判定信号相连。所述同步复位寄存器的最高位作为最终判定的采样结果被输出给数据接收模块。当所述加减运算器电路的输入端的加减控制位为高电平时进行减法运算,而当所述加减运算器电路的输入端的加减控制位为低电平时进行加法运算。优选地,在数据接收模块进行采样的同一时刻对所述带使能的同步复位寄存器复
位清零。根据本发明的另一方面,提供了一种用于在异步串行通信中接收数据时进行抗干扰纠错采样的方法。首先,根据输入信号确定多个采样时刻和接收判定时刻。在所确定的多个采样时刻分别对输入信号进行采样。在所确定的接收判定时刻对采样得到的信号结果进行多数表决的比较。根据多数表决的比较结果输出数据接收结果。在多数表决的比较中,当采样得到的高电平个数多于低电平个数时,多数表决的比较结果为高电平;当采样得到的低电平个数多于高电平个数时,多数表决的比较结果为低电平。在根据本发明的方法中,采样时刻为单比特周期中的前N-I个波特率时钟,而接收判定时刻为单比特周期中的第N个波特率时钟,其中N为单比特周期所包含的波特率时钟个数。可替换地,以若干个相邻的波特率时钟为一组,还可以将单比特周期中的前多组波特率时钟选择为采样时刻。相对应地,接收判定时刻被确定为单比特周期中的在所选择的采样时刻之后的某个波特率时钟。本发明的系统和方法适用于干扰信号的存在周期不大于正确信号的情况。本发明具有下列优点
1.只要干扰信号的存在周期不大于正确的信号,即可实现正确的采样,增加了系统的稳定性;
2.本发明只需在原有滤波采样的异步串行通信接收模块下进行简单的修改即可实现滤波纠错采样功能。


下面结合附图对本发明进一步详细描述
图1示出了现有技术中的用于在异步串行通信中接收数据的系统; 图2示出了图1中的数据接收模块的采样时刻; 图3示出了根据本发明的用于在异步串行通信中接收数据的系统框图; 图4示出了根据本发明的一个实施例的用于在异步串行通信中接收数据的系统; 图5示出了图4所示的系统中的滤波采样模块和数据接收模块的采样时刻;以及图6示出了图4所示的系统中的滤波采样模块的实例。
具体实施例方式为了保证数据传输的正确性并且减少非正常的干扰信号对异步串行通信数据接收模块造成的影响,在现有的系统中通过引入纠错输出模块来针对可能采样到错误的数据的情况进行纠错。下面结合图3详细说明本发明提出的用于在异步串行通信中接收数据的系统框图。在异步串行通信中进行数据接收的过程中,输入信号同时被发送给采样模块和控制模块。控制模块检测输入信号的起始位、终止位等信息并基于检测到的信息确定对输入信号进行采样的多个采样时刻以及对输入信号进行纠错输出的接收判定时刻。在确定了采样时刻之后,控制模块向采样模块发送采样时刻控制信号,使得采样模块仅在所确定的采样时刻对输入信号进行采样。采样模块将采样结果输出给纠错输出模块,以对采样结果进行统计。在没有干扰的条件下,整个单比特传输周期应该均是低电平或者高电平。而在现实中往往出现干扰,这时有少数波特率周期可能出现相反的电平。因此,在本发明中采用多数表决的比较方式,使得在采样干扰电平的个数小于正常电平的个数的情况下仍然能保证接收到正常信号。纠错输出模块在接收到来自控制模块的接收判定时刻控制信号之后基于多数表决的准则对来自采样模块的输出结果进行统计,并根据统计结果输出数据接收结果,以进行后续数据处理。该数据接收结果同时还被反馈给控制模块,使得控制模块可开始针对下一输入信号确定多个采样时刻和接收判定时刻。在控制模块接收到数据接收结果的同时,控制模块还可以向纠错输出模块发送复位控制信号,使得纠错输出模块将针对此次输入信号的采样统计结果清零并准备针对下一输入信号的采样结果进行统计。本发明提出的纠错输出模块可通过比较电路和移位寄存器来实现。优选地,采用计数单元和复位单元来实现纠错输出模块的功能。特别优选地,加减运算电路能被用来实现对采样结果进行多数表决的比较。图4示出了根据本发明的一个具体实施例的用于在异步串行通信中接收数据的系统。在图1所示的现有技术中的用于在异步串行通信中接收数据的系统的基础上,图4 所示的根据本发明的系统新增了滤波采样模块。在进行数据接收时,RX输入信号仍经寄存器同步之后一方面被传输给进行数据接收的模块,另一方面被传输给状态判定模块。状态判定模块检测异步串口的起始位、终止位等信息,接着根据检测到的信息来分别确定滤波采样模块和数据接收模块的采样时刻。具体而言,当状态判定模块检测到输入信号的起始位、终止位等信息之后,状态判定模块分别在前N-I个波特率时钟输出滤波采样判定信号,从而将滤波采样模块的采样判定使能端设置为高电平。而在第N个波特率时钟时,状态判定模块输出接收采样判定信号,从而将数据接收模块的采样判定使能端设置为高电平。而在其它条件下,滤波采样模块的采样判定使能端和数据接收模块的采样判定使能端均被设置为低电平。在第N个波特率时钟时,滤波采样模块对在前N-I个波特率时钟沿进行采样得到的采样结果进行统计比较。具体而言, 当采样得到的高电平个数多于低电平个数时,判定此次传输的是高电平的信号。当采样得到的低电平个数多于高电平个数时,判定此次传输的是低电平的信号。在本实施例中,选择单比特周期中的前N — 1个相邻波特率时钟作为滤波采样模块的采样时刻,并且选择单比特周期中的第N个波特率时钟作为数据接收模块的采样时亥IJ,其中N是单比特周期所包含的波特率时钟个数。通常情况下,N个波特率时钟为三个或三个以上的波特率时钟。可替换地,以若干个相邻的波特率时钟为一组,还可以将单比特周期划分为多组波特率时钟。选择前数组波特率时钟作为滤波采样模块的采样时刻。相对应地,可以选择单比特周期中的在所选择的滤波采样模块的采样时刻之后的某个波特率时钟作为数据接收模块的采样时刻。图5进一步说明了图4中所示的滤波采样模块和数据接收模块的具体采样时刻。 滤波采样模块在整个单比特周期对多个波特率时钟沿进行采样,统计并比较采样得到的低电平0与高电平1的个数。例如单比特周期由N个波特率时钟组成,假设N为16。如图5 所示,依据图4的滤波采样模块在前15个波特率时钟进行采样。如果统计结果大于7个低电平0,则该次传输被判定为低电平0,否则判定为高电平1。在第16个波特率时钟,依据图 4的数据接收模块进行采样判定,然后输出判定电平值,同时清除判定结果。通过这种多数表决的方法,只要干扰信号出现的次数少于半数采样点,就可有效避免非正常干扰信号对电路造成的影响,从而增加了系统的稳定性。同时,该系统仅在现有系统中增加了一个滤波采样模块。这在提高抗干扰能力的同时还易于实现。参照图6描述了图4中所示的滤波采样模块的一种具体实现方案。在本实施例中,采用16位加减寄存器计数器和16位带使能的同步复位寄存器来实现滤波采样模块。应理解的是,滤波采样模块的具体设置并不限于此。只要所选择的计数器和复位寄存器能够满足单比特周期内的正常采样计数而不溢出即可。例如16位的加减计数器可计算正负215范围内的数值,这已可满足通常情况的要求。因而,图6中所示的16位加减寄存器计数器和 16位带使能的同步复位寄存器可适应不同的波特率时钟。如图6所示,该16位加减寄存器计数器的输入端与该16位带使能的同步复位寄存器的输出端相连。该16位加减寄存器计数器的减数(加数)的最低位固定连接信号高电平1。该16位加减寄存器计数器的选择端与输入信号、即接收采样信号RX_R相连。该16位带使能的同步复位寄存器的输入端与该16位加减寄存器计数器的输出端相连。该16位带使能的同步复位寄存器的使能端与状态判定模块的滤波采样判定信号RX_ SAM相连。该16位带使能的同步复位寄存器的复位端与状态判定模块的接收采样判定信号 REV_SAM 相连。假设一个比特周期由N个波特率时钟组成,在前N-I个波特率时钟,该16位带使能的同步复位寄存器的使能信号RX_SAM为高电平。当接收采样信号RX_R为低电平0时, 该16位加减寄存器计数器加一;当接收采样信号RX_R为高电平1时,该16位加减寄存器计数器减一。当状态判定模块在第N个波特率时钟时的接收采样判定信号REV_SAM为高电平时,数据接收模块(比如移位寄存器)对该16位加减寄存器计数器的第16位符号位的输出信号RX_D进行采样,并且使该16位带使能的同步复位寄存器同步清零。按照上面的运算,符号位为0通常代表采样值为0的次数大于采样值为1的次数,反之亦然。下面通过两个具体的实例来说明如何通过这种滤波采样模块在干扰情况下对采样结果进行纠错。实例1
假设异步串行通信的波特率分频系数N为16,在无干扰条件下正确的输入电平应为高电平,但在中间时刻外部输入产生了随机性脉冲干扰,例如第5-9个波特率时钟接连出现了 5个周期的低电平。传统的数据接收系统中的数据接收模块在第8个波特率时钟进行采样只能得到错误的低电平信号。然而,通过图6所示的根据本发明的加入滤波采样模块的数据接收系统,滤波采样模块中的加减计数器在第5-9个波特率时钟进行加1运算,而在其它的10个波特率时钟进行减1运算。在第16个波特率时钟时,数据接收模块对滤波采样模块中的加减计数器的符号位进行采样。由于此时滤波采样模块中的加减计数器的值为-5 (=0+5-10),所以数据接收模块的输出值保持为正确的高电平1。实例2
假设异步串行通信的波特率分频系数N为32,在无干扰条件下正确的输入电平为低电平。在第3-9、15-16、30-31个波特率时钟接连随机出现了干扰高电平信号。这些信号经过了图6所示的根据本发明的滤波采样模块中的加减计数器之后产生了 11个减1运算,而在其它的20个波特率采样周期产生加1运算。在第32个波特率时钟时,数据接收模块对滤波采样模块中的加减计数器的符号位进行采样。由于此时计数器的值为+9 ( = 0-7-2-2+20), 所以数据接收模块的输出值保持为正确的低电平0。通过上述结合实施例的详细描述,本发明的优点是明显的。本发明克服了传统的异步串行通信采样模块在随机性脉冲干扰的情况下容易得到错误的采样数据这一不足。并且本发明提出的系统和方法具有较强的抗干扰能力,而且易于实现。
最后应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种用于在异步串行通信中接收数据时进行抗干扰纠错采样的系统,其包括采样模块和控制模块;当数据接收开始时,输入信号被传输到采样模块和控制模块;其特征在于,控制模块根据输入信号确定多个采样时刻;当采样模块接收到来自控制模块的采样时刻控制信号时,采样模块对输入信号进行采样;所述系统还包括纠错输出模块,其接收采样模块输出的采样输出结果;控制模块根据输入信号确定接收判定时刻;当纠错输出模块接收到来自控制模块的接收判定时刻控制信号时,纠错输出模块对来自采样模块的采样输出结果进行多数表决的比较并且根据多数表决的比较结果输出数据接收结果。
2.根据权利要求1所述的系统,其特征在于,当采样模块输出的采样输出结果中的高电平个数多于低电平个数时,纠错输出模块的输出结果为高电平;当采样模块输出的采样输出结果中的低电平个数多于高电平个数时,纠错输出模块的输出结果为低电平。
3.根据权利要求1或2所述的方法,其特征在于,采样时刻被选择为单比特周期中的前N-I个波特率时钟或前多组波特率时钟,而纠错时刻被选择为单比特周期中的第N个波特率时钟或在采样时刻之后的波特率时钟,其中N为单比特周期所包含的波特率时钟个数。
4.根据权利要求1或2所述的系统,其特征在于,数据接收结果被反馈给控制模块,使得控制模块开始针对下一输入信号确定采样时刻和纠错时刻;当控制模块接收到所反馈的数据接收结果时,控制模块向纠错输出模块发送复位控制信号,使得纠错输出模块将统计结果清零。
5.根据权利要求1或2所述的方法,其特征在于,对输入信号进行采样是对单比特周期中的波特率时钟沿进行采样。
6.根据权利要求1或2所述的系统,其特征在于,通过比较单元和寄存单元来实现纠错输出模块。
7.一种用于在异步串行通信中接收数据时进行抗干扰纠错采样的方法,其特征在于, 所述方法还包括以下步骤根据输入信号确定多个采样时刻;在所确定的多个采样时刻分别对输入信号进行采样;根据输入信号确定接收判定时刻,在所确定的接收判定时刻对采样得到的信号结果进行多数表决的比较;根据多数表决的比较结果输出数据接收结果。
8.根据权利要求7所述的方法,其特征在于,当采样得到的高电平个数多于低电平个数时,多数表决的比较结果为高电平;当采样得到的低电平个数多于高电平个数时,多数表决的比较结果为低电平。
9.根据权利要求7或8所述的方法,其特征在于,采样时刻被选择为单比特周期中的前N-I个波特率时钟或前多组波特率时钟,而接收判定时刻被选择为单比特周期中的第N 个波特率时钟或在采样时刻之后的波特率时钟,其中N为单比特周期所包含的波特率时钟个数。
10.根据权利要求7或8所述的方法,其特征在于,对输入信号进行采样是对单比特周期中的波特率时钟沿进行采样。
全文摘要
本发明涉及用于异步串行通信数据接收时的抗干扰纠错采样系统和方法。根据本发明的系统包括采样模块和控制模块以及纠错输出模块。当数据接收开始时,输入信号被传输到采样模块和控制模块。控制模块根据输入信号确定多个采样时刻和接收判定时刻。采样模块在多个采样时刻分别对输入信号进行采样。纠错输出模块接收采样模块输出的采样输出结果,并且在接收判定时刻对采样输出结果进行多数表决的比较而且根据多数表决的比较结果输出数据接收结果。本发明克服了传统的异步串行通信采样模块在随机性脉冲干扰的情况下容易得到错误的采样数据这一不足,且具有较强的抗干扰能力并易于实现。
文档编号H04L1/00GK102546084SQ20101060723
公开日2012年7月4日 申请日期2010年12月27日 优先权日2010年12月27日
发明者张智 申请人:北京国睿中数科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1