基于FPGA的InGaAs图像传感器光谱采集驱动系统设计

2024-01-02 08:35颜宗强朱亮庆郭汉明
软件导刊 2023年12期
关键词:时序电荷串口

颜宗强,薛 萌,朱亮庆,郭汉明

(上海理工大学 光电信息与计算机工程学院,上海 200093)

0 引言

拉曼光谱作为一种无损、非接触的快速检测技术,因其能快速分析分子结构,被广泛应用于各行各业。传统拉曼光谱仪大都以CCD 作为光电转换器件,激发波长较短。在医学诊断上,短激发波长的拉曼信号容易被样品组织的荧光信号掩盖,但InGaAs 图像传感器作为光电转换器件的的近红外拉曼光谱检测仪[1-2]能降低荧光背景,因此表现更为出色。

近红外拉曼光谱检测仪的核心是光谱采集驱动系统,技术指标对光谱仪整体性能至关重要。随着技术进步,人们对该方面的研究不断推陈出新。黄超等[3]设计了一种基于高性能精简计算机(Advanced RISC Machine,ARM)的光谱采集系统,驱动电荷耦合器件完成数据的正常采集,但仅停留在前期数据采集阶段,并未进行光谱数据处理传输,集成度不高。Vahid 等[4]基于数字信号处理(Digital Signal Processor,DSP)设计光谱采集系统,利用微处理器提取有效光谱数据,但无法通过指令控制系统,实现交互功能。魏科宇等[5]基于现场可编程逻辑器件(Field-Programmable Gate Array,FPGA)设计光谱采集系统,实现了光谱的采集、传输与显示,但选用单通道采样,传输数据量小、采样率较低。因此,目前迫切需要设计一套准确、采样率和集成度高的近红外光谱采集驱动系统。

为此,本文针对InGaAs 图像传感器设计光谱采集驱动系统,以FPGA 为主控,利用Verilog 语言编写时序驱动In-GaAs 图像传感器双通道进行采集、ADC 模数转换、数据存储传输等,得到完整的光谱数据并显示。首先,FPGA 将数据的产生、存储、传输集成在一块主控芯片,利用Dpram 处理双通道数据,实现采样时间减半,满足了系统对高集成度和采样率的需求。通过对图像传感器感光面部分遮光的方式来采集光信号,实验表明系统功能良好,光谱数据结果准确度、采样率高,相较于传统光谱采集驱动系统实用性更高。

1 采集驱动系统总体组成

光谱采集驱动系统由信号产生和信号处理两大部分组成,如图1 所示。信号产生部分首先将光信号输入In-GaAs 图像传感器,照射在像素阵列上,将其阵列表面上的光强转换为电信号,然后像素上的电荷经过充电放大阵列电路将信号放大,最后通过CMOS 读取电路读出信号电荷。FPGA 作为整个系统的主控,通过程序编写系列指令控制传感器的开启、关闭及采集时长,驱动时序控制传感器转换为模拟信号转换的整个过程。

Fig.1 Collection system structure图1 采集系统结构

InGaAs 图像传感器输出的模拟信号需要在信号处理部分经过ADC 模数转换才能得到数字信号,因InGaAs 图像传感器输出双通道信号的特点,利用FPGA 的状态机实现了双通道信号的奇偶穿插衔接,将信号整合为一路输出,最终经过串口建立通讯传出数据[6]。

2 采集驱动系统设计

2.1 InGaAs图像传感器驱动设计

本文设计的是以1 064 nm 为激发波长的近红外拉曼光谱采集系统,在此波段下传统图像传感器在抑制荧光背景方面效果较差,主要原因在于传统图像传感器多以SiO2为基底[7],带隙能量的限制使其在1 064 nm 波段处响应较弱,无法达到预期设计要求。

然而,InGaAs 图像传感器以较小的InGaAs 为基底,能有效侦测该波段且侦测灵敏度较高。光谱系统选用滨松公司的InGaAs 图像传感器G14237-512WA,双通道输出512 个像素,每个像素线性阵列的排在InGaAs 光电二极管上,以电荷积分模式读出,利用FPGA 驱动时序控制整个过程。如图2 所示,采集分别包括信号电荷积分、信号电荷放大转移、信号电荷读取3个阶段。

Fig.2 Complete InGaAs image sensor acquisition timing图2 完整的InGaAs图像传感器采集时序

2.1.1 信号电荷积分阶段

该阶段为光信号转换为电信号,当光照射到传感器上的InGaAs 光电二极管的栅极上,光子被吸收形成电子—空穴对,相当于栅极上施加一个正向压降,形成了电场,电子活动将受到了一定的束缚,处于中间电势的电子需要克服较大的电势差才能离,从而形成信号电荷的积分储存。图2 中RESET 的高电平时间即为信号电荷储存所需的积分时间。

2.1.2 信号电荷放大转移阶段

当RESET 信号下降沿出现时,即为信号电荷放大转移的开始阶段,每一个像素的信号电荷放大后按串行方式转移到移位寄存器中,直至单个通道传递完256个像素。

2.1.3 信号电荷读取阶段

由图2 可见,当信号电荷全部转移后会产生一个高电平脉冲,并依次读取信号电荷。根据InGaAs 图像传感器的芯片手册表明一个像素的读取时间为1 μs,故设置CLK为1 μs,保证CLK 的上升沿在VIDEO 的高电平的时间范围内,当256 个像素读取完成后,输出的模拟信号将进入模数转换器(Analog-to-Digital Converter,ADC)中取得数字信号。

2.2 模数转换器驱动设计

InGaAs 图像传感器的采样速率为1 MB/s,为了使系统适应偏高速传输,本文选用ADI 公司的模数转换器LTC2311-16。该款ADC 信号数据吞吐速率高达5 MB/s,具有低噪声、高速、差分输入的特点,能一次传输16 位串行数据,电路原理图如图3 所示。其中,InGaAs 输出的模拟信号经左端的Video 端口进入到ADC 中,经右端的SDO端口输出数字信号。

LTC2311-16 工作时需要外部电源供给,模拟输入端为+5 V,数字输入端为+1.8 V。为了在最大程度上减小电源上噪声的干扰,在电源输入端采用高低容值[8]匹配的方式组成滤波电路,以过滤电源的高低频噪声。

LTC2311-16 是一款16 位逐次逼近型ADC[9],能在降低成本的同时实现偏高速传输,图像传感器的模拟信号VIDEO 通过采样以保持电路(Sample and Hold)输入,而DAC 产生一定倍数的参考电压,两路信号同时进入由运放构成的比较器中,进而输出0 或1。当DAC 的电压与输入的模拟信号电压相近时,通过串口输出一串16 位的数字逻辑电平,即完成了一个像素的模数转换。

图4 为FPGA 中利用SPI 协议产生时序信号控制整个过程,时序产生CNV 信号,发现下降沿时转换开始,即产生SCK 信号。SCK 信号相当于为转换提供了时钟信频率,等待16 位全部转换结束后SCK 信号便会拉高为下一次转换作准备,一次完整的转换结束后将输出SDO 信号。

Fig.4 LTC2311-16 working sequence diagram图4 LTC2311-16工作时序图

2.3 采集驱动系统软件实现

本文软件利用Altera 公司的QuartusII 软件编写时序控制程序,整个采集驱动系统程序功能设计顶层如图5 所示。具体为,在系统指令模块中生成5 项控制指令,分别用于开启InGaAs 图像传感器、单次采集、连续采集、停止采集、关闭InGaAs 图像传感器,完成指令后将端口传入In-GaAs 驱动模块。该模块通过时序控制InGaAs 图像传感器,包含信号端口cf_select1 与cf_select2,通过置0 或1 控制传感器的光电转换效率[15],如表1所示。

Table 1 Photoelectric conversion efficiency control表1 光电转换效率控制

Fig.5 Top design of acquisition drive timing sequence图5 采集驱动时序顶层设计

由图5 可见,输出端口的AD_sp 信号控制模数转换是否开启,两块相同的LTC2311-16 时序逻辑控制模块开始工作。在转换过程中,pixel_Cap1、pixel_Cap2 信号为十分重要的标志位信号,每当一次像素转换完成后,pixel_Cap1、pixel_Cap2 便拉高将数据传输到Dpram 中与串口建立通讯[10]。

本文利用Moselsim 软件[11]进行仿真,验证设计的时序是否符合预期要求。FPGA 产生InGaAs 图像传感器驱动时序信号CLK_1M、RESET 信号,通过指令控制RESET 信号的高电平保持时间,以满足不同积分时间的要求,如图6所示。LTC2311-16 利用SPI协议[12]外接串口传输,由于此款ADC 转换会延迟一个SPI 传输周期,即本次转换的数字信号是上一次采集的信号电荷,因此第一次转换的数据没有任何意义。同时,因传感器采集256 个像素需要256 us,剔除第一次后便需要257 次转换,即257 us。两路信号同时开始转换,转换时CNV 信号为低电平,SCK 信号由高电平翻转为频率为25 MHz 的时钟信号,并在每次SCK 下降沿转换一位信号数据,共16 位,故需640 ns。每次像素转换时间为1 μs,在SCK 信号转换完成后拉高,并等待360 ns到下次转换,整个转换过程持续256 次,直至所有像素转换完成,输出的数字信号进入Dpram[13-14]模块中进行信号再处理。

Fig.6 InGaAs image sensor drive timing图6 InGaAs图像传感器驱动时序

3 Dpram数据存储与收发

模数转换器中输出数据传出速率偏高速[15-16],但串口接收的读取速率偏低,因此需要媒介实现数据交换[17],即FPGA 中的双口随机存储器——Dpram(Dual-port random access memory)。Dpram 顶层设计中,双通道数据经过ADC转换完成后同时进入数据存储RAM 模块,数据在RAM 模块中通过控制读写地址的方式奇偶交叉排序。然而,串口发送的数据为8 位,但经ADC 转换后数字信号为16 位,因此需对数据进行一次拆分,即高8 位与低8 位,具体流程如图7所示。

Fig.7 Dpram pixel data output loop图7 Dpram像素数据输出循环

Fig.8 Dpram data simulation图 8 Dpram数据仿真

为了验证Dpram 功能模块是否适配ADC 模块的功能特性,利用QuartusII 软件编写testbench 仿真文件,给予双通道不同的数据,以观察串口输出[18]数据是否符合预期要求,如图8所示。

图8(a)、图8(b)为奇偶通道输入数据的开头、结尾部分,给定奇通道信号a 数据从259(十六进制0103)自减到3(十六进制0003);偶通道信号b 数据从65007(十六进制FDEF)自加到65 263(十六进制FEEF)。图8(c)、图8(d)为串口数据的开头、结尾部分,串口数据以FF-D8-02-04(光谱数据初始标志)开头,FF-D9(光谱数据结束标志)结尾,由图8(c)可见奇通道第一个输出的数据为258(十六进制0102),偶通道第一个输出的数据为65 008(十六进制FDF0),原因是为了配合ADC 模块剔除第一个数据,图8(d)中奇通道最后一个数据仍为3(十六进制0003),偶通道最后一个数据仍为65 263(十六进制FEEF),以保证传输数据的完整性。

4 实验结果与分析

为了验证本套系统在实际采集中的准确性和稳定性,首先将采集的数据利用串口发送到PC 端,利用Matlab 软件仿真512 个像素数据的相对光谱强度图,以观察是否满足预期状态。本文对InGaAs 图像传感器上不同感光面进行比较实验的结果如图9 所示。其中,图9(a)、图9(b)、图9(c)分别针对感光面的前端部分遮光、后端部分遮光及前后端遮光,并在示波器上得到其对应的输出奇(video_even)、偶(video_even)通道波形。

Fig.9 InGaAs image sensor photosensitive surface shading图9 InGaAs图像传感器感光面遮光

图10 为经数据转换后依次绘出的相对光谱强度图,横坐标为InGaAs 图像传感器像素点数,共512 个,纵坐标为采集时相对光谱强度。当InGaAs 图像传感器完全曝光时,曝光部分的信号电荷达到饱和,相对光谱强度便为16位LTC2311-16 的精度最大值,即65 535。遮光部分因In-GaAs 图像传感器信号电荷读出电路基准电压及暗电流噪声,相对光谱强度在26 000 左右。根据LTC2311-16 的电压转换式(1)可得到电压值约为1.6 V。

Fig.10 Spectral acquisition results of InGaAs image sensors图10 InGaAs图像传感器光谱采集结果

式中:Vout表示输出电压;VREF表示ADC 转换时的参考电压4.096 V;Ndec表示串口输出的十六进制转换后的十进制数。

由图10 可见,越接近遮住边缘区域的相对光谱强度增加越快,边缘区域处相对光谱强度存在明显激增现象,原因是遮光边缘透光,使得感光面光强激增、光迅速饱和,导致相对光谱强度趋于最高。由此可见,整个过程体现了光谱采集驱动系统对光强的灵敏性,能将采集到信号准确地转变为光谱强度数据,符合预期设计要求。

5 结语

本文基于FPGA 的InGaAs 图像传感器光谱采集驱动系统采集的光谱数据与光谱信号一致,并经过串口建立通讯显示光谱。采集系统利用双通道奇偶排序输出优势,提升采集效率,为近红外拉曼光谱仪提供了可靠的采集驱动方案。

实验发现,在整个系统工作时,热激发产生的暗电流噪声及像素电荷信号转换数字信号的读出噪声会影响工作状态,后期将增加信号调理电路,利用算法对其进行处理优化,以进一步提升系统适用性和鲁棒性。

猜你喜欢
时序电荷串口
基于Sentinel-2时序NDVI的麦冬识别研究
浅谈AB PLC串口跟RFID传感器的通讯应用
电荷守恒在化学解题中的应用
基于FPGA 的时序信号光纤传输系统
一种毫米波放大器时序直流电源的设计
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于并行控制的FPGA多串口拓展实现
DPBUS时序及其设定方法