基于NiosII的视频采集与DVI成像研究及实现

发布者:AngelicWhisper最新更新时间:2010-05-31 来源: 蔡欣荣,许泰峰,奚冠巍关键字:FPGA  NiosII  DVI  图像采集 手机看文章 扫描二维码
随时随地手机看文章

  摘  要: 采用FPGA作为视频采集控制和图像处理芯片,配置NiosII软核,在FPGA片内完成图像处理和图像显示控制,简化了硬件电路和软件程序的设计。在FPGA片内编写视频采集时序,并配置NiosII控制软核,模拟视频数据经视频解码芯片输出ITU-RBT.656格式数据送入FPGA,通过时序控制和NiosII软核把视频解码数据依序存储在SSRAM中,并进行裁剪、交织、颜色处理。

  视频采集是进行图像及图形处理的第一步,目前视频采集系统一般由FPGA和DSP组成,FPGA作为视频采集控制芯片,DSP作为图像处理与成像控制芯片[1]。随着FPGA技术的发展,片内的逻辑单元越来越多,片内的DSP资源也越来越丰富,因此可直接在FPGA片内进行图像处理。目前Altera公司的FPGA支持NiosII[2]软核,通过Avalon设备总线挂接自定义模块,编写用户控制程序。本设计通过Avalon总线读取RGB像素值进行像素处理,通过I2C总线初始化视频解码芯片和DVI视频编码芯片。NiosII是一种可配置片内外设的软核CPU,采用RISC精简指令系统,流水线处理技术,用户可自定义Avalon总线外设构成SoC系统,支持32 bit存储宽度,支持DDR2、SSRAM存储器。结合项目,采用TVP5146[3]视频解码芯片,FPGA采集解码数据并进行隔行转逐行、像素裁剪处理、像素YCrCb转RGB、RGB转灰度等处理后,采用NiosII软核配置Avalon总线DVI接口从设备外设,把储存在SSRAM中的视频数据依次送入DVI编码芯片SiI178[4],带有DVI接口的监视器接收解码并显示采集的视频数据。

  1 视频采集与DVI成像系统的组成

  视频采集与DVI成像硬件构成如图1所示。该系统由视频解码芯片、FPGA控制芯片、DVI接收编码芯片、SSRAM和Flash组成。硬件系统分为模拟视频信号解码、视频数据采集、图像处理和DVI编码显示3大部分。

  模拟视频信号解码由TVP5146芯片组成,该部分主要完成PAL-D制式模拟视频信号解码,输出符合ITU-RBT656[5]且内嵌同步字符4:2:2格式数据供FPGA采集。TVP5146支持NTSC、PAL、SCEAM、CVBS、S-video制式视频输入,具有RGB转换为YCbCr功能。

  视频数据采集部分由FPGA控制芯片、SSRAM、Flash、电源芯片、辅助外围电路组成。该部分以TVP5146输出像素时钟作为FPGA采集时钟采集解码后的数据,在系统时钟的控制下,交织乒乓存储于SSRAM芯片,并在帧信号控制下交换存储体。FPGA采用Altera公司CycloneII系列EP2C35F672[6]芯片,该芯片具有33 216个逻辑单元,内部RAM高达484 KB,支持NiosII嵌入式处理器,核心电压1.2 V,IO电压3.3 V,具有4个PLL输入,12个PLL输出。Altera的FPGA采用SRAM工艺,掉电就会丢失配置数据,所以外部需要挂接存储配置数据的部件。Altera公司FPGA一般都支持串行被动配置、串行主动配置、JTAG配置,通过跳线选择配置方式,JTAG配置在调试时很方便。串行主动配置一般需要Altera公司的专用配置芯片,在系统上电后主动配置芯片。FPGA配置完成后,NiosII从Flash中读取程序,完成相应的功能。TVP5146采用I2C口配置其工作方式,配置的数据亦存储在Flash芯片中。SSRAM采用CY7C1380D,32 bit数据位宽,2 MB存储空间,3.3 V供电,提供高性能3-1-1-1访问时钟周期速率,最高频率达250 MHz。

  图像处理在FPGA片内实现,进行YCbCr转RGB、RGB转灰度、线性插值等处理,DVI编码显示在DVI接收芯片Si178片内完成,在系统时钟的控制下,依照DVI显示时序,控制行、场同步信号,依次把RGB像素送入编码芯片,完成图像数据的编码和传输。Si178具有25~165 M点像素每秒,24 bit模式,I2C编程接口,支持热插拔,兼容DVI1.0标准,3.3 V供电。[page]

  2 模拟视频信号解码

  视频解码格式有ITU-RBT.601标准格式和ITU-RBT.656标准格式。ITU-RBT.601标准需要行、场同步信号线,ITU-RBT.656标准无需同步信号线。ITU-RBT.656标准采用8 bit传输格式,亮度信号Y和色度信号Cb/Cr交替传输。本设计采用ITU-RBT.656标准。我国电视制式为PAL-D,一帧电视图像有625行,每行可视像素为720个,因为有行消隐和场消隐,实际可视像素面为720×576,电视图像传输采用奇偶场交替传输,所以通常奇偶场各传输288行。图2是行同步4:2:2输出时序图。

  PAL-D制式一行可视像素有720个,因为采用ITU-RBT.656标准,每2个DATACLK时钟才输出一个像素,所以,一行可视像素需要1 440个DATACLK时钟。一行像素输出完毕后紧接4个行结束标志,然后进入行消隐阶段,行消隐阶段结束后,4个字符的开始标志表明一行的开始,从4个结束标志到4个开始标志,共有288个DATACLK时钟。这288个DATACLK期间的数据不用于显示,用于同步和消隐,所以对于PAL-D制式,采用ITU-RBT.656标准传输一行视频需要1 728个DATACLK时钟[7]。

  EAV和SAV分别表示一行有效视频的结束和开始,EAV/SAV序列由FF-00-00-XX表示,其中XX是状态字,表1为EAV/SAV序列字段位表。

  F场标志:F=0是偶场,F=1是奇场;V视频有无效标志:V=0为有效视频数据,V=1为无效视频数据;H有效视频结束起始标志:H=0是SAV,H=1是EAV。

  从624行~22行和311行~335行为无效视频行,此时V=1;从23行~310行和336行~623行为有效视频行,此时V=0。从1行~312行为偶场,此时F=0;从313行~625行为奇场,此时F=1。

  配置TVP5146使其正确初始化。设置正常工作模式,视频选择输入口,色度和亮度AGC自动增益,视频输入为PAL-D制式625行,解码输出格式为10 bit 4:2:2(2倍像素时钟速率)内嵌同步字符,实际10 bit输出时最低2 bit可丢弃。设置亮度信号范围为16~235,色度信号范围为16~240。配置NiosII软核,设置CPU类型为经济型32 bit,CPU时钟频率为100 MHz,复位向量起始地址为Flash,异常向量起始地址为On-chip-ram,设置PIO线模拟I2C协议,用于配置TVP5146,配置Avalon-MM三态桥用于挂接Flash,配置On-chip-ram为32 KB[8],添加一个Avalon从设备。该从设备为用户自定义接口,NiosII软核可以通过该从设备口实时访问转换后的RGB像素,进行图像处理。[page]

  3 视频图像数据采集

  视频解码芯片输出内嵌同步字符8 bit视频数据,参照解码芯片输出DATACLK时钟,FPGA采集视频解码数据。FPGA采集之前先要进行图像裁剪、交织处理。裁剪处理是为了产生640×480的像素面,交织处理即变隔行视频数据为逐行视频输出,即两场图像交叉嵌入一个存储体中,形成一帧。当一帧存储完毕后,切换存储体,而先前的存储体内容参照系统时钟,依次像素处理送DVI编码芯片进行显示。

  3.1 视频信号采集控制

  视频输出信号为内嵌同步字符8 bit Y:Cb:Cr=4:2:2输出,本设计中视频信号采集采用状态机控制法。视频信号采集控制状态机表示如图3所示。

  Idel:默认空闲状态。如果视频采集标志capture置位,则进入Wait State状态;如果capture不置位,则停留在Idel状态。

  Wait State:此时如果收到数据0xff,则进入State1,其他情况仍然循环停留。

  State1:如果此时收到数据0x00,则进入State2;收到其他数据则进入Error。

  State2:如果此时收到数据0x00,则进入New page状态,否则状态返回到Wait State。

  New page:此时视频处于消隐状态,如果收到的视频数据vpo[6:5]=01,则正在消隐,转入第一行数据接收状态First Line,否则跳回Wait State状态。

  First Line:如果收到vpo[6:4]=000,表明下一个数据即视频图像数据,否则返回到Wait State。

  Chroma blue:正确有效的数据,如果此时接收到vpo=0xff,则表明数据转入End Line,如果收到vpo=0x00,则转入Error状态。

  Luma blue:亮度蓝色数据,接收完转入Chroma red状态。

  Chroma red:色度红色数据,接收完转入Luma red状态。

  Luma red:亮度红色数据,接收完转入Chroma blue状态。

  End Line:如果vpo[6:4]=011,表示奇数场结束,偶数场将要开始,转入New line状态;如果vpo[6:4]=111,表示一帧数据结束,转入Idle状态;如果vpo[5:4]=01,表示一行结束,下一行将要开始,转入New line状态;否则进入Error状态。

  New Line:如果接收到的vpo[5:4]=00,表示有效数据接收,转入Chroma blue状态;否则转到End Line状态。

  Error:错误状态,ITU-RBT656规定Y=[16 235] CBCR=[16 240]范围内,越此范围就为错误状态。如果capture=1,跳转到Wait state状态,否则停留在Error状态。该系统具有自动错误恢复能力。[page]

  3.2 图像剪裁处理

  PAL-D制式视频在ITU-RBT.656标准下,输出像素面为720×576大小,而本设计中要求输出大小为640×480像素面,所以必须使得行720像素变为640个,采用每9个像素丢弃1个像素,因为Y/Cb/Cr是交替输出的,即Cb-Y-Cr-Y传输,每个像素都有亮度数据Y,但是色度Cr和Cb是交替的。如果第1个像素是Cb和Y数据,则第8个像素即为Cr和Y数据,第9个像素为Cb和Y数据,现在丢弃第9个像素数据,先把第10个素的Cr数据和第11个像素的Cb交换,这样就保持了Cb和Cr的交替。视频中采取每6行可视像素丢弃1行,对于576行可视像素,实际丢弃96行,即变为实际可显示480行。

  3.3 图像交织与存储处理

  视频信号采集控制处理后产生行、场、帧、视频有效标志及每场视频行数、每行像素点数。本设计利用这些信号组合作为存储地址控制字写入SSRAM,每2个DATACLK为1个像素数据,4个DATACLK为2个像素数据32 bit,FPGA控制每4个DATACLK写入一次32 bit数据。

  每场视频可视行为288行,占用2进制位9 bit,奇偶场标志1 bit,每行像素有640个,存入SSRAM时按照每2个像素写入一次,故每行像素为360个写入次,设计为9 bit,总共为19 bit,正好占用完19 bit地址线。

  奇偶场标志就是上述EAV/SAV状态字中的F,电视视频中,首先传输的是偶数场,此时A9=0;其次传输的是奇数场,此时A9=1。帧控制位frame定义为1 bit,当完成一帧的传输后就使frame<=frame+1,这样帧控制位就是0-1-0-1-0-1序列,完成一帧传输就翻转一次。帧控制位用来切换存储体,当帧控制位切换在第一片SSRAM上时,偶数场先存入到SSRAM中,然后奇数场数据嵌入到SSRAM中。

  4 图像处理和DVI编码显示

  视频采集的图像已经交替存入SSRAM中,当一帧存储完毕,该存储体就可以进行处理上传。图像处理包括Y/Cb/Cr 4:2:2格式转化为Y/Cb/Cr 4:4:4,Y/Cb/Cr转化为RGB格式,可实时RGB像素处理,像素处理后按照行、场同步信号依次送入DVI芯片。

  4.1 YCrCb转RGB处理

  首先处理的是Y/Cb/Cr 4:2:2格式转化为Y/Cb/Cr 4:4:4格式,就是对每个像素扩展其色度数据,使得每个像素为24 bit。其中8 bit为亮度数据,8 bit为Cr数据,8 bit为Cb数据。

  由YCrCb数据转换为RGB数据可按照下式:

  R=1.164×(Y-16)+1.596×(Cr-128)

  G=1.164×(Y-16)-0.813×(Cr-128)-0.392×(Cb-128)(1)

  B=1.164×(Y-16)+2.017×(Cb-128)

  实际上FPGA片内不能进行小数运算,因此把需要运算的数左移9 bit,且运用FPGA片内的乘法器宏单元完成。则式(1)变为式(2):

  R=596×Y+817×Cr-114 131

  G=596×Y-416×Cr-200×Cb+69 370(2)

  B=596×Y+1 033×Cb-141 787

  这样得到的RGB信号只需要右移9 bit就可以得到正确的8 bit数据位宽度的RGB信号,对RGB像素的处理受NiosII核控制,挂接在NiosII核上的Avalon从设备有3 bit控制信号,其值从0~7,分别对应灰度处理、像素水平线性放大插值处理、水平缩小处理、原三彩色输出和无定义。

  若进行灰度处理,则按照下式计算:

  Y=0.299×R+0.587×G+0.114×B(3)

  在计算时也需要先左移9 bit,采用3路乘法MULT_

  ADD宏单元计算,计算结果右移9 bit。如果进行水平像素放大,则采取线性插值法,其他图像处理按照相应算法进行。[page]

  4.2 视频数据输出和DVI配置

  DVI输出刷新频率为75 Hz,输出屏幕像素为640×480,查VGA时序表得到在640×480@75 Hz时,水平像素总共为840,垂直像素总共为500,行频为37.5 kHz,点时钟频率为31.5 MHz,这个频率由FPGA片内PLL倍频得到。配置DVI芯片引脚,设置IDCK+为像素时钟31.5 MHz,IDCK-接地,DE表示有效像素数据使能,其值在有效行和有效列内为高电平,否则为低电平。行、场同步信号由在FPGA片内编写的DVI模块产生时序控制。通过I2C口配置SiI178芯片,设置其为正常工作方式,VSYNC、HSYNC为正常输入状态,输入总线为24 bit宽,IDCK+下降沿将数据打入DVI编码芯片。

  系统采用FPGA为主控芯片,通过一片FPGA完成视频解码数据的采集和图像处理,并在FPGA片内配置NiosII软核,作为初始化TVP5146和SiI178使用,在图像处理模块中挂接Avalon从设备,YCbCr转换为RGB后可以通过NiosII处理器编写C算法处理或者通过NiosII的标志信号进行处理,处理结果直接送DVI编码器。采用乒乓交织算法,保证了图像不闪烁和无锯齿现象。

  参考文献

  [1] 钱建良.DSP+FPGA嵌入式多路视频监控系统硬件平台 [J].电子产品世界,2007(11).

  [2] Altera.Nios II Hardware Development Tutorial[DB/OL]. www.altera.com,2004.

  [3] TI.TVP5146 Datasheet[DB/OL].www.ti.com,2007.

  [4] Silicon Image.SiI178 Datasheet[DB/OL].www.siliconimage.com,2004.

  [5] The ITU Radiocommunication Assembly.Recommendation  ITU-R BT.656-4[DB/OL].www.itu.com,1998.

  [6] Altera.EP2C35F672 Datasheet.www.altera.com,2004.

  [7] 刘韬,楼兴华.FPGA数字电子系统设计与开发实例导航[M].北京:人民邮电出版社,2005.

  [8] 王建校,危建国.SOPC设计基础与实践[M].西安:西安电子科技大学出版社,2006.

关键字:FPGA  NiosII  DVI  图像采集 引用地址:基于NiosII的视频采集与DVI成像研究及实现

上一篇:2009~2010年度TI DSP大赛决赛在哈尔滨举行
下一篇:基于CycloneII和MSP430的网络数据加密实现

推荐阅读最新更新时间:2024-05-02 21:03

利用FPGA技术和液晶显示器实现的数字存储示波器的显示控制
1 引言 由于液晶显示器(LCD)功耗低,体积小,超薄,重量轻,而且车身没有画面几何图形的失真及收敛性误差,也就投有了传统显示器中心和边角出现色差和失真的问题,因而得到广泛的运用。现场可编程门阵列(FP—GA)芯片具有高密度、小型化、低功耗和设计灵括方便等优点,可以缩短研发周期,提高工作效率,因而在数字电路设计中得到了广泛的应用。作为人机交互的LCD在数字存储示波器中有着重要的位置。在以往的设计中多采用液晶显示专用芯片去驱动LCD.宴践中发现它不但占用CPU资源,而且它与LCD数据接口之间存在干扰。为了解决这些问题.本文提出了.一种新的显示技术。 2 总体设计方案 由于数字存储示渡器对显示的实时性和刷新率都要求较高,而且它显示
[测试测量]
利用<font color='red'>FPGA</font>技术和液晶显示器实现的数字存储示波器的显示控制
FPGA+DSP的高速通信接口设计与实现
摘要:在雷达信号处理、数字图像处理等领域中,信号处理的实时性至关重要。由于FPGA芯片在大数据量的底层算法处理上的优势及DSP芯片在复杂算法处理上的优势,DSP+FPGA的实时信号处理系统的应用越来越广泛。ADI公司的TigerSHARC系列DSP芯片浮点处理性能优越,DSP的DSP+FPGA处理系统正广泛应用于复杂的信号处理领域。同时在这类实时处理系统中,FPGA与DSP芯片之间数据的实时通信至关重要。   TigerSHARC系列DSP芯片与外部进行数据通信主要有两种方式:总线方式和链路口方式。链路口方式更适合于FPGA与DSP之间的实时通信。随着实时信号处理运算量的日益增加,多DSP并行处理的方式被普遍采用,它们共享总线以
[模拟电子]
<font color='red'>FPGA</font>+DSP的高速通信接口设计与实现
基于FPGA的线性卷积的实时实现
  在数字信号处理领域,离散时间系统的输出响应,可以直接由输入信号与系统单位冲激响应的离散卷积得到。离散卷积在电子通信领域应用广泛,是工程应用的基础。如何快速有效地计算出离散序列的卷积,一直是工程人员所关心的问题。如果直接在时域进行卷积,卷积过程中所必须的大量乘法和加法运算,一定程度地限制了数据处理的实时性,不能满足时效性强的工程应用。本文从实际工程应用出发,使用快速傅里叶变换(FFT)技术,探讨卷积的高速硬件实现方法。    1 卷积算法的原理   设线性时不变系统的冲激响应为h(n),则冲激响应和输入δ(n)之间有关系   假设该系统的输入为x(n),输出为y(n),则根据线性时不变系统的定义,有   根据式(
[嵌入式]
基于<font color='red'>FPGA</font>的线性卷积的实时实现
技术评论 FPGA加速器支撑ChatGPT类大语言模型创新
探索FPGA加速语言模型如何通过更快的推理、更低的延迟和更好的语言理解来重塑生成式人工智能 简介:大语言模型 近年来,大型语言模型(Large Language Models,LLM)彻底改变了自然语言处理领域,使机器能够生成类似人类的文本并进行有意义的对话。这些模型,例如OpenAI的GPT,拥有惊人的语言理解和生成能力。它们可以被用于广泛的自然语言处理任务,包括文本生成、翻译、自动摘要、情绪分析等。 大语言模型通常是基于深度学习技术来构建,特别是广泛使用了transformer架构。 Transformer是一类神经网络模型,擅长捕捉语言序列中的远关联关系,这使得它们非常适合于语言理解和生成任务。训练一种大语言模
[嵌入式]
技术评论  <font color='red'>FPGA</font>加速器支撑ChatGPT类大语言模型创新
基于FPGA的数字式光端机的研究与设计
  目前在高速公路、交通、电子警察、监控、安防、工业自动化、电力、海关、水利、银行等领域视频图像、音频、数据、以太网、电话等光端机开始普遍大量应用。   由于数字光端机具有传输信号质量高,没有模拟调频、调相、调幅光端机多路信号同传时交调干扰严重、容易受环境干扰影响、传输质量低劣、长期工作稳定性差的缺点,因此许多大型重点工程已普遍采用数字光端机。    系统框架与工作原理   整个系统由核心控制模块FPGA、音频采样编解码模块、视频分离模块、视频放大模块、视频A/D和D/A转换模块、并串/串并转换模块、光纤调制收发模块、电源控制模块和485数据传输模块。图1是该系统的系统框图。      图1 系统结构框图   系统
[安防电子]
浅析DSP与FPGA两大市场的发展和关系
  随着模拟IC市场中众多垂直细分行业的飞速发展,传统DSP器件遭遇了各种替代性信号处理平台的竞争,FPGA即为典型代表。凭借高密度、低功耗和低成本的优势,FPGA不仅在通信、消费类、嵌入式等广泛领域中行使DSP的职能,并且已经快速渗透到诸多新兴应用领域之中。   尽管FPGA在某些应用领域中可以取代DSP,但是FPGA并不会彻底颠覆现有格局。来自全球领先的高性能信号处理解决方案供应商ADI公司DSP亚洲业务区域经理陆磊先生表示,未来FPGA与DSP更多是协同处理关系,由于双方的可编程,重用性和算法升级都有共通性,因此,使用DSP或FPGA都能实现更低功耗和更高性能。   ADI公司DSP亚洲业务区域经理陆磊先生认为,DSP与FP
[嵌入式]
FPGA设计开发中应用仿真技术解决故障的方法
  本文针对FPGA实际开发过程中,出现故障后定位困难、反复修改代码编译时间过长、上板后故障解决无法确认的问题,提出了一种采用仿真的方法来定位、解决故障并验证故障解决方案。可以大大的节约开发时间,提高开发效率。   FPGA近年来在越来越多的领域中应用,很多大通信系统(如通信基站等)都用其做核心数据的处理。但是过长的编译时间,在研发过程中使得解决故障的环节非常令人头痛。本文介绍的就是一种用仿真方法解决故障从而减少研发过程中的编译次数,最终达到准确定位故障、缩短解决故障时间的目的。文例所用到的软件开发平台为Altera公司的Quartus II,仿真工具为ModelSim。    问题的提出   系统开发在上板调试过程中,有时
[嵌入式]
<font color='red'>FPGA</font>设计开发中应用仿真技术解决故障的方法
中科亿海微完成3亿元B轮融资,加速打造FPGA高端芯片
近日,中科亿海微电子科技(苏州)有限公司(以下简称:中科亿海微)如期完成总规模3亿元的B轮融资,本轮融资由苏州吴中区甪盛投资领投,山东同科晟华基金、诸瑞资本、恒邦资本、中赢资产跟投。本轮募集资金将主要用于公司14nm工艺亿门级高端FPGA芯片设计项目、特种集成电路产品测试线建设项目,。 据悉,中科亿海微成立于2017年,是中国科学院空天信息创新研究院所属高新技术企业,由中国科学院“可编程芯片与系统研究室”整体转制成立。公司坚持全正向设计技术路线,研制具有高可靠性的嵌入式可编程电路IP核、可编程逻辑芯片和EDA软件,实现可编程逻辑芯片软硬件的全面自主可控。 中科亿海微目前已形成龙珠、神针、神盾三大产品家族产品,同时为面向大数据、云
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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