采用FPGA的图像采集卡的设计
时间:08-01
来源:互联网
点击:
现代化生产和科学研究对视频图像采集系统的要求日益提高。传统的图像采集卡速度慢、处理功能简单、采用分立元件、电路非常复杂;而且可靠性差、不易调试、不能很好地满足特殊要求。FPGA(现场可编程门阵列)是专用集成电路中集成度最高的一种,用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户所需逻辑功能。用户对FPGA的编程数据放入芯片,通过上电加载到FPGA中,对其进行初始化;也可在线对其编程,实现系统在线重构。基于FPGA技术的图像采集主要是通过集成的FPGA开发板,使用软件编程把图像的采集控制程序写人FPGA开发板的芯片上,通过仿真技术来进行图像的采集处理分析。通过这种方式,便于及时地发现设计中的错误,从而有效地缩短研发时间。
系统的组成及基本原理
像采集系统主要由模拟视频信号解码模块、IIC控制接口模块采样控制模块、SDRAM存储控制模块组成。
SAA7113H芯片把从CCD采集来的模拟视频信号转化成YUV=422格式的数字图像信号。这些信号在同步脉冲的作用下进入采集控制器。采样控制器在奇偶场控制信号下把图像信息存人SDRAM中。该系统可以实现由隔行扫描图像到逐行图像的转化及存储。
模拟视频信号解码
由于SAA7113H 芯片具有IIC接口,该模块则通过IIC总线来配置SAA7113H初始化的信息。工作涉及SAA7113H的初始化字的配置、工作方式的配置;行同步开始和结束标志位、确定亮度、色度、饱和度的大小以及输出图像数据信号的格式。
IIC控制接口模块
IIC模块作为SAA7113H寄存器初始酣置的整体控制模块,具体可以分成IIC_cmd和数据传输两个模块,如同2所示。IIC_cmd模块为纯组合逻辑电路,完成信号的发送控制任务,配合rom_data[7.0]和 rom_addr[7.0]信号完成数据的寻址与存人等工作;而数据传输模块主要和IIC_cmd模块一起组合成IIC的数据控制写入模块,它上要负责对IIC_cmd模块的输出信号进行缓存,并在其输出端输IIC总线的串行数据SDA以及IIC总线的串行时钟信号SCL。
采样控制模块
模块在Verilog编程语言的控制下,把SAA7113H输出的一帧灰度数字视频图像数据进行奇偶场的分开存储,达到隔行到逐行的图像转换,与此同时,通过控制行采集数和列采集数,满足720×576、25帧/秒的分辨率的要求。
SDRAM控制存储模块
SDRAM模块作为数据的存储模块,可以具体分成SDRAM控制接口模块以及SDRAM存储模块(SDRAM),SDRAM控制接口模块用于对数据存储的控制,发出控制读写信号来使数据存储到SDRAM模块里面;SDRAM模块则通过本身的逻辑存储单元,把从SDRAM控制接口模块出来的数据存储到自身的存储空间中。
方案模拟仿真及具体实现
采样控制器的功能仿真
Idel:默认空闲状态(开始或复位状态)。此时如果收到数据8'hff,进入state1,其它情况在本状态停留。
State1:开始接收数据状态。此时收到数据8'h00,进入State2;收到数据8'hff,停留在本状态,其它情况返回Idel。
State2:数据确认成功状态。此时若收到数据8'h00,数据确认成功,接下来输出图像视频信号,进入State3,其它情况状态转到Idel。
State3:视频图像数据的接收状态,表明数据采集及传送即将开始。在此状念下,若收到数据8'hc7,进入图像奇数场采集;若收到数据8'h80,进入图像偶数场采集。其它情况同到Idel。
State4:奇场图像采集状态。奇数场开始采集,同时输出场同步及奇场信号来控制计数器计数。与此同时,状态自动恢复到Idel。为下一次的图像场的采集做好准备。
State5:偶场图像采集状态。偶数场开始采集,同时输出场同步及偶场控制信号来控制计数器计数。与此同时,状态将自动恢复到Idel。为下一次的图像场采集做好准备。
SDRAM控制存储模块仿真实现
数据的突发式读取
SDRAM支持的是突发式的读取。本文所设置的读取设为整页式突发读取,具体的工作过程:cmd发出 001b的控制信号,进行带自动预充电的SDRAM读操作,cmd_ack发出高电平应答信号,同时Cs_n低电平表示片选有效。控制信号Ras_n、Cas_n、We_n的值输出为010b,表示进行带自动预充电的SDRAM操作,紧接着进行读操作。数据在读取的时候,从CAS读取指令发出到第一笔数据输出,存在读取潜伏期(CL),故数据的读出有一定的时钟延迟,在本文中CL=2。即延时两个时钟周期,之后数据从Dq口从SDRAM读出。如图1所示是采用序列数读入时的modelsim的仿真图。
数据的突发式写入
数据的整页式突发写过程与读操作类似:cmd控制信号010h控制进行带自动预充电的SDRAM写操作,cmd_ack应答,Cs_n低电平表示芯片选中工作。与此同时,控制信号Ras_n、Cas_n、We_n的值输出为011b,对行地址和列地址进行激活,然后发出100b写控制信号。由于信号的写入不需要时钟延迟,故此时数据从DATAIN 口输入,经过寄存后从Dq存人SDRAM 芯片里面,从而完成采集数据的存储。如图7所示是采用序列数写入时的modelsim的仿真图。
该图像采集卡系统是基于FPGA技术,软件上则采用verilogHDL实现。此图像采集卡完全适用于静态图像以及帧数不是很多的动态图像。经过逻辑分析仪中的采集分析得知,对于一般25帧/秒的图像采集要求,该图像采集系统具有很好的效果。
系统的组成及基本原理
像采集系统主要由模拟视频信号解码模块、IIC控制接口模块采样控制模块、SDRAM存储控制模块组成。
SAA7113H芯片把从CCD采集来的模拟视频信号转化成YUV=422格式的数字图像信号。这些信号在同步脉冲的作用下进入采集控制器。采样控制器在奇偶场控制信号下把图像信息存人SDRAM中。该系统可以实现由隔行扫描图像到逐行图像的转化及存储。
模拟视频信号解码
由于SAA7113H 芯片具有IIC接口,该模块则通过IIC总线来配置SAA7113H初始化的信息。工作涉及SAA7113H的初始化字的配置、工作方式的配置;行同步开始和结束标志位、确定亮度、色度、饱和度的大小以及输出图像数据信号的格式。
IIC控制接口模块
IIC模块作为SAA7113H寄存器初始酣置的整体控制模块,具体可以分成IIC_cmd和数据传输两个模块,如同2所示。IIC_cmd模块为纯组合逻辑电路,完成信号的发送控制任务,配合rom_data[7.0]和 rom_addr[7.0]信号完成数据的寻址与存人等工作;而数据传输模块主要和IIC_cmd模块一起组合成IIC的数据控制写入模块,它上要负责对IIC_cmd模块的输出信号进行缓存,并在其输出端输IIC总线的串行数据SDA以及IIC总线的串行时钟信号SCL。
采样控制模块
模块在Verilog编程语言的控制下,把SAA7113H输出的一帧灰度数字视频图像数据进行奇偶场的分开存储,达到隔行到逐行的图像转换,与此同时,通过控制行采集数和列采集数,满足720×576、25帧/秒的分辨率的要求。
SDRAM控制存储模块
SDRAM模块作为数据的存储模块,可以具体分成SDRAM控制接口模块以及SDRAM存储模块(SDRAM),SDRAM控制接口模块用于对数据存储的控制,发出控制读写信号来使数据存储到SDRAM模块里面;SDRAM模块则通过本身的逻辑存储单元,把从SDRAM控制接口模块出来的数据存储到自身的存储空间中。
方案模拟仿真及具体实现
采样控制器的功能仿真
Idel:默认空闲状态(开始或复位状态)。此时如果收到数据8'hff,进入state1,其它情况在本状态停留。
State1:开始接收数据状态。此时收到数据8'h00,进入State2;收到数据8'hff,停留在本状态,其它情况返回Idel。
State2:数据确认成功状态。此时若收到数据8'h00,数据确认成功,接下来输出图像视频信号,进入State3,其它情况状态转到Idel。
State3:视频图像数据的接收状态,表明数据采集及传送即将开始。在此状念下,若收到数据8'hc7,进入图像奇数场采集;若收到数据8'h80,进入图像偶数场采集。其它情况同到Idel。
State4:奇场图像采集状态。奇数场开始采集,同时输出场同步及奇场信号来控制计数器计数。与此同时,状态自动恢复到Idel。为下一次的图像场的采集做好准备。
State5:偶场图像采集状态。偶数场开始采集,同时输出场同步及偶场控制信号来控制计数器计数。与此同时,状态将自动恢复到Idel。为下一次的图像场采集做好准备。
SDRAM控制存储模块仿真实现
数据的突发式读取
SDRAM支持的是突发式的读取。本文所设置的读取设为整页式突发读取,具体的工作过程:cmd发出 001b的控制信号,进行带自动预充电的SDRAM读操作,cmd_ack发出高电平应答信号,同时Cs_n低电平表示片选有效。控制信号Ras_n、Cas_n、We_n的值输出为010b,表示进行带自动预充电的SDRAM操作,紧接着进行读操作。数据在读取的时候,从CAS读取指令发出到第一笔数据输出,存在读取潜伏期(CL),故数据的读出有一定的时钟延迟,在本文中CL=2。即延时两个时钟周期,之后数据从Dq口从SDRAM读出。如图1所示是采用序列数读入时的modelsim的仿真图。
数据的突发式写入
数据的整页式突发写过程与读操作类似:cmd控制信号010h控制进行带自动预充电的SDRAM写操作,cmd_ack应答,Cs_n低电平表示芯片选中工作。与此同时,控制信号Ras_n、Cas_n、We_n的值输出为011b,对行地址和列地址进行激活,然后发出100b写控制信号。由于信号的写入不需要时钟延迟,故此时数据从DATAIN 口输入,经过寄存后从Dq存人SDRAM 芯片里面,从而完成采集数据的存储。如图7所示是采用序列数写入时的modelsim的仿真图。
该图像采集卡系统是基于FPGA技术,软件上则采用verilogHDL实现。此图像采集卡完全适用于静态图像以及帧数不是很多的动态图像。经过逻辑分析仪中的采集分析得知,对于一般25帧/秒的图像采集要求,该图像采集系统具有很好的效果。
电路 FPGA 集成电路 仿真 总线 Verilog 相关文章:
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- FPGA按键模式的研究与设计(03-24)
- 周立功:如何兼顾学习ARM与FPGA(05-23)