基于FPGA的实时视频图像采集与显示系统的设计与实
SAA7121芯片主要由I2C总线控制单元、数据管理单元、编码单元、同步时钟单元和D/A转换器组成。主要通过I2C总线对芯片的内部寄存器进行设置,也就是完成对芯片的工作属性的设置。输出数据的格式有两种:复合视频输入信号(CVBS)或分离视频信号,输出的制式可以为NTSC制式或PAL制式,支持隔行扫描和连续扫描方式,并具有Y、C和CVBS三个信号的数膜转换器。本文引用地址://www.cazqn.com/article/189495.htm
SAA7121主要由数据管理模块,总线接口模块,编码模块,D/A模块组成。MP0~MP7是MPEG端口,输入CCIR.656的Cb—Y—Cr的编码数据;RCV1为栅控制端,输入或输出各种类型的信号;LLC为线性锁定时钟,为芯片提供27 MHz的主频;CVBS为模拟CVBS信号输出,C为模拟色度信号输出,Y为模拟亮度输出。SAA7121通过设置内部寄存器,对其进行初始化。SAA7121的芯片结构图如图3所示。
2 系统软件实现
通过在FPGA开发平台上,使用QuartusⅡ9.0对系统进行硬件语言编程。本系统主要由SAA7113H解码芯片初始化模块、SAA7121编码芯片初始化模块、FPGA视频图像采集与显示模块组成。
2.1 SAA7113H初始化模块
SAA7113H的初始化模块主要分为I2C控制核模块,I2C命令模块,ROM模块。I2C控制核心模块完成数据的并/串转换以及将命令转换位为I2C总线的SCL/SDA信号线的启动、停止、写、应答等具体操作的时序关系;I2C命令模块则是通过状态机(FSM)的方式进行I2C接口间状态的转换以及从ROM模块中将配置好的数据输出给I2C控制核模块,ROM模块存储的是配置好的SAA7113H的数据。当启动I2C开始配置时,从ROM中读取配置的内容送出即可。
2.2 SAA7121初始化模块
SAA7121编码芯片的初始化和SAA7113H有些类似,都是通过I2C总线来控制芯片内部寄存器实现初始化的目的。SAA7113H解码芯片中的I2C控制模块分为核心模块和命令模块,而SAA7121编码芯片则只包含一个I2C模块。
在SAA7121的寄存器配置模块中,首先,上电复位,确保SDA,SCL为高电平,随后将SDA从高电平拉到低电平,发出I2C总线起始信号,开始I2C总线操作。接着向I2C总线写芯片的从地址,SAA7121芯片地址也与输入引脚SA电平及读写操作有关。SAA7121芯片的输入引脚SA是接地的,因此芯片地址为SA低电平时的地址。在写入芯片地址后,再读应答,并确认有应答时,再写寄存器的子地址。同样在确认有应答时,再写入寄存器数据通过循环将要配置寄存器的所有数据依次写入到I2C总线上。最后,在全部数据写完后,发出I2C总线中止信号。
2.3 FPGA图像采集与显示模块
系统中最核心的地方就是图像的采集与显示,包括FPGA采集与存储模块,FPGA显示模块两块内容。视频图像采集模块的主要作用是接收来自CCD摄像头的模拟信号,经视频输入处理芯片SAA7113H,输出ITU656 4:2:2格式的数字图像。完成视频信号从模拟信号到数字信号的转换,最终提供后端可以处理的数字视频数据,存储到SDRAM中。
3 功能实现与测试
系统连接图如图4所示。通过对系统进行编程,完成系统的软件设计,按照FPGA的设计流程完整的测试了系统的可行性,包括:系统的输入输出环路测试(能否实时的显示图像),系统的按键调控亮度测试(解码芯片功能)。测试图如图5所示。
4 结语
结合国内实时图像采集处理系统的现状,本设计在硬件上采用FPGA作为核心运算器来实现图像的采集、存储和显示;在硬件实现上使用FPGA硬件描述语言Verilog对系统各个功能模块进行设计。采用FPGA可编程逻辑设计技术实现视频图像采集与显示系统不仅拥有极大的灵活性,可编程性,而且也加快了图像采集与显示的速度。由于本文设计的系统中未涉及到复杂的算法,而是用专用的编码芯片代替了,所以在本文中,图像的算法未能加入到系统中。下一步的工作就是学习将高端FPGA芯片运用到图像处理技术当中去,结合网络技术,研究更新的视频图像采集与显示技术。
fpga相关文章:fpga是什么
晶振相关文章:晶振原理 数字滤波器相关文章:数字滤波器原理
评论