时间:2024-08-31
孔德可,钟 升,匡乃亮,赵 超
(西安微电子技术研究所,陕西 西安 710054)
近年来,随着航天工业与遥感技术的快速发展,相关领域对于图像采集系统的性能要求也越来越高,传统CCD传感器已不能满足图像采集中对传输速率和图像质量等指标的要求。CMOS传感器具有高帧频、高分辨率等特点,在航天遥感及星空探测中有着举足轻重的作用,例如我国发射的嫦娥二号卫星上就安装了带有CMOS图像传感器的监视相机和降落相机。相对于CCD传感器,CMOS传感器在帧频及分辨率等方面存在优势,但在深空探测使用大面阵CMOS图像传感器时,高速数据传输过程中的数据校正等问题有待研究和解决。为此,本文设计了以CMOS传感器及FPGA为核心器件的图像采集系统,在提高图像采集传输速度和图像质量的同时充分发挥FPGA芯片高性能、高可靠性等优势,研究并实现时序电路中数据传输、位字校准及串并转换等方案设计。
图像采集系统设计采用CMOS传感器+FPGA的硬件架构,所有CMOS传感器的信号输出、输入都连接到FPGA,FPGA实现时序控制与数据处理等功能,FPGA处理完数据之后,将图像数据发送给采集卡进行采集并在上位机上显示。图像采集系统的整体结构框图如图1所示。
CMOS图像传感器的主要作用是:将光学信号转换成电信号,图像以480 Mb/s速率的低压差分信号形式输到FPGA。FPGA在该系统中的主要作用是:配置图像传感器工作参数、产生传感器驱动信号、接收处理高速图像数据。FPGA通过SPI接口配置传感器内部寄存器的值,从而改变其工作状态。在FPGA中进行时序控制和实现数字信号位字校准、串并转换等操作;最后通过CameraLink接口,在CamExpert软件上显示图像数据。具体的图像数据流处理流程如图2所示。
图1 图像采集系统的整体结构框图
图2 图像数据流处理流程图
硬件电路由两块PCB板构成,其中一块为背板,是集成FPGA、DDR2、三次电源等的控制处理板;另一块为放置图像传感器的焦平面板。
设计采用的FPGA是Xilinx生产的Virtex-5系列XC5VSX95T。图像传感器选用CMV4000,其有效像元数为2 048×2 048,像元尺寸为5.5 μm×5.5 μm,支持10位的ADC模式,动态范围为60 dB。传感器最高支持16路LVDS数据输出通道,最高速度能达到480 Mb/s,全帧输出帧率为180 fps。为了提高系统的可扩展性,控制处理板与焦平面板之间采用VPX接口连接。
2.2.1 SPI接口设计
FPGA通过SPI接口修改图像传感器内部寄存器的值,改变其工作状态。写合适的数值到内部寄存器可以实现曝光模式、模数转换增益、输出通道数等的配置。通过SPI接口写入数据的时序如图3所示。
图3 SPI写操作时序
系统上电后,在SPI_CLK时钟信号和SPI_EN使能信号的共同控制下,通过SPI_IN信号修改传感器中指定寄存器的数据。一次写操作包含16位,按顺序分别是1位控制位、7位地址位和8位数据位。控制位用来指示读(‘0’)或写(‘1’)操作是否在SPI接口上执行。地址位指示可编程寄存器的地址,可以定位所有128个寄存器,先发送地址的最高有效位。第9位~16位为数据位,用来完成所需配置。
2.2.2 LVDS数据对齐校准
低电压差分信号(LVDS)接口又称RS-644总线接口,可以实现一对一甚至一对多的连接功能。LVDS的技术核心是传输数据过程中电压以极低的摆幅高速差动,具有低功耗、低误码率、低串扰和低辐射等特点。本设计中使用的CMV4000传感器输出的LVDS数据率为480 Mb/s。由于LVDS传输链路中会存在码间干扰等原因,使得LVDS数据与LVDS时钟间不同步,两者的相对相位没有对齐,若要直接使用时钟去采样16个通道的数据,定会出现乱码现象。因此需要在训练模式中校正数据位,使采样时刻刚好位于数据眼图的中央,如图4所示。通常采用相位延迟来进行数据对齐,本设计采用专用延迟单元延迟方法。
图4 数据位对齐
在FPGA中的每个I/O块包含一个可编程的绝对延迟单元,称之为IODELAY。IODELAY可以实现输入延迟IDELAY、输出延迟ODELAY和双向延迟。本设计使用输入延迟IDELAY延迟单元,其由64拍延迟线(tap)组成,校准时钟频率为200 MHz,则延迟时间为78 ps/tap,可以实现高速数据的位校正。调整后的LVDS数据经过IDDR原语,将双沿数据变成单沿数据。IDDR原语只有一条时钟输入,通过时钟的局部翻转来锁住下降沿数据。IDDR原语输出的两路信号分别依次存入串行移位寄存器中,将串行数据转换为10 bit并行数据,然后对并行数据锁存后输出。然而,这10 bit的每一位不一定属于同一个像素点的bit。为使接收端与CMOS传感器的LVDS输出同步,可以在输出信道上放置已知的训练模式(Training Pattern,TP),该模式可用于“训练”周围系统的LVDS接收器,以实现图像数据的正确字对齐。当没有有效的图像数据要发送时(也就是在128个像素的突发之间),将这种训练模式放置在所有数据通道输出上。通过SPI加载地址为78和79的寄存器以更改训练模式的内容为512(1000000000)。控制通道始终发送控制信息,不发送训练模式,可以在此通道上进行字对齐。图5显示了当传感器处于空闲模式并且读取三行帧数据时训练模式在数据通道和控制通道上的位置。
图5 训练模式在数据通道和控制通道中的位置
在本图像采集系统设计中,针对数据位对齐,时钟使用固定延迟模式,延迟数值为44拍,参考时钟频率为200 MHz;数据使用可变延迟模式,参考时钟频率为200 MHz。使用FPGA中的IDELAY原语将从CMOS传感器输出的串行图像数据信号,以时钟RXCLK为基准进行延迟后,输出双沿数据信号,速率为480 Mb/s。双沿串行信号在DDR时钟的约束下,为提高输入的速度,设计中将双沿信号分成两路LQ1和LQ2进入FPGA内部。通过位拼接的操作对串行数据进行采样,将两路信号LQ1和LQ2转换成5 bit的并行数据和10 bit的并行数据信号。在时钟约束下,将并行信号分别锁存到LPO_1、LPE_1和LP_1信号。
通过LPO_1和LPE_1来判断所有通道的数据是否实现位对齐,若某通道数据没有完成位对齐,将延迟单元循环增加一级,重新对LVDS数据进行延迟、双单沿转换、串并转换与锁存等操作。如此反复直至所有通道的数据都实现位对齐。通道位校正完成后,将对齐的数据进行字校正。通过比较控制通道中的数据字和训练字512来判断字校正,若相等则校正完成。如两者不等,则循环移位采集时钟,直至两者数据字相等为止。经过数据校正后,将所有数据通道的数据缓存读出并进行拼接。
上述的LVDS数据延迟对齐校正以及图像拼接输出是在FPGA中利用状态机实现的,状态机转移示意图如图6所示。状态转移条件如下:
(1) 参考时钟标志有效,进入延迟扫描位校正状态。
(2) 所有通道的延迟扫描完成,数据和时钟边沿对齐,进入字校正状态。
(3) 控制通道的并行输出数据和训练字相同,进入图像拼接输出状态。
(4) 一帧图像数据采集完成,返回空闲状态。
图6 校正模块状态机转移示意图
2.2.3 CameraLink接口输出
CameraLink是在ChannelLink技术基础上发展而来,是一种基于视频应用的通讯接口。CameraLink技术具有匹配图像数据输出和采集之间的速度的功能,实现图像数据灵活可靠传输。CameraLink具有3种不同的结构:Base型结构、Medium型结构和Full型结构。本设计中采用Base型结构,数据信号共28位,其中1位帧有效信号、1位行有效信号、1位数据有效信号、1位空闲状态信号和24位图像数据信号。发送端使用Virtex-5中的OSERDES按7∶1的比例进行并串转换,由于此OSERDES最高支持6∶1的转换,所以需要两个OSERDES串联起来,分成主从模式,具体设计如图7所示。同时,数据时钟需要按照CameraLink时钟格式“1100011”进行7∶1的并串转换,最终得到4对LVDS图像信号与一对LVDS时钟信号连接至CameraLink接口输出到上位机。
图7 7∶1并串转换设计
根据上述硬件设计和逻辑设计,实现了Virtex-5对CMV4000的时序驱动、SPI参数配置,并完成LVDS高清数字图像数据的接收、对齐以及发送功能。实验采用频率为240 MHz的主时钟,使用CameraLink图像采集卡,利用CamExpert软件显示图像数据。实验室环境下测试结果显示,此系统能够以180 fps的帧率输出分辨率为2 048×2 048的高清图像。图像采集系统现场测试效果如图8所示。
图8 图像采集系统现场测试效果
本文以工业级FPGA芯片Virtex-5和CMOS传感器CMV4000为基础,设计并实现了高分辨率图像采集系统,系统采用独立板卡的硬件设计,具有较高的系统可扩展性。数据传输过程中使用LVDS技术,使得系统的集成度更高和可靠性更强,也大大降低了噪声对于系统数据传输过程的影响,能够实现2 048×2 048分辨率成像以及以180 fps的帧频高速传输。试验结果表明:设计的图像采集系统稳定可靠、集成度高、成像质量高,在进一步试验后,该系统将应用于包括航天遥感等领域的某系统项目前期试验中。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!