基于FPGA图像采集处理的激光告警中波长测量系统设计
Design of Wavelength Measurement System in Laser Alarm Based on FPGA Image Acquisition and Processing
DOI: 10.12677/JISP.2022.114021, PDF, HTML, XML, 下载: 292  浏览: 782  国家自然科学基金支持
作者: 唐维平, 张 瑞*, 岳俊哲, 易 进, 刘 洋:中北大学仪器与电子学院,山西 太原;中北大学山西省光电信息与仪器工程技术研究中心,山西 太原
关键词: 激光波长CMOS相机SDRAM存储USB传输VS上位显示Laser Wavelength CMOS Camera SDRAM Storage USB Transfer VS Upper Display
摘要: 针对国内激光告警系统高精度和高传输速率研究的需要,本文基于光栅衍射效应原理对激光方位角、俯仰角和波长的计算需要,通过CMOS传感器驱动电路设计、SDRAM存储接口设计、USB协议的编写和上位机程序编写完成了采集显示系统的设计。本文设计采样时钟达到24 Mhz,传输速率达到480 Mbps,波长测量误差小于5个像素单位。通过与其它激光波长测量方案相对比,证明了系统稳定性采集速率、采集精度均达到设计需求。实验采用1313 nm波长的激光器,测试结果波长误差小于9 nm。
Abstract: In view of the domestic laser alarm system of high precision and high transmission rate research need, this paper is based on the principle of grating diffraction effect of laser azimuth and pitching angle and wavelength of computing needs, through the CMOS sensor drive circuit design, SDRAM storage interface design, the writing of USB protocol and PC program written to complete the collection and display system design. In this paper, the acquisition rate reaches 36 fps, the transmission rate reaches 480 Mbps, and the wavelength measurement error is less than 5 pixel units. Compared with other laser wavelength measurement schemes, it is proved that the system stability acquisition rate and acquisition accuracy meet the design requirements. A 1313 nm laser was used in the experiment, and the wavelength error was less than 9 nm.
文章引用:唐维平, 张瑞, 岳俊哲, 易进, 刘洋. 基于FPGA图像采集处理的激光告警中波长测量系统设计[J]. 图像与信号处理, 2022, 11(4): 211-218. https://doi.org/10.12677/JISP.2022.114021

1. 引言

随着现代化战争高射程、高精度武器的发展,激光武器在各国军备中发挥着越来越重要的地位,现代化武器的威力越来越大,世界各国都在研究激光武器,激光预警是其中一种 [1] [2]。激光告警系统主要分为光谱识别型、相干识别型、散射探测型和全息探测型。光栅衍射型激光告警系统属于相干识别型的其中一种 [3],目前,国内外采用CCD传感为成像探测器,在系统中使用CCD探测器面阵像素有限、采集过程需要外部时钟驱动,使得采集图像分辨率低、接口复杂以及误差大等缺点。本文所设计的系统在现有激光告警技术基础上,使用CMOS作为探测装置,CMOS的优点为传输帧为60 fpbs,图像分辨率为752 × 480。与CCD全域感知耦合器中电量信息设计相比,CMOS传感器采用逐行感知光点半导体设计,具有跟高的灵敏度。通过FPGA控制图像的采集、存储与传输,实现激光波长的测量,优化了传统激光告警系统采集速度慢、稳定性低、误差大的问题。激光告警机的原理是通过对入射±1级光、零级光和入射角度测量,然后通过相关计算得到来袭激光的特征参数和入射角度等信息 [4] [5] [6]。

2. 波长测试原理与系统设计

2.1. 激光波长测量原理

激光告警系统是应用光栅的衍射原理设计,光学系统主要包括:前置光学系统、500线光栅、后置光学系统和探测器,如图1所示。激光通过透镜组由光栅衍射后形成干涉条纹,在通过CMOS镜头采集、处理并计算 [7]。在图1中,f为透镜组焦距,d为光栅间距常数,a为X0级光在与z轴的夹角,b为X+1级光和z轴的夹角。通过X0级衍射光斑中心位置获得激光装备激光方位角和俯仰角,X0级和X+1级衍射光斑距离获得激光装备激光波长 [8]。通过光栅衍射后沿原方向传播零级波和一对共轭波,分别成像在感光元件上,根据光点在图像中成像的位置信息,通过干涉原理计算得到波长信息。

在焦距为f的镜头焦面形成的干涉条纹转换为电信号,其X+1、X0、X−1位置如下 [9],由a、b角以及f焦距上理论计算如下:

{ x = f tan a y = f tan b λ = d ( sin b sin a ) (1)

Figure 1. Schematic diagram of grating diffraction wavelength calculation

图1. 光栅衍射波长计算原理图

通过推导可以求得一级衍射角以及激光波长 λ 为:

λ = d { sin [ tan 1 ( X 0 f ) ] + sin [ tan 1 ( x 1 f ) ] } (2)

通过公式(1)、(2)可以计算出波长信息 [10]。

2.2. 系统总体架构

为了测量来袭激光特征参数,设计了基于FPGA图像采集处理的激光告警中波长测量系统。如图2所示。

Figure 2. System overall structure block diagram

图2. 系统总体结构框图

设计中采用的探测器为CMOS红外探测器,面阵感光单元为752 × 480像素单元,相比于CCD采集频率10 Mhz,它的采集时钟为24 Mhz,提高了系统采集速率。系统设计主要包括了硬件部分和软件系统,硬件部分通过SDRAM实现了CMOS采样和USB传输时域不同问题,通过读完成使能信号控制采集,实现了采集系统的硬件设计,软件部分通过VS软件设计显示界面,通过画图函数将数组重新还原成图像,软硬件结合实现了图像采集。如图3所示,系统在上电后,SDRAM需要200 us的预充电过程,相机需要10个像素时钟的预充电,然后通过I2c协议给物理器件写入寄存器预值,规定器件的工作模式。当初始化完成后,系统进入有效采集状态,采集方式为单触发采集,通过上位机发送读指令,下位机接受到指令从SDRAM读取数据。通过SDRAM的读端口控制乒乓模式的bank翻转,单幅图像不受跨时域的影响完整传输,存储单元的最大地址为图像的像素个数,保证了每次读到上位机的为一幅图片。该系统中传输数据量为752 × 480 × 8 bit,采样率为60 bps,而USB2.0的传输速率480 Mpbs,通过计算,USB接口满足图像输出速率。以上完成了系统整体设计,通过各个模块的仿真验证以及整体联调证明了系统的可行性。

Figure 3. Hardware system

图3. 硬件系统

2.2.1. CMOS驱动模块

在本系统中,设计了数据采集模块,面向摄像头接口分别设计数据采集模块和寄存器配置模块,摄像头控制接口如图4(a)所示。在系统复位完成后,通过查表方式将LUT中的数据按照I2C协议的时序逻辑,通过SCLK和SDTAT接口线写入物理器件的驱动指令,使得器件在某一种工作模式下工作。摄像头工作时钟可以由外部时钟信号驱动或者系统分频模块提供,为了系统稳定和简化,选择PLL分频模块驱动。采集的一帧数据通过cam_vsync、cam_herf、cam_data三个接口同步控制输入,数据流模式是在场行信号同时有效时持续传输,速率可达到60 bps。为了使每次采集的图像数据是每帧图像的开始,设计了状态机去控制控制数据流的输出,通过JTAG接口连接逻辑分析仪,标记场信号cmos_frame_vsyync下降沿有效,抓取了一帧图像的采集如图4(b)所示,00 h~ffh代表一行信号传输752个像素点的完,当sdram_en下降沿到来时cmos_frame_herf刚好经历过480个上升沿,实现了752 × 480图像采集设计。而CMOS采集数据为远大于内置RAM资源,无法使用内置资源去缓存数据,所以需要选择跟大的外部存储资源SDRAM。

2.2.2. SDRAM存储模块

由于采集图像数据量比较大,这里选择性价比较高的SDRAM存储,如图5所示,该模块设计主要有三个控制模块风别为:命令接口、控制接口以及数据接口。命令控制接口主要完成该器件的初始化、预充电、寄存器配置以及读写时序的约束完成数据写入、读出及响应操作。控制接口主要是分配出引脚与外部存储相连接,实现数据的有效存储,而数据接口实现数据位宽的选择,本模块使用16位的数据存储。

(a) 相机控制与数据交换接口(b) 图像采集时序分析

Figure 4. Camera acquisition control design and results

图4. 相机采集控制设计及结果

在SDRAM的应用中,各种型号的时序逻辑基本相同,在需要大存储量和高位宽存储时,该系统仅需要在硬件方面扩选几个相同类型SDRAM,而驱动程序的编写可以通过数据接口、片选使能等重要参数修改完成,使得SDRAM开发时间大大减少。在系统实验时抓取写使能上升沿到来时的数据,0时刻开始数据存储,可以看出数据的正常传输。SDRAM除了存储功能以外,还可以解决时采集跟上传时钟频率不同的问题。当数据采集跟存储完成后,关于如何传输到上位机有串口传输、VGA传输、以太网口传输及USB传输等多种方式 [11],本文通过比较不同传输方式的速率和误码率及上位机函数需要的接口形式,选择USB协议传输。

Figure 5. SDRAM control module

图5. SDRAM控制模块

2.2.3. USB传输控制模块

因为FPGA资源有限而且价格高昂,编写USB协议占用资源过大,所以选择了高集成、低成本的赛普拉斯的CY7C68013芯片搭建的外围电路,该芯片包含了USB收发器、串行接口引擎、增强的8051微控制器以及可编程的外围接口,通过keil软件将代码烧在自带RAM中,通过配置寄存器选择接口工作模式。

图6(a)所示,通过FPGA去调用、控制USB模块收发数据,下位机与PC端的数据交换采用半双工模式,端口2为下行线,端点6为上行线,分别有标志信号flagb、flagc控制,而在数据收发过程中,当控制信号拉高时,代表该端口FIFO缓存数据为空,需要写入数据,当端口控制信号写满是时代表FIFO数据缓存已满,停止数据写入,等待数据读出。sloe是使能信号,slrd低电平有效,控制上位机下发指令,slwr低电平有效,控制FPGA数据上传,Addr为写/读FIFO端口的地址,通过状态机的编写,在初始状态、写状态、读状态等过程中编写控制使能,使得USB工作在相应的模式下。如图6(b)所示,USB端口有4个256大小的FIFO,通过sdram_req信号使能控制循环读写的方式行进行数据传输,当FIFO写满时就会跳变一次状态,代表当前FIFO已满,等待写入,而USB的传输速度很快,一幅图像的采集小于1秒。图像采集完成需要上位机的显示和处理,而VID和PID成为上位机识别的唯一标识。

(a) USB控制模块(b) USB逻辑分析结果

Figure 6. USB transmission module

图6. USB传输模块

2.3. 上位机显示

上位机采用VS2019开发软件,它支持多种语言开发,功能强大,而且容易上手,项目工程搭建主要包括program.cs程序入口文件、Form.cs窗体控件、Form.designer.cs窗体配置以及Form.resx窗体资源四个部分,如图7(a)所示,开发过程先创建窗体空控件,通过out_data函数下发指令,通过read_data函数读取数据并存放在buffer中,通过Image.FromHbitmap函数的扫描宽度等参数设置,实现图像显示并通过save函数将结果保存在指定路径下。如图7(b)所示,在控件中添加相应的响应函数,上位机通过USB接口连接,通过device函数识别PID和VID识别接口目标,当read函数读取数据后进行数据分析。当读取正确时,数据传输给图形函数显示。如果错误,上位机下发指令重新读取。

通过以上几部分阐述了激光告警原理和系统开发过程,完成系统设计。

3. 实验验证与结果分析

在系统搭建完成后,通过转动台进行不同角度的探测,采集了十组照片,在提取数据中,采用MATLAB质心法将±1级、零级光斑坐标位置计算出来,如表1所示,进行了10组实验测试,分别读取了X方向各级光坐标位置,通过公式(2)来计算出波长值 λ ,并进行误差分析。本次实验采用的激光器波长为1313 nm,通过实验分析该系统测试误差小于9 nm。如图8(a)所示,用所设计的系统采集图像,在上位机显示并将图像原始灰度值存储,用于光点坐标计算。如图8(b)所示,通过设计系统与成熟的CCD采集系统误差比较,表明本系统满足设计需求。使用24 MHz的CMOS探测器和USB接口,能够满足设计需求。

(a) (b)

Figure 7. Upper computer design

图7. 上位机设计

Table 1. X−1, X0, X+1 level light spot in the X direction

表1. 在X方向X−1、X0、X+1级光点坐标位置

(a) 图像采集结果 (b) 系统稳定性分析图

Figure 8. Experimental results and analysis

图8. 实验结果与分析

4. 结论

本文分析了现有激光告警对来袭激光参数的计算需求,提出了一种波长计算的图像采集系统。在系统中进行图像预处理和存储后处理,可以进一步提高测量精度。对比实验验证了系统的稳定性,且测量误差小于9 nm。本文首先介绍了激光告警原理,推导出波长测量方法,其次是对采集系统各个模块设计与仿真验证。最后进行实验并采集数据,采用质心法计算并求出±1级、0级光斑位置,验证了系统的稳定性。

基金项目

国家自然科学基金(62105302)。

NOTES

*通讯作者。

参考文献

[1] 石金, 张瑞, 程亚昊, 吴琼, 杜伟豪, 牛家麒, 王志斌. 基于FPGA的激光告警中激光脉宽测量系统研究[EB/OL].激光杂志: 1-9. http://kns.cnki.net/kcms/detail/50.1085.TN.20220422.1016.004.html, 2022-05-23.
[2] 杨力, 朱海波, 黄静. 输电线路防外力破坏激光预警系统的研制[J]. 电子技术与软件工程, 2017(7): 168-170.
[3] 高尚尚, 王新宇, 王小丫, 王媛媛, 王如刚, 郭乃宏. 基于以太网传输的图像处理系统设计及FPGA实现[EB/OL].计算机测量与控制: 1-8. http://kns.cnki.net/kcms/detail/11.4762.tp.20220506.1156.038.html, 2022-09-16.
[4] 汤凡, 占连样, 陈像, 王鑫, 王烈洋. 三维封装DDR2存储器VD2D4G72XB191XX3U6测试[J]. 电子产品世界, 2022, 29(5): 78-82.
[5] 武建诚, 吴国东, 王志军, 吉元峰, 郝志伟. 基于FPGA + ARM的冲击波超压测试系统[J]. 探测与控制学报, 2022, 44(2): 92-96.
[6] 黄磊, 顾雯雯, 陈亮, 涂旭, 尹欣慧. 微型近红外光谱仪的光谱信号采集系统设计[J]. 激光与红外, 2021, 51(12): 1635-1642.
[7] 周强, 尹宇霆. 激光告警单元测试装置的设计与实现[J]. 光电技术应用, 2021, 36(3): 15-18.
[8] 邓全, 王宝玉, 马敏, 牛群. 空间平台主被动激光探测技术研究[J]. 应用光学, 2021, 42(3): 550-556.
[9] 王晶晶. 夜视红外激光社区视频异动监控预警系统设计[J]. 激光杂志, 2020, 41(5): 14-148.
https://doi.org/10.14016/j.cnki.jgzz.2020.05.144
[10] 任宁, 姜丽新. 光电告警技术与国外典型装备发展分析[J]. 光电技术应用, 2020, 35(3): 12-16.
[11] 郭靖丰. 基于FPGA和SD卡的VGA图片显示与切换装置[J]. 电子测试, 2022, 36(7): 98-100.
https://doi.org/10.16520/j.cnki.1000-8519.2022.07.042