基于可编程逻辑器件进行异步通信的数据采集装置及方法

文档序号:6492900阅读:176来源:国知局
基于可编程逻辑器件进行异步通信的数据采集装置及方法
【专利摘要】本发明公开了一种基于可编程逻辑器件进行异步通信的数据采集装置,包括数据接收主卡以及数据接收子卡,所述数据接收子卡通过总线采集所述数据接收主卡传送的数据,所述数据接收主卡包括DSP控制器,所述数据接收子卡包括可编程逻辑器件,所述可编程逻辑器件与所述DSP控制器之间为串行通信;其中,所述可编程逻辑器件包括接收单元、采集单元、定时单元以及判断单元;所述定时单元连接所述接收单元与所述采集单元,用于驱动所述接收单元接收所述DSP控制器传送的通信数据,且控制所述采集单元在每比特位的时间宽度内对所述通信数据进行多次读取操作,每比特位时间的采集结束后,所述判断模块用于根据所述多次读取操作的结果判断所采集的比特位的逻辑值。
【专利说明】基于可编程逻辑器件进行异步通信的数据采集装置及方法
【技术领域】
[0001]本发明涉及数据通信领域,尤其涉及数据通信领域中的数据采集领域,具体的讲是一种基于可编程逻辑器件进行异步通信的数据采集装置及其通信方法。
【背景技术】
[0002]模块卡式数据采集测量装置广泛应用于通信、医疗、工业自动化等领域,不同功能的模块卡满足了不同应用场合的测量系统搭建需求,灵活的配置模式也方便了用户的使用。
[0003]图1为现有技术中的数据采集装置的结构示意图。如图所示,在数据采集装置的运行中,数据接收主卡与数据接收子卡的信息交互依赖于通信/控制总线。为了提高整机的稳定性,提升装置工作效率,通信/控制总线需要尽可能提高其抗干扰能力。
[0004]并且,数据接收主卡与数据接收子卡的交互由主卡与子卡上各自的控制器用串口通信的方式实现,主卡的控制器为DSP控制器,其自带串口,子卡的控制器为FPGA,其串口由对FPGA编程模拟实现。由于DSP,FPGA的工作频率一般都比较高,因此为了提升效率,串口的通信速率也相应的提高,但提升了通信速率后,抗干扰能力下降,为此,需要采取一定的措施提高通信速率下的抗干扰能力。对于DSP的串口,其物理层的设计已完全定形,只能在软件协议层增强抗干扰能力,而FPGA的串口由编程模拟实现,其设计中不光在软件协议层能增强抗干扰能力,在串口的物理层设计中也能应用一定的技术手段增强抗干扰能力。
[0005]对于数据接收主卡模块,在同类产品中,比如在34970中,其主卡与子卡的通信采用51单片机自带的串口实现,其通信接口的物理层已定型,为增强通信抗干扰能力,只能通过一些软件的协议等手段来实现。但是,在通信的协议层,增加了校验,超时检测等等机制来实现对受到干扰了的错误通信信息不响应或对其采取一定处理,这些协议层的处理机制增大了软件开销,降低了通信速率。
[0006]在通信链路的每一根通信线上,数据以比特位的形式传输,一串比特流在电信号的表现形式上就是一串脉冲电平。这些脉冲电平也是容易被干扰的。而且加在脉冲电平上的干扰毛刺是不容易被硬件电路消除的。
[0007]如图2所示,加在比特脉冲串上的干扰毛刺很可能导致当前数据接收失败。原因为在异步通信中,数据的传输完全依靠通信双方约定的相同的传输速率进行,则在接收每一个比特位时,为了减小传输速率的不完全相同带来的影响,一般在一个比特位的中间位置进行读取操作。如图3所示,当在一个比特位的中间位置进行读取操作时,比特信号被干扰,由原来应该读作高的变成读取结果为低了,由此导致了通信的失败。实际上,不管在一个比特位的什么位置进行读取操作,总有可能被干扰导致读取出错。
[0008]并且,在主卡与子卡进行通信时,通信信号经过了主板、背板及子卡,信号线的长度比较长,在通信速率比较高时,通信信号更容易受到干扰。对于图2所示的信号的电平上受到的扰动,硬件电路的滤波等手段是无力的,而软件手段可能增加软件开销或是增加处理时间,从而降低了通信速率。
【发明内容】

[0009]本发明的目的是为了克服现有技术中存在的数据采集装置抗干扰能力差,通信效率低的不足,提供一种基于可编程逻辑器件进行异步通信的数据采集装置及通信方法。
[0010]为了达到上述目的,本发明实施例公开了一种基于可编程逻辑器件进行异步通信的数据采集装置,包括数据接收主卡以及数据接收子卡,所述数据接收子卡通过总线采集所述数据接收主卡传送的数据,所述数据接收主卡包括DSP控制器,所述数据接收子卡包括可编程逻辑器件,所述可编程逻辑器件与所述DSP控制器之间为串行通信;其中,所述可编程逻辑器件包括接收单元、采集单元、定时单元以及判断单元;所述定时单元连接所述接收单元与所述采集单元,用于驱动所述接收单元接收所述DSP控制器传送的通信数据,且控制所述采集单元在每比特位的时间宽度内对所述通信数据进行多次读取操作,每比特位时间的采集结束后,所述判断模块用于根据所述多次读取操作的结果判断所采集的比特位的逻辑值。
[0011]为了达到上述目的,本发明实施例还公开了 一种基于可编程逻辑器件进行异步通信的数据通信方法,包括:接收外部传送的通信数据;将所述通信数据在每比特位的时间宽度内进行多次读取操作;每比特位时间的采集结束后,根据所述多次读取操作的结果判断所采集的比特位的逻辑值,如果所述多次读取操作的结果中逻辑I的次数大于逻辑0,则采集的比特位判断为逻辑1,否则为逻辑O。
[0012]本发明实施例的基于可编程逻辑器件进行异步通信的数据采集装置及通信方法,可以提高异步通信的抗干扰能力,提升通信效率,是数据采集装置工作的更稳定,有更强的环境适应能力。
【专利附图】

【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为现有技术中的数据采集装置的结构示意图;
[0015]图2为在通信数据在传送过程中出现的脉冲电平上的毛刺现象;
[0016]图3为图2所示出现毛刺现象的通信数据在读取过程中出现错误的情况;
[0017]图4为本发明实施例的一种基于可编程逻辑器件进行异步通信的数据采集装置的结构不意图;
[0018]图5为图4所示实施例的可编程逻辑器件20的结构示意图;
[0019]图6为本发明实施例的“多次读取、多数表决”机制的原理示意图;
[0020]图7为本发明实施例的基于可编程逻辑器件进行异步通信的数据通信方法的流程图;
[0021]图8为本发明实施例的进行3次读取而设定采集时间间隔的示意图;
[0022]图9为依据本发明的数据采集装置及通信方法进行异步通信数据采集的一个具体实施例的示意图。【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]图4为本发明实施例的一种基于可编程逻辑器件进行异步通信的数据采集装置的结构示意图。如图所示,本实施例的数据采集装置包括数据接收主卡1、数据接收子卡2以及一背板3,其中背板3上设有插槽与总线,在进行通信时,数据接收子卡2通过插槽插在所述背板3上,所述数据接收主卡I通过背板3上的总线向数据接收子卡2发送通信比特码。其中,背板3上可设置有多个插槽,故可连接多个子卡,在图4所示实施例中,数据接收子卡2为4个,通过背板3上的总线分别连接到主卡I上。
[0025]在本实施例中,如图4和图5所示,所述数据接收主卡I上包括DSP控制器10,所述数据接收子卡2上包括可编程逻辑器件20,所述可编程逻辑器件20与所述DSP控制器10之间为串行通信。DSP控制器10主要进行任务的调度与数据的处理等工作,可编程逻辑器件20主要进行与DSP控制器10的命令交互及子卡电路的驱动工作。并且,在本实施例中,所述可编程逻辑器件20可为FPGA或CPLD,例如芯片XC3S100E等;而数据接收主卡I上的DSP控制器可采用芯片ADSP-BF526等。
[0026]在本实施例中,如图5所示,所述可编程逻辑器件20包括接收单元201、采集单元202、定时单元203以及判断单元204 ;所述定时单元203连接所述接收单元201与所述采集单元202,用于驱动所述接收单元201接收所述DSP控制器10传送的通信数据,且控制所述采集单元202在每比特位的时间宽度内对所述通信数据进行多次读取操作,每比特位时间的采集结束后,所述判断模块204用于根据所述多次读取操作的结果判断所采集的比特位的逻辑值。
[0027]根据图5所示实施例,其采用的是本发明的“多次读取、多数表决”的机制,其思想是在异步通信的物理层中,在每比特位时间宽度内,进行多次读取操作,如果读取的比特值为“I”的次数多个读取的比特值为“O”的次数,就判决读取结果为“1”,反之就判定读取结果为“O”。如图6所示,为一个“3次读取,多数表决”的实施例。在一个实际为“高”比特的信号上,收到干扰后,有部分电平为低,在这个比特上进行3次读取操作,有两次读取结果为“ I ”,有一次读取结果为“O”,利用“多数表决”,可判定为此比特位为“ I ”。
[0028]本发明实施例中,每一比特位的读取操作的次数是根据工程上对干扰的认识设定的,因此也可根据实际情况设定为4次或5次,当然,并不是读取次数越多越好,更多次读取会增加软件开发的复杂度,而且对于干扰问题也没有很大的提高,因此,读取次数也是权衡的结果。
[0029]在本发明实施例中,在采集未开始时,设定所述定时单元203的定时触发间隔为所述可编程逻辑器件20的系统时钟周期。例如,FPGA系统工作的时钟为100MHz,在空闲状态下,设定定时单元203的定时触发间隔为0.0lus,不断的读取数据。在一次数据通信开始时,重设定时单元203的采集时间间隔,所述采集触发间隔根据所述串行通信的波特率来设定。例如,串行通信的波特率为1Mbps,如果为3次读取,则可设定采集时间间隔为0.15us、0.35us、0.35us。当然也可以设定为0.2us、0.3us、0.3us,这种设定是根据通信速率
认为设定,其大小直接影响采集装置能否解决比特受干扰的问题。
[0030]图7为本发明实施例的基于可编程逻辑器件进行异步通信的数据通信方法的流程图,可编程逻辑器件为FPGA或CPLD。如图所示,本实施例的数据通信方法包括:
[0031]步骤S101,接收外部传送的通信数据;步骤S102,将所述通信数据在每比特位的时间宽度内进行多次读取操作;步骤S103,每比特位时间的采集结束后,根据所述多次读取操作的结果判断所采集的比特位的逻辑值,如果所述多次读取操作的结果中逻辑I的次数大于逻辑0,则采集的比特位判断为逻辑1,否则为逻辑O。
[0032]在步骤SlOl中,外部传送的通信数据是通过串口通信的方式进行传送。例如从DSP控制器的的自带串口发往FPGA的串口。
[0033]在步骤S102中,在米集未开始时,设定定时触发间隔为系统时钟周期;所述在每比特位的时间宽度内对所述通信数据进行3次读取操作。在本实施例中,所述在每比特位进行3次读取操作时,设定采集触发间隔,所述采集触发间隔根据串行通信的波特率来设定。
[0034]图8为本发明实施例的进行3次读取而设定采集时间间隔的示意图。其中,串口接收端从空闲状态检测到一个下降沿时认为是一次串行通信的开始。通信开始后,有一个比特的起始位,起始位后紧跟8比特的数据。这里依据图5的可编程逻辑器件的结构图讲述串口数据接收的过程。在空闲状态下,定时单元203定时极短的时间驱动接收单元201读取端口接收到的数据,接收单元201不断的读取端口的数据,当发现有从“I”到“O”的变化时,重新设置定时单元203的定时值为tl,当tl时刻到时,采集单元202进行起始位的第一次读数,同时重新设置定时单元203的定时值为t2,当t2时刻到时,采集单元202进行起始位的第二次读数,同时重新设置定时单元203的定时值为t3,当t3时刻到时,采集单元202进行起始位的第三次读数,同时重新设置定时单元203的定时值为t4,并在t4的时间段内由判断单元204依据起始位的三次读数判断起始位的逻辑值,比如三次读取中有两次及以上为“0”,则判断结果为逻辑0,否则结果为逻辑I。当判定结果为逻辑O时,即为有效的起始位,继续接收后面的数据,如果判定结果为逻辑I时,则起始位无效,重新进入空闲状态。在起始位有效的情况下。当t4时刻到时,采集单元202进行比特O的第一次读数,同时重新设置定时单元203的定时值为t5,当t5时刻到时,采集单元202进行比特O的第二次读数,同时重新设置定时单元203的定时值为t6,当t6时刻到时,采集单元202进行比特O的第三次读数,同时重新设置定时单元203的定时值为t7,并在t7的时间段内由判断单元204依据比特O的三次读数判断比特O的逻辑值,比如三次读取中有两次及以上为“0”,则判断结果为逻辑0,否则结果为逻辑I。如此循环进行设置定时单元203,读取采集单元202,判断单元204判断结果,得到接收的8比特的数据。
[0035]这种“多次读取,多数表决”的机制,应用于异步通信接口接收端,且其接收端为物
理层可编程。
[0036]图9为依据本发明的数据采集装置及通信方法进行异步通信数据采集的一个具体实施例的示意图。如图所述,FPGA系统工作的时钟为100MHz,串行通信的波特率为1Mbps,每比特的接收采用三次读取,多数表决决定一比特位的逻辑值。
[0037]如图9所示,其工作流程为:从串行数据接收端接收数据时,通信的波特率为1Mbps,FPGA系统工作的时钟为100MHz。在空闲状态下,定时单元203设定为定时触发间隔为0.01us,接收单元201在定时单元203的驱动下,不断的在接收端口上读取数据,每次读取的数据和前一次的读取的结果作对比,当发生从逻辑I到逻辑O的跳变时,一次数据通信开始。此时将定时单元203定时值重设为0.15us,当0.15us的定时时间到时,触发采集单元202对起始位的第一次读取,同时将定时时间重置为0.35us,当0.35us的定时时间到时,触发采集单元202对起始位的第二次读取,同时将定时时间重置为0.35us,当0.35us的定时时间到时,触发采集单元202对起始位的第三次读取,同时将定时时间重置为0.3us,由于起始位的三次读取操作完成,在此0.3us的定时时间段内,判断单元通过三次读取的结果进行判断。如果三次读取结果中有两次或以上为逻辑0,则判断结果为逻辑0,起始位有效,否则起始位无效,高到低的跳变可能是干扰引起,则数据接收又回到空闲状态。
[0038]在起始位有效情况下,当0.3us的定时时间到时,触发采集单元202对比特O的第一次读取,同时将定时时间重置为0.35us,当0.35us的定时时间到时,触发采集单元对比特O的第二次读取,同时将定时时间重置为0.35us,当0.35us的定时时间到时,触发采集单元对比特O的第三次读取,同时将定时时间重置为0.3us,在此0.3us的定时时间段内,判断单元对比特O的三次读取结果进行判断,如果三次读取结果中有两次或以上为逻辑0,则判断结果为逻辑0,否则结果为逻辑I。
[0039]当0.3us的定时时间到时,触发采集单元202对比特I的第一次读取……,如此循环进行设置定时单元203,读取采集单元202,判断结果,得到接收的8比特的数据。
[0040]从本实施例中可以看出,对采集时间间隔的设定没有统一的定律和公式遵循,其是根据串行通信的速率和设定的读取次数决定的。而读取次数也是人为根据工程上对干扰的认识确定的,如上面所述,不是读取次数越多越好,更多次读取会增加软件开发的复杂度,而对于解决干扰问题没有很大提高。
[0041]例如,如果串行速率为1Mbps,设定读取次数为3次,则可如图9所示实施例那样采
集时间间隔设定为0.15,0.35,0.35,0.3,0.35,0.35,0.3......,当然也可以设定4次读取,
此时采集时间间隔为 0.125,0.25,0.25,0.25,0.25,0.25......。
[0042]通过以上实施例,本发明的基于可编程逻辑器件进行异步通信的数据采集装置及通信方法,可以提高异步通信的抗干扰能力,提升通信效率,是数据采集装置工作的更稳定,有更强的环境适应能 力。
[0043]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于可编程逻辑器件进行异步通信的数据采集装置,包括数据接收主卡以及数据接收子卡,所述数据接收子卡通过总线采集所述数据接收主卡传送的数据,其特征在于,所述数据接收主卡包括DSP控制器,所述数据接收子卡包括可编程逻辑器件,所述可编程逻辑器件与所述DSP控制器之间为串行通信;其中, 所述可编程逻辑器件包括接收单元、采集单元、定时单元以及判断单元; 所述定时单元连接所述接收单元与所述采集单元,用于驱动所述接收单元接收所述DSP控制器传送的通信数据,且控制所述采集单元在每比特位的时间宽度内对所述通信数据进行多次读取操作,每比特位时间的采集结束后,所述判断模块用于根据所述多次读取操作的结果判断所采集的比特位的逻辑值。
2.如权利要求1所述的数据采集装置,其特征在于,所述可编程逻辑器件为FPGA或CPLD。
3.如权利要求1所述的数据采集装置,其特征在于,在采集未开始时,设定所述定时单元的定时触发间隔为所述可编程逻辑器件的系统时钟周期。
4.如权利要求1所述的数据采集装置,其特征在于,所述采集单元在每比特位的时间宽度内对所述通信数据进行多次读取操作,包括: 所述采集单元在每比特位的时间宽度内对所述通信数据进行3次读取操作。
5.如权利要求4所述的数据采集装置,其特征在于,进行3次读取操作时,设定所述定时模块的采集触发间隔,所述采集触发间隔根据所述串行通信的波特率来设定。
6.如权利要求2所述的数据采集装置,其特征在于,所述DSP控制器的型号为ADSP-BF526,所述 FPGA 的型号为 XC3S100E。
7.一种基于可编程逻辑器件进行异步通信的数据通信方法,其特征在于,所述数据通信方法包括: 接收外部传送的通信数据; 将所述通信数据在每比特位的时间宽度内进行多次读取操作; 每比特位时间的采集结束后,根据所述多次读取操作的结果判断所采集的比特位的逻辑值,如果所述多次读取操作的结果中逻辑I的次数大于逻辑O,则采集的比特位判断为逻辑1,否则为逻辑O。
8.如权利要求7所述的数据通信方法,其特征在于,在采集未开始时,设定定时触发间隔为系统时钟周期。
9.如权利要求7所述的数据通信方法,其特征在于,所述在每比特位的时间宽度内对所述通信数据进行多次读取操作,包括: 在每比特位的时间宽度内对所述通信数据进行3次读取操作。
10.如权利要求9所述的数据通信方法,其特征在于,所述在每比特位进行3次读取操作时,设定采集触发间隔,所述采集触发间隔根据串行通信的波特率来设定。
【文档编号】G06F13/20GK103870414SQ201210539574
【公开日】2014年6月18日 申请日期:2012年12月13日 优先权日:2012年12月13日
【发明者】谭灵焱, 王悦, 王铁军, 李维森 申请人:北京普源精电科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1