1 引 言
自适应光学系统的规模(波前探测器子孔径数量和波前校正器单元数量)主要由大气相干长度r0确定,当波前探测器的子孔径大小和波前校正器的单元大小与r0相当时,才能较好地补偿大气扰动引起的波前相位畸变。为了以接近衍射极限的分辨率成像,可以估算系统规模大致为N=(D/r0)2,式中D为望远镜口径。如对于4 m望远镜,当r0为15 cm时,其系统规模为710;当r0为10 cm时,系统规模约为1 600;若进行4 m级望远镜的设计,初步计算自适应光学系统的规模需要达到1000单元左右。同时由于空间目标成像探测对自适应光学系统闭环控制带宽的要求高于天文观测,大型望远镜的采样频率需要达到1000 Hz以上。才能保证波前校正控制带宽为100~200 Hz,倾斜校正控制带宽为50~100 Hz[1]。
国外最早开始基于FPGA的自适应光学系统波前处理研究的是英国达拉谟大学,当时只是研究了一套仿真系统[2-4]。文献[5-7]介绍了在2005~2007年欧洲南方天文台与英国达拉谟大学联合设计的基于FPGA的自适应光学系统实时处理控制平台,该平台实现了波前处理的可扩展性,其采用光纤通讯进行子板之间的数据传输,由多个子板进行波前联合处理,加快处理速度,增强处理能力。国内的自适应光学研究起始于20世纪70年代,并在2001年研制出61单元自适应光学系统[8]。该系统波前处理采用多DSP方案,全系统采用17块DSP,其中8块DSP负责子孔径斜率计算,4块DSP负责波前校正运算,5块DSP用于并行系统控制运算。为满足大型地基高分辨率成像望远镜对自适应光学系统波前处理的需求,本文提出了一种实时采样处理频率为2000 frame/s,输出较正量为1 200路的可扩展自适应波前处理系统。
2 基于FPGA的自适应光学系统波前处理机的工作原理
2.1 基于FPGA自适应光学系统波前处理机的硬件构成
图1为基于FPGA自适应波前处理系统结构框图。它主要由主控计算机、波前处理主板和波前处理子板3部分组成。主控计算机与波前处理主板通过PXI总线进行通信,波前处理主板与可扩展的波前处理子板通过自定义的板间总线进行通信。主控计算机、波前处理主板和可扩展的波前处理子板通过PXI连接器插在PXI工控机箱的背板上。整个系统置于6U的PXI工控机箱中,提高了系统的集成度。
主控计算机主要完成过程监控、波前标定、配置和标定数据的下载等功能;波前处理主板主要完成波前图像的采集,通过PXI总线上传图像给主控计算机,接收主控计算机的配置和标定数据,配置和标定数据分发到各波前处理子板,波前图像的预处理,波前子孔径斜率计算和通过自定义板间总线将子孔径斜率数据同时打包发送到各波前处理子板等功能;波前处理子板主要完成波前拟合、控制运算、D/A转换和促动器所需促动量输等的功能。
图2和图3为设计完成的波前处理主板和波前处理子板。


2.2 基于FPGA自适应光学系统波前处理机的工作原理
在自适应光学系统波前处理机的工作流程包括图像处理、子孔径斜率计算、波前拟合、控制运算和D/A转换5大部分。其中图像处理主要包括减背景和阈值分割两部分;子孔径斜率计算主要完成各子孔径内质心计算,质心计算公式为:

式中Ii,j是子孔径内坐标(xi,yi)处的像素灰度值,(xi,yi)分别是像素在子孔径的x和y方向上的坐标。计算得到的子孔径质心与参考值做差,得到子孔径斜率。
波前拟合即由波前斜率向量K乘以波前校正矩阵M,得到波面误差E:
E=M×K, (2)
式中波前校正矩阵M为n×2m矩阵,K为2m×1斜率向量。其中n为所需有效促动器数,m为有效子孔径数。控制运算采用传统的PI控制运算。
通过以上的分析可以看出,波前拟合所需的校正矩阵M通过事先标定产生,可以将其划分成若干个子校正矩阵Ln1×2m,Ln2×2m,Ln3×2m,……Lnm×2m,其中n1+n2+n3+…+nm=n,可以将这些子校正矩阵分发到不同的波前处理子板。波前处理主板通过板间总线将计算所得的斜率向量K同时发给不同的波前处理子板。波前处理子板将事先收到子校正矩阵与斜率向量K做矩阵乘,得到波面误差分量En,各个波前处理子板将计算所得的波面误差分量En通过控制运算得到促动器所需的促动量。
这样就可以通过硬件扩展而不影响波前处理延时的情况下满足对不同规模的自适应光学系统波前处理需求。
3 自适应光学系统波前处理机的FP-GA软件实现
3.1 FPGA对整个系统的配置及数据传输
图4给出了整个基于FPGA自适应光学系统波前处理数据流程图。对整个系统的配置及数据传输主要由波前处理主板的FPGA完成,其核心器件采用的是Xilinx Virtex-4 LX80 FPGA[9],整个系统的配置和数据传输可以分为标定阶段和实时处理阶段。

标定阶段的配置和数据传输:标定数据通过PXI总线由主控计算机传送至波前处理主板的FPGA中,标定数据的数据种类有图像背景数据、阈值、参考点坐标以及控制矩阵等,每种种类的数据由不同的数据头构成。主板中的FPGA通过数据头的判断,将接收到的数据分配至不同的存储空间中。在接收完所有数据后,FPGA启动子板发送状态机,将波前处理子板需要的标定数据发送到各波前处理子板,完成对整个系统的配置。
实时处理阶段的配置和数据传输:实时处理阶段的配置和数据传输主要是对波前子孔径斜率数据的打包传输,主板上的FPGA通过帧同步信号作为数据传输的启动和停止控制信号,从而确保数据的准确传输。
3.2 基于FPGA的波前图像预处理和波前子孔径斜率计算
基于FPGA的波前图像预处理和波前子孔径斜率计算流程如图5所示,主要过程是:(1)图像数据在像素时钟的节拍下先流入图像预处理模块,并行地完成减背景和阈值分割运算,计算结果暂存到数据寄存器中;(2)经过图像预处理后的图像数据在下一个像素时钟的节拍下,流入质心计算模块,并行完成3个基本计算:即子光斑的像素灰度与子孔径水平方向坐标的加权和、子光斑像素灰度与子孔径垂直方向坐标的加权和、子光斑像素灰度和;(3)当子孔径的一个像素行结束时,将计算完成的上述(2)中的3个加权和累加到前几个像素行的累加和上,并将结果暂存到3个寄存器中;(4)当子孔径的最后一个像素行的最后一个像素计算结束时,输出上述三个加权累加结果到除法运算模块中,计算得到当前子孔径的x和y方向上的质心坐标;(5)计算得到的子孔径x和y方向上的质心坐标同参考图像对应子孔径的质心坐标做差,得到子孔径的质心偏差数据[10]。

基于FPGA的波前图像预处理和子孔径斜率计算有如下的特点,即基于像素时钟作为工作时钟,并利用图像数据逐行逐像素顺序输出。采用流水线工作方式,数据以像素为单位进行处理。在像素读出的过程中完成处理,这是基于PC机所不能完成的,实现了取数和处理过程的高度并行。图6给出基于FPGA的波前图像预处理和波前子孔径斜率计算的仿真波形图,其中Fval信号为帧同步信号,高电平有效;Rdy信号为有效子孔径质心计算完毕应答信号,高电平有效;从图中可以看出在Fval信号变为低电平之前有效子孔径斜率计算已经结束。

3.3 基于FPGA的多路D/A转换输出控制
每块波前处理子板的促动量输出为120路,系统中选用了3片AD公司的AD5370作为D/A转换芯片,其每片为40通道16位分辨率,采用SPI总线模式。配置每个通道每次需要写入24bit的数据,其中包括16 bit的D/A转换数据、6bit的通道信息和2 bit的模式信息,每片40通道的D/A数据通过Load信号控制同步输出。系统中要求所有促动器促动量同时送给后端的运算放大器。系统采用FPGA对D/A转换芯片进行配置和控制,图7给出了基于FPGA的多路D/A配置输出控制流程图。
多路D/A数据同步输出配置控制流程:(1)计算所得的D/A数据分块顺序写到寄存器1、寄存器2和寄存器3中;(2)当基于FPGA编写的SPI总线模块侦测到寄存器中有数据时,启动配置传输,顺序将每个通道的24 bit数据串行写入D/A转换芯片的内部寄存器中;(3)当D/A数据全部写入上述3个寄存器中时,三路D/A数据将会进行并行配置;(4)每块波前处理子板在完成D/A数据配置后,通过板间总线发送一完成信号到波前处理主板的FPGA;(5)主板上的FPGA收到所有子板的D/A配置数据完成标志后开启所有子板的Load信号,保证所有通道的D/A数据同步输出。
采用FPGA作为多路D/A数据配置输出控制,很好地实现了配置数据的并行配置,缩短了配置过程中的延时,使得整个系统1200路的D/A数据的配置变为30路并行配置,每路配置数为40路D/A数据。同时采用FPGA作为控制核心提供了一种1200路D/A数据同时输出的控制办法,充分发挥了FPGA的并行性优势,提高了系统集成度和处理能力。

4 实验与结果分析
实验采用97单元,有效子孔径177的自适应光学系统进行了验证。图8和图9分别给出了采用定点计算的基于FPGA的波前子孔径斜率计算在x和y方向上的质心误差图。x方向的子孔径质心计算的均方差值σ=0.002;y方向的子孔径质心计算的均方差值σ= 0.002,所以计算的子孔径斜率能精确到约千分之一像素级。系统中采用10位二进制数作为小数部分。


图10为波前处理延时图,图中信号FPGA_Int为所有子孔径斜率计算完毕信号;信号DA1,DA2和DA3为3块基于SPI通信协议的D/A转换芯片的数据输出信号;信号Frame为波前探测器帧同步信号,高电平有效;Load信号为促动器输出同步信号。从图中可以看出,整个波前处理与DA输出的延时为423μs,其中的D/A输出延时为85μs,波前处理延时为338μs,处理延时小于500μs。设计的系统能够达到2 000 frame/s的实时波前处理的需求。

图11为实验过程中对光纤束实时校正效果图,从图中可以看出,经过校正后的光纤束可以清晰看到细节。
5 结 论
本文提出了基于FPGA的自适应光学系统波前处理机,在软件上选用FPGA作为配置控制和部分算法的核心器件,有效地降低了处理延时。在硬件上采用波前处理主板和波前处理子板相结合的方式,使得波前处理系统可根据自适应光学系统的规模实现扩展。最终系统实现了338μs的波前处理延时,2 000 frame/s的实时波前处理速度和1200路D/A数据输出的能力。
参考文献:
[1] 王建立,陈涛,张景旭,等.地基高分辨率光电成像望远镜总体需求及关键技术分析[J].光学精密工程,2008,16(5): 2-16
WANG J L, CHEN T, ZHANG J X. General re-quirements and key technologies for the ground-based high resolution EO imaging telescope[J].Opt. Precision Eng.,2008, 16(5):2-16.(in Chi-nese)
[2] KEPA K,COBUM D, DAINTY J C,et al.. HighSpeed Optical Wavefront Sensing with Low CostFPGAs. [J].SPIE,2008,8:87-93.
[3] LUIS F R R,VIERA T, JOSE V. Gigante,et al..FPGA adaptive opics system test bench. [ J].SPIE,2005,5903:59030D1-9.
[4] BASDEN A G,ASSEMAT F, BUTTERLEY T,etal.. Acceleration of adaptive optics simulations u-sing programmable logic[J].SPIE,2005,1-6.
[5] GOODSELL S J,FEDRIGO E,DIPPER N A,etal.. FPGA developments for the SPARTA pro-ject.[J].SPIE,2005,5903:59030G1-12.
[6] GOODSELL S J, GENG D,FEDRIGO E,et al..FPGA developments for the SPARTA project:Part 2.[J].SPIE,2006,6272:6272411-12.
[7] GOODSELL S J,GENG D,YOUNGER E J,et al..FPGA developments for the SPARTA project:Part 3 [J].SPIE,2007,6691:6691031-12.
[8] 饶长辉,姜文汉,张雨东,等.云南天文台1.2 m望远镜61单元自适应光学系统[J].量子电子学报,2006,23(3):295-302.
RAO CH H, JIANG W H, ZHANG D Y, 61-ele-ment adaptive optical system for 1.2 m telescope ofYunnan Observatory[J].Chinese Journal of Quan-tum ElectroNIcs.2006,23(3):295-302(in Chinese)
[9] https://www.xilinx.com/products/v4qv/lx.htm
[10] 郑文佳,王春鸿,姜文汉,等.基于脉动阵列的自适应光学实时波前处理机设计[J].光电工程,2008,35(5): 44-49.
ZHEN W J, WANG CH H, JIANG W H. De-sign and analysis of real-time adaptive opticswave-front processor based on systolic array.[J].Opto-Electronic Engineering,2008,35(5):44-49.(in Chinese)
作者简介:
贾建禄(1982-),男,内蒙赤峰人,博士研究生,助理研究员,2008年于天津大学获得硕士学位,主要从事基于FPGA的硬件开发与设计方面的研究。E-mail: jianluciomp@163.com
赵金宇(1976-),男,内蒙通辽人,副研
究员,主要从事光电望远镜测量精度分
析、软件设计、数据通信等方面的研究。
E-mail: zhaojy@ciomp.ac.cn
王明浩(1981-),男,吉林长春人,助理研究员,主要研究方向为地基大口径望远镜的图像恢复。E-mail:peter_wang@yahoo.cn.
曹景太(1985-),男,哈尔滨大庆人,研究实习员,主要从事基于DSP的系统设计与开发工作。E-mail:caojt@ ci-omp.ac,cn.
导师简介:
王建立(1971-),男,山东曲阜人,研究员,博士生导师,主要从事空间目标探测技术的研究。E-mail: wangjianli@ciomp.ac.cn




