FPGA的DSP功能提高图像处理的实现

时间:2011-09-05
 
  Intevac公司成立于1991年,短短十几年已迅速成长为企业,在磁存储设备和弱光照像系统研发与制造中已成为业内领跑者。Intevac 开发的光电传感器及图像系统无论在可见光还是进红外光谱范围内都保证高光子探测度,甚至于极弱光的情况下仍然可以保证清晰成像。Intevac 成像技术在传感器,野视系统及远距离目标确认等方面均有不凡的表现,产品广泛用于军事,商业及自然科学领域中。本文介绍该公司nightvista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机初采用了流行的数字信号处理器、几个assp和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处:
 
  达到了目标所要求的性能
 
  在单个fpga中集成了分立的元件和数字信号处理(dsp)功能
 
  功耗降低了近80%
 
  将五块元件板缩减到一块,显着降低了成本
 
  缩短了开发时间

 

intevac nightvista摄像机中cyclone系列fpga功能框图

图1  intevac nightvista摄像机中cyclone系列fpga功能框图

 

  数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是值得称道的两大特色。

  dsp基于处理器的实现方法

  nightvista电子系统的部分功能包括:

  摄像机上电测试和初始化

  视频传感校准和表征

  图像增强管理的自动增益控制

  图形、文本和水印屏显示功能

  实时自适应对比度调整

  gamma校正、视频停帧捕获,并存储至闪存

  实时时钟

  用户定义的可编程预置配置

  通过rs-232与主机pc进行通信

  摄像机功能和参数远

  程更新,摄像机至主机pc视频数据传送

  intevac开发nightvista电子产品的初方法是采用数字信号处理器。此外,这些部件需要四个不同的工作电压(需要四个电源稳压器和不同的pcb板层),四个独立的时钟系统,以及各自的振荡器和电源去耦电路。总体上,这些部件占用了五块pcb,每一块电路板大约两平方英寸,堆叠在该摄像机两英寸见方的外壳中。

  硬件开发了几个月之后,大家清楚的认识到该解决方案难以达到intevac为nightvista设定的性能目标,重量和功耗令人难以接受。而且,由于高密度堆叠的pcb功耗很大,带来了明显的热管理问题。intevac决定中断基于数字信号处理器的设计,转而采用基于fpga的混合逻辑和软核微处理器方案。intevac并没有使用集成微处理器可编程逻辑的经验,但是一个使用altera演示板的评估方案很有吸引力,其的低成本fpga能够将一个完整的32位risc处理器和存储器模块、pll以及大量的逻辑资源集成到一起,实现专用视频信号处理功能。在fpga中集成pll可以解决与电路板级多时钟系统相关的大量问题。

  工程师团队考虑了多种因素,包括:

  多种fpga系列的性能和特性

  提供知识产权(ip)内核

  多个供应商的器件集成技术和业务能力

  提供成熟的硬件和软件开发工具

  供应商支持资源的可靠性

  分析了以上因素后,公司决定购买在altera cyclone fpga中实现altera nios处理器的解决方案。fpga的功能如图1所示。

  设计转换

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  决定使用altera的解决方案后,intevac必须确定现有的dsp软件在多大程度上能够导入到nios处理器中。公司已经投入了18个月的人工付出进行前面的数字信号处理器软件开发,团队现在面临的问题是将图像数据通过处理器传送至输出,并没有进行视频处理。fpga摄像机中的nios处理器具有不同的特性,只能通过rs-232串行通信协议与主机pc和视频传感器进行通信。幸运的是,nios处理器的软件开发直观明了,通过使用nios开发板,intevac在几个小时之内便建立了处理器和主机pc之间的通信。

  新的fpga电路板在一个月内完成,在这段时期内,intevac继续采用nios处理器开发板编写、调试软件代码。intevac初计划采用数字信号处理器的实时操作系统来管理复杂的视频处理算法时序。由于nios处理器并不包括现成的rtos,软件小组并不能确定是否能够达到所有的时序要求。与硬件小组讨论后,软件小组很快发现nios处理器的配置功能可以很好的控制信号时序,一般只需要对fpga设计稍做改动便能够达到目标时序要求。同一fpga环境下硬件和固件处理具有高度集成特性,能够迅速简单的实现控制和视频处理任务。

  fpga方案实现了定制化,提升了性能。进一步的深入研究后,intevac开始开发定制功能和外设,以贴近自己的需求。一旦在软件中碰到瓶颈,硬件小组便开发一个处理器来提高性能,一般在一个小时内就可以做到这一点。硬件小组设计了一个定制视频编码器、用于缓冲视频数据的fifo模块,以及专用dma控制器为编码器提供稳定的视频数据流,避免了使用外部编码器和fifo缓冲。此外,构建了一个定制sdram控制器,使所有的视频、属性、nios处理器命令读取和数据存储都可以使用同一存储器,从而提高了性能。某些功能需要自己的时钟,因此,采用了fpga的板上pll,从一个主时钟中产生三个不同的时钟:个用于视频编码器,第二个用于sdram时序,第三个用于外部象素传感器。

  通过集成提高了性能

  在实现了以前所用外部器件的功能以后,intevac还增加了初dsp处理器无法实现的功能。加入了视频测试模式生成器来仿真摄像机的工作,使软件小组能够完成各种视频处理算法,使系统能够协调工作。加入的另一功能是统计生成器,用于分析视频数据的特性,以便进行图像增强和亮度处理。图像统计生成器需要的数学运算如果在软件中实现,那么速度很慢。intevac使用了fpga中的逻辑资源来实现该功能,设置完成后,将结果传送给处理器。

  电路板制好后,在几个小时内便完成了开发板软件代码传送、代码设置,并在新板上运行。后面的几个月中,intevac在进行硬件和软件开发的同时,进一步调试、优化了设计。虽然对处理器和fpga设计的其他部分进行了多次修改,但是,并没有影响电路板布板。,使用cyclone器件和nios软核处理器,将五块电路板缩减为一块。这种集成方式减轻了摄像机重量,所需支持电压由四个减少到两个,功耗降低了近80%。使用相同的pcb设置,intevac还能够高效的生产多种产品。

  采用altera无铅产品轻松达到rohs

  altera在业界提供的无铅产品范围广,1200多个产品具有无铅封装。altera作为环境无污染可编程逻辑解决方案的供应商,2002年以来已经发售了2千5百万片无铅产品。altera的无铅器件符合eu directive在有害物质使用限制(“rohs directive”)no.2002/95中所规定的浓度值,包括铅(pb)、汞、镉、六价铬、多溴化联苯(pbb)以及多溴化联二苯(pbde)等。

  结语

  设计简化后,intevac达到了自己的性能目标,极大的降低了元件和生产成本,提高了nightvista的质量和可靠性。在初的产品规范基础上,该解决方案还增加了更多的功能。intevac在fpga中留出了逻辑资源,这样,现场应用时,能够进一步对摄像机进行更新。这一解决方案帮助intevac研究并完善了速度更快、效率更高的设计开发流程,为今后的产品开发节省了大量的时间和资源。

 


  
上一篇:ucos-ii用于嵌入式智能视频监控系统中的设计
下一篇:地理信息系统的嵌入式开发技术研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料