一种可编程门阵列的数字光子相关器及光子测量系统

文档序号:631516 发布日期:2021-05-11 浏览:12次 >En<

阅读说明:本技术 一种可编程门阵列的数字光子相关器及光子测量系统 (Digital photon correlator of programmable gate array and photon measurement system ) 是由 韩鹏 徐炳权 邱健 彭力 骆开庆 刘冬梅 于 2020-12-31 设计创作,主要内容包括:本发明公开了一种可编程门阵列的数字光子相关器及光子测量系统,所述数字光子相关器包括:设置在FPGA芯片内部电路的系统同步运行模块、光子计算模块、相关运算模块和通讯控制模块;其中,所述系统同步运行模块分别与所述光子计算模块、所述相关运算模块以及所述通讯控制模块连接;所述光子计算模块、所述相关运算模块和所述通讯控制模块依次连接,所述光子计算模块与外部的光电倍增管连接,所述通讯控制模块与外部的终端连接。本发明可以充分利用了FPGA芯片的逻辑资源和了FPGA芯片内的存储器资源,充分发挥FPGA中逻辑资源和存储器资源各自的性能和优势,来提高FPGA硬件光子相关器的运算速度和运算的最大通道数。(The invention discloses a digital photon correlator of a programmable gate array and a photon measuring system, wherein the digital photon correlator comprises: the system synchronous operation module, the photon calculation module, the related operation module and the communication control module are arranged in an internal circuit of the FPGA chip; the system synchronous operation module is respectively connected with the photon calculation module, the correlation operation module and the communication control module; the photon calculation module, the correlation operation module and the communication control module are sequentially connected, the photon calculation module is connected with an external photomultiplier, and the communication control module is connected with an external terminal. The invention can fully utilize the logic resource of the FPGA chip and the memory resource in the FPGA chip, fully exert the respective performance and advantages of the logic resource and the memory resource in the FPGA, and improve the operation speed of the FPGA hardware photon correlator and the maximum number of operation channels.)

一种可编程门阵列的数字光子相关器及光子测量系统

技术领域

本发明涉及光子相关光谱法颗粒粒度测量技术领域,尤其涉及一种可编程门阵列的数字光子相关器及光子测量系统。

背景技术

在粒度测量过程中,通过测量散射光强信号变化在不同时刻之间的相似性来获取颗粒内在所包含的信息,为了获取颗粒内的信息,需要对散射光强信号进行相关运算,当前主要采用的装置是光子相关器或数字相关器。

而在光子相关光谱领域的测量中,硬件的光子相关器是主要测量设备,而绝大多数光子相关器依靠FPGA实现。目前来说基于FPGA的硬件光子相关器有两种实现方式:一种是仅基于FPGA的逻辑单元实现,另一种是基于FPGA的存储器和逻辑单元两种资源实现。基于FPGA的逻辑单元的相关器称为传统型相关器,基于FPGA的存储器和逻辑单元两种资源实现的相关器称为存储器型相关器。

使用存储器结构相关器,虽然其最大可综合通道数虽然多,但通道计算的延迟时间长,测量效率低;而传统型相关器虽然计算延迟时间短,但通道数小,测量的光子容量小,若增加通道数来提高,也会增加延迟时间,从而降低测量效率。

发明内容

本发明提出一种可编程门阵列的数字光子相关器,所述数字光子相关器可以实现串行结构和并行结构的同步运算,在增加了运算通道的同时减少延迟时间。

本发明实施例的第一方面提供了一种可编程门阵列的数字光子相关器,所述包括:设置在FPGA芯片内部电路的系统同步运行模块、光子计算模块、相关运算模块和通讯控制模块;

其中,所述系统同步运行模块分别与所述光子计算模块、所述相关运算模块以及所述通讯控制模块连接;

所述光子计算模块、所述相关运算模块和所述通讯控制模块依次连接,所述光子计算模块与外部的光电倍增管连接,所述通讯控制模块与外部的终端连接;

所述系统同步运行模块,用于控制所述光子计算模块、所述相关运算模块和所述通讯控制模块同步运行;

所述光子计算模块用于接收外部光电倍增管的脉冲信号,按预设时序对所述脉冲信号进行计数,并将所述脉冲信号输出至所述相关运算模块,所述脉冲信号包括模拟电信号或TTL信号;

所述相关运算模块,用于采用预设的乘法器和累加器对所述脉冲信号进行并行和串行的同步运算,生成并存储运算数据;

所述通讯控制模块,用于接受外部终端的控制指令,将所述相关运算模块的运算数据输出至外部终端。

在第一方面的一种可能的实现方式中,所述相关运算模块包括:相关运算控制单元、至少一个并行结构运算单元和至少一个串行结构运算单元,所述相关运算控制单元分别与所述至少一个并行结构运算单元和所述至少一个串行结构运算单元连接;

所述相关运算控制单元用于控制所述至少一个并行结构运算单元和至少一个串行结构运算单元的运算状态,使所述至少一个并行结构运算单元和至少一个串行结构运算单元进行同步运算;

所述并行结构运算单元用于对预设的高速通道进行运算,并采用FPGA预设的多个触发器、乘法器和累加器进行并行运算,所述高速通道的数量为乘法器的数量;

所述串行结构运算单元用于对预设的低速通道进行运算,并采用FPGA预设的存储器和数字乘法器进行串行运算,其中所述低速通道的数量为所述预设的存储器的容量。

在第一方面的一种可能的实现方式中,所述串行结构运算单元包括:依次连接的串行最小延迟时间控制器、串行运算移位寄存器和串行运算乘累加器;

所述串行最小延迟时间控制器用于设置的最小延迟时间;

所述串行运算移位寄存器用于通过控制FPGA内部存储器进行移位寄存;

所述串行运算乘累加器用于基于FPGA内部存储器的移位寄存,采用数字乘法器进行串行运算,得到串行运算数据。

在第一方面的一种可能的实现方式中,所述并行结构运算单元包括:依次连接的并行最小延迟时间控制器、并行运算移位寄存器、并行运算乘累加器和并行数据转串行数据缓存器;

所述并行最小延迟时间控制器用于设置的最小延迟时间;

所述并行运算移位寄存器用于以所述预设的多个触发器作为基本的延迟单元,通过控制所述预设的触发器进行移位寄存;

所述并行运算乘累加器用于通过所述预设的多个乘法器和多个累加器进行并行运算,得到并行运算数据;

所述并行数据转串行数据缓存器用于获取所述预设的存储器的地址,根据所述预设的存储器的地址将所述并行运算数据存入所述预设的存储器中,以使所述预设的存储器将所述并行运算数据转换为串行格式,并将转换成串行格式的并行运算数据与所述串行运算数据进行数据整合。

在第一方面的一种可能的实现方式中,所述相关运算模块还包括:地址管理单元,所述地址管理单元分别与所述至少一个并行结构运算单元和所述至少一个串行结构运算单元连接;

所述地址管理单元用于按获取所述至少一个串行结构运算单元的串行运算数据并输入所述预设的存储器,以使所述预设的存储器将转换成串行格式的并行运算数据与所述串行运算数据进行数据整合,形成运算函数信息。

在第一方面的一种可能的实现方式中,所述光子计算模块包括:两个计数器;

所述两个计数器均与所述相关运算控制单元连接。

本发明实施例的第二方面提供了一种光子测量系统,所述系统包括:光电倍增管、FPGA电路以及外接终端;

所述光电倍增管、FPGA电路和外接终端依次连接;

所述FPGA电路设有如上所述的可编程门阵列的数字光子相关器。

相比于现有技术,本发明实施例提供的一种可编程门阵列的数字光子相关器及光子测量系统,其有益效果在于:本发明可以充分利用了FPGA芯片的逻辑资源和了FPGA芯片内的存储器资源,充分发挥FPGA中逻辑资源和存储器资源各自的性能和优势,来提高FPGA硬件光子相关器的运算速度和运算的最大通道数。

附图说明

图1是本发明一实施例提供的一种可编程门阵列的数字光子相关器的结构示意图;

图2是本发明一实施例提供的系统同步运行模块的电路图;

图3是本发明一实施例提供的相关运算模块的电路图;

图4是本发明一实施例提供的串行结构运算单元的硬件结构图;

图5是本发明一实施例提供的并行结构运算单元的硬件结构图;

图6是本发明一实施例提供的并行数据转串行数据的电路图;

图7是本发明一实施例提供的并行数据转串行数据的状态转移图;

图8是本发明一实施例提供的并行数据转串行数据的时序图;

图9是本发明一实施例提供的相关运算控制单元的硬件结构图;

图10是本发明一实施例提供的相关运算控制单元的状态转移图;

图11是本发明一实施例提供的相关运算控制单元的时序图;

图12是本发明一实施例提供的一种光子测量系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前常用的相关器分为两种,一种是基于FPGA的逻辑单元的相关器称为传统型相关器,另一种是基于FPGA的存储器和逻辑单元两种资源实现的相关器称为存储器型相关器。

使用存储器结构相关器,虽然其最大可综合通道数虽然多,但通道计算的延迟时间长,测量效率低;而传统型相关器虽然计算延迟时间短,但通道数小,测量的光子容量小,若增加通道数来提高,也会增加延迟时间,从而降低测量效率。

为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种可编程门阵列的数字光子相关器进行详细介绍和说明。

参照图1,示出了本发明一实施例提供的一种可编程门阵列的数字光子相关器的结构示意图。

其中,作为示例的,所述可编程门阵列的数字光子相关器,可以包括:设置在FPGA芯片内部电路的系统同步运行模块101、光子计算模块102、相关运算模块103和通讯控制模块104。

所述系统同步运行模块101可以分别与所述光子计算模块102、所述相关运算模块103以及所述通讯控制模块104连接,所述光子计算模块102、所述相关运算模块103和所述通讯控制模块104依次连接,所述光子计算模块102可以与外部的光电倍增管连接,所述通讯控制模块104可以与外部的终端连接。

在具体实现中,系统同步运行模块101、光子计算模块102、相关运算模块103和通讯控制模块104可以固话在FPGA芯片的内部电路,将各个模块与FPGA芯片一体化设置,简化整个数字光子相关器的结构。

其中,FPGA芯片的内部电路可以设有触发器、加法器、累乘器、累加器、乘法器和存储器等等,可以供系统同步运行模块101、光子计算模块102、相关运算模块103和通讯控制模块104使用。

参照图2,示出了本发明一实施例提供的系统同步运行模块的电路图,该系统同步运行模块可以用于控制所述光子计算模块、所述相关运算模块和所述通讯控制模块同步运行。

如图2所示,Syn_ctrl为固化在FPGA芯片上系统同步运行模块。其中ext_clk是外部硬件输入时钟脉冲,ext_rst为外部输入复位信号。clk_100m是倍频后的100M系统时钟,sys_rst_n是系统复位信号。系统同步运行模块采用异步复位、同步释放的方式,可以实现解决数字光子相关器复位的同步效果。系统同步运行模块101可以给光子计算模块102、相关运算模块103和通讯控制模块104提供同步时钟,从而可以保证光子计算模块102、相关运算模块103和通讯控制模块104前后运行同步。

在本实施例中,光子计算模块102用于接收外部的光电倍增管的脉冲信号,按预设时序对所述脉冲信号进行计数,并将所述脉冲信号输出至所述相关运算模块。其中,所述脉冲信号可以包括:模拟电信号或TTL信号。

具体地,所述光子计算模块包括:两个计数器,分别为计数器A和计数器B;

所述两个计数器均可以与所述相关运算控制单元连接。两个计数器可以分别接收外部的光电倍增管发送的脉冲信号,再分别将脉冲信号发送至相关运算控制单元。

在本实施例中,所述相关运算模块可以用于采用FPGA芯片内部的乘法器和累加器对所述脉冲信号进行并行和串行的同步运算,生成并存储运算数据。

参照图3,示出了本发明一实施例提供的相关运算模块的电路图。在一实施例中,所述相关运算模块可以包括:相关运算控制单元、至少一个并行结构运算单元和至少一个串行结构运算单元和地址管理器。其中,所述相关运算控制单元分别与所述至少一个并行结构运算单元和所述至少一个串行结构运算单元连接,地址管理器可以分别与所述至少一个并行结构运算单元和所述至少一个串行结构运算单元连接。

所述相关运算控制单元用于控制所述至少一个并行结构运算单元和至少一个串行结构运算单元的运算状态,使所述至少一个并行结构运算单元和至少一个串行结构运算单元进行同步运算。

所述并行结构运算单元用于对预设的高速通道进行运算,并采用FPGA预设的多个触发器、乘法器和累加器进行并行运算,所述高速通道的数量为乘法器的数量。

所述串行结构运算单元用于对预设的低速通道进行运算,并采用FPGA预设的存储器和数字乘法器进行串行运算,其中所述低速通道的数量为所述预设的存储器的容量。

所述地址管理单元用于按获取所述至少一个串行结构运算单元的串行运算数据并输入所述预设的存储器,以使所述预设的存储器将转换成串行格式的并行运算数据与所述串行运算数据进行数据整合,形成运算函数信息。

参照图3,在本实施例中,所述相关运算模块可以包括一个相关运算控制单元A,一个并行结构运算单元B,四个串行结构运算单元和一个地址管理器G,四个串行结构运算单元分别为CDEF。

在获取数据时,地址管理单元可以根据并行结构运算单元B和四个串行结构运算单元CDEF的连接顺序获取数据,再将数据发送至存储器,供存储器拼接;或者根据获取数据是时间顺序将数据发送至存储器,再由存储器将各个数据进行拼接,最后再至外接的设备或终端。

参照图4,示出了本发明一实施例提供的串行结构运算单元的硬件结构图。在一实施例中,串行结构运算单元可以是基于FPGA的存储器和逻辑单元两种资源实现的相关器,其中串行结构运算单元可以包括串行最小延迟时间控制器U5,串行运算移位寄存器U6和串行运算乘累加器U7。其中串行最小延迟时间控制器U5,串行运算移位寄存器U6和串行运算乘累加器U7依次连接。

串行最小延迟时间控制器可以设置的最小延迟时间,从而可以通过改变串行运算移位寄存器的最小延迟时间,来设置每个器件运算时的延迟时间。

串行运算移位寄存器可以用于通过控制FPGA内部存储器进行移位寄存,从而通过控制存储器地址寄存器和其读写来实现移位寄存功能。

串行运算乘累加器可以用于基于FPGA内部存储器的移位寄存,采用数字乘法器进行串行运算,得到串行运算数据。通过控制存储器地址寄存器和其存储器的读写,配合一个数字乘法器实现乘累加器的功能。所述FPGA内部存储器的容量为所述低速通道的数量。

参照图5-8,分别示出了本发明一实施例提供的并行结构运算单元的硬件结构图、本发明一实施例提供的并行数据转串行数据的电路图、本发明一实施例提供的并行数据转串行数据的状态转移图和本发明一实施例提供的并行数据转串行数据的时序图。

在本实施例中,并行结构运算单元可以包括:依次连接的并行最小延迟时间控制器U1、并行运算移位寄存器U2、并行运算乘累加器U3和并行数据转串行数据缓存器U4。

其中,并行最小延迟时间控制器U1可以用于设置的最小延迟时间,具体可以通过改变并行运算移位寄存器的值,来设置每个器件运算时的延迟时间。为了提高动态光散射测量颗粒的精度,可以将延迟时间设置尽可能小,测试时可以通过提高前面部分的运算速度来提高测量精度。

并行运算移位寄存器U2可以用于以所述预设的多个触发器作为基本的延迟单元,通过控制所述预设的触发器进行移位寄存,从而可以通过控制触发器来实现移位寄存功能。

并行运算乘累加器U3可以用于通过所述预设的多个乘法器和多个累加器进行并行运算,得到并行运算数据。其中,乘法器的个数为高速通道的数量。

并行数据转串行数据缓存器U4可以用于获取所述预设的存储器的地址,根据所述预设的存储器的地址将所述并行运算数据存入所述预设的存储器中,以使所述预设的存储器将所述并行运算数据转换为串行格式,并将转换成串行格式的并行运算数据与所述串行运算数据进行数据整合。

所述预设的存储器为所述FPGA内部存储器。

在实际操作中,在相关运算控制模块完成SACF_run状态后,启动并行数据转串行数据缓存器,如图6所示,该相关运算控制模块会将并行运算乘累加器生成的并行数据存储到并行运算移位寄存器中,以做后期处理。

如图7所示,为并行数据转串行数据的状态转移图,状态转移图各个状态功能如下:

Silde:空闲等待状态。在收到信号后会跳到相应的状态。

Sclr:初始化数据状态。当清除信号acf_clr信号到来后,清空存储器中所有缓存。

SLLC_wr:并行数据预写入状态。当llc_wr信号到来后,保存并行数据缓存,并准备将其移位拆分,然后跳入Swrite状态。

Swrite:写入状态。将并行数据移位拆分依次写入存储器中。

Sread:数据读取状态。当ram_read信号到来后,通过通信模块将数据从存储器中发送至上位机。

如图8所示,状态机默认处于Sidle状态(state=0),当llc_wr信号到来后,状态机先进入SLLC_wr状态(state=2),然后再进入Swrite状态(state=3),并行结构运算单元会将数据din_llc从低位到高位进行拆分并存入相应地址中,存储完毕后跳回Sidle状态(state=0)。当ram_read信号到来后,状态机进入Sread状态(state=4),并按地址依次从存储器中读出数据并通过rd_data接口输出。输出结束以后,状态机Sidle状态(state=0)。通过状态机控制,实现了将并行结构运算单元的并行数据写入存储器中管理的功能。

存储器在接收并行结构运算单元的并行数据后,可以将并行结构运算单元的并行数据进行数据转换,转换成串行格式,方便与后续的串行数据进行数据拼接。

参照图9-11,分别示出了本发明一实施例提供的相关运算控制单元的硬件结构图、本发明一实施例提供的相关运算控制单元的状态转移图和本发明一实施例提供的相关运算控制单元的时序图。

其中,如图9所示,为相关运算控制单元的电路图,该相关运算控制单元可以控制并行结构运算单元和四个串行结构运算单元的状态,使并行结构运算单元和四个串行结构运算单元的每一状态能够同步进行,保证最终运算输出结果能够同步。

如图10所示,为相关运算控制单元的状态转移图,状态转移图各个状态功能如下:

Silde:空闲等待状态。在收到信号后会跳到相应的状态。

Sclr:初始化数据状态。当清除信号acf_clr信号到来后,清空存储器中所有缓存。

SLLC_wr:并行数据预写入状态。当llc_wr信号到来后,保存并行数据缓存,并准备将其移位拆分,然后跳入Swrite状态。

Swrite:写入状态。将并行数据移位拆分依次写入存储器中。

Sread:数据读取状态。当ram_read信号到来后,通过通信模块将数据从存储器中发送至上位机。

如图11所示,为相关运算控制单元的时序图,状态机默认处于Sidle状态(state=0)。上位机会发送控制信号给相关器,解码得到acf_start置位信号之后,首先状态机会跳转至SACF_clr状态(state=1),该状态会发送acf_clr脉冲信号给所有的乘累加器模块,让并行结构运算单元和串行结构运算单元清空缓存。缓存清空后,状态机跳转至SACF_run状态(state=2),将acf_run端保持高电平状态,保持时间为相关时间。在此状态并行结构运算单元和串行结构运算单元会进行乘累加运算,并行结构运算单元的数据暂时存储在寄存器中,串行结构运算单元的数据直接存放在存储器中。相关运算结束后,状态机跳转进入SLLC_wr状态(state=3),发送llc_wr脉冲信号,将并行结构运算单元写入存储器中。当数据存储完以后,状态机跳转至SACF_rd状态,发送acf_read脉冲信号,通过通信控制模块将并行结构运算单元和串行结构运算单元运算的数据从存储器中输出。

通讯控制模块可以用于接受外部终端的控制指令,将所述相关运算模块的运算数据输出至外部终端。

在计算得到运算数据(并行数据+串行数据)后,外部的设备可以向通讯控制模块发送控制指令,例如获取指令,接收指令等等。通讯控制模块可以响应控制指令,并从存储器中获取运算数据,将运算数据发送至外部的设备。该外部的设备可以是终端。

在测量时,本发明的光子计算模块可以接入光子探测器(例如光电倍增管等)的输出端,通讯控制模块可以接入计算机。

计算机向FPGA芯片发送指令,系统同步运行模块接收指令,并控制光子计算模块、相关运算模块和通讯控制模块同步运行,相关运算模块中的相关运算控制单元设置并行结构运算单元和串行结构运算单元中的最小延迟时间,清空内部寄存器和存储器缓存,并启动开始工作。

光子计数模块通过预设的时序间隔,对光子脉冲信号进行等间隔计数,其结果送入相关运算模块。

在相关运算模块中,串行最小延迟时间控制模块和并行最小延迟时间控制模块每完成一个光强信号的采样,向后续移位寄存器发送一个数据。在并行结构运算单元中,其延迟单元个数为N,那么移位寄存器会同时输出N个数据给下级乘累加器;乘累加器的数量和移位寄存器的数量是一致的,一次乘累加运算只需要一个周期即可完成得到乘累加结果。在串行结构运算单元中,移位寄存器控制内部存储器,将内部存储器中的数据逐个送入下级乘累加器;乘累加器控制乘法器将乘累加器内部的存储器与送来的数据依次进行乘法与累加运算,并且刷新乘累加器内部的存储器。反复执行上述功能,并行结构运算单元和串行结构运算单元中的乘累加器寄存器数据或者存储器数据即为所需信号的相关函数。

最后,计算机通过所述通讯控制模块从寄存器中取出运行后的数据,并得到运行后的数据所对应的函数式,以及函数式的相关曲线,测量的功能。

在本实施例中,本发明实施例提供了一种可编程门阵列的数字光子相关器,其有益效果在于:本发明可以充分利用了FPGA芯片的逻辑资源和了FPGA芯片内的存储器资源,充分发挥FPGA中逻辑资源和存储器资源各自的性能和优势,来提高FPGA硬件光子相关器的运算速度和运算的最大通道数。

本发明实施例还提供了一种光子测量系统,参见图12,示出了本发明一实施例提供的一种光子测量系统的结构示意图。

其中,作为示例的,所述光子测量系统可以包括:

光电倍增管、FPGA电路以及外接终端;

其中,所述光电倍增管、FPGA电路和外接终端依次连接;

所述FPGA电路设有如上实施例所述的可编程门阵列的数字光子相关器。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种变压器绕组温度的检测电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!