基于FPGA/CPLD和USB技术的无损图像采集卡
时间:09-01
来源:互联网
点击:
现场图像采集技术发展迅速,各种基于ISA、PCI等总线的图像采集卡已经相当成熟,结合课题设计了一款USB外置式图像采集卡。该图像采集卡已成功应用于一个图像处理和识别的项目中,由于图像信号不经过压缩处理,对后续处理没有任何影响,因此图像处理和识别的效果比一般的图像采集卡要好,满足了特殊场合的特殊需要。
1 外置式无损图像采集卡的系统构成
整个无损图像采集卡由图像采集、图像信号的处理和控制、USB传输和控制、PC机端的图像还原和存储等几部分组成。
本文介绍的图像采集卡采集的一帧图像是720×576象素,如果取彩色图像,每象素用2个字节表示,每帧图像是720×576×16=6480kbps,分成奇数场和偶数场分别存储在两片SRAM中,则每片的SRAM存储3240kbps的图像数据,因此选用了256K×16=4M位的静态存储器(SRAM)。在图像处理领域,通常只需要黑白图像,可以只取图像的黑白部分,每象素用1个字节表示,每帧图像是720×576×8=3240kbps,每片SRAM存储 1620kbps的图像数据。所采用的EZ-USB芯片理论速率是12Mbps,实际测得的速率是8Mbps,因此图像采集卡每秒传输约1帧彩色图像或2 帧黑白图像。
当插上图像采集卡后,PC机会自动识别它。在PC机上,应用程序通过USB向FPGA/CPLD发送图像采集命令,CCD摄像头输出的PAL制式或 NTSC制式的模拟视频信号通过A/D转换芯片转换成数字视频信号,用FPGA/CPLD作为采样控制器,将数字信号存入静态存储器(SRAM)中,当完成一帧图像采集后,FPGA/CPLD向USB发送中断信号,要求USB进行图像数据的传输,在PC机端接收USB送来的一帧图像数据,并且显示、存储图像。文本具体讲述了用该采集卡进行黑白图像的传输,整个硬件框图如图1所示。
2 外置式无损图像采集卡的研制
2.1 图像采集部分
图像采集部分选用了Philips公司的视频A/D转换芯片SAA7111A(EVIP),对SAA7111A的初始化是通过EZ-USB所提供的一对 I2C引脚SDA和SCL进行的,在USB固件程序(Firmware)中进行I2C通信程序的编写。本系统中SAA7111A的初始设定为:一路模拟视频信号输入、自动增益控制、625行50Hz PAL制式、YUV 422 16bits数字视频信号输出、设置默认的图像对比度、亮度及饱和度。SAA7111A芯片产生的数字视频信号、控制信号和状态信号送入控制芯片 FPGA/CPLD中,即把场同步信号VREF、行同步信号HREF、奇偶场标志信号RTS0、片选信号CE、垂直同步信号VS、象素时钟信号LLC2以及数字视频信号VPO[15:8]等管脚连接到FPGA/CPLD芯片LC4128V,以便LC4128V获知各种采集信息。同时,SRAM芯片的读写信号、片选信号、高低字节信号、数据线IO[7:0]和地睛线A[17:0]连接到LC4128V,整个采集过程由FPGA/CPLD芯片LC4128V控制。
在PC机端,通过USB发出图像采集命令后,FPGA/CPLD进行图像采集,由于CCD摄像头输出模拟信号,需要经过视频A/D转化睛,把模拟视频信号转化成数字视频信号,输入进FPGA/CPLD芯片,FPGA/CPLD根据状态信号RTS0把奇偶场图像信号分别存储在SRAM(ODD)和 SRAM(EVEN)中。
2.2 图像信号的处理和控制
这部分是无损图像采集卡的核心,需要对外围的器件进行集中控制和处理。FPGA/CPLD对图像信号的采集、控制、存储数据到SRAM以及从SRAM读取数据都在这里实现。选用了Lattice公司的新一代产品ispMACH4000V-LC4128V,采用Verilog HDL作为硬件描述语言,但是所编写的Verilog源程序都适用于FPGA器件,又适用于CPLD器件。
FPGA/CPLD与USB接口部分由七个部分构成(如图1所示):Start线是拍摄线,它可以向FPGA/CPLD发出图像采集命令,FPGA /CPLD把当前的奇数场图像存储在SRAM(ODD)中,把当前的偶数场图像存储在SRAM(EVEN)中;当一帧数据全部存储完后,发出中断(Interrupt)信号通知USB芯片;同时用State线作为状态线,当State线为低电平时,表明USB可以从SRAM读数据,当State线为高电平时,表明FPGA/CPLD正在向SRAM写数据;RamOdd用来选择从SRAM(ODD)中读取奇数场的数字视频信号;RamEven用于选择从SRAM(EVEN)中读取偶数场的数字视频信号;FPGA/CLPD输出的数据线连接至USB和SRAM芯片,再通过USB传送到PC 机;FrdClk线是USB快速读写方式输出的读选通信号,作为SRAM的时钟,每来一个时钟脉冲,地址值就加1,然后将对应地址单元中存 [tr] [/td]
1 外置式无损图像采集卡的系统构成
整个无损图像采集卡由图像采集、图像信号的处理和控制、USB传输和控制、PC机端的图像还原和存储等几部分组成。
本文介绍的图像采集卡采集的一帧图像是720×576象素,如果取彩色图像,每象素用2个字节表示,每帧图像是720×576×16=6480kbps,分成奇数场和偶数场分别存储在两片SRAM中,则每片的SRAM存储3240kbps的图像数据,因此选用了256K×16=4M位的静态存储器(SRAM)。在图像处理领域,通常只需要黑白图像,可以只取图像的黑白部分,每象素用1个字节表示,每帧图像是720×576×8=3240kbps,每片SRAM存储 1620kbps的图像数据。所采用的EZ-USB芯片理论速率是12Mbps,实际测得的速率是8Mbps,因此图像采集卡每秒传输约1帧彩色图像或2 帧黑白图像。
当插上图像采集卡后,PC机会自动识别它。在PC机上,应用程序通过USB向FPGA/CPLD发送图像采集命令,CCD摄像头输出的PAL制式或 NTSC制式的模拟视频信号通过A/D转换芯片转换成数字视频信号,用FPGA/CPLD作为采样控制器,将数字信号存入静态存储器(SRAM)中,当完成一帧图像采集后,FPGA/CPLD向USB发送中断信号,要求USB进行图像数据的传输,在PC机端接收USB送来的一帧图像数据,并且显示、存储图像。文本具体讲述了用该采集卡进行黑白图像的传输,整个硬件框图如图1所示。
2 外置式无损图像采集卡的研制
2.1 图像采集部分
图像采集部分选用了Philips公司的视频A/D转换芯片SAA7111A(EVIP),对SAA7111A的初始化是通过EZ-USB所提供的一对 I2C引脚SDA和SCL进行的,在USB固件程序(Firmware)中进行I2C通信程序的编写。本系统中SAA7111A的初始设定为:一路模拟视频信号输入、自动增益控制、625行50Hz PAL制式、YUV 422 16bits数字视频信号输出、设置默认的图像对比度、亮度及饱和度。SAA7111A芯片产生的数字视频信号、控制信号和状态信号送入控制芯片 FPGA/CPLD中,即把场同步信号VREF、行同步信号HREF、奇偶场标志信号RTS0、片选信号CE、垂直同步信号VS、象素时钟信号LLC2以及数字视频信号VPO[15:8]等管脚连接到FPGA/CPLD芯片LC4128V,以便LC4128V获知各种采集信息。同时,SRAM芯片的读写信号、片选信号、高低字节信号、数据线IO[7:0]和地睛线A[17:0]连接到LC4128V,整个采集过程由FPGA/CPLD芯片LC4128V控制。
在PC机端,通过USB发出图像采集命令后,FPGA/CPLD进行图像采集,由于CCD摄像头输出模拟信号,需要经过视频A/D转化睛,把模拟视频信号转化成数字视频信号,输入进FPGA/CPLD芯片,FPGA/CPLD根据状态信号RTS0把奇偶场图像信号分别存储在SRAM(ODD)和 SRAM(EVEN)中。
2.2 图像信号的处理和控制
这部分是无损图像采集卡的核心,需要对外围的器件进行集中控制和处理。FPGA/CPLD对图像信号的采集、控制、存储数据到SRAM以及从SRAM读取数据都在这里实现。选用了Lattice公司的新一代产品ispMACH4000V-LC4128V,采用Verilog HDL作为硬件描述语言,但是所编写的Verilog源程序都适用于FPGA器件,又适用于CPLD器件。
FPGA/CPLD与USB接口部分由七个部分构成(如图1所示):Start线是拍摄线,它可以向FPGA/CPLD发出图像采集命令,FPGA /CPLD把当前的奇数场图像存储在SRAM(ODD)中,把当前的偶数场图像存储在SRAM(EVEN)中;当一帧数据全部存储完后,发出中断(Interrupt)信号通知USB芯片;同时用State线作为状态线,当State线为低电平时,表明USB可以从SRAM读数据,当State线为高电平时,表明FPGA/CPLD正在向SRAM写数据;RamOdd用来选择从SRAM(ODD)中读取奇数场的数字视频信号;RamEven用于选择从SRAM(EVEN)中读取偶数场的数字视频信号;FPGA/CLPD输出的数据线连接至USB和SRAM芯片,再通过USB传送到PC 机;FrdClk线是USB快速读写方式输出的读选通信号,作为SRAM的时钟,每来一个时钟脉冲,地址值就加1,然后将对应地址单元中存 [tr] [/td]
[table] |