关晨辉,林宏宇,彭呈祥
(北京空间机电研究所,北京 100094)
由于传统地基天文望远镜成像会受到天光散粒噪声的干扰,且在云雨天气时不具备天文观测能力;与地基天文望远镜相比,部署于太空的天基天文望远镜不受星光背景和大气条件掣肘,从而具备了全天候观测的优势。因此,研究天基天文望远镜技术对提高天文观测效率,获取高质量天文信息是极其必要的。在天基天文望远镜组成结构中,成像传感器是其核心器件。虽然BMCCD器件性能优异,但价格高昂,且成像电路较为复杂,电路规模大,对卫星平台空间和供电功率等提出了较高的要求,大大提高了天基天文望远镜的成像电路设计难度[1],而科学级CMOS图像传感器具有低功耗,低成本,高集成度,大面阵等优点,可简化天基天文望远镜成像电路的设计方案,缩短设计周期[2]。国产Gsense400BSI是一款具有低噪声、高灵敏度和高动态范围的sCMOS传感器,传感器采用卷帘曝光模式,并通过相关双采样技术对噪声进行抑制,且其输出图像数据位宽可达12位,满足商业化的天基望远镜的应用需求。
因此,基于Gsense400BSI,研制出一种低功耗、高集成度和高可靠性的商业天基望远镜成像电路,可实现高效能的天文观测。在商业天基天文观测领域,此成像电路具备了广阔的应用价值。
基于sCMOS的天基天文望远镜成像电路由FPGA主控电路、sCMOS焦面电路和接口电路组成。成像电路电子学结构如图1所示。为满足电路轻小型化、低功耗的要求,采用SPARTAN-6系列FPGA芯片作为图像处理的主控芯片,主要实现对图像采集传感器的控制,采集数据的编码还原、缓存、传输,对DDR3的读取,以及图像输出的控制。为满足在高动态成像模式下存储两帧图像实现合成高动态图像的需要,采用两片高速DDR3实现图像数据的乒乓缓存[3],FPGA与sCMOS之间采用LVDS接口进行图像数据的传输。
图1 电路结构图Fig.1 Circuit diagram
焦面电路由sCMOS图像传感器实现图像的光电信号转换。考虑到sCMOS器件成像质量对热敏感,结合供电纹波要求高的条件,采用低噪声的LDO电源芯片提供工作电压[4],在满足驱动能力的条件下减小LDO电压差,采用MP20051实现sCMOS焦面电路的供电设计,在减小电源纹波的同时降低了焦面电路的热耗。针对Gsense400BSI部分供电需求为恒流源,采用双电阻分压后经过跟随器构成满足特定电压的恒流源电路[5]。跟随器采用集成运放LT6220设计实现。
接口电路主要集成了接口芯片以及电源芯片,实现通信、图像数据输出和供电电平转换等功能。
采用FPGA实现配置传感器工作模式、缓存图像数据以及发送传感器图像数据等功能。FPGA程序详细框图如图2所示。
1.2.1 时钟管理模块
电路时钟由传感器驱动时钟、DDR3控制器的读写时钟、通信接口波特率时钟、数据LVDS传输时钟等组成。为保证传感器驱动时钟的精度,采用外置高精度25MHz差分晶振作为探测器的驱动时钟。FPGA使用锁相环对外部输入200MHz差分时钟进行分频,分别产生DDR3控制器读写时钟、通信接口波特率时钟、数据LVDS传输时钟。由于需要对传感器输出数据进行跨时钟域采样,FPGA内置锁相环产生的时钟还包括150MHz传感器数据采样同步时钟。
图2 FPGA程序框图Fig.2 FPGA program diagram
1.2.2 工作模式配置
系统完成上电复位之后,需要通过SPI总线设置图像传感器的寄存器,SPI时钟最大为25MHz,配置时序如图3所示。
FPGA 的Gsense400BSI 控制模块有3个功能:1)通过SPI接口配置传感器的PGA(可编程增益放大器);2)通过状态机实现图像传感器并行驱动配置和12路像素数据驱动;3)通过12路LVDS接收来自图像传感器采集到的图像数据。
图3 SPI时序Fig.3 SPI sequence diagram
1.2.3 时序Trainning
Gsense400BSI传感器为了保证LVDS数据到达接收端的时序一致性,提供了LVDS数字Training功能。利用输出的Training word对多个并行通道的数据进行相位对齐、字对齐、通道调整,从而实现数据的训练。如图4所示为4路LVDS的训练过程。当数字输入引脚被拉高时,8路LVDS输出trainning序列,如果“Train”信号的脉冲宽度是一个像素时钟,8路LVDS引脚将输出一组Training序列。本设计中采用FPGA门电路阵列实现延迟抽头,最终实现序列的延迟矫正。
图4 LVDS时序训练Fig.4 LVDS Timing Trainning
1.2.4 图像缓存模块
传感器图像数据输出时钟为150MHz,为了便于图像采集时序设计,采用2片DDR3作为数据缓存,读写方式采用乒乓结构[6],如图5所示。其中读写状态机的控制是缓存模块逻辑控制的核心。该控制器根据读写状态机的状态产生读和写命令、地址、数据、和突发长度等信息,从而确保了数据不间断的传输。由于读写DDR3的数据需要进行位宽转换,FPGA开设FIFO空间对读写数据缓存[7]。
图5 DDR3读写驱动Fig.5 Reading and writing of DDR3 drives
自动曝光算法用于在相机景物亮度发生变换时实时调整相机曝光时间,使图像亮度值保持在一个合适的范围内。自动曝光算法通过计算上一帧图像数据值确定本帧图像的曝光时间,连续迭代直至工作结束。该算法根据相机场景中的云、强光照等特殊条件进行了优化调整,可适应复杂的场景变化,调整迅速精准[8]。
一幅图像中,图像的灰度分布情况可以反映不同的图像质量,灰度直方图在各个灰度值上分布越均匀,图像对应的动态范围就越宽,图像自然就越清晰。在这里用图像熵来定义灰度直方图的均匀性[9]。按照式(1)定义图像信息熵函数:
(1)
其中,N为灰度基数,Pi为每个灰度级出现的概率。
自动曝光算法采用图像分块加权和图像熵相结合的方式进行自动曝光控制。算法将相邻的4×4像素计算平均值后合并为1个像素,得到512×512大小图像。将该图像划分为64×64相同大小的64块。分别计算64块图像的图像熵,根据各块图像熵计算结果和对应加权系数(如图6所示),计算当前图像亮度值。图像平均亮度按照式(2)计算:
(2)
其中,DNcur_ave:当前图像平均DN值;AVEi为第i块图像平均DN值;αi为第i块图像加权系数。
图6 图像熵与加权系数曲线图Fig.6 Image entropy and weighting coefficient graph
其中,Eave为整幅图像平均图像熵,Emin为整幅图像最小图像熵。
根据当前亮度值通过查找表方式得出调整系数[10](如图7所示),计算出下一帧曝光时间,用于控制成像。
Tnext=Tcur×C
(3)
其中,Tnext为下一帧曝光时间,Tcur为当前帧曝光时间,C为加权系数。
图7 图像DN值与加权系数曲线图Fig.7 The coefficient curve of Image DN value and weighting
曝光时间控制算法流程如图8所示。
图8 算法流程图Fig.8 Algorithm flowchart
该成像电路在热真空试验验证中,成像模式下总功耗小于2W,传感器温升小于0.1℃,通过对图像数据分析,电路连续工作且在最大曝光时间5s时,高温60℃工况下噪声低于20个电子,低温-25℃工况下噪声低于5个电子。
在轨验证中,文章提出的成像电路运行稳定,且可根据观测需求调整曝光时间、帧频等观测参数。在成像状态良好的情况下,成像样例图如图9-图11所示。
根据观测图像显示,基于此成像电路的天文望远镜可对银河系、大麦哲伦星云等天文目标进行清晰观测,同时实现了对空间动目标和高能射线爆发等天文现象有效的监测。
图9 成像电路拍摄的银河系图像Fig.9 Image of the Milky Way taken by the imaging system
图10 空间动目标监测图Fig.10 Surveillance Image of space moving target
图11 南大西洋区高能射线图Fig.11 High-energy ray map of the South Atlantic
基于Gsense400BSI传感器设计了一种应用于商业天基望远镜的成像电路。以FPGA器件为驱动控制核心开展了成像电路的软硬件设计。此成像电路通过了热循环试验、热真空试验、进行了环境试验,验证了空间环境适应性。在轨工作稳定,图像各项指标满足商业天基望远镜应用需求。在商业天基天文观测领域具有广阔应用前景。