专利名称:基于现场可编程门阵列(fpga)的光子相关器的制作方法
技术领域:
本实用新型涉及光子相关光谱法粒度测量技术中获取散射光信号自相关函数的 装置,具体是基于现场可编程门阵列(FPGA)的光子相关器。
背景技术:
目前,光子相关光谱法粒度测量技术中获取散射光强信号自相关函数的装置, 主要有 Brookhaven Instruments Corporation 的 BI—9010AT、BI—9000AT 禾口 最新的 TurboCorr,德国 ALV 公司 ALV-6000、ALV_7000 系列数字相关器和美国 www. correlator, com 网站上提供的FLEX02等系列相关器。上述相关器装置大多是基于专门定制的芯片,或基于DSP芯片,价格昂贵。
实用新型内容本实用新型的目的在于提供一种基于现场可编程门阵列(FPGA)的光子相关器, 用于光子相关光谱技术中光强自相关函数的硬件实现,达到采样时间、相关运算时间可调, 延迟通道数目满足纳米颗粒测量与反演的要求。FPGA是一种可根据应用场合灵活配置资源的一种通用芯片,且大多嵌入有数字运 算模块,适用于相关运算。如图1、2所示,本实用新型的基于现场可编程门阵列(FPGA)的光子相关器包括—FPGA芯片电路,实现多个线性独立的数字相关器。——时钟、复位电路,实现各电路模块的驱动,同步复位。——串口与USB电路,实现与计算机通信。—同步复位模块,固化在FPGA内,完成在硬件上电后各模块及多个FPGA芯片同 步复位与默认初始值的加载;光子计数模块,固化在FPGA内,用于统计一定时间间隔内光子的数目,并锁存输 出,送入相关运算模块。相关运算模块,固化在FPGA内,将光子计数模块输出的数据进行相关运算,得到 相关曲线,并锁存输出,通过计算机接口模块,与计算机通信,实现数据的输出。计算机接口模块,固化在FPGA内,通过串口与USB电路接口与计算机通信,实现相 关器参数设置与相关运算结果数据输出。本实用新型的工作原理如下本实用新型的系统框图如图1,从光子探测器(例如光电倍增管、雪崩光电二极管 等)出来的脉冲信号,进入FPGA里的光子计数模块。光子计数模块通过预设的采样时间间 隔,对光子脉冲信号进行等间隔的计数,计数结果送入相关运算模块。相关运算模块首先将 数据送入移位寄存器,并按照设定的通道分配方案,启动乘法累加器进行运算,完成指定的 相关运算时间后,将本次结果送入计算机接口模块,计算机接口模块将结果送入计算机,完 成一次相关运算过程。[0016]多片FPGA级联可较易地扩展资源,提高光子相关器的性能。图2是本实用新型以 三片FPGA级联为例的硬件电路连接总图,Blockl模块产生50M的全局时间与复位信号,并 且完成光电倍增管与本电路的连接,硬件电路连接如图3。FPGAl、FPGA2、FPGA3为三片FPGA 芯片及其外围电路,用于实现三个线性独立的相关器,UART&USB是与计算机接口模块,硬件 电路连接如图4,完成计算机与相关器进行参数设置与相关运算曲线数据传输。由于各个线性相关器原理是一致的,因此,以FPGAl为例来说明其原理。图5 中,有6根输入线,5根输出线。有四个主要功能模块=ResetDelay为同步复位模块; PhotonCounter为光子计数模块;ProCorrelaton为相关运算模块;ProOutput为计算机接 口模块。iCLK50M为50M的全局时钟输入,用于驱动各模块电路。iRST为外部复位输入线, 与ResetDelay模块产生的复位信号进行相与运算后作为全局的复位信号,同时为低电平 有效。iPhotonPulse为光子脉冲信号输入,用于与光子探测器相连。iRX与iUSBRX进行相 与运算后作为输入,可与串口与USB电路转串口芯片相连,同时通过oSRX与FPGA2相连,在 参数设置阶段,可实现并行设置。iSTXDBIT与FPGA2的数据输出线oTXDBIT相连,通过输出 控制线oTXDEn控制传输数据的时序,将三片的结果数据通过一个接口传输入计算机。oTXD 与oUSBTXD为串口与USB电路转串口芯片与计算机接口相连的输出线。oRSTSyn为同步复 位输出线,控制三片FPGA同步工作。本实用新型的光子相关器的各部分更详细的说明如下同步复位模块同步复位模块完成在硬件上电后各模块同步复位与默认初始值加载。具有的原理 设计如图6。iCLK为外部硬件输入时钟脉冲,oReset为输出复位信号,低电平有效。光子计数模块光子计数模块是光子相关器进行相关运算的重要组成部分,它实现的功能除了对 光子信号进行计数外,还包括启动相关运算模块的移位寄存器进行移位和乘法累加器进行 相乘累加运算的功能,同时也控制着运算的总次数。但本实用新型相关器也可屏蔽这个功 能,从外部输入信号,也可实现相关运算。具体的原理设计如图7。该电路有4根输入线, 两根输出线,一个计数数据位数控制参数。其中iRST为全局的初始复位信号输入线,同 时为低电平有效。iPhotonPulse为光子脉冲信号输入,用于与光子探测器相连。iCLK50M 为50M的时钟输入,用于控制采样时间,当计数时间与采样时间相同时,输出计数数据。 iSamplefford为光子计数模块的参数输入线,控制采样时间间隔,数据由(采样时间/输入 时钟周期)计算得到。iDataWidth为计数数据位数控制参数,用于控制计数结果的位数。 oDataCLK为计数结果时钟,上升沿时将结果锁存输出。oDatatiDataWidth-l. . 0]为计数结 果的输出。相关运算模块相关运算模块是光子相关器的核心部分,它实现的功能主要是对光子计数模块的 输出数据进行自相关运算。自相关运算以移位寄存器和乘法累加器为基础,以一个4通道 的自相关运算为例来说明相关器的工作原理,如图8所示。移位时钟将光子计数值存储在移位寄存器的第一个单元里,下一个移位时钟到来 时,移位寄存器的第一个单元的数值η (1)被转移到第二个单元,启动乘法累加单元进行运 算。经过N次采样后,用Iii表示第i个采样时间里的光子计数,i = 1,2,3…N,图8中的4个累加器保存的数值分别为第1 累加器:R(A X ) = nin2+n2n3+-第2 累加器:R(2 A x ) = nin3+n2n4+...+nN_2nN第3 累加器:R(3 A x ) = nin4+n2n5+...+nN_3nN第4 累加器:R(4A x) = nin5+n2n6+... +nN_4nN在FPGA中,自相关模块主要依据上述原理构建了移位寄存器模块与乘法累加器 模块。移位寄存器模块完成数据的存储与移位操作,具体的电路设计如图9。该电路有3个 输入,iCLK为移位时钟,iEn为使能信号,高电平有效,iData[3. . 0]为第一个移位寄存器的 数据输入端。当iEn使能,iCLK上升沿时,数据iData[3. .0]移进在inst单元,同时inst 单元数据移进instl单元,以此类推。乘法累加器模块完成数据的相乘与累加操作。以FPGA1中的乘法累加器为例说明 其工作过程。具体的电路设计如图10。iCLK50M为50M的时钟输入,iRST为复位输入线, iEn为使能信号,高电平有效。iCLK为移位时钟,iDataA[3..0]为图9中第一个移位寄存 器的数据,iDataB[116. . 0] [3. . 0]为预先设定的需要计算的通道所对应的移位寄存器的数 据。乘法累加器中的乘法运算使用了 FPGA里嵌入的高速硬件乘法器采用时分复用的方法 进行计算,节省了硬件资源。计算机接口模块计算机接口模块完成计算机与相关器的通信,由于使用多片FPGA级联实现光子 相关器,结果分别暂存在不同的芯片上,通过控制线,实现多片FPGA数据的分时传输。本实用新型与现有技术相比具有如下优点1、本实用新型基于FPGA芯片,采用Quartus软件平台设计的方式实现光子相关 器。该设计方法具有以下的几个特点(1)、用软件设计电路程序,利用ByteBlaster并口下 载线和JTAG接口下载到电路板上;(2)、能通过软件的更改,从而实现本实用新型对光子相 关器的改进;(3)、可以应用Quartus软件平台中的波形仿真,对同步复位模块,光子计数模 块进行仿真。2、本实用新型采用多片FPGA芯片级联的方式,实现多个相互独立的线性相关器, 产生一个从5us至500ms的相关函数,从而提高相关器延迟时间的动态范围。3、本实用新型的乘法累加器,基于FPGA嵌入的高速乘法器,采用时分复用技术, 从而提高相关器的通道数,优化硬件资源。4、本实用新型采用高密度FPGA芯片,把同步复位模块,光子计数模块,相关运算 模块,计算机接口模块,固化在FPGA中,从而提高相关器电路的稳定性,减小电路功耗。5、本实用新型基于通用型现场可编程芯片FPGA实现光子相关器,资源配置灵活, 易于产品性能升级。
图1是本实用新型结构框图;图2是本实用新型硬件电路连接总图;图3是全局时钟、外部复位、信号输入硬件电路连接图。图4是USB和串口硬件电路连接图。[0044]图5是图1中固化在芯片内的总的程序框图;图6是图5中固化在芯片内的同步复位模块电路图;图7是图5中固化在芯片内的光子计数模块电路图;图8是相关运算模块中的乘法累加示意图;图9是固化在芯片内的相关运算模块中的移位寄存器示意图;图10是固化在芯片内的相关运算模块中的乘法累加器示意图;图11是同步复位模块时序仿真波形图;图12是光子计数模块仿真波形图;图13是相关运算模块时序图;图14是固化在芯片内的计算机接口接收模块电路图;图15是固化在芯片内的计算机接口发送模块电路图;图16是计算机接口模块发送数据时序仿真波形图。
具体实施方式
同步复位模块iCLK为外部硬件输入时钟脉冲,oReset为输出复位信号。图11是仿真波形,当上电后即对iCLK进行计数,当小于设定的值16 (这个值可修改)时,输出为低电平,各模块在 这期间处于复位阶段,同时加载默认的初始值数据。其后输出高电平,各模块正常工作。光子计数模块光子计数模块仿真波形如图12。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/(5x10_6))x(24-1) =3M。在仿真波形中,iSampleWord设置 为250,5us时间内,光子脉冲数为5。相关运算模块相关运算模块完成相关运算,具体的工作时序过程如图13。iRST为低电平时,电 路处于复位阶段,当变为高电平时,电路正常工作。iEn为高电平时,乘法累加器使能,低电 平时,乘法累加器清零。iCLK为光子计数模块输出的时钟,MacCLK为iCLK的反相时钟,用 于控制乘法累加器的计算。高电平时,乘法累加器以50M的速率进行相关运算。计算机接口模块计算机接口模块完成计算机与相关器的通信,由接收单元RxdALL和发送单元 TXDALL构成。RxdALL,如图14所示,有3个输入端,3个输出端。iRX为数据的接收端, 1CLK50M为50M时钟输入,iRST为复位信号。oEn为接收到数据有效输出线,高电平有效。 oData[409. · 0] [7. · 0]为接收数据缓冲,oRxdNum[9. · 0]指示收到的数据个数。TXDALL,如 图15所示,有7个输入端,3个输出端。iResultStart为数据传输开始控制信号,高电平有 效。iStart为传输控制信号开始控制信号,高电平有效。iRS[1..0]用于指示此时传输的是控制信号还是数据信号。当iRS[l.. 0]为1时,传输控制信号,与计算机进行握手协议; 当iRS[l. . 0]为2时,传输相关曲线的结果数据;为0与3时,表示不传输。iTXdNum[9. . 0] 为传输数据个数输入参数。iData[240..0][7..0]为传输数据缓冲。oDone为传输控制完 成信号,高电平有效。oTX为数据输出线。由于使用多片FPGA来实现多个线性相关器,相关 曲线数据暂存在各FPGA芯片中。因此,当第一个FPGA传输结束后,应控制下一个FPGA传 输。oTXDEn为控制FPGA2传输使能信号。以图2所示三片FPGA芯片为例,oTXD、oUSBTXD 与串口与USB电路转串口芯片相连。图16为相关曲线数据的传输控制时序。oTXl为FPGA1 的发送输出线,iTXDBITl为FPGA2的输出线,与FPGA1相连,iTXDBIT2为FPGA3的输出线, 与 FPGA2 相连。有 3 个控制信号,iSendResult, oTXDEn 1, oTXDEn2。iSendResult 为发送 数据的控制信号,高电平有效。当iSendResult为高电平时,使oTXDEnl与oTXDEn2为低 电平,这时只有FPGA1进行传输,这里以6个脉冲示意。传输结束后,FPGA1停止传输,使能 oTXDEnl,这时只有FPGA2进行传输,以5个脉冲进行示意。传输结束后,FPGA2停止传输,使 能oTXDEn2,FPGA3进行传输,以4个脉冲进行示意,传输结束后停止。从而实现三片FPGA 的结果进行分时传输。
权利要求一种基于现场可编程门阵列(FPGA)的光子相关器,其特征在于主要包括——FPGA芯片电路,实现多个线性独立的相关器;——时钟、复位电路,实现各电路模块的驱动,同步复位;——串口与USB电路,实现与计算机的通信;——同步复位模块,固化在FPGA内,完成在硬件上电后各模块及多个FPGA芯片同步复位与默认初始值的加载;——光子计数模块,固化在FPGA内,用于统计一定时间间隔内光子的数目,并锁存输出,送入相关运算模块;——相关运算模块,固化在FPGA内,将光子计数模块输出的数据进行相关运算,得到相关曲线,并锁存输出,通过计算机接口模块,与计算机通信,实现数据的输出;——计算机接口模块,固化在FPGA内,通过串口与USB电路接口和计算机通信,实现相关器参数设置与相关运算结果数据输出。
2.根据权利要求1所述的光子相关器,其特征在于所述FPGA芯片电路主要由多片 FPGA芯片电路构成。
3.根据权利要求1或2所述的光子相关器,其特征在于所述时钟、复位电路主要由 Blockl电路构成。
4.根据权利要求3所述的光子相关器,其特征在于所述串口与USB电路主要由 UART&USB电路构成。
5.根据权利要求4所述的光子相关器,其特征在于所述同步复位模块主要包括50M全 局时间的输入与复位信号的输出。
6.根据权利要求5所述的光子相关器,其特征在于所述光子计数模块主要包括 iSampIefford参数的输入与50M全局时间的输入。
7.根据权利要求6所述的光子相关器,其特征在于所述相关运算模块主要由移位寄存 器与乘法累加器构成。
8.根据权利要求7所述的相关器,其特征在于所述计算机接口模块主要由接收单元 RxdALL与发送单元TXDALL构成。
专利摘要本实用新型涉及可用于光子相关光谱法粒度测量技术中获取散射光信号自相关函数的基于现场可编程门阵列(FPGA)的光子相关器,主要由同步复位模块,光子计数模块,相关运算模块,计算机接口模块构成。光子计数模块实现对光子探测器的光子信号进行周期的等间隔计数,将结果送入光子相关运算模块,得到相关函数,通过计算机接口模块将结果送入计算机。本实用新型基于现场可编程门阵列(FPGA),实现了高速光子相关器;采用多片FPGA级联方式,扩展了相关器通道数和动态范围时间。
文档编号G01N15/02GK201589663SQ20092027256
公开日2010年9月22日 申请日期2009年12月8日 优先权日2009年12月8日
发明者吴国光, 杨冠玲, 邱健, 韩鹏 申请人:华南师范大学