基于FPGA的嵌入式图像采集系统设计

发布者:CelestialLight最新更新时间:2014-08-20 来源: eefocus关键字:I2C总线  图像处理  FPGA 手机看文章 扫描二维码
随时随地手机看文章
在图像处理系统中,首先对摄像头采集的视频信号进行A/D转换,将模拟图像信号转化为数字信号,提供给后端的处理系统进行图像处理。而视频图像采集系统是多媒体信息处理、视频监控等系统的前端子系统,是视频处理系统中不可缺少的部分。传统视频采集系统一般电路复杂、成本高,而且较难满足实时性的要求,而采用视频摄像头+视频解码器+FPGA的模式,可简化电路的复杂性,其中视频解码器对摄像头采集的信号进行AD转换,FPGA对信号的采样进行控制。FPGA的时钟频率高、时间延迟小,可以满足实时性的要求。基于以上的优点文中采用些结构来实现视频图像的采集。

1 视频解码器SAA7113H

SAA7113H是Philips公司的一种增强型视频输入处理器,内部有一系列寄存器,寄存器的读、写通过I2C总线完成。包括一个双通道的模拟预处理电路、可编程静态增益和自动增益控制电路、时钟生成电路、数字多标准解码电路、亮度、对比度、饱和度控制电路和I2C总线控制电路。SAA7113H需外接24.576 MHz晶体,内部锁相环PLL可输出27 MHz的时钟。自动检测50 Hz和60 Hz的场频,可在PAL、NTSC两种制式之间自动转换。具有4路模拟视频信号输入,通过内部寄存器的不同配置可以实现4路信号的转换;输入可以是4路CVBS或2路Y/C信号或1路Y/C信号2路CVBS,输出为标准ITU656 YUV4:2:2格式的VPO数据总线(8-bit)。SAA7113H模拟部分和数字部分采用+3.3V,数字I/O接口兼容+5V。

2 系统总体方案及工作原理

系统选用Altera公司的CycloneⅡ系列中的EP2C20Q240C8为系统的硬件平台,该芯片内部有18752个LE,26个乘法器和4个锁相环等。视频解码芯片采用Philips的SAA7113H。系统主要由SAA7113H图像采集接口模块、I2C总线配置模块、控制模块、像素存储模块、格式转换模块和显示接口模块组成。设计中利用VHDL语言在QuartusⅡ下进行编程和调试。系统基本结构如图1所示。


3 主要模块功能介绍


3.1 SAA7113H图像采集接口模块

该模块负责视频图像的采集并将模拟视频信号转换为数字视频信号,为后面的视频处理做准备。该模块与SAA7113H的VPO数据总线、RTS0、RTS1、及LLC相连,RTS0和RTS1分别配置为行同步和场同步信号,只有在这两个信号同时有效时,输出数据是有效图像数据,否则是消隐信号。有效的视频信号分为奇数场和偶数场,共576行有效数据,其中奇数场有效数据为23~310行,偶数场有效数据为336~623行,其余
为垂直控制信号。

SAA7113H的VP0总线输出数据的频率是27 MHz,在每个LLC的上升沿输出1 Byte有效数据。标准ITU YUV 4:2:2格式视频信号的每个像素都有各自的亮度分量Y,每两个相邻的像素公用一对的色差数据Cb和Cr。在存储像素数据时,可认为每两个连续字节表示一个像素,当需要格式转换或进行其他的处理时,要一次提取两个相邻的像素的数据,进行相应处理。其中,每行有数据864个采样点中有效数据720个,消隐期间数据144个。在完整的一帧图像数据中第一场的消隐EAV为FF 00 00 BX,第一场消隐SAV为FF 00 00 AX;第一场有效数据SAV为FF 00 00 8X,有效数据EAV为FF 00 00 9X,其他场类推。奇数场有效数据阶段的SAV为“FF 00 00 80”,偶数场有效数据阶段的SAV为“FF 00 00 C7”。在每个时钟的上升沿读取8位数据,当检测到一行数据的开始标志FF 00 00 XY时,检测到SAV或EAV信号,提取H、F、V信号。然后开始对图像数据进行解码,根据8位数据自带的信息,判断该数据是Y、Cb还是Cr,从而得到Y、Cb、Cr各分量。

3.2 I2C总线配置模块

该模块通过I2C总线协议对SAA7113H进行配置,时钟频率为20 kHz。通过该模块完成SAA7113H配置。配置模块如图2所示。

其中,inicio_conf信号表示启动对SAA7113H进行配置,高电平有效。clk为时钟信号。reset为外部复位信号高电平有效。SCL和SDA为SAA7113H配置信号。CONFIGURACION_OK表示解码芯片配置好以后输出一个控制信号给控制模块,以启动数据采集。

SAA7113H的寄存器地址从00H开始,只有01H~05H前端输入配置部分,06H~13H、15H~17H解码部分,40H~60H常规分离数据部分,这些可读写,其余为保留地址或只读寄存器,将需要配置的寄存器数据存在查找表con_data中,并用count表示当前对哪个寄存器配置,配置时逐个写入寄存器。[page]

根据I2C总线数据传输的时序,总线控制器的状态机分为空闲状态、启动状态、数据传输状态、应答状态和停止状态。Idle状态表示总线空闲状态,SCL和SDA都为高电平,若clk=1则进入Start状态。Start状态表示总线启动,此时保持SCL为高电平,将SDA由高电平变为低电平,从而启动数据传输。Data_trans状态中一次传1 Byte数据。在本状态中,1 Byte数据的传输过程为将时钟线变为低电平,然后将数据放在数据线SDA上。再将时钟线变为高电平,让接收方进行数据接收。传输完1 Byte后进入Hold。Hold状态用来表示应答阶段,主要是产生一个时钟脉冲,让接收方对1 Byte的数据产生应答信号。在此状态中进行对本次数据连续传送是否完毕进行判断。如未传输完则继续到Start状态进行下一次数据的传输,并将count-1。Stop状态表示数据传输结束。在SCL高电平期间将SDA由低转为高。然后输出一个配置完成的信号。寄存器配置状态机如图3所示。


3.3 控制模块

控制模块由control_enable模块和control_interface模块组成主要负责图像采集模块和显示接口模块的同步和使能。当解码芯片配置完成后,从CONFIGURACION_OK输入使能信号,启动该模块,同时通过href和odd信号启动图像采集模块和显示接口模块,href=1表示SAA7113H通过VPO传输像素数据;odd=1表示奇数场,odd=0表示偶数场。

3.4 像素存储模块

图像的一帧为720×625提取其中的有效像素640×576存入SDRAM中,再读出480行数据进行格式转换和显示。

由于SDRAM每个单元为16位,所以将一个Y和一个Cb或Cr合存在一个地址空间中,即两个时钟周期产生一个地址。SDRAM有4端口模式,2个用于将FIFO中的数据写SDRAM,2个用于将数据读到FIFO中,读写采用的时钟不同,写时钟采用解码芯片的27MHz,而渎时钟采用VGA的25MHz,由于SDRAM的读写速度为50 MHz,时钟频率不同,不能直接写入,因此需要一个FIFO将数据暂时储存,再将其写到SDRAM中。

此处关键问题是隔行扫描到逐行扫描的转换。SAA7113H是先奇数场后偶数场的顺序输出,即隔行输出,而VGA显示是逐行显示的,因此要进行去隔行操作。利用对SDRAM的读写地址的控制能够有效解决隔行到逐行的转换问题,数据写入SDRAM是将隔行数据写入到SDRAM的0-640× 576的地址空间中,其中640×23-640×310为1、3、5、…奇数场的有效数据,640×336-640×623为2、4、6、…偶数场的有效数据。两场数据分别通过不同的FIFO读出,格式转换时交叉读取两个FIFO中的数据,这样读出的数据即1、2、3、4、…逐行数据。

3.5 格式转换模块

要将摄像头采集的图像显示在显示器上,需进行数据的格式转换,将YUV格式的数据转换成RGB格式的数据。YUV 4:2:2格式的数据两个相邻的像素共用一对Cb和Cr分量,所以在进行格式转换时要先解交织,即一次从FIFO中提取相邻的两个像素数据,将Cb和Cr各复用一次,使得YUV变成4:4:4格式,然后进行格式的转换。将转换好的数据存放在reg_RGB中,VGA显示的时候交叉读取这两个寄存器中的数据。转换公式如下所示

由于在FPGA中进行浮点运算较困难,因此可将式(1)中的各系数转化为整数在进行运算,采用将各系数放大1 024倍的方法,得到r、g、b后再除以1 024,放大后的公式为

根据上述公式得到r、g、b。然后将结果均右移10位完成除法运算,得到RGB值。由于r、g、b均为8位,取值范围为0~255,而运算过程较易生成负数和超过255的正数,因此运算结果需将负数取0,超过255的正数取为255。此方法虽然会引入误差,但对最终图像的显示效果不会有较大影响。

3.6 显示接口模块

由interface_vga负责图像的显示,从reg_RGB寄存器中读取转换好的数据,对这两个像素的读取由一个转换电路负责在两个寄存器之间切换。显示接口模块将r、g、b以及hsync、vsync一起发送给编码芯片THS8134,通过VGA显示出来,hsync和vsyne分别是行和场同步信号。在仿真中,选用CycloneⅡEP2C20Q240C8芯片,用QuartusⅡ8.0进行综合与仿真。图4是对显示接口模块的仿真。由仿真结果可以看出,行同步和场同步符合时序要求。


4 结束语


实现了一种基于CycloneII系列FPGA与视频信号处理芯片SAA7113H的嵌入式图像采集系统。系统结构简单系、统稳定、功耗低、成本低、速度快以及接口方便,可以满足视频监控系统等的需要。图像采集系统中采用FPGA作为采集控制部分,可以提高系统处理的速度及系统的灵活性和适应性,对于不同的视频图像信号,只要在FPGA内对控制逻辑稍作修改,便可实现信号采集。

关键字:I2C总线  图像处理  FPGA 引用地址:基于FPGA的嵌入式图像采集系统设计

上一篇:基于TMS320F2812的视频图像采集系统的设计
下一篇:基于FPGA的网络图像采集处理系统设计

推荐阅读最新更新时间:2024-03-16 13:40

在高速信号采集系统中利用FPGA实现异步FIFO设计
目前数据采集系统朝着高速和高精度的方向发展。随着 FPGA 的集成度和运行速度的提高,可以满足高速数据采集系统的需求。FPGA内部具有丰富的存储单元,易于实现各种存储器(如 FIFO 、双口 RAM 等);另外,基于查找表的逻辑单元可用于实现各种数字信号处理(如滤波等),以辅助DSP处理器做各种预处理。 TI公司推出的高性能数字信号处理芯片TMS320C6000系列,工作频率最高可达到1GHz,具有处理速度快、灵活、精确和可靠性高等优点,作为数据采集系统中的主处理器,可以满足实时性的要求。基于以上考虑,北京合众达公司开发了采用TMS320C6416和FPGA的高速高精度双通道数据采集系统,每个通道的采样率为3Msps,最高
[测试测量]
在高速信号采集系统中利用<font color='red'>FPGA</font>实现异步FIFO设计
SiliconBlue BGA封装的最高逻辑容量FPGA
  SiliconBlue Technologies宣布推出iCE65 mobileFPGA™系列的两款新元件封装。拥有1,280个逻辑单元的iCE65L01元件如今采用5x5毫米、81球BGA封装(拥有63个用户输入/输出引脚);拥有3,520个逻辑单元的iCE65P04元件则采用6x6毫米、121球BGA封装(拥有95个用户输入/输出引脚)。   如今的手机工程师面临着一项艰巨的挑战。他们必须每年推出一款拥有创新和差异化功能的新手机。不幸的是,如今的应用处理器需要花2至3年的时间进行开发,并且仍有可能不包含工程师需要的功能。此外,这些新功能要求大量的逻辑和更多的输入/输出量,而这些可能是应用处理器无法提供的。通过使用Si
[嵌入式]
SiliconBlue BGA封装的最高逻辑容量<font color='red'>FPGA</font>
基于FPGA和DSP的雷达模目信号设计
摘要:在雷达信号处理分系统调试时,经常用到模目信号。为了获得实时多波束雷达模目信号,提出一种基于FPGA和DSP的产生方法,利用FPGA产生时序及控制,DSP实时计算出所需要的回波,这样即使在没有阵面数据的情况下,仍然能够调试信号处理部分。该设计模块使用简单方便,只需通过终端键盘输入参数,即可实时产生所期望的回波,非常适用于雷达研制前期和系统联试时查找问题,而且模块做在脉压板上,不需要单独的插件。 关键词:雷达模目信号;FPGA;DSP;回波 0 引言 雷达系统在研制过程中,各部分往往是并行的,在调试信号处理分系统时,如果天线没做好,就得不到阵面送下来的回波数据,这时调试就无法正常进行。为了解决这一问题,往往先设计一个模目信号
[工业控制]
基于<font color='red'>FPGA</font>和DSP的雷达模目信号设计
基于FPGA的DDC滤波器设计与仿真
近年来,软件无线电已经成为通信领域一个新的发展方向,数字下变频技术(Digital Down Converter-DDC)是软件无线电的核心技术之一,也是计算量最大的部分。基于FPGA的DDC设计一般采用CIC、HB、FIR级联的形式组成。同时,由于CIC滤波器的通带性能实在太差,所以中间还要加上一级PFIR滤波器以平滑滤波器的通带性能。而众所周知用FPGA从事算法的开发是一件难度比较大的工作,而Xilinx公司开发的System Generator工具为算法的快速开发及仿真带来了巨大的方便。本文首先对CIC、HB、FIR滤波器的原理及设计作了简单的说明,最后用Matlab结合System generator对本文所设计的DDC滤
[模拟电子]
基于<font color='red'>FPGA</font>的DDC滤波器设计与仿真
基于FPGA的ARM并行总线和端口设计
通过EP2C20Q240器件和LPC2478处理器,研究ARM应用系统外部并行总线的工作原理和时序特性,以及在FPGA中进行双向总线设计的原则,设计并实现了FPGA并行总线.借助Quartus II仿真工具,对FPGA并行总线进行了时序仿真,并用SignalTap II逻辑分析仪进行在线测试,验证设计的正确性. 0 引言 在数字系统的设计中,FPGA+ARM 的系统架构得到了越来越广泛的应用,FPGA主要实现高速数据的处理;ARM 主要实现系统的流程控制.人机交互.外部通信以及FPGA 控制等功能.I2C.SPI 等串行总线接口只能实现FPGA 和ARM 之间的低速通信 ;当传输的数据量较大.要求高速传输时,就需要用并行总线来
[单片机]
基于<font color='red'>FPGA</font>的ARM并行总线和端口设计
基于新型FPGA实现高速数字下变频
摘要:介绍了一种基于新型FPGA的高速数字下变频的实现方法,它充分利用数字下变频的优化算法以及FPGA领域的新技术,去除由于数据速率过高而造成的各种瓶颈,极大地减少了计算量和FPGA片内资源的消耗。 关键词:数字下变频 多相滤波器 FPGA 在现阶段的软件无线电平台中,直接对射频(RF)进行采样还很难实现,成本上也很不合算。所以在目前的研究中,大部分都是首先将射频信号转换到中频(IF)上,在中频对模拟信号进行数字化,然后采用数字下变频(Digital Down Conversion,DDC)技术,将采样率较低的信号送给后续的基带信号处理单元。 实现DDC主要有三种途径:(1)采用已有的专用芯片;(2)自己制作专用
[应用]
基于FPGA/CPLD和USB技术的无损图像采集卡
摘要:介绍了外置式USB无损图像采集卡的设计和实现方案,它用于特殊场合的图像处理及其相关领域。针对图像传输的特点,结合FPGA/CPLD和USB技术,给出了硬件实现框图,同时给出了FPGA/CPLD内部时序控制图和USB程序流程图,结合框图和部分程序源代码,具体讲述了课题中遇到的难点和相应的解决方案。 关键词:无损图像采集 图像处理 FPGA/CPLD USB SAA7111A 现场图像采集技术发展迅速,各种基于ISA、PCI等总线的图像采集卡已经相当成熟,结合课题设计了一款USB外置式图像采集卡。该图像采集卡已成功应用于一个图像处理和识别的项目中,由于图像信号不经过压缩处理,对后续处理没有任何影响,因此图像处理和识别的效果比一般的
[半导体设计/制造]
基于FPGA的数字示波器图文显示系统的软硬件设计
应用FPGA设计功能电路时,可以让人们的思路从传统的以单片机或DSP芯片为核心的系统集成型转向单一专用芯片型设计。传统的示波器虽然功能齐全,但是体积大、重量重、成本高、等一系列问题使应用受到了限制。有鉴于此,便携式数字存储采集器就应运而生,它采用了LCD显示、高速A/D采集与转换、ASIC芯片等新技术,具有很强的实用性和巨大的市场潜力,也代表了当代电子测量仪器的一种发展趋势,即向功能多、体积小、重量轻、使用方便的掌上型仪器发展。   1 系统总体设计读写   根据设计要求:在示波器上显示2个以上字符或图案,如显示0-9十个数字及英文字符、图象等,结合示波器显示原理,设计电路如图1所示。将要显示的数字或符号进行取模,得到其二进制
[嵌入式]
基于<font color='red'>FPGA</font>的数字示波器图文显示系统的软硬件设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved