|
|
|
技术文章
/ 专题特写 / 正文 |
| 使用可配置处理内核将 DSP集成到图像处理应用中 (图) |
|
作者:David Main Vladimir Adam Martin S. Won
日期:2004-5-1
来源:本网
|
| 字符大小:
【大】
【中】
【小】
|
Intevac是商用和军用光电子产品的主要开发者。本文阐述了为NightVista——一种紧凑的高性能超低亮度照相机开发嵌入电子系统的经历。该照相机最初的开发采用了流行的DSP处理、几块ASSP和外部存储器件的模式。可编程逻辑所具备的可配置处理器内核让开发团队另辟蹊径,它将这些分立部件和DSP功能集成到单个FPGA中,从而缩短了开发时间,降低了成本,减小了尺寸并降低了功耗。 NightVista电子系统的部分功能包括:测试和初始化相机电源、视频传感器校准、图像聚焦管理的自动增益控制、图像/文本和水印的屏幕显示、实时自适应对比度调整、Gamma修正、视频帧捕获和存储至Flash、实时时钟、可编程用户预设配置,通过RS232和主机通信,远程更新相机功能和参数已经把相机的视频数据传送给PC。 Invetac最初开发NightVista电子产品的方式是基于DSP处理器。除了DSP处理器之外,还需要其他几个主要部件包括NTSC视频编码器、RS232解扩、多个锁相环(PLL)、杂散逻辑的CPLD和几个存储器(FIFO、SDRAM和Flash)。另外,这些部件需要四种不同的工作电源(需要四个稳压器和PCB布局空间)及4个独立的时钟系统和相关的晶振和电源去耦电路。所有这些部件占用了4个PC板,将近2平方英寸,叠放在2英寸的相机盒里。 硬件开发几个月后,包括一次重新制版,显然这种方案无法达到Intevac对NightVista设定的性能目标,它的重量太重,功耗太大,同时也暴露出严重的温度控制问题,因为高密堆叠PCB配置会导致很大的功耗,因此,他们需要采用另外的解决方案和技术。Intevac决定放弃基于DSP的设计,转向基于现场可编程逻辑阵列(FPGA)的混合博动式逻辑和软核微处理器实现方案。Intevac并没有在可编程逻辑中集成微处理器的经验,但是他们对演示包的评估觉得很有希望,因为最新的低成本FPGA完全能够集成32位RISC处理器、存储器、锁相环以及大量实现视频专用信号处理功能的逻辑。PLL集成到FPGA中能够解决许多板级多时钟系统的问题。分析了竞争的FPGA部件功能和性能、IP可用性,集成多厂商部件的技术和商务问题,以及验证的硬件和软件开发工具及厂商支持的信誉度,他们选用了在Cyclone FPGA上实现Altera Nios处理器的方案。 在做出这个决定之后,Intevac已经确定现有多少DSP软件能够导入到Nios处理器中。经过18个人月的努力,先前的DSP方案能够将图像数据经过处理器传送到输出,但没有视频处理。基于FPGA的相机设计中Nios处理器的作用有很大的变化,只有和主机通信的RS232串行通信协议和可重用的摄像头配置协议。所幸的是,新型处理器的软件开发非常直接和方便,在数小时内,Intevac用Nios开发板建立了处理器和主机直接的通信。 在新的基于FPGA设计电路板完成前的一个月时间内,Intevac继续用Nios处理器开发板设计和验证代码。在使用DSP处理器时,Intevac曾使用过已有的实时操作系统(RTOS)来管理复杂的视频处理器算法的复杂时序。新的处理器并没有现成的RTOS,软件组遇到许多这种情况,如果软件不能满足他们的时序要求,就无法工作。在和硬件组商议之后,他们很快就发现这款新的处理器的可配置特性允许高度控制信号的时序,通常仅对FPGA设计做微小的修改就可以满足时序要求。同一FPGA环境中硬件和固件处理的高度集成性能够快速和方便地优化控制和视频处理作业。 对这些可能性的进一步探究使Intevac开发出满足准确需求的专用功能和外设。硬件和软件组经常在白板上讨论FPGA和处理器之间的划分。如果软件上有瓶颈,硬件组开发一个协处理器加快工作是很容易的事情,他们往往在一个小时内就完成了。硬件组设计了专用视频编码器、缓冲视频数据的FIFO和保持编码器稳定视频数据流的特殊DMA控制器,这样就无需外部编码器和FIFO。他们还构建了专用的SDRAM控制器,改善了共享同一存储器件所有视频、属性和Nios处理器指令提取和数据存储的性能。其中一些功能需要自己的时钟,因此FPGA的板上PLL可从主时钟生成三种不同的时钟:一个用于视频编码器,另一个作为SDRAM的时序控制,第三个作为外部传感器。 除了实现了以往需要外部器件的功能之外,Intevac还增加了比DSP处理器更优的功能。视频测试图案生成器用于仿真相机操作,这样软件组就能够关注视频的各种算法而不是系统的调校。另一个是统计生成器,它用来分析视频数据的特性,对图像增强进行改进。图像统计生成器需要一些算术运算,如果用软件实现速度太慢,所以Intevac使用FPGA中的逻辑资源来构建它,然后将结果传送给处理器。 当收到制成的电路板后,花几小时转换开发板的代码,并在新板上运行。接下来的几个星期,软件和硬件部继续并行工作,Intervac进一步优化和调试他们的设计。虽然处理器和其他FPGA设计修改了许多次,但没有影响板子设计。最后,用Cyclone器件和软核处理器实现可编程单芯片系统把五块板的部件减少到单块板。这种集成使得相机变得更轻巧,将所需的电压从4个减少到2个,将功耗降低了近80%。它也让Intevac高效地用同样的PCB板生产出多种产品。 另外,设计的简化大大地减少了部件和制造成本,提高了NightVista的质量和可靠性。这种解决方案也在最初的产品规范上增加了许多功能,通过预留的FPGA资源,Intevac就有机会在现场开发下一代产品。最后,这个方案让Intervac探索和提炼出更快和更有效的设计开发流程,它为将来的产品开发节省了大量时间和资源。
|
|
|
 |