基于FPGA的数字CMOS摄像机图像采集(1)

上传人:油条 文档编号:2569507 上传时间:2017-07-25 格式:DOCX 页数:17 大小:409.14KB
返回 下载 相关 举报
基于FPGA的数字CMOS摄像机图像采集(1)_第1页
第1页 / 共17页
基于FPGA的数字CMOS摄像机图像采集(1)_第2页
第2页 / 共17页
基于FPGA的数字CMOS摄像机图像采集(1)_第3页
第3页 / 共17页
基于FPGA的数字CMOS摄像机图像采集(1)_第4页
第4页 / 共17页
基于FPGA的数字CMOS摄像机图像采集(1)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于FPGA的数字CMOS摄像机图像采集(1)》由会员分享,可在线阅读,更多相关《基于FPGA的数字CMOS摄像机图像采集(1)(17页珍藏版)》请在金锄头文库上搜索。

1、嵌入式课程设计课程题目:基于 FPGA 的图像采集系统 课程成员: 指导老师:_ 基于 FPGA 的数字 CMOS 摄像机图像采集一、数据采集系统概述数据采集是指将以各种形式输入的被测信号,包括语音信号、温度信号、湿度信号、图像信号等经过适当处理,成为计算机可以识别的数字信号,从而送入计算机进行存储处理的过程,数据采集卡就是典型的基于数据采集系统原理的集成计算机扩展卡。如图 1 所示,在数据采集过程中主要有几个关键部分:(1)输入信号的幅度较小或者过大,需要经过放大器单元将输入信号幅度放大或者缩小;(2)输入信号带有较大的噪声,需要经过一个硬件的模拟滤波单元,将信号滤波整形;(3)将信号送到

2、AD 进行模数转换 ;(4)将信号传输到计算机;(5)存储记录和处理数据。放大器单元模拟滤波单元A / D 转换单元信号传输单元信号存储记录单元被测信号图 1 数据采集过程通常认为如果数字逻辑电路的频率超过 50MHz,而且工作在这个频率之上的电路已经占到了整个电路系统的三分之一以上,就称为高速电路。相应的,对于并行采样系统,如果采样频率达到 50MHZ,数据量并行 8bit 以上;对于串行采样系统,如果采样频率达到200MHz,一般将这种采样系统也称为高速数据采集。目前高速数据采集使用较多的采样频率一般在 50M100MHz 之间。采集系统分模拟系统和数字系统,大多数字采集系统中,CMOS

3、图像传感器是系统的成像部件,它是系统的“眼睛” ,能够捕获高速运动物体的图像,此模块是将采集的模拟图像转化为数字信号输出;图像处理模块是系统的中间缓存处理部分,此模块为了消除或降低前期采集携带噪声的影响,提高图像质量,将庞大的数据量进行压缩,以减小对存储介质容量的要求;数据传输模块是系统与外设搭建的桥梁,此模块是将实时采集的数据高速传输,给外设提供信息。二、总体方案设计方案 1:图像数据的传输通过 USB 总线技术完成系统的初始化以及将最终的传输信号准确无误地传送到上位机上。USB 技术具有简单化、通用性、可靠性、热插拔、传输速率高等优点,随之带来的是应用 USB 技术的复杂程度高、总线传输协

4、议需要协调等问题。方案 2:利用两片 SDRAM 进行图像数据的短时间存储并快速传输,SDRAM 是多 Bank 结构,例如在一个具有两个 Bank 的 SDRAM 的模组中,其中一个 Bank 在进行预充电期间,另一个 Bank 却马上可以被读取,这样当进行一次读取后,又马上去读取已经预充电 Bank 的数据时,就无需等待而是可以直接读取了,这也就大大提高了存储器的访问速度。其优点是设计相对简单、不许考虑传输时转换总线的问题、较为可靠,缺点是 SDRAM 容量有限、传输时序需要计算准确、SDRAM 经常刷新等。根据综合分析和考虑,我们选用相对简单方便的方案 2,选择器件如下:FPGA 采用A

5、ltera 的 Cyclone EP2C35F484C8,视频采集芯片用飞利浦的 SAA7113 作为 A/D 转换单元,两块型号为 K4S641632E 的 SDRAM 和 FPGA 构成图像帧存储及传输处理系统,ADV7125是数模转换芯片,和计算机 VGA 显示器相连作为显示终端,系统整体框图如图 2 所示。模拟摄像头S A A 7 1 1 3 E P 2 C 3 5 F 4 8 4 C 8 A D V 7 1 2 5V G A 显示器K 4 S 6 4 1 6 3 2 E K 4 S 6 4 1 6 3 2 E图 2 视频监控系统整体框图以上图像视频监视系统的大部分设计工作都集中在对

6、FPGA 的编程开发上,通过分析可以确定出 FPGA 需要包含如下几个功能模块。(1)视频接口配置模块:视频采集芯片 SAA7113 具有多种采集方式,这里 FPGA 通过IC 总线对其内部寄存器进行配置,使其按照一定的格式进行采样。(2)异步 FIFO 模块:当 FPGA 接收 A/D 采样的视频数据时,由于 SAA7113 和 FPGA 一般在不同的时钟频率下,这就会出现通常所说的异步时钟问题,处理不当就容易出现亚稳态,常用方法是在两者之间添加一块异步 FIFO。(3)视频变换模块:对得到的数字视频流进行解码,识别出行、场同步信号,并且根据需要选择采集图像的大小,进而变换成 RGB 格式的

7、图像数据,以便于后续显示。(4)图像帧存读写模块:将解码后的数据经由一个乒乓机制依次存放在两片 RAM 中,每个里面刚好存放一幅图像,通过乒乓机制使得两块存储区域交替进行存储输入和显示输出,避免等待,提高速度。(5)VGA 控制模块:根据 VGA 的工业参数,产生相应的行同步和场同步信号,并在适当时刻送入数据,经由 ADV7125 送 VGA 进行显示。图 3 描述了 FPGA 内部的各个主要功能模块。系统上电时,FPGA 首先从外部 Flash 中读取配置数据,完成自身的程序加载,进入工作模式状态。随后 IC 配置接口模块完成对SAA7113 的初始化,初始化结束后,FPGA 等待采集图像的

8、命令。FPGA 收到采集命令后,启动采集视频数据模块、异步 FIFO 模块和视频解码模块进行解码,将数据轮换写到两个帧存中,经通信模块送出,以上即为该系统的工作流程。下面主要针对 SDRAM 控制模块的具体实现过程进行详细分析和介绍。视频处理器S A A 7 1 1 3异步F I F O 模块视频变换模块V G A 控制模块接口模块图像帧存读写模块地址发生器帧存切换V G A显示器F P G A配置电路S D R A M 1 S D R A M 2图 3 FPGA 系统内部各模块整体框图三、SDRAM 控制模块系统要把每一幅图像数据存储到一个 SDRAM 里面供后续显示,由于 SDRAM 整个

9、数据的写入和读出都需要一定的时间,为了避免中间等待过程,采用两片等大的 SDRAM 交替工作,一片在从 FIFO 向其写入时另一片向 VGA 输出,使用乒乓机制交换它们的工作性质。这样问题的重点就集中在 FPGA 对 SDRAM 的读写控制模块上。3.1 SDRAM 概述之所以要用到 SDRAM,是因为它价格低、体积小、速度快、容量大,是比较理想的存储器件。在基于 FPGA 的图像采集和集中显示系统中,常常要用到这种大容量、高速度的存储器。但 SDRAM 的控制逻辑比较复杂,对时序要求也十分严格,这就要求有一个专门的控制器,使系统用户能很方便地操作 SDRAM。SDRAM 器件的管脚分为控制信

10、号、地址和数据 3 类。通常一个 SDRAM 中包含几个BANK,每个 BANK 的存储单元是按行和列寻址的。由于这种特殊的存储结构,SDRAM有以下几个工作特性。(1)SDRAM 的初始化SDRAM 在上电 100200s 后,必须由一个初始化进程来配置 SDRAM 的模式存储器,模式存储器的值决定 SDRAM 的工作模式。访问存储单位:为减少 I/O 引脚数量, SDRAM 复用地址线,所有在读写 SDRAM 时,先由 ACTIVE 命令激活要读写的 BANK,并锁存行地址,然后在读写指令有效时锁存列地址。一旦 BANK 被激活后,只有执行一次预充命令后才能再次激活同一 BANK。(2)刷

11、新和预充SDRAM 的存储单元可以理解为一个电容,总是倾向于放电,因此必须有定时刷新周期以避免数据全失。刷新周期可由(最小刷新周期+时候周期)计算获得。对 BANK 预充电或者关闭已激活的 BANK,可预充特定 BANK 也可同时作用于所有 BANK,A10 、BA0和 BA1 用于选择 BANK。(3)操作控制SDRAM 的具体控制命令由一些专用控制引脚和地址线辅助完成。CS、RAS 、CAS 和WR 在时钟上升沿的状态决定具体操作动作,地址线和 BANK 选择控制线在部分操作动作中作为辅助参数输入。由于特殊的存储结构,SDRAM 操作指令比较多,不像 SRAM 一样只有简单的读写。根据系统

12、要求,本设计选用 SAMSUNG 的 K4S6432 SDRAM 芯片。3.2 SDRAM 控制器总体设计SDRAM 控制器与外部的接口示意图由图 4 给出,控制器右端接口信号均为直接与SDRAM 对应管脚相连的信号;控制器左端的接口信号为与 FPGA 相连的系统控制接口信号,其中,CLK 为系统时钟信号,RESET_N 为复位信号, ADDR 为系统给出的 SDRAM地址信号,DAIN 是系统用于写入 SDRAM 的数据信号,FPGA_RD 和 FPGA_WR 为系统读、写请求信号(1 为有效,0 为无效) ,SDRAM_FREE 是 SDRAM 的空闲状态标示信号(0 为空闲,1 为忙碌)

13、 ,FDATA_ENABLE 是控制器给系统的数据收发指示信号(为 0 时,无法对 SDRAM 进行数据收发;为 1 时,若是系统读操作,则系统此时可从 DAOUT 接收SDRAM 的数据,若是写操作,则系统此时可以通过 DAIN 发送数据给 SDRAM) 。S D R A M控制器S D R A M器件S D R A M _ C L KS A ( S I Z E - 1 : 0 )D A ( S I Z E - 1 : 0 )C K EC S _ NR A S _ NC A S _ NW E _ ND Q ( S I Z E - 1 : 0 )D A T E ( S I Z E - 1 :

14、0 )C L KR E S E T _ NA D D R ( S I Z E - 1 : 0 )D A I N ( S I Z E - 1 : 0 )F P G A _ W RF P G A _ R DS D R A M _ F R E EF D A T A _ E N A B L ED A O U T ( S I Z E - 1 : 0 )图 4 总体设计框图和外部接口信号参照 SDRAM 的数据手册可知,它的指令译码对照表如表 1 所示。表 1 SDRAM 指令译码对照表命令 CS_ RAS_ CAS_ WE_ A10 AP空操作指令(NOP) 0 1 1 1 X刷新指令(REF/SELF

15、) 0 0 0 1 X读写停止指令(BST) 0 1 1 0 X模式设置指令(MRS) 0 0 0 0 0/1激活指令( ACTIVE) 0 0 1 1 0/1读指令(READ ) 0 1 0 1 0带预充的读指令(READA ) 0 1 0 1 1写指令(WRITE) 0 1 0 0 0带预充的写指令(WRITEA) 0 1 0 0 1预充指令(PRE) 0 0 1 0 0仔细分析 SDRAM 的各个接口信号、时序要求和工作模式,将该 SDRAM 控制器的内部进一步细化为多个功能模块,结构组成如图 5 所示,包括系统控制接口模块、CMD 命令解析模块、命令相应模块、数据通路模块。系统控制接口

16、模块用于接收系统的控制信号,进而产生不同的 CMD 命令组合;CMD 命令解析模块用于接收 CMD 命令并解码成操作指令;命令响应模块用于接收操作指令并产生 SDRAM 的操作动作;数据通路模块则用于控制数据的有效输入输出。C M D命令解析模块命令响应模块C m d a c kA d d r ( s i z e - 1 : 0 )D o r e a dD o w r i t eD o r e f r e s hD o p r e c h a r g eD o l o a d m o d e数据通路模块O E系统控制接口模块S A ( S I Z E - 1 : 0 )C M D 2 : 0 C M D _ A C KD Q ( S I Z E - 1 : 0 )D A T E ( S I Z E - 1 : 0 )S D R A M _ C L KS A ( S I Z E - 1 : 0 )B A ( S I Z E - 1 : 0 )C K EC S _ N

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号