用FPGA内部集成的DSP实现图像处理的实例分析
intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司nightvista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个assp和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处:
达到了目标所要求的性能
在单个fpga中集成了分立的元件和数字信号处理(dsp target=_blank>dsp)功能
功耗降低了近80%
将五块元件板缩减到一块,显著降低了成本
缩短了开发时间
图1 intevac nightvista摄像机中cyclone系列fpga功能框图
dsp基于处理器的实现方法
nightvista电子系统的部分功能包括:
摄像机上电测试和初始化
视频传感校准和表征
图像增强管理的自动增益控制
图形、文本和水印屏显示功能
实时自适应对比度调整
gamma校正、视频停帧捕获,并存储至闪存
实时时钟
用户定义的可编程预置配置
通过rs-232与主机pc进行通信
摄像机功能和参数远程更新,摄像机至主机pc视频数据传送
intevac开发nightvista电子产品的最初方法是采用数字信号处理器。除了处理器之外,还需要其他几个主要部件,包括ntsc视频编码器、一个rs-232接口、多个锁相环(pll)、实现各种逻辑功能的cpld,以及几个存储器(fifo、sdram和闪存)。此外,这些部件需要四个不同的工作电压(需要四个电源稳压器和不同的pcb板层),四个独立的时钟系统,以及各自的振荡器和电源去耦电路。总体上,这些部件占用了五块pcb,每一块电路板大约两平方英寸,堆叠在该摄像机两英寸见方的外壳中。
硬件开发了几个月之后,大家清楚的认识到该解决方案难以达到intevac为nightvista设定的性能目标,重量和功耗令人难以接受。而且,由于高密度堆叠的pcb功耗很大,带来了明显的热管理问题。intevac决定中断基于数字信号处理器的设计,转而采用基于fpga的混合逻辑和软核微处理器方案。intevac并没有使用集成微处理器可编程逻辑的经验,但是一个使用altera演示板的评估方案很有吸引力,其最新的低成本fpga能够将一个完整的32位risc处理器和存储器模块、pll以及大量的逻辑资源集成到一起,实现专用视频信号处理功能。在fpga中集成pll可以解决与电路板级多时钟系统相关的大量问题。
工程师团队考虑了多种因素,包括:
多种fpga系列的性能和特性
提供知识产权(ip)内核
多个供应商的器件集成技术和业务能力
提供成熟的硬件和软件开发工具
供应商支持资源的可靠性
分析了以上因素后,公司决定购买在altera cyclone fpga中实现altera nios处理器的解决方案。fpga的功能如图1所示。
设计转换
决定使用altera的解决方案后,intevac必须确定现有的dsp软件在多大程度上能够导入到nios处理器中。公司已经投入了18个月的人工付出进行前面的数字信号处理器软件开发,团队现在面临的问题是将图像数据通过处理器传送至输出,并没有进行视频处理。fpga摄像机中的nios处理器具有不同的特性,只能通过rs-232串行通信协议与主机pc和视频传感器进行通信。幸运的是,nios处理器的软件开发直观明了,通过使用nios开发板,intevac在几个小时之内便建立了处理器和主机pc之间的通信。
新的fpga电路板在一个月内完成,在这段时期内,intevac继续采用nios处理器开发板编写、调试软件代码。intevac最初计划采用数字信号处理器的实时操作系统(rtos)来管理复杂的视频处理算法时序。由于nios处理器并不包括现成的rtos,软件小组并不能确定是否能够达到所有的时序要求。与硬件小组讨论后,软件小组很快发现nios处理器的配置功能可以很好的控制信号时序,一般只需要对fpga设计稍做改动便能够达到目标时序要求。同一fpga环境下硬件和固件处理具有高度集成特性,能够迅速简单的实现最佳控制和视频处理任务。
fpga方案实现了定制化,提升了性能。进一步的深入研究后,intevac开始开发定制功能和外设,以贴近自己的需求。一旦在软件中碰到瓶颈,硬件小组便开发一个处理器来提高性能,一般在一个小时内就可以做到这一点。硬件小组设计了一个定制视频编码器、用于缓冲视频数据的fifo模块,以及专用dma控制器为编码器提供稳定的视频数据流,避免了使用外部编码器和fifo缓冲。此外,构建了一个定制sdram控制器,使所有的视频、属性、nios处理器命令读取和数据存储都可以使用同一存储器,从而提高了性能。某些功能需要自己的时钟,因此,采用了fpga的板上pll,从一个主时钟中产生三个不同的时钟:第一个用于视频编码器,第二个用于sdram时序,第三个用于外部象素传感器。
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- 基于PCI总线和DSP芯片的图像处理平台的硬件设计(07-06)
- 超级图像编解码技术(Scalado)(01-01)
- 基于FPGA的多DSP红外实时图像处理系统(01-21)
- 一种新型的多DSP红外实时图像处理系统设计(02-03)
- 基于DSP数字信号处理器的墙体裂缝测图像的处理(03-02)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...