高帧频面阵CCD实时显示系统设计

2015-01-06 08:30朱小明张建忠
电脑知识与技术 2014年34期

朱小明+张建忠

摘要:为了能够在特殊环境下拍摄到最优的图像,需要实时地调整相机参数,这要求实时显示拍摄的图像。使用FPGA配合通用Camera Link采集卡,设计了一套通用性很强的高帧频面阵CCD实时显示系统,使用Verilog HDL语言编写CCD驱动程序,能够通过USB实时调整相机的工作参数,使相机工作在最佳状态,使用KAI340D CCD 在205.6fps的帧频下测试,系统工作良好,满足了实验需求。

关键词:CCD;实时显示;FPGA;驱动时序;Camera Link

中图分类号:TP752 文献标识码:A 文章编号:1009-3044(2014)34-8277-02

在航空航天、遥感测绘、高速摄影及弹道相机对动态目标跟踪,姿态和形变测量领域的应用中,对图像分辨率和帧频的要求不断提高。然而这类图像通常都是在比较恶劣的环境中拍摄的,其自动增益控制和感兴趣区的选择算法目前还不能满足要求,因此研制高速数字相机实时显示系统具有很大的实际意义。在实时显示系统中,监测员可以根据拍摄条件实时调整增益、感兴趣区域、焦距和积分时间等,获得高质量的原始数据,极大地提高拍摄效率。

实时高清视频图像解决办法有两种:采用FPGA(Field Programmable Gate Array)与DSP(Digital Signal Processor )的结合方法或者是FPGA+视频驱动芯片的方法。这两种方法只能针对特定的系统,通用性都比较差且比较复杂[1-2]。该文采用KAI0340D和FPGA结合通用Camera Link采集卡实现Base模式下的高帧频数字图像实时显示系统,具有系统结构简单,调试周期短,可移植性高等优点。

1 硬件电路和驱动设计

1.1 KAI340D内部结构

KAI0340D是Kodak公司的行间转移面阵CCD(Charge Couple Devices),像素大小为7μm×7μm,分辨率为640H×480V,40M时钟驱动、双端输出模式下帧频可达210fps[3],结构如图1所示。

CCD工作在双端模式时,其Video R数据为倒序输出,需要后续电路进行拼接。

2.2系统结构

FPGA芯片选择Xilinx公司的Spartan3AN系列XC3S400AN,具有360K的Block RAM,以及311个User I/O[4]。这些资源可以方便的编写CCD驱动时序、接收和拼接CCD数据、接收控制命令并将数据转换为Camera Link需要的格式。采集卡选择IO industries inc. 的Streams 5,支持最高时钟频率85M Medium模式的数据传输,能够设置图像的分辨率和显示位数,实时查看图像和原始数据并记录(缓存区),系统的结构如图2所示。

根据KAI0340D CCD数据手册,由FPGA产生驱动时序,经驱动电路转换为合适的电平供给CCD,CCD输出的图像数据经过相关双采样(CDS)、可变增益放大(VGA)和模数转换(ADC)处理(视频处理模块),再被FPGA接收,FPGA会完成倒序的功能,并将数据打包为Camera Link要求的格式,经采集卡传输到上位机,上位机软件来实现实时显示的功能。在监测图像的过程中,如果发现图像数据出现离焦、曝光时间不足或过度曝光、过亮或过暗等情况,可以通过调整焦距、改变积分时间和增益等方式实时处理,来获得最优的图像数据,从而提高拍摄效率。

2.3驱动时序

由于面阵CCD相机驱动时序的复杂性,采用硬件描述语言Verilog HDL设计驱动时序[8]。Verilog HDL采用自上至下及模块化设计方式,具有强大的系统硬件描述能力,并能很好的配合仿真工具进行时序仿真,大大缩减了电路的设计周期。在Xilinx公司提供的综合工具ISE10.1环境下,使用同步逻辑设计减少毛刺的产生,提高电路的稳定性。调用Modelsim SE6.5观察时序波形,仿真波形如图3所示。

2.4 图像的数据率

本系统中CCD工作在双端输出模式,每个通道的数据率为40M/s,数据输出峰值速率为80M/s,AD分辨率为12位,系统的数据产生速率为80M/s×12b=960Mb/s。考虑到数据显示和存储的需要,将数据末端补零,扩展至16位,这样需要传输的实际数据率为80M/s×16b=1.28Gb/s=160MB/s目前普通硬盘的存储速率一般为30~45MB/s,实验室已设计并调试完成一套存储速度为35MB/s的便携式图像采集系统,但本系统的数据率为160MB/s,因此若要系统连续工作,还必须解决存储的问题。实时压缩是一种比较好的方式,这也是本组正在进行的工作。

3 软件界面和实时控制

3.1 实时显示软件界面

Streams 5软件界面如图4所示,该软件可以以图像和原始数据两种方式实时的监测Camera Link传输的数据,同时其record功能可以记录数据,图4就是记录下的KAI0340D所拍摄的图片,中间的白色矩形框用来选择感兴趣区域,图像的前八列(白色和黑色)及最后两列(白色)是添加的行头行尾及电路状态的参数。通过这些参数并结合图像,监测人员可以实时地调整相机参数,获得最优的图像。

在配置文件LusterLight.xml中输入以上语句,就会产生16位全色Base模式下分辨率为650×480的工作模式,在图4菜单栏配置选项中选中该模式,则采集卡就可以采集这个模式的数据。同样,我们可以为采集卡设置其它分辨率和位数的全色或彩色工作模式,这可以极大地提高采集卡的通用性。

由于显示器的刷新频率为60Hz,而图像的帧频为205.6fps,部分帧被跳过,但数据是被记录下来的,我们可以在Record模式下回放,因此影响不大。

3.2 USB控制软件

图5所示的是在实验室原有软件的基础上更改获得的USB控制软件的界面。通过USB可以实时调整的参数有三组:相关双采样(CDS)的参考电压,可变增益放大器(VGA)增益和积分时间。

4 结论

本实时成像及显示系统在ISE10.1环境下使用Verilog HDL语言开发,结合Modelsim SE6.5进行调试,获得了满意的结果,实现了在205.6fps的帧频下行间转移650×480的方式的图像显示和缓存。该系统能够在恶劣环境下通过监测员实时地调整相机参数并选择感兴趣区域,获得最优的图像,提高拍摄效率。下一步的计划是利用压缩技术,将图像同步存储在硬盘中,实现图像的实时显示和存储。

参考文献:

[1] 苏宛新.大面阵CMOS实时同步成像及显示系统的设计[J].光子学报,2012,41(3):364-368.

[2] 王明富,杨世宏,吴钦章.大面阵CCD图像实时显示系统的设计[J].光学精密工程,2010,18(9):2053-2059.

[3] Kodak KAI0340 Image Sensor User Guide[OL].www.kodak.com/go/imagers.

[4] 张鑫,王晓东,曲洪丰,等.基于背照式CCD的微弱目标成像系统设计[J].激光与红外,2012,42(3):314-318.

[5] 薛盼盼,王晓东,曲洪丰.极紫外光子计数成像仪图像快显系统设计与实现[J].激光与红外,2011,41(12):1378-1382.

[6] 周辉,张星祥,陶宏江,等.基于行间转移CCD场输出模式下的成像系统设计[J].液晶与显示,2009,24(1):121-125.endprint

摘要:为了能够在特殊环境下拍摄到最优的图像,需要实时地调整相机参数,这要求实时显示拍摄的图像。使用FPGA配合通用Camera Link采集卡,设计了一套通用性很强的高帧频面阵CCD实时显示系统,使用Verilog HDL语言编写CCD驱动程序,能够通过USB实时调整相机的工作参数,使相机工作在最佳状态,使用KAI340D CCD 在205.6fps的帧频下测试,系统工作良好,满足了实验需求。

关键词:CCD;实时显示;FPGA;驱动时序;Camera Link

中图分类号:TP752 文献标识码:A 文章编号:1009-3044(2014)34-8277-02

在航空航天、遥感测绘、高速摄影及弹道相机对动态目标跟踪,姿态和形变测量领域的应用中,对图像分辨率和帧频的要求不断提高。然而这类图像通常都是在比较恶劣的环境中拍摄的,其自动增益控制和感兴趣区的选择算法目前还不能满足要求,因此研制高速数字相机实时显示系统具有很大的实际意义。在实时显示系统中,监测员可以根据拍摄条件实时调整增益、感兴趣区域、焦距和积分时间等,获得高质量的原始数据,极大地提高拍摄效率。

实时高清视频图像解决办法有两种:采用FPGA(Field Programmable Gate Array)与DSP(Digital Signal Processor )的结合方法或者是FPGA+视频驱动芯片的方法。这两种方法只能针对特定的系统,通用性都比较差且比较复杂[1-2]。该文采用KAI0340D和FPGA结合通用Camera Link采集卡实现Base模式下的高帧频数字图像实时显示系统,具有系统结构简单,调试周期短,可移植性高等优点。

1 硬件电路和驱动设计

1.1 KAI340D内部结构

KAI0340D是Kodak公司的行间转移面阵CCD(Charge Couple Devices),像素大小为7μm×7μm,分辨率为640H×480V,40M时钟驱动、双端输出模式下帧频可达210fps[3],结构如图1所示。

CCD工作在双端模式时,其Video R数据为倒序输出,需要后续电路进行拼接。

2.2系统结构

FPGA芯片选择Xilinx公司的Spartan3AN系列XC3S400AN,具有360K的Block RAM,以及311个User I/O[4]。这些资源可以方便的编写CCD驱动时序、接收和拼接CCD数据、接收控制命令并将数据转换为Camera Link需要的格式。采集卡选择IO industries inc. 的Streams 5,支持最高时钟频率85M Medium模式的数据传输,能够设置图像的分辨率和显示位数,实时查看图像和原始数据并记录(缓存区),系统的结构如图2所示。

根据KAI0340D CCD数据手册,由FPGA产生驱动时序,经驱动电路转换为合适的电平供给CCD,CCD输出的图像数据经过相关双采样(CDS)、可变增益放大(VGA)和模数转换(ADC)处理(视频处理模块),再被FPGA接收,FPGA会完成倒序的功能,并将数据打包为Camera Link要求的格式,经采集卡传输到上位机,上位机软件来实现实时显示的功能。在监测图像的过程中,如果发现图像数据出现离焦、曝光时间不足或过度曝光、过亮或过暗等情况,可以通过调整焦距、改变积分时间和增益等方式实时处理,来获得最优的图像数据,从而提高拍摄效率。

2.3驱动时序

由于面阵CCD相机驱动时序的复杂性,采用硬件描述语言Verilog HDL设计驱动时序[8]。Verilog HDL采用自上至下及模块化设计方式,具有强大的系统硬件描述能力,并能很好的配合仿真工具进行时序仿真,大大缩减了电路的设计周期。在Xilinx公司提供的综合工具ISE10.1环境下,使用同步逻辑设计减少毛刺的产生,提高电路的稳定性。调用Modelsim SE6.5观察时序波形,仿真波形如图3所示。

2.4 图像的数据率

本系统中CCD工作在双端输出模式,每个通道的数据率为40M/s,数据输出峰值速率为80M/s,AD分辨率为12位,系统的数据产生速率为80M/s×12b=960Mb/s。考虑到数据显示和存储的需要,将数据末端补零,扩展至16位,这样需要传输的实际数据率为80M/s×16b=1.28Gb/s=160MB/s目前普通硬盘的存储速率一般为30~45MB/s,实验室已设计并调试完成一套存储速度为35MB/s的便携式图像采集系统,但本系统的数据率为160MB/s,因此若要系统连续工作,还必须解决存储的问题。实时压缩是一种比较好的方式,这也是本组正在进行的工作。

3 软件界面和实时控制

3.1 实时显示软件界面

Streams 5软件界面如图4所示,该软件可以以图像和原始数据两种方式实时的监测Camera Link传输的数据,同时其record功能可以记录数据,图4就是记录下的KAI0340D所拍摄的图片,中间的白色矩形框用来选择感兴趣区域,图像的前八列(白色和黑色)及最后两列(白色)是添加的行头行尾及电路状态的参数。通过这些参数并结合图像,监测人员可以实时地调整相机参数,获得最优的图像。

在配置文件LusterLight.xml中输入以上语句,就会产生16位全色Base模式下分辨率为650×480的工作模式,在图4菜单栏配置选项中选中该模式,则采集卡就可以采集这个模式的数据。同样,我们可以为采集卡设置其它分辨率和位数的全色或彩色工作模式,这可以极大地提高采集卡的通用性。

由于显示器的刷新频率为60Hz,而图像的帧频为205.6fps,部分帧被跳过,但数据是被记录下来的,我们可以在Record模式下回放,因此影响不大。

3.2 USB控制软件

图5所示的是在实验室原有软件的基础上更改获得的USB控制软件的界面。通过USB可以实时调整的参数有三组:相关双采样(CDS)的参考电压,可变增益放大器(VGA)增益和积分时间。

4 结论

本实时成像及显示系统在ISE10.1环境下使用Verilog HDL语言开发,结合Modelsim SE6.5进行调试,获得了满意的结果,实现了在205.6fps的帧频下行间转移650×480的方式的图像显示和缓存。该系统能够在恶劣环境下通过监测员实时地调整相机参数并选择感兴趣区域,获得最优的图像,提高拍摄效率。下一步的计划是利用压缩技术,将图像同步存储在硬盘中,实现图像的实时显示和存储。

参考文献:

[1] 苏宛新.大面阵CMOS实时同步成像及显示系统的设计[J].光子学报,2012,41(3):364-368.

[2] 王明富,杨世宏,吴钦章.大面阵CCD图像实时显示系统的设计[J].光学精密工程,2010,18(9):2053-2059.

[3] Kodak KAI0340 Image Sensor User Guide[OL].www.kodak.com/go/imagers.

[4] 张鑫,王晓东,曲洪丰,等.基于背照式CCD的微弱目标成像系统设计[J].激光与红外,2012,42(3):314-318.

[5] 薛盼盼,王晓东,曲洪丰.极紫外光子计数成像仪图像快显系统设计与实现[J].激光与红外,2011,41(12):1378-1382.

[6] 周辉,张星祥,陶宏江,等.基于行间转移CCD场输出模式下的成像系统设计[J].液晶与显示,2009,24(1):121-125.endprint

摘要:为了能够在特殊环境下拍摄到最优的图像,需要实时地调整相机参数,这要求实时显示拍摄的图像。使用FPGA配合通用Camera Link采集卡,设计了一套通用性很强的高帧频面阵CCD实时显示系统,使用Verilog HDL语言编写CCD驱动程序,能够通过USB实时调整相机的工作参数,使相机工作在最佳状态,使用KAI340D CCD 在205.6fps的帧频下测试,系统工作良好,满足了实验需求。

关键词:CCD;实时显示;FPGA;驱动时序;Camera Link

中图分类号:TP752 文献标识码:A 文章编号:1009-3044(2014)34-8277-02

在航空航天、遥感测绘、高速摄影及弹道相机对动态目标跟踪,姿态和形变测量领域的应用中,对图像分辨率和帧频的要求不断提高。然而这类图像通常都是在比较恶劣的环境中拍摄的,其自动增益控制和感兴趣区的选择算法目前还不能满足要求,因此研制高速数字相机实时显示系统具有很大的实际意义。在实时显示系统中,监测员可以根据拍摄条件实时调整增益、感兴趣区域、焦距和积分时间等,获得高质量的原始数据,极大地提高拍摄效率。

实时高清视频图像解决办法有两种:采用FPGA(Field Programmable Gate Array)与DSP(Digital Signal Processor )的结合方法或者是FPGA+视频驱动芯片的方法。这两种方法只能针对特定的系统,通用性都比较差且比较复杂[1-2]。该文采用KAI0340D和FPGA结合通用Camera Link采集卡实现Base模式下的高帧频数字图像实时显示系统,具有系统结构简单,调试周期短,可移植性高等优点。

1 硬件电路和驱动设计

1.1 KAI340D内部结构

KAI0340D是Kodak公司的行间转移面阵CCD(Charge Couple Devices),像素大小为7μm×7μm,分辨率为640H×480V,40M时钟驱动、双端输出模式下帧频可达210fps[3],结构如图1所示。

CCD工作在双端模式时,其Video R数据为倒序输出,需要后续电路进行拼接。

2.2系统结构

FPGA芯片选择Xilinx公司的Spartan3AN系列XC3S400AN,具有360K的Block RAM,以及311个User I/O[4]。这些资源可以方便的编写CCD驱动时序、接收和拼接CCD数据、接收控制命令并将数据转换为Camera Link需要的格式。采集卡选择IO industries inc. 的Streams 5,支持最高时钟频率85M Medium模式的数据传输,能够设置图像的分辨率和显示位数,实时查看图像和原始数据并记录(缓存区),系统的结构如图2所示。

根据KAI0340D CCD数据手册,由FPGA产生驱动时序,经驱动电路转换为合适的电平供给CCD,CCD输出的图像数据经过相关双采样(CDS)、可变增益放大(VGA)和模数转换(ADC)处理(视频处理模块),再被FPGA接收,FPGA会完成倒序的功能,并将数据打包为Camera Link要求的格式,经采集卡传输到上位机,上位机软件来实现实时显示的功能。在监测图像的过程中,如果发现图像数据出现离焦、曝光时间不足或过度曝光、过亮或过暗等情况,可以通过调整焦距、改变积分时间和增益等方式实时处理,来获得最优的图像数据,从而提高拍摄效率。

2.3驱动时序

由于面阵CCD相机驱动时序的复杂性,采用硬件描述语言Verilog HDL设计驱动时序[8]。Verilog HDL采用自上至下及模块化设计方式,具有强大的系统硬件描述能力,并能很好的配合仿真工具进行时序仿真,大大缩减了电路的设计周期。在Xilinx公司提供的综合工具ISE10.1环境下,使用同步逻辑设计减少毛刺的产生,提高电路的稳定性。调用Modelsim SE6.5观察时序波形,仿真波形如图3所示。

2.4 图像的数据率

本系统中CCD工作在双端输出模式,每个通道的数据率为40M/s,数据输出峰值速率为80M/s,AD分辨率为12位,系统的数据产生速率为80M/s×12b=960Mb/s。考虑到数据显示和存储的需要,将数据末端补零,扩展至16位,这样需要传输的实际数据率为80M/s×16b=1.28Gb/s=160MB/s目前普通硬盘的存储速率一般为30~45MB/s,实验室已设计并调试完成一套存储速度为35MB/s的便携式图像采集系统,但本系统的数据率为160MB/s,因此若要系统连续工作,还必须解决存储的问题。实时压缩是一种比较好的方式,这也是本组正在进行的工作。

3 软件界面和实时控制

3.1 实时显示软件界面

Streams 5软件界面如图4所示,该软件可以以图像和原始数据两种方式实时的监测Camera Link传输的数据,同时其record功能可以记录数据,图4就是记录下的KAI0340D所拍摄的图片,中间的白色矩形框用来选择感兴趣区域,图像的前八列(白色和黑色)及最后两列(白色)是添加的行头行尾及电路状态的参数。通过这些参数并结合图像,监测人员可以实时地调整相机参数,获得最优的图像。

在配置文件LusterLight.xml中输入以上语句,就会产生16位全色Base模式下分辨率为650×480的工作模式,在图4菜单栏配置选项中选中该模式,则采集卡就可以采集这个模式的数据。同样,我们可以为采集卡设置其它分辨率和位数的全色或彩色工作模式,这可以极大地提高采集卡的通用性。

由于显示器的刷新频率为60Hz,而图像的帧频为205.6fps,部分帧被跳过,但数据是被记录下来的,我们可以在Record模式下回放,因此影响不大。

3.2 USB控制软件

图5所示的是在实验室原有软件的基础上更改获得的USB控制软件的界面。通过USB可以实时调整的参数有三组:相关双采样(CDS)的参考电压,可变增益放大器(VGA)增益和积分时间。

4 结论

本实时成像及显示系统在ISE10.1环境下使用Verilog HDL语言开发,结合Modelsim SE6.5进行调试,获得了满意的结果,实现了在205.6fps的帧频下行间转移650×480的方式的图像显示和缓存。该系统能够在恶劣环境下通过监测员实时地调整相机参数并选择感兴趣区域,获得最优的图像,提高拍摄效率。下一步的计划是利用压缩技术,将图像同步存储在硬盘中,实现图像的实时显示和存储。

参考文献:

[1] 苏宛新.大面阵CMOS实时同步成像及显示系统的设计[J].光子学报,2012,41(3):364-368.

[2] 王明富,杨世宏,吴钦章.大面阵CCD图像实时显示系统的设计[J].光学精密工程,2010,18(9):2053-2059.

[3] Kodak KAI0340 Image Sensor User Guide[OL].www.kodak.com/go/imagers.

[4] 张鑫,王晓东,曲洪丰,等.基于背照式CCD的微弱目标成像系统设计[J].激光与红外,2012,42(3):314-318.

[5] 薛盼盼,王晓东,曲洪丰.极紫外光子计数成像仪图像快显系统设计与实现[J].激光与红外,2011,41(12):1378-1382.

[6] 周辉,张星祥,陶宏江,等.基于行间转移CCD场输出模式下的成像系统设计[J].液晶与显示,2009,24(1):121-125.endprint