微波EDA网,见证研发工程师的成长! 2025婵犵數濮撮惀澶愬级鎼存挸浜炬俊銈勭劍閸欏繘鏌i幋锝嗩棄缁炬儳娼¢弻鐔告綇閸撗呮殸缂備胶濯崹鍫曞蓟閵娾晜鍋嗛柛灞剧☉椤忥拷04闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晜閽樺缃曢梻浣虹帛閸旀洟骞栭銈囦笉妞ゆ牜鍋為悡銉╂煟閺囩偛鈧湱鈧熬鎷�10闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晝閳ь剛绮eΔ浣虹闁瑰瓨鐟ラ悘鈺冪磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸屾矮澹曞┑顔结缚閸樠冣枍瀹ュ洠鍋撶憴鍕;闁告濞婇悰顕€宕堕澶嬫櫌婵犵數濮撮幊澶愬磻閹捐閿ゆ俊銈勮兌閸欏棝姊虹紒妯荤闁稿﹤婀遍埀顒佺啲閹凤拷闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇炲€哥粻鏍煕椤愶絾绀€缁炬儳鐏濋埞鎴︽偐鐎圭姴顥濈紓浣哄閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟�
首页 > 应用设计 > 消费类电子 > 采用FPGA集成DSP功能 提高成像应用的性能

采用FPGA集成DSP功能 提高成像应用的性能

时间:09-02 来源:互联网 点击:
Intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司NightVista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个ASSP和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处: 达到了目标所要求的性能  在单个FPGA中集成了分立的元件和数字信号处理(DSP)功能功耗降低了近80%  将五块元件板缩减到一块,显著降低了成本 缩短了开发时间。

闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸崹楣冨箛娴e湱绋佺紓鍌氬€烽悞锕佹懌闂佸憡鐟ョ换姗€寮婚悢纰辨晬闁挎繂娲eЧ妤呮偡濠婂懎顣奸悽顖涘浮閹瑦绻濋崶銊у帾婵犵數鍊埀顒勫磻閹剧粯鐓涢悗锝庡亞婢у灚鎱ㄦ繝鍛仩闁圭懓瀚版俊鎼佸Ψ閿旀儳缍掗梻鍌欒兌閹虫捇宕甸弽顓炵闁跨噦鎷�...

图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时序,第三个用于外部象素传感器。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top