CN117491226A - 一种基于现场可编程门阵列的预存型高速光子相关器 - Google Patents
一种基于现场可编程门阵列的预存型高速光子相关器 Download PDFInfo
- Publication number
- CN117491226A CN117491226A CN202311202444.9A CN202311202444A CN117491226A CN 117491226 A CN117491226 A CN 117491226A CN 202311202444 A CN202311202444 A CN 202311202444A CN 117491226 A CN117491226 A CN 117491226A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- photon
- output
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 11
- 239000002105 nanoparticle Substances 0.000 claims abstract description 7
- 238000005070 sampling Methods 0.000 claims description 23
- 238000009825 accumulation Methods 0.000 claims description 14
- 239000002245 particle Substances 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 101100062780 Mus musculus Dclk1 gene Proteins 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 6
- 238000002296 dynamic light scattering Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000005311 autocorrelation function Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 2
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 1
- 101710101225 Diablo IAP-binding mitochondrial protein Proteins 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N15/00—Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
- G01N15/02—Investigating particle size or size distribution
- G01N15/0205—Investigating particle size or size distribution by optical means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Chemical & Material Sciences (AREA)
- Dispersion Chemistry (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Optical Communication System (AREA)
Abstract
本发明公开了一种基于现场可编程门阵列(FPGA)的预存型高速光子相关器。所述光子相关器由时钟复位模块、光子计数模块、预存模块、相关运算模块、解码模块、发送数据模块、串口接收与发送模块构成;用于动态光散射技术中光强自相关函数的硬件实现,达到相关运算一次性完成的高速要求,通道延迟时间相较于传统多通道光子相关器更短,从而满足更小尺度纳米颗粒的测量要求。
Description
技术领域
本发明光子相关器领域,具体涉及一种基于现场可编程门阵列(FPGA)的高速光子相关器。
背景技术
光子相关器是对散射光强度信号进行相关运算并输出相应的相关曲线的装置,其分为硬件相关器和软件相关器。
目前,硬件光子相关器主要依赖进口,包括Brookhaven InstrumentsCorporation的BI-9010AT、BI-9000AT和TurboCorr,德国ALV公司ALV-6000、ALV-7000系列数字相关器和美国www.correlator.com网站上提供的FLEX02等系列相关器。
上述相关器装置大多是基于专门定制的芯片,或基于DSP芯片,价格昂贵。
光子相关器的发展趋势主要在扩大相关曲线的动态范围,追求尽量缩短通道的延迟时间以及测量更小颗粒粒径。光子相关器的发展趋势主要在扩大相关曲线的动态范围,追求尽量缩短通道的延迟时间以及测量更小颗粒粒径。
参考专利CN112504924B-一种用于动态光散射法的散射光接收系统,对比动态光散射系统中的数据相关运算过程,现有技术由于实时性测量而导致存在着通道延迟时间无法短于采样时间,因此限制了测量颗粒粒径的范围。本发明通过先采后算的方式可使通道延迟时间不再受采样时间限制,能够实现测量粒径更小的颗粒,弥补了现有技术的此项不足。
发明内容
本发明的目的在于提供一种基于现场可编程门阵列(FPGA)的预存型高速光子相关器设计,用于动态光散射技术中光强自相关函数的硬件实现,达到相关运算一次性完成的高速要求,通道延迟时间相较于传统多通道光子相关器更短,从而满足更小尺度纳米颗粒的测量要求。
现场可编程门阵列(FPGA)芯片是一种可根据场合提供灵活配置资源的一种通用芯片,大多有数字运算模块嵌入其中,因此其适用于相关运算,满足纳米颗粒测量的相关运算要求。
本发明的目的至少通过如下技术方案之一实现。
一种基于现场可编程门阵列的预存型高速光子相关器,包括:
串口模块,用于实现从上位机(计算机)接收和发送指令;
光子计数模块,接收光子脉冲,用于实现统计设定的时间间隔内光子数目并锁存输出,并将输出数据送入预存模块;
预存模块,用于实现将光子数据进行预存,预存量达到设定的目标时将预存数据送入相关运算模块;
相关运算模块,用于实现将预存模块输出的数据进行相关运算、得到相关曲线、锁存输出,并通过发送数据模块传输数据至上位机,实现数据输出;
解码模块,通过串口接收模块获取上位机指令,实现相关运算模块参数设置以及实现进行光子相关运算;
发送数据模块,用于与上位机进行通信,传输数据至上位机进行纳米颗粒粒径的反演运算;
时钟复位模块,用于实现驱动各电路模块以及同步复位。
进一步地,所述时钟复位模块包括时钟信号输出和复位信号输出,在接收到串口模块发送的指令后输出复位信号到其他电路模块,驱动各电路模块同步复位并加载默认初始值。
进一步地,所述串口接收模块包括接收单元RxdALL;
接收单元RxdALL实现从上位机接收指令并发送至其他电路模块。
进一步地,所述光子计数模块包括光子电脉冲信号的输入与全局时间的输入;
所述光子计数模块既实现对光子脉冲信号在规定光子脉冲采样数要求下的计数外,还设置有启动相关运算模块的移位寄存模块进行移位和乘累加模块进行乘累加运算的功能;
光子计数模块包括3根输入线和2根输出线,用于接收光子脉冲信号、时钟信号以及复位信号,其中,dclk为光子脉冲信号输入,代表光电倍增管输入的光子脉冲信号;clk为时钟输入,用于控制采样时间,当计数时间与采样时间相同时,输出计得的光强数据以及到达计数时间的同步信号;光子计数模块中包括1微秒定时器和计数器;data[7:0]为光子计数模块输出的计数结果。
进一步地,预存模块是实现高速光子相关器先存后算功能的必要模块,实现对光子计数模块的输出数据进行预存并在采样达到预设目标时将光强数据送入相关运算模块进行高速光子相关运算;
预存模块包括3根输入线和2根输出线,其中clk为时钟信号输入,rst_n为复位信号输入,data[7:0]为从光子计数模块输出的计数结果;dout[7:0]为预存模块输出至相关运算模块的输出数据,sync_dout为预存模块送入相关运算模块的输出同步信号;
预存模块中包括状态机,通过存储达到预设目标的光子数据后进入Sout状态将数据输出给相关运算模块进行高速光子相关运算。
进一步地,相关运算模块是高速光子相关器的核心,实现对光子计数模块与预存模块的输出数据进行自相关运算,对光强数据的自相关运算通过移位模块和乘累加模块实现;
相关运算模块包括时钟信号输入clk,根据解码模块的输出corrHighclr启用光子相关模块的输入信号clr,光子计数模块输出的计数结果din[7:0],根据光子计数模块的输出信号输入的用以实现电平功能的同步信号sync_din,由解码模块输出的读取高速光子相关器乘累加模块中调用的FPGA中RAM中数据的控制信号ram_read,以及输入数据通过移位与乘累加后得到的相关输出数据rd_data[31:0]。
进一步地,所述解码模块主要包括串口接收指令的输入和控制各模块启动的信号输出;
解码模块完成计算机与高速光子相关器的通信,通过接收从串口模块输出的指令,解码模块对指令进行解码从而输出相对应的控制相关运算模块和发送数据模块的控制信号;解码模块中,clk为时钟输入,rst_n为复位输入,rx_data[7:0]为从串口接收模块输出的上位机下传的指令,rx_ok为控制解码模块状态机转换的控制信号;
当解码模块接收到rx_data[7:0]数据时,解码模块对数据进行解码,输出的corrHighClr、correlatorTime[15:0]以及sampleInterval[79:0]发送至相关运算模块用以启用相关运算模块、控制相关时间以及采样时间,输出的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号发送至发送数据模块以控制发送数据模块输出对应的1ms时钟、1s时钟、参数设置、相关器测试、模块工作、相关器版本以及高速光子相关器运算的数据的正确读取。
进一步地,所述发送数据模块主要包括相关运算数据的输入和最终指令所需数据的输出;
发送数据模块将相关运算得到的数据进行转换,通过串口模块将数据上传至上位机;相关运算模块输出指定信号至发送数据模块,发送数据模块根据接收到的信号对数据进行相对应的处理;发送数据模块中,clk为时钟信号输入,rst_n为复位信号输入,CFData[31:0]为从相关运算模块输出的对散射光强数据进行相关运算后得到的数据;
输入的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号为解码模块输入至发送数据模块的控制信号。输出信号中,CFRead为控制相关运算模块读取RAM中储存的运算结果并通过串口的轮询方式将CFData[31:0]中的数据转换成最终数据输出至发送数据模块的控制信号;串口模块作为发送数据模块的子模块,因此发送数据模块输出的rs232_tx为最终指令所需的上位机接收到的相关器的运算结果。
进一步地,所述移位模块包括移位寄存器和RAM;
移位模块完成计得并经由光子计数模块输入的数据的存储与移位操作,移位模块包括6个输入,其中clk为时钟信号输入,continue为乘累加模块控制移位模块是否开始移位的控制信号,dout[7:0]和dshift[7:0]分别为乘累加模块确定读取的移位寄存器的指定位置的数据;当一个通道的乘累加运算过程结束后,乘累加模块通过continue控制信号对移位模块进行控制,以此反复。
进一步地,所述乘累加模块包括乘法累加器和RAM;
乘累加模块完成数据的相乘与累加的操作;乘累加模块中,clk为时钟信号输入,rst_n为复位信号输入,enable为使能信号;read为读取RAM中数据的信号,当乘累加模块接收到read信号时才能输出数据rData[31:0];A[7:0]和B[7:0]均为从移位模块接收到的两个准备进行乘累加运算的数据;乘法累加器中的乘法运算使用FPGA里嵌入的高速硬件乘法器,采用时分复用的方法进行计算,节省硬件资源。
本发明与现有技术相比具有如下优点:
1、本发明基于FPGA芯片,采用Quartus软件平台设计的方式实现高速光子相关器。该设计方法具有下述特点:(1)、用软件设计电路程序,利用ByteBlaster并口下载线和JTAG接口下载到FPGA电路板上;(2)、通过对软件部分的修改,从而实现本发明对高速光子相关器的改进;(3)、可以应用Quartus软件平台中的波形仿真,对各部分参与工作的模块进行仿真。
2、本发明采用固定采样脉冲数、存完再算的设计方式,解决了通道延迟时间受到的采样时间的限制,可以对通道延迟时间进行缩短,测量更小粒径的颗粒。
3、本发明的乘法累加器,基于FPGA嵌入的高速乘法器,采用时分复用技术,从而提高相关器的通道数,优化硬件资源。
附图说明
图1是本发明实施例中一种基于现场可编程门阵列的预存型高速光子相关器的系统结构框图;
图2是本发明实施例中光子计数模块电路图;
图3是本发明实施例中相关运算模块电路图;
图4是本发明实施例中图3中相关运算模块子模块移位模块电路图;
图5是本发明实施例中的图3中相关运算模块子模块乘累加模块电路图;
图6是本发明实施例中的解码模块电路图;
图7是本发明实施例中的发送数据模块电路图;
图8是本发明实施例中的光子计数模块双计数器模块设计电路图;
图9是本发明实施例中的相关运算模块移位模块状态机设计图;
图10是本发明实施例中的相关运算模块乘累加模块状态机设计图;
图11是本发明实施例中的发送数据模块状态机设计图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图并举实施例,对本发明的具体实施进行详细说明。
实施例:
一种基于现场可编程门阵列的预存型高速光子相关器,如图1所示,包括:
串口模块,用于实现从上位机(计算机)接收和发送指令;
光子计数模块,接收光子脉冲,用于实现统计设定的时间间隔内光子数目并锁存输出,并将输出数据送入预存模块;
预存模块,用于实现将光子数据进行预存,预存量达到设定的目标时将预存数据送入相关运算模块;
相关运算模块,用于实现将预存模块输出的数据进行相关运算、得到相关曲线、锁存输出,并通过发送数据模块传输数据至上位机,实现数据输出;
解码模块,通过串口接收模块获取上位机指令,实现相关运算模块参数设置以及实现进行光子相关运算;
发送数据模块,用于与上位机进行通信,传输数据至上位机进行纳米颗粒粒径的反演运算;
时钟复位模块,用于实现驱动各电路模块以及同步复位;
光电倍增管接收到散射光强信号后,输出光子脉冲信号进入FPGA中的光子计数模块。光子计数模块通过设定的采样时间,对光子脉冲信号进行等间隔的计数并将计数结果送入预存模块,在预存模块中,计得的光子脉冲信号数达到预设数目后停止采样,并将预存数据送入相关运算模块。相关运算模块首先将数据送入子模块移位寄存模块中的移位寄存器,并按照设定的通道分配方案,在子模块乘累加模块中使用乘法累加器进行运算,在两个模块的相互作用下将最终的运算结果送入发送数据模块,发送数据模块将运算结果通过串口发送模块传输给上位机,完成一次相关运算过程。
进一步地,所述时钟复位模块包括时钟信号输出和复位信号输出,在接收到串口模块发送的指令后输出复位信号到其他电路模块,驱动各电路模块同步复位并加载默认初始值。
进一步地,所述串口接收模块包括接收单元RxdALL;
接收单元RxdALL实现从上位机接收指令并发送至其他电路模块。
如图2所示,所述光子计数模块包括光子电脉冲信号的输入与全局时间的输入;
所述光子计数模块既实现对光子脉冲信号在规定光子脉冲采样数要求下的计数外,还设置有启动相关运算模块的移位寄存模块进行移位和乘累加模块进行乘累加运算的功能;
光子计数模块包括3根输入线和2根输出线,用于接收光子脉冲信号、时钟信号以及复位信号,其中,dclk为光子脉冲信号输入,代表光电倍增管输入的光子脉冲信号;clk为时钟输入,用于控制采样时间,当计数时间与采样时间相同时,输出计得的光强数据以及到达计数时间的同步信号;光子计数模块中包括1微秒定时器和计数器;data[7:0]为光子计数模块输出的计数结果。
在一个实施例中,光子计数模块中采用了两个计数器交替计数的方式,这样在传输计得数据的时候过程中输入的光子数据不会丢失,同时通过控制信号可以令两个计数器分别输出统计数据,具体原理设计如图8所示,UA和UB为两个计数器,pingpong为控制两个计数器输出的控制信号。
进一步地,预存模块是实现高速光子相关器先存后算功能的必要模块,实现对光子计数模块的输出数据进行预存并在采样达到预设目标时将光强数据送入相关运算模块进行高速光子相关运算;
预存模块包括3根输入线和2根输出线,其中clk为时钟信号输入,rst_n为复位信号输入,data[7:0]为从光子计数模块输出的计数结果;dout[7:0]为预存模块输出至相关运算模块的输出数据,sync_dout为预存模块送入相关运算模块的输出同步信号;
预存模块中包括状态机,通过存储达到预设目标的光子数据后进入Sout状态将数据输出给相关运算模块进行高速光子相关运算。
如图3所示,相关运算模块是高速光子相关器的核心,实现对光子计数模块与预存模块的输出数据进行自相关运算,对光强数据的自相关运算通过移位模块和乘累加模块实现;
相关运算模块包括时钟信号输入clk,根据解码模块的输出corrHighclr启用光子相关模块的输入信号clr,光子计数模块输出的计数结果din[7:0],根据光子计数模块的输出信号输入的用以实现电平功能的同步信号sync_din,由解码模块输出的读取高速光子相关器乘累加模块中调用的FPGA中RAM中数据的控制信号ram_read,以及输入数据通过移位与乘累加后得到的相关输出数据rd_data[31:0]。
在一个实施例中,如图3所示,相关运算模块中,rst_n为低电平时,电路处于复位阶段;当变为高电平时,电路正常工作。enable为高电平时,乘法累加器使能,低电平时,乘法累加器清零。
如图6所示,所述解码模块主要包括串口接收指令的输入和控制各模块启动的信号输出;
解码模块完成计算机与高速光子相关器的通信,通过接收从串口模块输出的指令,解码模块对指令进行解码从而输出相对应的控制相关运算模块和发送数据模块的控制信号;解码模块中,clk为时钟输入,rst_n为复位输入,rx_data[7:0]为从串口接收模块输出的上位机下传的指令,rx_ok为控制解码模块状态机转换的控制信号;
当解码模块接收到rx_data[7:0]数据时,解码模块对数据进行解码,输出的corrHighClr、correlatorTime[15:0]以及sampleInterval[79:0]发送至相关运算模块用以启用相关运算模块、控制相关时间以及采样时间,输出的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号发送至发送数据模块以控制发送数据模块输出对应的1ms时钟、1s时钟、参数设置、相关器测试、模块工作、相关器版本以及高速光子相关器运算的数据的正确读取。
解码模块中,如若输入指令是进行测试的信息,则corrTest置高电平,如若指令是读取版本则corrReadVersion置于高电平。采样时间、相关时间以及corrHighClr信号也是通过解码获得。获得相关运算指令时,corrHighClr置于高电平,并输出至相关运算模块。corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWrok以及corrReadVersion等信号由于无需通过相关运算模块便可输出对应数据,因此输出此类信号至发送数据模块。
如图7所示,所述发送数据模块主要包括相关运算数据的输入和最终指令所需数据的输出;
发送数据模块将相关运算得到的数据进行转换,通过串口模块将数据上传至上位机;相关运算模块输出指定信号至发送数据模块,发送数据模块根据接收到的信号对数据进行相对应的处理;发送数据模块中,clk为时钟信号输入,rst_n为复位信号输入,CFData[31:0]为从相关运算模块输出的对散射光强数据进行相关运算后得到的数据;
输入的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号为解码模块输入至发送数据模块的控制信号。输出信号中,CFRead为控制相关运算模块读取RAM中储存的运算结果并通过串口的轮询方式将CFData[31:0]中的数据转换成最终数据输出至发送数据模块的控制信号;串口模块作为发送数据模块的子模块,因此发送数据模块输出的rs232_tx为最终指令所需的上位机接收到的相关器的运算结果。
如图11所示为发送数据模块的状态机设计图。从解码模块输入的corrReadCpms、corrReadCps、corrTest、corrWrok以及corrReadVersion等信号分别对应了发送数据模块中flagcpms、flagcps、flagTest、flagWrOk、flagVersion的电平高低,也同时对应进入各状态中。在对应状态中,模块将对应数据读取并通过串口发送模块进行输出。如若接收到corrHighClr置于高电平,则对应的flagRAMHigh置于高电平,模块进入SRAMHigh的状态,将相关运算模块中的运算数据输出至上位机,上位机将接收到的数据进行反演运算得到相关曲线,并通过相关曲线得到纳米颗粒的粒径信息。
如图4所示,所述移位模块包括移位寄存器和RAM;
移位模块完成计得并经由光子计数模块输入的数据的存储与移位操作,移位模块包括6个输入,其中clk为时钟信号输入,continue为乘累加模块控制移位模块是否开始移位的控制信号,dout[7:0]和dshift[7:0]分别为乘累加模块确定读取的移位寄存器的指定位置的数据;当一个通道的乘累加运算过程结束后,乘累加模块通过continue控制信号对移位模块进行控制,以此反复。
如图5所示,所述乘累加模块包括乘法累加器和RAM;
乘累加模块完成数据的相乘与累加的操作;乘累加模块中,clk为时钟信号输入,rst_n为复位信号输入,enable为使能信号;read为读取RAM中数据的信号,当乘累加模块接收到read信号时才能输出数据rData[31:0];A[7:0]和B[7:0]均为从移位模块接收到的两个准备进行乘累加运算的数据;乘法累加器中的乘法运算使用FPGA里嵌入的高速硬件乘法器,采用时分复用的方法进行计算,节省硬件资源。
在一个实施例中,相关运算模块中,移位模块接收到预存模块的数据输入,将数据存进移位寄存器中,移位模块状态机如图9所示。此时移位模块处于Ssample状态,直至采样到规定的采样光子数据后,模块转换为Sshift状态,乘累加模块通过continue信号使移位模块转换为Sout状态,此时移位模块输出相对应的A和B两个数据在乘累加模块中进行运算,一轮运算完成后移位模块进入Sset状态,在此状态移位模块判断移位寄存器中所有数据是否均运算完成,如若没有重新转为Sout进行运算,如若运算完成则进入Swait状态,此时移位模块不再将输入光子数据存进移位寄存器中。
在一个实施例中,乘累加模块的状态机如图10所示。一开始乘累加模块处于Swait状态,enable信号接收到后模块转换为Smac状态,此时对移位模块输出的数据进行乘累加运算,并将结果存进RAM的相应位置中。当接收到read信号时,乘累加模块置于Sread状态并读取RAM中对应的数据并输出。
Claims (10)
1.一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,包括:
串口模块,用于实现从上位机(计算机)接收和发送指令;
光子计数模块,接收光子脉冲,用于实现统计设定的时间间隔内光子数目并锁存输出,并将输出数据送入预存模块;
预存模块,用于实现将光子数据进行预存,预存量达到设定的目标时将预存数据送入相关运算模块;
相关运算模块,用于实现将预存模块输出的数据进行相关运算、得到相关曲线、锁存输出,并通过发送数据模块传输数据至上位机,实现数据输出;
解码模块,通过串口接收模块获取上位机指令,实现相关运算模块参数设置以及实现进行光子相关运算;
发送数据模块,用于与上位机进行通信,传输数据至上位机进行纳米颗粒粒径的反演运算;
时钟复位模块,用于实现驱动各电路模块以及同步复位。
2.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述时钟复位模块包括时钟信号输出和复位信号输出,在接收到串口模块发送的指令后输出复位信号到其他电路模块,驱动各电路模块同步复位并加载默认初始值。
3.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述串口接收模块包括接收单元RxdALL;
接收单元RxdALL实现从上位机接收指令并发送至其他电路模块。
4.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述光子计数模块包括光子电脉冲信号的输入与全局时间的输入;
所述光子计数模块既实现对光子脉冲信号在规定光子脉冲采样数要求下的计数外,还设置有启动相关运算模块的移位寄存模块进行移位和乘累加模块进行乘累加运算的功能;
光子计数模块包括3根输入线和2根输出线,用于接收光子脉冲信号、时钟信号以及复位信号,其中,dclk为光子脉冲信号输入;clk为时钟输入,用于控制采样时间,当计数时间与采样时间相同时,输出计得的光强数据以及到达计数时间的同步信号;光子计数模块中包括1微秒定时器和计数器;data[7:0]为光子计数模块输出的计数结果。
5.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,预存模块是实现高速光子相关器先存后算功能的必要模块,实现对光子计数模块的输出数据进行预存并在采样达到预设目标时将光强数据送入相关运算模块进行高速光子相关运算;
预存模块包括3根输入线和2根输出线,其中clk为时钟信号输入,rst_n为复位信号输入,data[7:0]为从光子计数模块输出的计数结果;dout[7:0]为预存模块输出至相关运算模块的输出数据,sync_dout为预存模块送入相关运算模块的输出同步信号;
预存模块中包括状态机,通过存储达到预设目标的光子数据后进入Sout状态将数据输出给相关运算模块进行高速光子相关运算。
6.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,相关运算模块是高速光子相关器的核心,实现对光子计数模块与预存模块的输出数据进行自相关运算,对光强数据的自相关运算通过移位模块和乘累加模块实现;
相关运算模块包括时钟信号输入clk,根据解码模块的输出corrHighclr启用光子相关模块的输入信号clr,光子计数模块输出的计数结果din[7:0],根据光子计数模块的输出信号输入的用以实现电平功能的同步信号sync_din,由解码模块输出的读取高速光子相关器乘累加模块中调用的FPGA中RAM中数据的控制信号ram_read,以及输入数据通过移位与乘累加后得到的相关输出数据rd_data[31:0]。
7.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述解码模块主要包括串口接收指令的输入和控制各模块启动的信号输出;
解码模块完成计算机与高速光子相关器的通信,通过接收从串口模块输出的指令,解码模块对指令进行解码从而输出相对应的控制相关运算模块和发送数据模块的控制信号;解码模块中,clk为时钟输入,rst_n为复位输入,rx_data[7:0]为从串口接收模块输出的上位机下传的指令,rx_ok为控制解码模块状态机转换的控制信号;
当解码模块接收到rx_data[7:0]数据时,解码模块对数据进行解码,输出的corrHighClr、correlatorTime[15:0]以及sampleInterval[79:0]发送至相关运算模块用以启用相关运算模块、控制相关时间以及采样时间,输出的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号发送至发送数据模块以控制发送数据模块输出对应的1ms时钟、1s时钟、参数设置、相关器测试、模块工作、相关器版本以及高速光子相关器运算的数据的正确读取。
8.根据权利要求1所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述发送数据模块主要包括相关运算数据的输入和最终指令所需数据的输出;
发送数据模块将相关运算得到的数据进行转换,通过串口模块将数据上传至上位机;相关运算模块输出指定信号至发送数据模块,发送数据模块根据接收到的信号对数据进行相对应的处理;发送数据模块中,clk为时钟信号输入,rst_n为复位信号输入,CFData[31:0]为从相关运算模块输出的对散射光强数据进行相关运算后得到的数据;
输入的corrReadCpms、corrReadCps、corrReadSetting、corrTest、corrWork、corrReadVersion以及corrHighReadCF信号为解码模块输入至发送数据模块的控制信号;输出信号中,CFRead为控制相关运算模块读取RAM中储存的运算结果并通过串口的轮询方式将CFData[31:0]中的数据转换成最终数据输出至发送数据模块的控制信号;串口模块作为发送数据模块的子模块,因此发送数据模块输出的rs232_tx为最终指令所需的上位机接收到的相关器的运算结果。
9.根据权利要求6所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述移位模块包括移位寄存器和RAM;
移位模块完成计得并经由光子计数模块输入的数据的存储与移位操作,移位模块包括6个输入,其中clk为时钟信号输入,continue为乘累加模块控制移位模块是否开始移位的控制信号,dout[7:0]和dshift[7:0]分别为乘累加模块确定读取的移位寄存器的指定位置的数据;当一个通道的乘累加运算过程结束后,乘累加模块通过continue控制信号对移位模块进行控制,以此反复。
10.根据权利要求9所述的一种基于现场可编程门阵列的预存型高速光子相关器,其特征在于,所述乘累加模块包括乘法累加器和RAM;
乘累加模块完成数据的相乘与累加的操作;乘累加模块中,clk为时钟信号输入,rst_n为复位信号输入,enable为使能信号;read为读取RAM中数据的信号,当乘累加模块接收到read信号时才能输出数据rData[31:0];A[7:0]和B[7:0]均为从移位模块接收到的两个准备进行乘累加运算的数据;乘法累加器中的乘法运算使用FPGA里嵌入的高速硬件乘法器,采用时分复用的方法进行计算,节省硬件资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311202444.9A CN117491226A (zh) | 2023-09-18 | 2023-09-18 | 一种基于现场可编程门阵列的预存型高速光子相关器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311202444.9A CN117491226A (zh) | 2023-09-18 | 2023-09-18 | 一种基于现场可编程门阵列的预存型高速光子相关器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117491226A true CN117491226A (zh) | 2024-02-02 |
Family
ID=89683602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311202444.9A Pending CN117491226A (zh) | 2023-09-18 | 2023-09-18 | 一种基于现场可编程门阵列的预存型高速光子相关器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117491226A (zh) |
-
2023
- 2023-09-18 CN CN202311202444.9A patent/CN117491226A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020567B2 (en) | System and method of measuring a signal propagation delay | |
RU2001126557A (ru) | Динамический волновой конвейерный интерфейс и способ его применения | |
RU2708791C1 (ru) | Генератор ошибок односторонней полубайтовой передачи | |
CN102928772A (zh) | 时序测试系统及其测试方法 | |
CN105097043B (zh) | 半导体存储装置 | |
CN117388673A (zh) | Ate设备及其芯片测试方法、电子设备、存储介质 | |
CN103176059A (zh) | 一种测量脉冲宽度的方法、装置和频率计 | |
TWI604303B (zh) | 輸入輸出擴展晶片以及其驗證方法 | |
US8144828B2 (en) | Counter/timer functionality in data acquisition systems | |
US5842006A (en) | Counter circuit with multiple registers for seamless signal switching | |
CN117491226A (zh) | 一种基于现场可编程门阵列的预存型高速光子相关器 | |
CN111123222B (zh) | 基于fpga的高速公路车辆多阵元雷达回波模拟器及实现方法 | |
CN113946937B (zh) | 同步方法及仿真器 | |
CN115567039A (zh) | 一种脉冲采集及灵活产生脉冲的控制电路 | |
CN102778645B (zh) | 一种jtag主控制器及其实现方法 | |
CN115524605A (zh) | 电子器件、联合测试工作组接口的访问方法及存储介质 | |
CN102571041B (zh) | 检测电路延时和时序的方法及采用该方法校准延时的方法 | |
WO2024074017A1 (zh) | 芯片测试方法、寄存器、电子设备和存储介质 | |
CN112781737B (zh) | 一种可编程门阵列的数字光子相关器及光子测量系统 | |
CN114546925B (zh) | 一种适用于高速相机的多设备通信装置及方法 | |
CN118132469B (zh) | 测试机通信系统、通信方法和测试机 | |
CN113568343B (zh) | 捕捉任意数据的方法、装置、设备及存储介质 | |
CN112631977B (zh) | 一种动态多目标电模拟系统 | |
KR200265570Y1 (ko) | 레이다의 디지털 모의 시험기 | |
CN109257046B (zh) | 基于fpga的速率可调的高速格雷互补码发生系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |