基于FPGA高速信号采集的多角度动态光散射法纳米粒径测量

2021-06-04 07:58张泽瑞高思田蔡晋辉
计量学报 2021年4期
关键词:板卡光子计数

张泽瑞,黄 鹭,高思田,蔡晋辉,孙 淼,崔 震

(1.中国计量大学 计量测试工程学院,浙江 杭州 310018;2.中国计量科学研究院,北京 100029)

1 引 言

纳米颗粒无论在电子、化学化工、环保、生物技术、光学、医药、冶金、航空航天、计算机和信息技术等高新产业,还是在基础前沿研究方面中的应用均具有重要的意义[1]。纳米颗粒发挥其优异性能的关键在于颗粒的尺度效应[2~4]。因此,对粒径及形貌的准确测量是纳米颗粒应用的前提。大多数测量方法基于光散射原理或光学成像[5],其中扫描电子显微镜法是公认最直观、准确的方法,常作为其他测量方法的检验与标定[6,7]。但该方法统计效率低、制样复杂、要求样品导电性,难以对颗粒进行原位观测[8]。相比之下,动态光散射法作为实时、快速、无损的统计学颗粒粒径测量方法,逐渐被人们广泛关注[9,10]。

动态光散射(dynamic light scattering,DLS)对纳米颗粒粒径测量时,随机运动的颗粒对入射激光进行散射,形成波动的散射光强信号,并经由光子计数器转换成脉冲电信号。将采集到的电信号进行自相关运算,并反演算法求得颗粒粒径。且随着技术的进步,单角度动态光散射已逐渐不能满足亚微米颗粒粒径准确测量、混合颗粒粒径精确测量等要求,多角度动态光散射系统逐渐显露优势[11];多角度测量可为后续反演运算引入更多能够反映实际颗粒粒径信息的边界条件,更有望解决多分散体系颗粒粒径分布的测量[12]。

在高速信号处理方面,现场可编程门阵列(field programmable gate array,FDGA)是近年来备受关注的技术。文献[13]中叙述了一款多通道时延光子相关器的研制,FPGA部分采用Verilog-HDL设计,但是从仿真图可看出计数部分存在一定的计数失误问题。目前,基于FPGA实现较高性能的光子相关器仍需要深入研究,这是导致国内光子相关测量技术不能快速发展的重要原因[14]。

针对上述问题及应用要求,本文以FPGA作为实现基础,通过仿真和测试验证了高速采集板卡的计数和相关运算能力;在自行研制的多角度动态光散射装置上开展了典型颗粒粒径测量实验,并与布鲁克海文商业板卡进行比较,从而验证了自研板卡的准确采集能力。

2 动态光散射理论

用于颗粒粒径反演计算的光强自相关函数G(2)(τ)计算公式为[15]

(1)

式中:I(t)、I(t+τ)分别为t和t+τ时刻的散射光强。根据高斯光场的Siegert关系式,可以得到光强自相关函数G(2)(τ)与电场强度自相关函数g(1)(τ)的关系:

(2)

式中:A为τ→∞时光强自相关函数的值,常称为基线,试验中可以直接测量得到;β是一个反映整个光学系统空间相干性的参数,称为空间相干性因子,主要由系统的光学性质决定。

对于单分散颗粒系,有:

G(2)(τ)=A[1+βexp(-2Γτ)]

(3)

式中:τ为延迟时间;Γ为线宽(或衰减率),其表达式为

Γ=DTq2

(4)

式中:DT为颗粒的平移扩散系数;q为散射矢量;n为溶剂的折射率;θ为散射角;λ0为光在真空中的波长。

对于球形颗粒,根据Stokes-Einstein公式,DT与颗粒直径d存在如下关系[16]:

(5)

(6)

式中:KB为玻尔兹曼常数(KB=1.38×10-23J/K);T为绝对温度;η为溶剂粘度;d为颗粒直径,

(7)

3 基于FPGA的纳米粒径测量系统

3.1 整体系统设计

系统需要对光电倍增管(PMT)在等时间间隔内输出的光子脉冲信号个数进行连续高速采集与缓存,一方面实现大容量原始信号采集存储功能,另一方面实现信号直接自相关运算功能,并将数据异步传输至计算机。利用FPGA优异的高速数据处理性能及硬件并行的优势[18],实现连续无损计数。选用赛林思公司所生产的AX7050开发板为下位机开发平台,整体系统框架如图1所示。

图1 整体系统框架图Fig.1 Overall system framework

3.2 FPGA光子计数模块

为了推导计算出最后的粒径,保证相关运算的准确度,需要对光子脉冲进行精确的连续等间隔的计数,这是后续相关运算的必要前提,充分利用FPGA并行处理能力,采用双脉冲计数器来实现连续无缝计数。图2为双脉冲计数器的原理图,采用100 MHz高频时钟clk_scan对脉冲信号pulse进行扫描,一旦扫描到光子脉冲的上升沿,就将计数值加1。所设定的两个计数器count1和count2则分别在采样时钟clk_ce的高低电平循环输出计数值,从而实现高频计数功能。

图2 双脉冲计数器原理图Fig.2 Double pulse counter principle

在参考文献[13]的研究中用FPGA设计出多通道时延光子相关器,仿真图中红色椭圆圈所示表明出现了计数错误。原因为:在当前采样周期内未采集到脉冲时,下个周期采集到的脉冲会与前一周期的脉冲相加,而无法判断清零后重新计数导致无法实现等间隔清零计数的设计要求。针对此问题,本文采用了双计数器循环计数加以改善,图3为多通道计数和优化过后的双脉冲计数器功能仿真对比图。

图3 计数器功能仿真对比图Fig.3 Counter function simulation comparison

图4为纳米颗粒实测结果的比较,其中横坐标均为延迟的相关时间τ,纵坐标同为归一化处理后的相关函数值。从图4(a)自行设计的单计数器测量结果可以看到相关函数曲线虽有衰减趋势,但可能会因漏计数情况导致所得函数值与理论值有一定偏差,而经过计数优化后的图4(b)中相关函数值处于合理的范围,并且曲线波动较小。

图4 计数优化前后相关函数曲线Fig.4 Correlation function curve before and after counting optimization

通过所优化后的双脉冲计数器功能仿真以及相关函数图像可见,本计数方法可充分、无损还原光子脉冲个数,获得散射光强的全部信号,以用于后续自相关函数的分析。

3.3 FPGA自相关运算模块

3.3.1 自相关算法

动态光散射理论中已提出了光强的自相关函数,在信号处理及数学运算中,自相关函数Rx(τ)可表示为

(8)

式中:x(t-τ)是信号x(t)的时移信号,τ为时移的延时时间。对于离散信号,其自相关函数表达式为

(9)

式中:N表示样本个数;τj是第j个延迟时间;ni和ni-j分别为对应采样时间内的脉冲个数;M是相关信号通道数。

3.3.2自相关运算的硬件实现及验证

图5为自相关运算的整体流程图。FPGA进行自相关运算时,首先通过移位寄存器将当前计数值分别延时对应通道的相关时间后输出,然后在各自的通道内利用乘法器和累加器实现相乘累加计算从而得到各个通道内的相关函数值,并且经缓存后通过USB接口发送至上位机中进而完成后续的粒径反演计算。

图5 FPGA自相关运算流程图Fig.5 FPGA autocorrelation operation flowchart

图6为理论仿真与实际自相关函数曲线图。首先通过仿真运算进行了验证,数据输入设定为连续的数值2,经过FPGA相关运算得到1 024通道数下各通道的累加值并和理论计算值进行对比,其结果见图6(a)。可以看到仿真计算值和理论计算值完全重合,说明FPGA能准确完成自相关运算。

图6 理论仿真对比及实际自相关函数曲线Fig.6 Comparison of theoretical simulation and actual autocorrelation function curve

在仿真验证后的基础上,利用FPGA对实际采集的脉冲数直接进行自相关运算,其中采样时间 10 s 且最小相关时间为5 μs,得到的自相关函数曲线见图6(b)。为便于观察变化趋势,将通道数设置为2 048,横坐标为取完对数后的相关时间ln(τ),纵坐标则为归一化以后的自相关函数值。可以看到经FPGA运算后的自相关函数值由1到0范围逐渐衰减,同时曲线较平滑,完全符合设计要求。

3.4 DDR3存储与USB通信模块

虽然FPGA板卡可以实现自相关函数直接计算,且计算后数据量较小,但为了满足对原始信号分析的需要,在自行研制的板卡中设置了大容量数据采集存储及通讯功能。为保证采集的脉冲个数数据的完整性,需要用DDR3存储器来实现异步的存储功能,在采样时间内FPGA会持续输出大量的数据,为了不使数据丢失且高速传输,采用USB2.0通信接口来实现,利用USB通信协议和计算机驱动程序的控制来完成向计算机传输脉冲计数值和计算机对FPGA发出的采样时间选择、开始、停止等操作控制,从而实现FPGA与计算机之间的双向通讯。

4 结果与讨论

图7为自主研制的多角度动态光散射装置实验平台。该装置主要由光源、样品池、接收模块、温度测量、图像采集以及信号处理模块等部分组成,可同时进行多个角度的光电信号采集。

图7 多角度动态光散射装置图Fig.7 Multi-angle dynamic light scattering device diagram

4.1 信号采集与自相关函数运算

首先,验证FPGA在实际工作中,信号采集的准确性和完整性以及合适的颗粒信号采样时间。通过控制软件给FPGA发送开始计数指令,光子计数模块开始计数,并将其依次暂存到DDR3存储器中;收到上位机读取数据指令后,通过USB通信模块将数据传输到计算机并以txt文件类型保存。然后,通过MATLAB对脉冲数据相关函数进行计算,并实现颗粒粒径反演。

图8是光子计数与自相关函数曲线。图8(a)为60 s采样时间内光子脉冲个数随时间t变化的情况。通过散点图可以反映光子计数值的波动,根据Grubbs检验法,如有异常数据则选择剔除,不参与自相关运算。

图8(b)为200 nm直径纳米颗粒的自相关函数计算结果。最小延迟时间τ为5 μs,实验测试时间为10 s。横坐标为延迟时间τ,纵坐标为归一化处理后的相关函数值。可以看出,随着τ逐渐增大,相关函数值呈现衰减的趋势并逐渐归于基线。由于实验时间较短(10 s),而基线的波动性小,这一方面反映了颗粒样品的均匀性好,另一方面验证了FPGA高速采集的信噪比很高。为了进一步研究相关函数曲线的特性以及验证FPGA工作时的稳定性和准确性,开展了不同采样时间、不同最小延迟时间条件下的数据采集实验。

图8 光子计数与自相关函数曲线图Fig.8 Photon count and autocorrelation function curve

4.2 不同采样和延迟时间对相关函数的影响

图9为30 s和60 s采样时间下的200 nm颗粒样品的自相关函数曲线图。

图9 不同采样时间情况下的自相关函数曲线Fig.9 Curve of autocorrelation function at different sampling time

实验结果表明:同样粒径的纳米颗粒在相同的最小相关时间下,虽然整体采样时间长短不同但是其对应的相关函数曲线都有理想衰减的趋势;说明一定程度内增加采样时间,可以积累有效数据,提高信噪比,进而提高相关曲线特别是基线处的平滑性。

图10分别为τ从1 μs到10 μs时的自相关函数变化情况。整体采样时间为10 s,通过改变最小延迟时间来验证FPGA是否能充分适应最小延迟时间的改变,继续无损获得测试数据。通过图10(a)和图10(b)可以看到τ的数值变化对于相关曲线形状影响不大,经FPGA采集的数据经过运算后都能得到理想衰减趋势且曲线平滑的自相关函数图像。

图10 不同最小延迟时间下的相关函数曲线Fig.10 Correlation functions curve at different minimum delay time

需要指出的是:对于不同粒径的颗粒,需要设定不同的τ范围和实验时间,才能得到准确的粒径求解结果。上述实验结果表明:自行研制的FPGA能很好适应实验参数的变化,获得准确、稳定的自相关曲线。

4.3 粒径反演计算

在得到自相关函数的基础上,进一步对粒径进行相应推算,通过Levenberg-Marquardt算法对相关函数曲线拟合。拟合系数和阻尼因子的初值设置对拟合结果有关键影响,迭代误差的绝对值|hj|<10-8时,认为结果收敛,此时可求得粒径d。图11为经过拟合后的自相关函数曲线,可以看到程序很好的将散点拟合在了红色曲线上,从而保证了粒径计算的准确性。

图11 拟合后的自相关函数曲线Fig.11 Curve of fitted autocorrelation function

表1为采用200 nm聚苯乙烯颗粒在接收散射角为90°下的粒径测量结果,分别对布鲁克海文商用板卡、FPGA采集数据Matlab自相关计算和FPGA直接自相关计算的3种颗粒粒径测量结果进行了比较。布鲁克海文商用板卡与FPGA区别在于前者通过记录脉冲到来的时间再经转化处理获取等间隔脉冲数,而后者则直接可以利用脉冲信号的边沿触发来直接得到脉冲计数值,大大提高了采集运算效率。结果表明,自研板卡和商用板卡重复性基本一致,具有很好的测量稳定性和准确性。

表1 3种粒径测量结果比较Tab.1 Comparison of three particle size measurement results nm

图12为不同散射角度下的颗粒粒径及拟合曲线图。在单一散射角度为90°的测量基础上,对 200 nm 聚苯乙烯颗粒在接收散射角60°、75°、90°、105°以及120°多个角度情况下进行了数据的采集,并使用外推法完成粒径分布的拟合。结果表明;当聚苯乙烯颗粒质量分数为1×10-5时,外推法求得纳米颗粒水合动力学直径值分别为210.5 nm(FPGA)和210.0 nm(商用板卡)。

图12 在不同散射角度情况下的颗粒粒径及拟合曲线Fig.12 Particle size and fitting curves under different scattering angles

5 结 论

本文自行研制了一款基于FPGA的高速信号采集及自相关运算板卡,实验表明高速采集板卡不仅可实现自相关函数的高速运算处理,还能实现大容量数据的下位机至上位机无失真传输与储存。

采用所研制的多角度动态光散射装置,根据颗粒粒径准确测量的采集参数要求,与商用仪器板卡进行了对比从而证明了高速采集板卡所采集数据的高准确性,完全符合设计的参数要求。后续工作将进一步对多角度同时采集、运算,以及更大容量数据的存储问题进行研究。

猜你喜欢
板卡光子计数
《光子学报》征稿简则
古人计数
递归计数的六种方式
古代的计数方法
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
这样“计数”不恼人
一种基于光纤数据传输的多板卡软件程序烧写技术
光子嫩肤在黄褐斑中的应用
在光子带隙中原子的自发衰减