基于cpld和fpga的自适应光子相关器的制作方法

文档序号:6013784阅读:306来源:国知局
专利名称:基于cpld和fpga的自适应光子相关器的制作方法
技术领域
本发明涉及获取散射光强信号相关函数的装置,具体是基于复杂可编程逻辑器件 (简称CPLD,下同)和现场可编程门阵列(简称FPGA,下同)的自适应光子相关器。
背景技术
目前,光子相关光谱技术中获取散射光强信号自相关函数和互相关函数的装置, 主要有 Brookhaven Instruments Corporation 的 TurboCorr,德国 ALV 公司 ALV-6000、 ALV-7000系列数字相关器和美国w冊.correlator, com网站上提供的FLEX02等系列相关器。上述相关器装置大多是基于专门定制的芯片,或基于DSP芯片,价格昂贵。

发明内容
本发明的目的在于针对现有技术存在的缺陷,提供一种基于复杂可编程逻辑器件 (简称CPLD,下同)和现场可编程门阵列(简称FPGA,下同)的自适应光子相关器,用于光子相关光谱技术中光强信号相关函数的硬件实现,其根据获取到的默认配置的相关函数, 自适应地调整采样时间、相关运算时间、延迟通道分配方案,最终获得最优化的相关函数。CPLD是基于EEPROM工艺的,在芯片的内部写入程序后,系统上电后即可可靠的工作,没有配置数据的加载过程,在本发明中CPLD的主要作用就是实现多片FPGA配置芯片的引脚和FPGA配置引脚的动态互连。通过已经存储在CPLD中的程序,使多片FPGA配置芯片和FPGA在CPLD的控制下完成动态选择配置。FPGA是一种可根据应用场合灵活配置资源的一种通用芯片,且大多嵌入有数字运算模块,适用于相关运算。FPGA基于SRAM工艺,由存放在片内SRAM中的程序来设置其工作状态,配置时,FPGA芯片将配置芯片中的数据读入片内SRAM中,配置完成后,FPGA进入工作状态。FPGA的这特性使其便于动态灵活地进行配置。一片FPGA可以通过多种配置方案方便地实现多种功能。如图 1、2所示,本发明的一种基于CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)和FPGA (Field Programmable Gate Array,现场可编程门阵列)的自适应光子相关器主要包括—FPGA芯片电路,实现多个相互独立的数字相关器;——FPGA时钟、复位、重配置电路,实现FPGA内各电路模块的驱动,同步复位,重新配置的驱动;——串口与USB电路,实现FPGA、CPLD与计算机通信;—加密电路,用于加密配置到FPGA芯片上的程序;CPLD与多片FPGA配置芯片电路,利用CPLD将存储在多片配置芯片上的多种配置方案选择性地动态配置到FPGA芯片上;— CPLD时钟、复位电路,实现CPLD各电路模块的驱动,复位;
—同步复位模块,固化在FPGA内,完成在硬件上电后或FPGA复位按键按下后 FPGA芯片内各模块的同步复位与默认初始值的加载;——光子计数模块,固化在FPGA内,用于统计一定时间间隔内光子的数目,并锁存输出,送入相关运算模块;——相关运算模块,固化在FPGA内,将光子计数模块输出的数据进行自相关运算或互相关运算,得到自相关曲线或互相关曲线,并锁存输出,通过计算机接口模块,与计算机通信,实现数据的输出;—计算机接口模块,固化在FPGA内,通过串口与USB电路接口与计算机通信,实现相关器参数设置与自相关运算或互相关运算结果数据输出;—加密模块,固化在FPGA内,完成对配置到FPGA中程序的加密;—CPLD复位模块,固化在CPLD内,完成在硬件上电后或CPLD复位按键按下后 CPLD芯片内各模块的复位与默认初始值的加载;—指令监控模块,固化在CPLD内,用于监控通过串口与USB电路接口,由计算机软件发送来的配置方案选择指令;——动态配置模块,固化在CPLD内,用于将存储着指令选中配置方案的配置芯片引脚和FPGA配置引脚动态互连,并驱动FPGA进行重新配置,完成对FPGA的动态选择配置。优选方案如下所述FPGA芯片电路主要由一片FPGA芯片电路构成;所述FPGA时钟、复位、重配置电路主要由Blockl电路构成。所述串口与USB电路主要由UART&USB电路构成;所述加密电路主要由DS^EOl芯片电路构成。所述CPLD与多片FPGA配置芯片电路主要由一片CPLD芯片电路和多片FPGA配置芯片电路构成;所述CPLD时钟、复位电路主要由Block2电路构成。所述同步复位模块主要包括50M全局时间的输入、外部复位信号输入和同步复位信号的输出模块。所述光子计数模块主要包括iSampleWord参数的输入与50M全局时间的输入模块。所述相关运算模块主要由移位寄存器与乘法累加器构成,可选择性地实现自相关运算和互相关运算;所述计算机接口模块主要由接收单元RxdAll与发送单元TXDControl 构成。所述加密模块主要由随机8位数产生模块RNG_8Bits,哈希算法计算和结果校验模块small_micro_32和外部加密电路接口模块0ne_Wire这3个模块构成。所述CPLD复位模块主要包括50M时间的输入、外部复位信号输入和CPLD复位信号的输出模块。所述指令监控模块主要由串口接收单元RxdAll和配置方案预设值构成;所述动态配置模块主要由All电路构成。本发明的工作原理如下本发明的系统框图如图1,从光子探测器(例如光电倍增管、雪崩光电二极管等) 出来的脉冲信号,进入FPGA里的光子计数模块。光子计数模块通过预设的采样时间间隔, 对光子脉冲信号进行等间隔的计数,计数结果送入相关运算模块。相关运算模块首先将数据送入移位寄存器,并按照设定的通道分配方案,启动乘法累加器进行运算,完成指定的相关运算时间后,将本次结果送入计算机接口模块,计算机接口模块将结果送入计算机,完成一次相关运算过程。如图1,多片配置芯片分别存储不同的配置方案,利用CPLD结合计算机上的软件可以较易地使一片FPGA芯片在不同的时刻实现多种不同的相关运算,达到“一机多能”的效果,提高光子相关器的功能和性能。由计算机上的软件发送来的配置方案选择指令,通过串口与USB电路接口,送入CPLD里的指令监控模块。指令监控模块对指令进行识别判定, 以确定将那种配置方案配置到FPGA中,判定结果送入动态配置模块。动态配置模块根据判定的结果,将存储着选中配置方案的配置芯片引脚和FPGA配置引脚动态互连,并驱动FPGA 进行重新配置,完成对FPGA的动态选择配置。配置完成后,配置程序中的程序加密模块与连接着FPGA的加密电路进行密钥校验。校验通过后,FPGA就具有了选中方案的功能。整个动态配置过程不超过1秒,实时性非常强。图2是本发明以四片FPGA配置芯片为例的硬件电路连接总图。Blockl模块产生输入FPGA的50M全局时钟,复位信号与重新配置驱动信号,并且完成光电倍增管与本电路的连接,硬件电路连接如图3。FPGA为一片FPGA芯片及其外围电路,用于在不同时刻实现多个相互独立的相关器。Block2模块产生输入CPLD的50M时钟和复位信号,CPLD为一片 CPLD芯片及其外围电路,用于实现监控由UART&USB输入的配置方案选择指令,根据指令完成FPGA配置引脚与配置芯片引脚的动态互连,并驱动FPGA进行重新配置。EPCS64(1)、 EPCS64 (2)、EPCS64 (3)、EPCS64 (4)为四片FPGA配置芯片及其外围电路,用于存储四种不同的相关器配置方案。UART&USB与FPGA内的计算机接口模块和CPLD内的指令监控模块相连,硬件电路连接如图4,完成计算机发送配置方案选择指令到CPLD和FPGA进行相关运算的参数设置与相关运算曲线数据传输。由于FPGA内的可编程资源有限,决定了光子相关器可分配的通道数是有限的,如果通道时间分配方案固定,往往不能很好地适应不同场合的运用。以200个通道数的线性通道分配方案为例,在基于光子相关光谱法纳米颗粒粒度测量技术中,大粒径纳米颗粒的光强相关函数衰减较慢。如图5,粒径为1000纳米颗粒的光强相关函数需要大约0. Is的时间才能衰减下来,这就要求相关器通道的最大延迟时间足够长。假设其最小延迟时间为 500us,则其最大延迟时间为0. ls,但此时通道的最小延迟时间太长,不能满足小粒径纳米颗粒的反演需要。小粒径纳米颗粒的测量中,其光强相关函数衰减较快,如图5,3纳米的颗粒的光强相关函数只需大约0. Ims的时间就衰减下来了,这就要求相关器通道的最小延迟时间较短,假设其最小延迟时间0. 5us,则其最大延迟时间为0. 1ms,但此时其最大延时时间太短,不能满足大粒径纳米颗粒的反演需要。通过计算机上的软件的控制,利用多配置方案动态选择配置,可以自适应的获取最优化的相关曲线,从而满足各种粒度的测量和反演的需要,提高测量精度。四片配置芯片中存储着不同通道配置方案的相关器,有不同的最小和最大延迟时间,分别适用于对不同衰减率的相关函数的获取。也可以在配置芯片中存储不同类型的相关器,即自相关器和互相关器。由于互相关器的自适应测量原理和自相关器的自适应测量原理是一致的,因此以自相关器的自适应测量原理为例来说明其自适应测量的原理。系统上电后,默认将满足大中粒径纳米颗粒测量和反演的自相关器配置方案配置到FPGA中。对纳米进行测量时,完成自相关运算后,自相关函数输入到计算机中。计算机上的软件对输入的数据进行处理, 以初步判定相关函数的衰减率,再根据该衰减率,由计算机软件发送指令选中储存在配置芯片中的合适的通道配置方案,在CPLD的控制下,将选中的配置方案配置到FPGA中,重新进行相关运算及后续的数据处理,例如粒度反演等。用户启动测量后,整个测量过程由计算机上的软件自动控制,具备自适应的功能,操作简单,其中配置方案的动态选择速度小于 1秒,实时性强。由于自相关器原理是一致的,因此,以其中一个自相关器为例来说明其原理。图6中,有6根输入线,2根输出线。有四个主要功能模块=ResetDelay为同步复位模块;PhotonCounter为光子计数模块;ProCorrelatonl为自相关运算模块;ProOutputl 为计算机接口模块。Enable为加密模块输出的使能信号,用于使能光子计数模块,高电平有效。iCLK50M为50M的全局时钟输入,用于驱动各电路模块。iRST为外部复位输入线, 由ResetDelay模块产生的复位信号oRESET作为全局的复位信号,同时为低电平有效。 iPhotonPulse为光子脉冲信号输入,用于与光子探测器相连。iRX与iUSBRX进行相与运算后作为输入,可与串口与USB电路转串口芯片相连,输入到ProOutputl计算机接口模块,自相关计算的结果数据通过一个接口传输入计算机。oTX与oUSBTX为串口与USB电路转串口芯片与计算机接口相连的输出线。若选用互相关器,其原理与自相关类似,这里以一个互自相关器为例来说明其原理。图7中,有7根输入线,2根输出线。有五个主要功能模块=ResetDelay为同步复位模块;PhotonCounter为光子计数模块,有两个相互独立的光子计数模块;ftOCorrelatonl为互相关运算模块;PrO0utput2为计算机接口模块。Enable为加密模块输出的使能信号,用于使能光子计数模块,高电平有效。iCLK50M为50M的全局时钟输入,用于驱动各模块电路。 iRST为外部复位输入线,由ResetDelay模块产生的复位信号oRESET作为全局的复位信号, 同时为低电平有效。iWiotonPulsel为一路光子脉冲信号输入,iPhotonPulse2为另一路光子脉冲信号输入。iRX与iUSBRX进行相与运算后作为输入,可与串口与USB电路转串口芯片相连,输入到ftx)0UtpUt2计算机接口模块,互相关计算的结果数据通过一个接口传输入计算机。oTX与oUSBTX为串口与USB电路转串口芯片与计算机接口相连的输出线。本发明中固化在FPGA内各模块更详细的说明如下同步复位模块同步复位模块完成在硬件上电后或FPGA复位按键按下后各模块同步复位与默认初始值加载。具体的原理设计如图8。iCLK为外部硬件输入时钟脉冲,iRST为由外部按键控制输入的电平,oRESET为输出复位信号,低电平有效。光子计数模块光子计数模块是光子相关器进行相关运算的重要组成部分,它实现的功能除了对光子信号进行计数外,还包括启动相关运算模块的移位寄存器进行移位和乘法累加器进行相乘累加运算的功能,同时也控制着运算的总次数。但本发明相关器也可屏蔽这个功能, 从外部输入信号,也可实现相关运算。具体的原理设计如图9。该电路有5根输入线,2根输出线,一个计数数据位数控制参数。其中Enable为加密模块输出的使能信号,高电平有效。iCLK50M为50M的时钟输入,用于控制采样时间,当计数时间与采样时间相同时,输出计数数据。iRST为全局的复位信号输入线,同时为低电平有效。iPhotonPulse为光子脉冲信号输入,用于与光子探测器相连。iSampleWord为光子计数模块的参数输入线,控制采样时间间隔,数据由(采样时间/输入时钟周期)计算得到。iDataWidth为计数数据位数控制参数,用于控制计数结果的位数。ODataCLK为计数结果时钟,上升沿时将结果锁存输出。 oData[iDataffidth-l. . 0]为计数结果的输出。相关运算模块相关运算模块是光子相关器的核心部分,在自相关器中,相关运算模块为自相关运算模块。在互相关器中,相关运算模块为互相关运算模块。先介绍自相关运算模块,它实现的功能主要是对光子计数模块的输出数据进行自相关运算。自相关运算以移位寄存器和乘法累加器为基础,以一个4通道的自相关运算为例来说明自相关器的工作原理,如图10所示。移位时钟将光子计数值存储在移位寄存器的第一个单元里,下一个移位时钟到来时,移位寄存器的第一个单元的数值n(l)被转移到第二个单元,启动乘法累加单元进行运算。经过N次采样后,用Iii表示第i个采样时间里的光子计数,i = 1,2,3…N,图10中的 4个累加器保存的数值分别为第1 累加器:R(A τ ) = ηιη2+η2η3+…+Iv1Iin第2 累加器:R(2A τ ) = ηιη3+η2ηη4+... +nN_2nN第3 累加器:R(3 Δ τ ) = ηιη4+η2η5+··· +ηΝ_3ηΝ第4 累加器:R(4A τ) = ηιη5+η2η6+...+ηΝ_4ηΝ在FPGA中,自相关运算模块主要依据上述原理构建了移位寄存器模块与乘法累加器模块。移位寄存器模块完成数据的存储与移位操作,具体的电路设计如图11。该电路有3个输入,iCLK为移位时钟,iEn为使能信号,高电平有效,iData[idatawidth. · 0]为第一个移位寄存器的数据输入端。当iEn使能,iCLK上升沿时,数据iDatatidatawidth. . 0] 移进在inst单元,同时inst单元数据移进instl单元,以此类推。乘法累加器模块完成数据的相乘与累加操作。具体的电路设计如图12。iCLK50M 为50M的时钟输入,iRST为复位输入线,iEn为使能信号,高电平有效。iCLK为移位时钟, iDataA [3.. 0]为图11中第一个移位寄存器的数据,iDataB[119. . 0] [3. . 0]为预先设定的需要计算的通道所对应的移位寄存器的数据。乘法累加器中的乘法运算使用了 FPGA里嵌入的高速硬件乘法器采用时分复用的方法进行计算,节省了硬件资源。下面介绍互相关运算模块,它实现的功能主要是对两个相互独立的光子计数模块输出的数据进行互相关运算。互相关运算也是以移位寄存器和乘法累加器为基础,两路不同的光子脉冲信号进入 FPGA后,通过两个相互独立光子计数模块分别进行计数,并且送入移位寄存器,根据设定的通道分配方案进行互相关运算。以4通道互相关运算为例对互相关运算过程进行说明,原理框图如错误!未找到引用源。所示。光子计数1及光子计数2模块分别对光子脉冲1和光子脉冲2进行计数,并且将光子数分别送入移位寄存器A与B中。光子计数值在移位时钟作用下,从一个移位寄存器进入下一个移位寄存器,同时启动乘法累加单元进行运算。用Ai, Bi分别表示光子脉冲1、 光子脉冲2第i个采样时间里的光子计数,i = 1,2,3…N。经过N次采样后,错误!未找到引用源。中的第一个累加器τ)保存的数值为R(At) = B1A2+B2A3+…+BimAn
根据互相关器通道的分配,计算相应的通道互相关值。其运算的数据来自两个光子计数模块的结果,并将其送入图13中的A、B两个移位寄存器中,由于后面的计算过程与自相关运算是一致的,因此,不再赘述。计算机接口模块计算机接口模块完成计算机与FPGA中相关器的通信,在FPGA内建立串口数据接收单元和串口数据发送单元。接收单元接收计算机发送来的指令,发送单元将相关运算的结果数据发送到计算机。加密模块加密模块用于加密配置到FPGA中的程序,防止程序被复制移植到至其他硬件中。 具体的原理设计如图14。有2根输入线,2跟输出线,ClockJn为时钟信号输入线,Resetru ^为由外部按键控制的复位信号输入,Enable为输出的使能信号。0ne_Wire与外部加密电路连接。有3个主要的功能模块RNG_8Bits为随机8位数产生模块;small_miCro_32为哈希算法计算和结果校验模块;0ne_Wire为外部加密电路接口模块。本发明中固化在CPLD内各模块更详细的说明如下CPLD复位模块CPLD复位模块完成在硬件上电后或CPLD复位按键按下后CPLD内各模块复位与默认初始值的加载。具体的原理设计如图8,与FPGA内的同步复位模块完全一致。指令监控模块指令监控模块用于监控由计算机发送来的配置方案选择指令。在CPLD内建立串口数据接收单元,接收计算机发送来的指令。当计算机给CPLD发送指令时,指令监控模块对接受到的指令进行识别判断,当判定为某个配置方案选择指令时,则将判定结果送入动态配置模块中,如果不是某个配置方案选择指令,则保持原来状态。动态配置模块动态配置模块根据指令监控模块的判定结果,将存储着指令选中配置方案的配置芯片引脚和FPGA配置引脚动态互连,并驱动FPGA进行重新配置,完成对FPGA的动态选择配置。具体原理设计如图15。iCLK50M为50M时钟脉冲输入,iRST为复位信号输入,iResult 为判定结果输入,DCLK、nCS、ASDI、DATA 为 FPGA 的配置引脚,DCLKl、nCSl、ASDI1、DATAl 为第一片配置芯片的引脚,DCLK2、nCS2、ASDI2、DATA2为第二片配置芯片的引脚,DCLK3、nCS3、 ASDI3、DATA3为第三片配置芯片的引脚,DCLK4、nCS4、ASDI4、DATA4为第四片配置芯片的引脚,oConfig为FPGA重配置驱动信号输出。本发明与现有技术相比具有如下优点1、本发明基于一片FPGA芯片和多片FPGA配置芯片,由一片CPLD芯片控制FPGA配置引脚与多片配置芯片引脚的动态互连,采用Quartus II软件平台设计的方式实现自适应光子相关器。该设计方法具有以下的几个特点(1)、用Quartus II软件设计电路程序,利用USB Blaster下载线和JTAG接口或者AS下载接口下载到电路板上;(2)、能通过Quartus II软件对程序进行更改,从而实现本发明对光子相关器的改进;(3)、可以应用Qimrtus II 软件平台中的波形仿真,对同步复位模块,光子计数模块等模块进行仿真。2、本发明采用多片FPGA配置芯片动态配置FPGA的方式,实现了自相关运算和互相关运算,用户可以通过计算机上的软件,交互式地选择采用哪种相关运算方案。较易地扩展了相关器延迟时间的动态范围,从而提高相关器的功能和性能,达到“一机多能”的效果。3、本发明的乘法累加器,基于FPGA嵌入的高速乘法器,采用时分复用技术,从而提高了相关运算的速度,优化了硬件资源。4、本发明采用高密度FPGA芯片,把同步复位模块,光子计数模块,相关运算模块, 计算机接口模块,加密模块,固化在FPGA中,从而提高相关器电路的稳定性,减小电路功耗。5、本发明基于通用型现场可编程芯片FPGA实现自适应光子相关器,资源配置灵活,易于产品性能升级。6、本发明利用CPLD芯片,把CPLD复位模块,指令监控模块,动态配置模块,固化在 CPLD中,从而提高了相关器配置方案的易扩展性。7、本发明采用FPGA内加密模块与外部加密电路相结合的加密方式,提高了程序的保密性。8、本发明与计算机上的软件相结合,测量中根据相关曲线的特点,自适应的调整配置方案,使得相关曲线的获取最优化。


图1是本发明结构框图;图2是本发明硬件电路连接总图;图3是图1中的全局时钟、外部复位、重配置驱动、信号输入硬件电路连接图;图4是图1中的USB和串口硬件电路连接图;图5是四种不同粒径纳米颗粒的光强相关函数图;图6是图1中FPGA芯片内自相关器的程序框图;图7是图1中FPGA芯片内互相关器的程序框图;图8是图5、图6中固化在FPGA芯片内的同步复位模块电路图;图9是图5、图6中固化在FPGA芯片内的光子计数模块电路图;图10是自相关运算模块中的乘法累加示意图;图11是固化在FPGA芯片内的相关运算模块中的移位寄存器示意图;图12是固化在FPGA芯片内的相关运算模块中的乘法累加器示意图;图13是互相关运算模块中的乘法累加示意图;图14是图1中FPGA芯片内加密模块的程序框图;图15是固化在CPLD芯片内的动态配置模块电路图;图16是同步复位模块时序仿真波形图;图17是光子计数模块仿真波形图;图18是相关运算模块时序图;图19是固化在FPGA芯片内的计算机接口接收模块电路图;图20是固化在FPGA芯片内的计算机接口发送模块电路图。
具体实施例方式同步复位模块
iCLK为外部硬件输入时钟脉冲,iRST为外部复位信号输入,oRESET为输出复位信号。图16是仿真波形,当上电后或FPGA复位按键按下后即对iCLK进行计数,当小于设定的值16(这个值可修改)时,输出为低电平,各模块在这期间处于复位阶段,同时加载默认的初始值数据。其后输出高电平,各模块正常工作。光子计数模块光子计数模块仿真波形如图17。iRST为高电平时,计数模块正常工作,iCLK50M 为50M的时钟输入,iPhotonPulse为光子脉冲信号,iSampIefford为采样时间参数设置,以 5us 采样时间,50M 时钟输入为例,iSampleWord = (5χ1(Γ6/(1/50χ106)) = 250。oDataCLK 为数据的输出时钟,上升沿时将数据锁存输出。当5us计时到,oDataCLK拉为高电平,从 oData[iDataffidth-1..0]输出数据。iDataWidth为数据位数控制参数,可以根据采样时间的长短,来进行选择。以5us采样时间,相关运算时间1秒为例,当iDataWidth设置为4时, 每秒最大的可容许光子数为(1/(切10_6))乂24-1) =3M。在仿真波形中,iSampleWord设置为250,第一个5us时间内,光子脉冲数为2,第二个2us时间内,光子脉冲数为4。相关运算模块相关运算模块完成相关运算,具体的工作时序过程如图18。iRST为低电平时,电路处于复位阶段,当变为高电平时,电路正常工作。iEn为高电平时,乘法累加器使能,低电平时,乘法累加器清零。iCLK为光子计数模块输出的时钟,MacCLK为iCLK的反相时钟,用于控制乘法累加器的计算。高电平时,乘法累加器以50M的速率进行相关运算。计算机接口模块计算机接口模块完成计算机与相关器的通信,由接收单元RxdAll和发送单元 TfflControl构成。RxdALL,如图19所示,有3个输入端,3个输出端。iRX为数据的接收端,iCLK50M为50M时钟输入,iRST为复位信号。oEn为接收到数据有效输出线,高电平有效。OData[605. . 0] [7. . 0]为接收数据缓冲,oRxdNum[9. . 0]指示收到的数据个数。 TfflControl,如图20所示,有6个输入端,2个输出端。iCLK为50M时钟信号输入。iRST为复位信号,低电平有效。iEn为输出使能信号,高电平有效。iTXdNum[9..0]为传输数据个数输入参数。iDataW05..0][7..0]为传输数据缓冲。Ktart为传输控制信号开始控制信号,高电平有效。oDone为传输控制完成信号,高电平有效。oTX为数据输出线。加密模块加密模块与外部加密电路结合来加密配置到FPGA中的程序。如图14所示,其具体的加密原理是器件上电后或外部复位键按下后FPGA将RNG_8Bits模块产生的8位随机数通过small_miCro_32和0ne_Wire模块发送到外部加密电路中,FPGA读取外部加密电路唯一的序列号,外部加密电路开始哈希算法计算,FPGA读取外部加密电路产生的一组消息认证码。Small_micro_32模块开始哈希算法计算产生另外一组消息认证码,两组消息验证码进行校验。如果校验通过,则Enable输出为高电平,使能光子计数器模块,如果校验没有通过,则Enable输出为低电平,禁用光子计数器模块,从而达到加密的目的。CPLD复位模块CPLD复位模块的具体实施方式
与FPGA芯片内的同步复位模块完全一致,因此,不再赘述。指令监控模块
指令监控模块内的串口数据接收单元与FPGA内的计算机接口模块中的接收单元 RxdALL完全一致,如图19所示。将接收到的计算机发送来的指令与程序预设的值进行对比。指令与哪种配置方案预设的值一致时,哪种配置方案被选中。都不一致时,保持原来的配置方案。动态配置模块动态配置模块根据指令监控模块的判定结果进行动态配置。如图15,当第一种配置方案被选中时斤 64配置的00^、冗54501、0414四个引脚通过CPLD芯片的内部与第一片配置芯片的DCLKl、nCSl、ASDI1、DATAl四个引脚对应相连,并且oConfig输出一个低脉冲,驱动FPGA进行重新配置,完成第一种配置方案的动态配置。当第二种配置方案被选中时,FPGA配置的DCLK、nCS、ASDI、DATA四个引脚通过CPLD芯片的内部与第二片配置芯片的 DCLK2、nCS2、ASDI2、DATA2四个引脚对应相连,并且oConfig输出一个低脉冲,驱动FPGA进行重新配置,完成第二种配置方案的动态配置。以此类推,可实现多种配置方案的选择性动态配置。
权利要求
1.一种基于复杂可编程逻辑器件(简称CPLD,下同)和现场可编程门阵列(简称FPGA, 下同)的自适应光子相关器,其特征在于主要包括——FPGA芯片电路,实现多个相互独立的数字相关器;—FPGA时钟、复位、重配置电路,实现FPGA内各电路模块的驱动,同步复位,重新配置的驱动;——串口与USB电路,实现FPGA、CPLD与计算机通信;——加密电路,用于加密配置到FPGA芯片上的程序;CPLD与多片FPGA配置芯片电路,利用CPLD将存储在多片配置芯片上的多种配置方案选择性地动态配置到FPGA芯片上;SHAPE MERGEFORMAT——CPLD时钟、复位电路,实现CPLD各电路模块的驱动,复位;——SHAPE MERGEFORMAT同步复位模块,固化在FPGA内,完成在硬件上电后或 FPGA复位按键按下后FPGA芯片内各模块的同步复位与默认初始值的加载;——SHAPE MERGEFORMAT光子计数模块,固化在FPGA内,用于统计一定时间间隔内光子的数目,并锁存输出,送入相关运算模块;——相关运算模块,固化在FPGA内,将光子计数模块输出的数据进行自相关运算或互相关运算,得到自相关曲线或互相关曲线,并锁存输出,通过计算机接口模块,与计算机通信,实现数据的输出;——计算机接口模块,固化在FPGA内,通过串口与USB电路接口与计算机通信,实现相关器参数设置与自相关运算或互相关运算结果数据输出;——加密模块,固化在FPGA内,完成对配置到FPGA中程序的加密;—CPLD复位模块,固化在CPLD内,完成在硬件上电后或CPLD复位按键按下后CPLD 芯片内各模块的复位与默认初始值的加载;SHAPE \* MERGEFORMAT——指令监控模块,固化在CPLD内,用于监控通过串口与 USB电路接口,由计算机软件发送来的配置方案选择指令;——动态配置模块,固化在CPLD内,用于将存储着指令选中配置方案的配置芯片引脚和FPGA配置引脚动态互连,并驱动FPGA进行重新配置,完成对FPGA的动态选择配置。
2.根据权利要求1所述的自适应光子相关器,其特征在于所述FPGA芯片电路主要由一片FPGA芯片电路构成;所述FPGA时钟、复位、重配置电路主要由Blockl电路构成。
3.根据权利要求1或2所述的自适应光子相关器,其特征在于所述串口与USB电路主要由UART&USB电路构成;所述加密电路主要由DS28E01芯片电路构成。
4.根据权利要求3所述的自适应光子相关器,其特征在于所述CPLD与多片FPGA配置芯片电路主要由一片CPLD芯片电路和多片FPGA配置芯片电路构成;所述CPLD时钟、复位电路主要由Block2电路构成。
5.根据权利要求4所述的自适应光子相关器,其特征在于所述同步复位模块主要包括 50M全局时间的输入、外部复位信号输入和同步复位信号的输出模块。
6.根据权利要求5所述的自适应光子相关器,其特征在于所述光子计数模块主要包括 iSampIefford参数的输入与50M全局时间的输入模块。
7.根据权利要求6所述的自适应光子相关器,其特征在于所述相关运算模块主要由移位寄存器与乘法累加器构成,可选择性地实现自相关运算和互相关运算;所述计算机接口模块主要由接收单元RxdAll与发送单元TfflControl构成。
8.根据权利要求7所述的自适应光子相关器,其特征在于所述加密模块主要由随机8 位数产生模块RNG_8Bits,哈希算法计算和结果校验模块Small_miCr0_32和外部加密电路接口模块0ne_Wire这3个模块构成。
9.根据权利要求8述的自适应光子相关器,其特征在于所述CPLD复位模块主要包括 50M时间的输入、外部复位信号输入和CPLD复位信号的输出模块。
10.根据权利要求9所述的自适应光子相关器,其特征在于所述指令监控模块主要由串口接收单元RxdAll和配置方案预设值构成;所述动态配置模块主要由All电路构成。
全文摘要
本发明涉及基于CPLD和FPGA的自适应光子相关器,主要包括FPGA芯片电路,实现多个相互独立的数字相关器;FPGA时钟、复位、重配置电路,实现FPGA内各电路模块的驱动,同步复位,重新配置的驱动;串口与USB电路,实现FPGA、CPLD与计算机通信;加密电路,用于加密配置到FPGA芯片上的程序;本发明基于CPLD和FPGA的自适应光子相关器,采用多片配置芯片利用CPLD动态选择配置一片FPGA的方式,实现了光子相关器配置方案的自适应动态调整,使获得的相关函数最优化。
文档编号G01J11/00GK102313604SQ20111019405
公开日2012年1月11日 申请日期2011年7月12日 优先权日2011年7月12日
发明者谌文峰, 韩鹏 申请人:华南师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1