天文CMOS相机测试平台及控制系统的实现*
2019-07-16罗志远刘黎明
罗志远,许 骏,刘黎明,张 涛
(1. 中国科学院云南天文台,云南 昆明 650011;2. 中国科学院大学,北京 100049)
抚仙湖观测站的新真空太阳望远镜(New Vacuum Solar Telescope, NVST)是目前国内最大的太阳望远镜,也是目前世界上最大的真空太阳望远镜,主要对太阳光球和色球进行高空间分辨率的成像观测和高光谱分辨率的光谱观测[1]。光电探测器是望远镜进行观测时不可或缺的终端,CMOS图像传感器作为光电探测器的一种,随着超大规模集成电路制造技术的发展,其性能不断提升。因CMOS相机具有动态范围大、读出速度快、功耗低、成本低等优点[2],现在广泛应用于航空航天、生物医药、天文观测等诸多领域。
在天文观测领域,尤其是二维太阳成像探测领域,CMOS相机被广泛使用,近两年抚仙湖观测站新真空太阳望远镜的成像终端也在使用CMOS相机。一方面,在采购CMOS相机时,首先需要了解它的性能参数,从而判断相机是否能够满足整个观测系统的性能要求。但在实际应用中,由厂家提供的检测指标通常是以电视广播工业为标准,往往缺乏天文观测应用的要求指标。即使厂家提供天文观测所需的性能参数,一般也是芯片厂家出厂前对其进行测试给出的典型值,由于生产工艺和半导体材料的变化,CMOS相机性能参数的真实值与典型值有所不同,这在二维成像和光谱成像中引入了误差[3]。因此,在进行成像系统设计前,必须对CMOS相机的性能参数进行测试。另一方面,相机在使用过程中由于元器件的老化等原因也会导致性能参数变化,从而使光谱成像等引入更多的噪声,使观测数据产生误差,从而增加了分析处理的难度,甚至导致错误的结论。所以定期对天文相机进行测试和校准也是非常必要的。综上所述,建立一个以天文观测应用为目标的CMOS相机测试平台,具有十分重要的意义。该平台可以用于新购相机的验收测试以及天文CMOS相机的定期检测,以此保证CMOS相机的性能满足天文观测的需求。
1 天文CMOS相机测试平台概述
本测试平台是基于欧洲机器视觉协会发布的图像传感器和相机性能测试标准(European Machine Vision Association Standard 1288, EMVA 1288)建立的。长期以来对CMOS的测试没有统一的标准,几乎每个厂商都拥有自己的标准,这使得在不同相机间进行性能比价时,需要进行相应的参数转换。幸运的是2005年以后,在绝大多数厂商的支持下,建立了业内的统一标准。在测试标准中明确定义了相机模型,如图1 ,以及根据模型进行测试的参数、测试方法和流程[4]。
图1 (a) 相机的物理模型;(b) 单像元数学模型
Fig.1(a) Physical model of the camera; (b) Mathematical model of a single pixel
图1(a)描述了EMVA 1288给出的相机物理模型。一定数量的光子照射到像元上,经过一段时间曝光后产生电子,这些电子通过电容极板转换为电压值,电压值经过放大和模数转换后输出为数字灰度值,即CMOS相机的数字输出信号。图1(b)给出了EMVA 1288的单像元数学模型。μ和σ分别表示均值和方差,待测的未知量以红色标记。通过内光电效应,像元将光子数转换为相应的电子数,这个过程引入了暗电流噪声,然后一起被系统增益放大,之后模数转换时不可避免地引入量化噪声[5]。
本文旨在搭建一套符合EMVA 1288标准的测试设备(包括软硬件),并根据标准中的测试流程对各种参数进行相应的测试。目前测试平台可以完成的参数测试如表1。
表1 参数表Table 1 List of the parameters
测试平台除了完成以上基本参数的测量外,更主要的是完成相机特性的研究,例如相机非均匀性的研究。对于天文CMOS相机,非均匀性是严重影响成像质量的重要因素。由于非均匀性存在明显的时变特性[6],很难通过传统的平场校正方法进行校正,因此通过测试平台仔细研究非均匀性的时变规律,进而寻找消除非均匀性的解决办法。
2 测试平台的搭建
测试平台主要包括4部分,分别为光场生成部分、暗室部分、位移平台部分和环境监测控制部分,构成框图如图2。
图2 测试平台框图
Fig.2 Test platform schematic
光场生成部分的主要功能是产生稳定的均匀白光和均匀单色光,均匀白光用来测量相机的灵敏度、线性度和非均匀性等。要测量不同光谱量子效率需要整个波长范围内的均匀单色光,因此光场生成部分主要由稳压电源控制器、光源、单色仪和积分球组成。稳压电源控制器为光源提供一个稳定可调的电源,防止因电流波动引起光源抖动,带来测量误差。采用Newport公司的OPS-Q250超稳压电源,其控制精度为0.1 A,灯的波长和输出强度的稳定性主要通过尽可能保持灯外壳内卤素气体的温度和压力恒定实现。OPS-Q250电源为灯丝提供高度稳定的电流,从而将灯输出光强的波动保持在0.05% RMS以下,同时最大限度延长灯的寿命。采用欧司朗24V-275W的石英钨卤素灯泡,发光范围可以覆盖整个可见光波段。通过一个焦比为2.2的非球面透镜(平凸透镜)对光源发出的光进行准直,形成直径D=33 mm的光束,然后经过焦距100 mm的凸透镜和焦距30 mm的凹透镜将准直光束聚焦后再次准直,形成直径d=10 mm的光束入射单色仪的入光口,光路图如图3(a)。光束通过单色仪内部的反射镜和光栅分光后从出光口射出,如图3(b),经过滤光片后进入积分球形成均匀单色光。
图3(a)光束准直光路;(b) 单色仪光路
Fig.3(a) Beam collimation path; (b) light path of monochromator
暗室的主要功能是为CMOS相机提供一个无光照的暗场和相对稳定的测试环境。暗室整体尺寸为1 740 mm × 1 000 mm × 1 000 mm,并分为上下两部分,下面用于放置干燥机和制冷机,并起到支撑作用,上面用于放置位移平台,如图4。暗室内壁由保温隔热层和空气循环层组成,保温隔热层利用保温棉可以保证暗室内的温度不随外界温度大幅度地变化。通过测试,在室温为20 ℃,暗室温度为10 ℃时,自然上升1 ℃需要的时间为5分钟,可以保证恒温条件下对CMOS相机的测试。空气循环层中有半导体制冷机、加热机以及风扇,可以使暗室温度和湿度快速地达到测试的要求,并保证暗室内的温湿度分布尽量均匀。
图4 暗室结构图
Fig.4 The structure of darkroom
位移平台的主要功能是为测试相机提供固定位置以及调节相机和积分球出光口的相对位置。位移平台主要由相机承载台、丝杆、支柱、滑槽、电机和运动控制模块组成。位移平台的x轴、y轴和z轴的最大运动距离为400 mm,最小运动距离为25 ± 1.25 μm。位移平台的承载台可以实现对不同形状和体积的相机进行固定。通过控制位移平台的运动可以调节相机靶面和均匀光源即积分球出光口的相对位置,根据EMVA 1288标准,相机靶面与出光口距离d和出光口直径D的关系为
f=d/D=8 .
(1)
同时应该将CMOS相机靶面中心与积分球出光口中心对齐。此外,通过查阅文献和实际测试发现,距离积分球辐射光源出口平面较近(f≤ 5)时,照度均匀性较差,不适合在出口位置对光电器件进行测试实验,且积分球出口处温度较高,对器件测试精度也有影响[7]。距离积分球辐射光源出口平面较远(f≥ 10)时,照度均匀性很好但是光照强度降低很多,因此在f=8处更适合对天文CMOS相机的测试。
环境监测控制部分的主要功能是对暗室内的温湿度进行实时监测和控制,以及对CMOS相机靶面光功率的测量。温湿度监控主要用于CMOS相机暗电流对温度依懒性的测量以及恒温恒湿下性能参数的测试。通过暗室的保温隔热层可以使温度在短时间内保持稳定,而温湿度监控系统可以使温度长时间保持在恒定温度(±1 ℃),温湿度的监测通过温湿度传感器完成,并通过网络传输回电脑端。温湿度的控制由半导体制冷机、压缩制冷机、加热机和干燥机依据温湿度传感器传回的数据共同完成,并利用风扇加速空气的流动使暗室内各个地方的温湿度相对均匀。CMOS相机靶面接收的光功率由光功率计测量,用于量子效率的计算。
将光场生成部分、暗室、位移平台和环境监测控制部分进行整体设计和安装,天文CMOS相机测试平台如图5,经过安装调试后已经满足EMVA 1288标准的相机测试条件,可以在实际测试中应用。
3 控制系统的实现
CMOS相机测试系统平台虽然搭建完毕,但是因为使用了不同厂家的设备,接口以及通讯协议都有所不同。如果使用各个设备的自带软件,将大大增加操作难度,无法做到所有设备协同工作,因此实现对硬件设备的集成控制是非常必要的。为了方便集成以及后期设备的更换而不影响程序运行,整个测试系统的电源开关通过网络继电器控制,以此实现整个系统的远程控制。所有设备通过转接设备连接到路由器上,设置每个设备的IP地址为固定值,然后通过无线网络进行访问和控制。CMOS相机测试系统控制程序的设计与开发将实现控制指令与数据储存及显示相结合的一体化控制,这大大提高测试效率,降低使用和学习成本。
图5 天文CMOS相机测试平台
Fig.5 Astronomical CMOS camera test platform
3.1 系统部署
CMOS相机测试平台控制程序部署在控制计算机上,位移平台、光源控制器等是标准的232串口通信,单色仪是USB通信,通过串口服务器和USB服务器将这些设备连接到交换机上。光功率计是TCP/IP通信,直接连接到交换机上,再通过交换机与控制计算机相连,如图6。控制计算机采用Windows系统,控制程序基于MVC框架与C#语言开发。用户可以通过控制程序对CMOS相机测试系统平台实施远程操作,并对系统状态进行实时监测。控制程序通过局域网实现对测试系统平台的远程操作。利用控制指令和执行结果与设备控制程序进行交互,实现整个通讯过程。
图6 测试系统部署图
Fig.6 The deployment diagram of test system
3.2 架构设计
为了在较短的时间内完成软件的开发,以及在使用过程中快速满足测试系统需求的变化,采用敏捷开发方式,首先快速搭建可以满足测试需要的软件,然后根据使用情况,调整原有功能并增加新的功能。在控制系统搭建的过程中,为了方便以后系统升级和功能增加,不影响现有的功能,主要通过降低系统耦合性的方式,提高其拓展性[8]。
由于CMOS测试系统仍然处于发展状态,后期可能需要更换光源控制器,调整温湿度控制系统,甚至存在更换操作系统的可能,因此需要系统架构能够满足功能和相关计算机底层技术间的松耦合,所以将系统架构分为界面层、功能层和应用层[9],如图7。
(1)应用层为实现具体功能提供了同步时钟、线程管理、远程通讯、事务处理机制等底层技术。
(2)功能层描述了光源控制器、单色仪、温湿度控制等功能以及各个组件间的关系和交互行为。
(3)界面层用于接收用户输入的数据并将返回的数据和图表呈现出来,为用户提供一种交互式的操作界面。
为实现系统应用层、功能层和界面层的分离,采用容器-组件-服务模型。.Net提供了容器组件的实现,但由于设备硬件的差异和性能的不同,许多设备的软件开发工具包(Software Development Kit, SDK)不提供.Net环境的支持,所以选择自行开发。将系统的应用层、功能层和界面层分离具有以下优点:
(1)降低了层与层之间的依懒性,有利于控制系统后期的升级和改造。功能层与应用层的松耦合,可以减少后期软件调整的工作量。
(2)开发人员可以只关注整个系统的其中一层,在开发具体功能性应用时,不用关心应用层具体技术的实现,大大降低了维护成本和时间。
测试平台控制系统部署在控制计算机上,可以通过控制计算机的界面直接控制测试平台上的设备,并返回执行的结果。也可以通过数据计算机发送指令,控制系统在接收到指令后进行解析,然后执行指令,间接控制测试平台上的设备。控制系统流程图如图8。
控制系统的指令和硬件设备可执行的操作是一一对应的,测试平台包括光源控制器、单色仪、三维位移平台、光功率计和温湿度设备等,因设备比较多,控制指令也比较复杂,这里列举部分常用的控制指令如表2。当网络连接正常时,根据控制指令执行的不同情况,控制系统分别接收到执行成功、执行失败和指令错误3种结果。当网络连接中断时,发送控制指令会返回 “请检查网络连接是否正常”。
图7 系统架构示意图
Fig.7 System architecture
图8 控制系统流程图
Fig.8 The flow chart of control system
3.3 界面设计
为了方便测试人员操作,使用的图形交互界面如图9。界面设计以功能实现为基础,采用了极简风格,让测试人员对功能一目了然,同时可以将数据信息快速传递给测试人员。整个界面主要分为信息反馈、图表显示和设备控制3部分,方便测试人员快速了解和熟悉界面。在主界面中只列出了测试必须使用的功能,如位移台的运动位置、单色仪的当前波长等。在测试过程中较少使用的功能,如设备端口更改、位移平台加速度、单色仪滤光轮设置等,可以修改相应的配置文件调整这些参数。
表2 常用控制指令表Table 2 List of common control instructions
图9 图形交互界面
Fig.9 The GUI
4 结论与展望
天文CMOS相机测试平台在功能上实现了对相机的量子效率、增益、暗电流、信噪比、动态范围和光响应不均匀性等性能参数的测量,可以满足测试系统所需的测试条件。平台控制系统在多次运行和调试后,对电源控制器、位移平台、单色仪和温湿度控制等的控制指令执行正确,数据返回正常,图表显示稳定。CMOS相机测试平台和控制系统整体运行稳定、可靠,可以满足测试环境的要求。
天文CMOS相机测试平台仍然处于发展之中,在控制系统的实现过程中,采用了敏捷开发方式,有良好的扩展性,可以在较短的开发周期内实现部署迭代,为以后测试系统已有功能的调整和新功能的加入打下良好的基础。