异步串行通信采样系统和方法与流程

文档序号:16429341发布日期:2018-12-28 20:01阅读:835来源:国知局
异步串行通信采样系统和方法与流程

本发明涉及异步串行通信的技术领域,尤其涉及一种异步串行通信采样系统和方法,更具体地,涉及一种基于fpga的低倍频采样的高速异步串行通信系统和方法。

背景技术

异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传格单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输;其凭借着协议简单、接线资源少、全双工等优势,在数字通信和控制系统中广泛使用;并且越来越多的用户根据实际需求,采用fpga(现场可编程逻辑门阵列,一种硬件可编程集成电路)技术实现板间、系统间的异步串行通信的方案。

具体地,异步串行通信一般采用起止式异步协议,特点是逐个字符传输,并且传送单个字符总是以起始位开始,停止位结束,字符之间没有固定的时间间隔要求,数据格式靠起始位和停止位来实现字符界定;传输的速度一般以波特率定义,波特率越高,传输速度越快;波特率是指每秒钟传输的二进制数据量;通常微处理器的串行收发器波特率最高为115.2kbps,自定义最高能够达到6mbps。

在高传输速率下,数据接收端可靠、正确的恢复数据是异步串行通信的关键和难点。为提高异步串行通信的可靠性,降低误码率,一般采用16倍或以上的高倍频采样时钟,在采集到起始位后,根据波特率计算出每个bit的中间采样点,以避开数据跳变时刻;但是这种方法不能够完全消除脉冲性干扰带来的影响,因为脉冲性干扰可能导致中间采样点的数据不稳定。为了改进该技术问题,在中国专利申请号为cn201010607234.4的专利中,公开了一种异步串行通信数据接收时的抗干扰纠错采样系统和方法在多个采样时刻分别对输入信号进行采样并对采样输出结果进行多数表决的比较,最后根据多数表决的比较结果输出数据接收结果。

发明人在实现本发明的过程中发现:1、中间点单次采样虽然实现简单,但是抗随机脉冲干扰能力差;上述专利cn201010607234.4虽然克服了传统的异步串行通信采样模块在随机性脉冲干扰的情况下容易得到错误的采样数据这一不足;但是在低倍频采样的情况下,由于接收的异步信号亚稳态的影响导致采样点偏移、通信距离长导致信号畸变等情况均可能造成误判,降低通信可靠性。fpga内部的时钟频率有限,在时钟主频率一定的情况下,过采样率越低,则可以获得的串行通信速度越快;并且如果获得同样的传输速度,高倍频过采样需要的处理器性能越强,成本越高。



技术实现要素:

为了解决现有技术在提高异步串行通信速率时,存在的信号可靠性低、出现畸形信号等技术问题,本发明提供一种能够提高信号可靠性的异步串行通信采样系统和方法,尤其适用于基于fpga的低倍频采样的高速异步串行通信。

为了实现上述目的,本发明提供的技术方案包括:

本发明一方面提供一种异步串行通信采样系统,所述系统包括分别设置有异步串行通信端口的数据发送端和数据接收端;其特征在于,

所述数据接收端还设置有起始位判断模块、置信权值计算模块和状态判定模块;其中,

所述起始位判断模块设置成检测接收到数据中每个字节的起始位,当检测到下降沿后,置位字节接收标志,并根据预设的波特率计数,在该字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;

所述置信权值计算模块与所述起始位判断模块连接,并且设置成在所述接收到数据的中间点有效时,计算所述接收到数据的每个采样点0和1的置信权值,且所述接收到数据的每个采样点具有各自的权值,依据0和1的权值累加值计算出总的置信权值;

所述状态判断模块与所述置信权值计算模块连接,并且设置成基于置信权值处理后的计算结果与预定阈值之间的大小关系,判断所述接收到数据中当前采样点的结果,并给出所述数据位的有效标志。

本发明实施例优选地,所述数据接收端还设置有用于缓存接收到的数据的n位寄存器组,其中n为整数。

本发明实施例进一步优选地,所述数据接收端的主控制器为fpga,并且fpga的异步接收端还设置有同步寄存器链,所述同步寄存器链用于将所述接收到数据同步至fpga的主逻辑时钟域,并将所述接收到数据缓存在所述n位寄存器组。

本发明实施例进一步优选地,所述数据接收端设置成采用预定的规则为所述n位寄存器组中的每个采样点分配置信权值,所述预定规则包括:中间采样点高,两边采样点低。

本发明实施例更进一步优选地,所述预定规则还包括:分配置信权值时,将权值设置为2n,且n为整数。

本发明实施例优选地,所述状态判断模块判断所述接收到数据中当前采样点的结果的方式包括:当所述计算结果大于预定阈值,判定所述接收到数据中当前采样点为高电平;当所述计算结果小于或者等于预定阈值时,判定所述接收到数据中当前采样点为低电平。

本发明实施例优选地,所述数据接收端还设置有:用于将接收到的串行数据转换为并行数据的串并转换模块。

本发明另一方面还提供一种异步串行通信采样方法,其特征在于,包括:

s1、检测接收到数据中每个字节的起始位,当检测到下降沿后,置位字节接收标志,并根据预设的波特率计数,在所述字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;

s2、对接收到数据的中间点有效时,计算所述接收到数据的每个采样点0和1的置信权值,且所述接收到数据中每个采样点具有各自的权值,依据0和1的权值累加值计算出总的置信权值;

s3、基于置信权值处理后的计算结果与预定阈值之间的大小关系,判断所述接收到数据中当前采样点的结果,并给出所述数据位的有效标志。

本发明实施例优选地,所述异步串行通信采样是基于fpga作为主控制器的通信方法,所述方法还包括:在所述步骤s1之前,通过同步寄存器链将异步信号同步至fpga的主逻辑时钟域,然后通过n位寄存器组缓存接收到的数据。

本发明实施例进一步优选地,所述方法还包括:采用预定的规则为所述n位寄存器组中的每个采样点分配置信权值,所述预定规则包括:中间采样点高,两边采样点低。

本发明实施例更进一步优选地,所述预定规则还包括:分配置信权值时,将权值设置为2n,且n为整数。

本发明实施例优选地,所述步骤s3中判断所述接收到数据中当前采样点的结果的方式包括:当所述计算结果大于预定阈值,判定所述接收到数据中当前采样点为高电平;当所述计算结果小于或者等于预定阈值时,判定所述接收到数据中当前采样点为低电平。

本发明实施例优选地,所述方法还包括:将接收到的串行数据转换为并行数据。

采用本申请提供的上述技术方案,可以至少获得以下有益效果中的一种:

1、在异步串行通信低倍频过采样的情况下,引入统计学中的置信度的技术方案,通过对采样点进行置信权值处理,使得输出结果更加符合实际情况,解决有效信号畸变导致宽度缩短的技术问题;因此,通信的可靠性高,对畸变信号容忍能力强,降低误码率;并且异步串行通信低倍频通信的实现,在控制器主频一定的情况下,可以大大提高异步通信的速率。

2、由于信号传输的特性,接收到数据的最中间置信度最高,数据变化的时刻置信度最低;所以根据信号的质量分配置信权值,依据最终得到的置信权值判定数据状态结果更加准确。

3、分配置信权值时,考虑fpga的逻辑实现简便,将权值设置为2n,有利于降低置信权值的计算难度。

发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。

附图说明

图1为本发明实施例提供的一种异步串行通信协议中数据格式示意图。

图2为本发明一实施例提供的一种异步串行通信采样系统的示意框图。

图3为本发明一实施例提供的一种异步串行通信采样方法的流程图。

图4为本发明另一实施例提供的一种异步串行通信采样系统的示意框图。

图5为本发明另一实施例提供的畸变情况下的采样信号的示意图。

图6为本发明再一实施例提供的一种异步串行通信采样系统的示意框图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

另外,在附图的流程图示出的步骤可以在诸如一组控制器可执行指令的控制系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

下面通过附图和具体实施例,对本发明的技术方案进行详细描述:

实施例

本实施例提供一种提高串行通信可靠性和通信速度的技术方案,主要针对低倍频通信的技术方案,本实施例提及的低倍率主要是指小于16倍频,例如3倍频、5倍频等;并且在采用低倍频过采样的情况下,充分考虑信号质量问题,引入置信权值获得稳定采样输出,使得在相同采样时钟频率的情况下,提高串行通信速度;同时具有有较强的抗干扰能力和纠错能力,易于实现,能保证数据的可靠传输等优点。

通用的异步串行通信协议如图1所示,数据格式中包括起始位、数据位、校验位(可选)、停止位。例如,波特率为9600bit/s,表明每bit数据(起始位、数据位等)传输需要1/9600s;相应地,通信前提需要包括发送和接收两个部分:

数据发送部分(数据发送端),采用异步串行通信,尤其是主控制器是基于fpga的,由于fpga逻辑比较简单,只需要按照合适的分频系数,串行转换并发出即可;

数据接收部分(数据接收端)是通信的关键,需要正确判断出起始位置,根据设置的波特率稳定接收数据;接收过程中实现较强的抗干扰能力,在低倍频过采样提高通信速度是设计难点,本实施例的技术方案的目的之一就是解决该设计难点。

如图2所示,本实施例提供一种异步串行通信采样系统,该系统包括分别设置有异步串行通信端口11、21的数据发送端10和数据接收端20;其中:

数据接收端20还设置有起始位判断模块22、置信权值计算模块23和状态判定模块23;

起始位判断模块22设置成检测接收到数据中每个字节的起始位,当检测到下降沿后,置位字节接收标志,并根据预设的波特率计数,在该字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;具体地,起始位判断模块22根据标准或者自定义的异步通信格式,直接提取接收到数据中每个字节的起始位,并且当检测到信号的下降沿后,将当前字节置位成状态接收的标志,并且结合字节的大小和系统中提前预设好的波特率计数,计算出该字节什么时候传输完毕,在该字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;

置信权值计算模块23与起始位判断模块22连接,并且设置成在接收到数据的中间点有效时,计算接收到数据的每个采样点0和1的置信权值,且接收到数据的每个采样点具有各自的权值,依据0和1的权值累加值计算出总的置信权值;具体地,起始位判断模块22在对数据起始位确定之后,基于数据格式的要求,判断数据的中间点是否有效,并且向置信权值计算模块23输出当前采样点使能的控制信号,置信权值计算模块23接收到数据的中间点有效和当前采样点使能的控制信号,就依次计算接收到数据的每个采样点0和1的置信权值,且接收到数据的每个采样点具有各自的权值(具体赋值规则下文会有详细的介绍),依据0和1的权值累加值计算出总的置信权值;

状态判断模块24与置信权值计算模块23连接,并且设置成基于置信权值处理后的计算结果与预定阈值之间的大小关系,判断接收到数据中当前采样点的结果,并给出数据位的有效标志;具体地,状态判断模块24接收置信权值计算模块23计算数据中每个采样点总的置信权值,并将其与预定阈值的大小进行比较,并基于比较的结果,按照相应的规则,输出接收到数据中当前采样点的结果,同时给出数据位的有效标志。

本实施例优选地,状态判断模块24判断接收到数据中当前采样点的结果的方式包括:当计算结果大于预定阈值,判定接收到数据中当前采样点为高电平;当计算结果小于或者等于预定阈值时,判定接收到数据中当前采样点为低电平。

当然上述状态判断模块25判断接收到数据中当前采样点的结果的方式还可以设置成其他方式,例如,当计算结果小于预定阈值,判定接收到数据中当前采样点为低电平;当计算结果大于或者等于预定阈值时,判定接收到数据中当前采样点为高电平;或者当计算结果大于或者另一预定阈值,判定接收到数据中当前采样点为高电平;当计算结果小于另一预定阈值时,判定接收到数据中当前采样点为低电平;再或者还可以设置成根据特定要求,只有满足特定区间段时,才输出高电平(或者低电平),不在该区间段时,输出其他结果。

因此,本实施例提供的采样系统,在异步串行通信低倍频过采样的情况下,引入统计学中的置信度的技术方案,通过对采样点进行置信权值处理,使得输出结果更加符合实际情况,解决有效信号畸变导致宽度缩短的技术问题;并且通信的可靠性高,对畸变信号容忍能力强,降低误码率;上述异步串行通信低倍频通信的实现,在控制器主频一定的情况下,可以大大提高异步通信的速率。

如图3所示,本实施例还一种异步串行通信采样方法,该方法包括:

s1、检测接收到数据中每个字节的起始位,当检测到下降沿后,置位字节接收标志,并根据预设的波特率计数,在字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来:根据标准或者自定义的异步通信格式,直接提取接收到数据中每个字节的起始位,并且当检测到信号的下降沿后,将当前字节置位成状态接收的标志,并且结合字节的大小和系统中提前预设好的波特率计数,计算出该字节什么时候传输完毕,在该字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;

s2、对接收到数据的中间点有效时,计算接收到数据的每个采样点0和1的置信权值,且接收到数据中每个采样点具有各自的权值,依据0和1的权值累加值计算出总的置信权值:对数据起始位确定之后,基于数据格式的要求,判断数据的中间点是否有效,输出当前采样点使能的控制信号,并且基于接收到数据的中间点有效和当前采样点使能的控制信号,就依次计算接收到数据的每个采样点0和1的置信权值,且接收到数据的每个采样点具有各自的权值(具体赋值规则下文会有详细的介绍),依据0和1的权值累加值计算出总的置信权值;

s3、基于置信权值处理后的计算结果与预定阈值之间的大小关系,判断接收到数据中当前采样点的结果,并给出数据位的有效标志。

本实施例优选地,步骤s3中判断接收到数据中当前采样点的结果的方式包括:当计算结果大于预定阈值,判定接收到数据中当前采样点为高电平;当计算结果小于或者等于预定阈值时,判定接收到数据中当前采样点为低电平。

因此,本实施例提供的采样方法,在异步串行通信低倍频过采样的情况下,引入统计学中的置信度的技术方案,通过对采样点进行置信权值处理,使得输出结果更加符合实际情况,解决有效信号畸变导致宽度缩短的技术问题;并且通信的可靠性高,对畸变信号容忍能力强,降低误码率;上述异步串行通信低倍频通信的实现,在控制器主频一定的情况下,可以大大提高异步通信的速率。

如图4所示,本申请另一实施方式,该实施方式是基于fpga作为主控制器的实现方案,具体地:

本实施例提供的异步串行通信采样系统,除了设置有起始位判断模块22、置信权值计算模块23和状态判定模块24,还设置有同步寄存器链27、n位寄存器组26、串并转换模块25;具体地:

同步寄存器链27,用于将异步信号同步至fpga的主逻辑时钟域,消除亚稳态的影响。

n位寄存器组26,其中n为整数,例如,n为过采样倍数(如5倍过采样,则n=5,即逻辑中对每个bit采样的次数),该寄存器组用于缓存采样到的数据流,方便同时判断数据状态。

起始位判断模块22,用于检测每个字节的起始位,检测到下降沿后,置位字节接收标志,并根据设置的波特率计数,在该字节接收完毕后清除字节接收标志,等待下一个字节的起始位到来;在检测到起始位后,依据波特率判定出中间采样点;间采样点持续1个fpga主时钟周期。

置信权值计算模块23,在中间点有效时计算0和1的置信权值,每个采样点具有各自的权值,依据0和1的权值累加值计算出总的置信权值。

状态判定模块24,依据置信权值模块的计算结果判断当前bit位的结果,同时给出该bit有效标志。

串并转换模块25,用于将接收到的串行数据,转换为1字节的并行数据,并给出整个字节的接收有效标志。

如图4所示,优选地,数据接收端的主控制器为fpga,并且fpga的异步接收端还设置有同步寄存器链,同步寄存器链用于将接收到数据同步至fpga的主逻辑时钟域,并将接收到数据缓存在n位寄存器组。进一步优选地,数据接收端设置成采用预定的规则为n位寄存器组中的每个采样点分配置信权值,预定规则包括:中间采样点高,两边采样点低。

更进一步优选地,上述预定规则还包括:分配置信权值时,将权值设置为2n,且n为整数。

与图4提供的异步串行通信采样系统相应的采样方法中:

还包括:在步骤s1之前,通过同步寄存器链将异步信号同步至fpga的主逻辑时钟域,然后通过n位寄存器组缓存接收到的数据。优选地,上述采样方法还包括:采用预定的规则为n位寄存器组中的每个采样点分配置信权值,预定规则包括:中间采样点高,两边采样点低。

更进一步优选地,上述采样方法中预定规则还包括:分配置信权值时,将权值设置为2n,且n为整数。

为了使本实施例的技术方案更加清晰,下面结合图5进行说明:由于传输线电容的影响可能造成信号的上升沿和下降沿质量变坏,信号有效宽度变窄,且电容越大或脉冲信号频率越高,信号畸形越严重。例如,图5对应的是5倍频等低倍频过采样时,信号严重变形的情况下,在图中信号畸变的bit,5次采样结果是0,0,1,1,0,如果按照现有技术中简单的多数表决逻辑,0的次数大于1,所以可能会造成误判,接收错误。

本实施例引入统计学中的置信度的概念,由于信号传输的特性,在每bit数据的最中间置信度最高,数据变化的时刻置信度最低。逻辑设计中,为n位寄存器组中的每个采样点分配置信权值,在置信权值计算模块工作时,依据最终得到的置信权值判定数据状态。

以上述优选方案为例,由于置信权值的分配原则中间采样点高,两边采样点低。结合图5中5倍过采样的情况下,可以将5个采样点的权值一次设置为1,2,4,2,1。并且当数据为高电平置信权值大于6后,即可认为输出为高电平。在使用过程中,还可以根据信号的质量分配置信权值。分配置信权值时,考虑fpga的逻辑实现简便,优选地,将权值设置为2n,有利于降低置信权值的计算难度。

因此,置信权值分析用于解决有效信号畸变导致宽度缩短。例如,高电平信号在采样数据为0,0,1,1,0时,权值分别为1,2,4,2,1,则仍然可以得到高电平输出结果。

需要说明的是的,图5中的信号畸采样同样适用于低电平的情况,例如,同样将中间采样点的权值设置成比两边的低,并且当数据为低电平置信权值小于6后,即可认为输出为低电平。

另外,需要说明的是,上述提及“依据0和1的权值累加值计算出总的置信权值”可以是直接在0、1基础上通过权值累加;还是可以将0、1分别加减某个参数,然后再针对计算出总的置信权值,与提前预设的某个阈值进行比较;这些改进,都属于本实施例相应技术方案保护的范围。

因此,采用低倍频过采样,充分考虑传输线电抗和传数距离导致信号畸变,引入置信权值的概念使得在相同采样时钟频率的情况下,提高串行通信速度。具有有较强的抗干扰能力和纠错能力,易于实现,能保证数据的可靠传输。

下面结合图6,以dcs仪控系统fitrel平台中,使用上述技术方案实现主控板卡与4路通信板卡的点对点串行通信进行进一步说明:

当采用5倍频采样,串行数据波特率设置为25mbps,fpga内部主时钟为125m;5次采样点的置信权值分别为:1,2,4,2,1。

主控板卡fpga中数据发送端,对125m时钟进行5分频后,将要发送的每个字节数据,增加起始位和停止位后,每次发送1bit数据;

通信板卡fpga中数据接收端,信号经过2级同步寄存器链后,进入5位寄存器组。在起始位判断模块检测到下降沿后给出中间采样点和字节接收使能信号。置信权值分析模块在中间采样点有效时启动,计算高低电平的权值并输出结果。最后根据置信权值计算的结果进输出最终的判断结果。

上述实施例提及的采用的是5倍频采样,对于更低频的过采样(如3倍)可以使用时钟的高低电平同时采样,在相同频率下得到更多的采样点。

另外,上述实施例方式以主控制板卡fpga作为数据接收端进行举例说明,其他通信板卡也可以根据需要,设置上述带有起始位判断模块、置信权值计算模块和状态判定模块的数据接收端。

采用本申请提供的上述技术方案,可以至少获得以下有益效果中的一种:

1、在异步串行通信低倍频过采样的情况下,引入统计学中的置信度的技术方案,通过对采样点进行置信权值处理,使得输出结果更加符合实际情况,解决有效信号畸变导致宽度缩短的技术问题;因此,通信的可靠性高,对畸变信号容忍能力强,降低误码率;并且异步串行通信低倍频通信的实现,在控制器主频一定的情况下,可以大大提高异步通信的速率。

2、由于信号传输的特性,接收到数据的最中间置信度最高,数据变化的时刻置信度最低;所以根据信号的质量分配置信权值,依据最终得到的置信权值判定数据状态结果更加准确。

3、分配置信权值时,考虑fpga的逻辑实现简便,将权值设置为2n,有利于降低置信权值的计算难度。

最后需要说明的是,上述说明仅是本发明的最佳实施例而已,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围内,都可利用上述揭示的做法和技术内容对本发明技术方案做出许多可能的变动和简单的替换等,这些都属于本发明技术方案保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1