采用FPGA集成DSP功能,提高成像應(yīng)用的性能
Intevac是商用和軍用市場光學(xué)產(chǎn)品的前沿開發(fā)商。本文介紹該公司NightVista嵌入式電子系統(tǒng)的開發(fā),該產(chǎn)品是高性能超低亮度緊湊型攝像機(jī)。該攝像機(jī)最初采用了流行的數(shù)字信號處理器、幾個ASSP和外部存儲器件。系統(tǒng)對性能的需求越來越高,工程師團(tuán)隊(duì)決定試驗(yàn)一種替代方案——在可編程邏輯中實(shí)現(xiàn)可配置軟核處理器。這一決定帶來了以下好處:
達(dá)到了目標(biāo)所要求的性能
在單個FPGA中集成了分立的元件和數(shù)字信號處理(DSP)功能
功耗降低了近80%
將五塊元件板縮減到一塊,顯著降低了成本
縮短了開發(fā)時間
圖1 Intevac NightVista攝像機(jī)中Cyclone系列FPGA功能框圖
DSP基于處理器的實(shí)現(xiàn)方法
NightVista電子系統(tǒng)的部分功能包括:
攝像機(jī)上電測試和初始化
視頻傳感校準(zhǔn)和表征
圖像增強(qiáng)管理的自動增益控制
圖形、文本和水印屏顯示功能
實(shí)時自適應(yīng)對比度調(diào)整
Gamma校正、視頻停幀捕獲,并存儲至閃存
實(shí)時時鐘
用戶定義的可編程預(yù)置配置
通過RS-232與主機(jī)PC進(jìn)行通信
攝像機(jī)功能和參數(shù)遠(yuǎn)程更新,攝像機(jī)至主機(jī)PC視頻數(shù)據(jù)傳送
Intevac開發(fā)NightVista電子產(chǎn)品的最初方法是采用數(shù)字信號處理器。除了處理器之外,還需要其他幾個主要部件,包括NTSC視頻編碼器、一個RS-232接口、多個鎖相環(huán)(PLL)、實(shí)現(xiàn)各種邏輯功能的CPLD,以及幾個存儲器(FIFO、SDRAM和閃存)。此外,這些部件需要四個不同的工作電壓(需要四個電源穩(wěn)壓器和不同的PCB板層),四個獨(dú)立的時鐘系統(tǒng),以及各自的振蕩器和電源去耦電路??傮w上,這些部件占用了五塊PCB,每一塊電路板大約兩平方英寸,堆疊在該攝像機(jī)兩英寸見方的外殼中。
硬件開發(fā)了幾個月之后,大家清楚的認(rèn)識到該解決方案難以達(dá)到Intevac為NightVista設(shè)定的性能目標(biāo),重量和功耗令人難以接受。而且,由于高密度堆疊的PCB功耗很大,帶來了明顯的熱管理問題。Intevac決定中斷基于數(shù)字信號處理器的設(shè)計,轉(zhuǎn)而采用基于FPGA的混合邏輯和軟核微處理器方案。Intevac并沒有使用集成微處理器可編程邏輯的經(jīng)驗(yàn),但是一個使用Altera演示板的評估方案很有吸引力,其最新的低成本FPGA能夠?qū)⒁粋€完整的32位RISC處理器和存儲器模塊、PLL以及大量的邏輯資源集成到一起,實(shí)現(xiàn)專用視頻信號處理功能。在FPGA中集成PLL可以解決與電路板級多時鐘系統(tǒng)相關(guān)的大量問題。
工程師團(tuán)隊(duì)考慮了多種因素,包括:
多種FPGA系列的性能和特性
提供知識產(chǎn)權(quán)(IP)內(nèi)核
多個供應(yīng)商的器件集成技術(shù)和業(yè)務(wù)能力
提供成熟的硬件和軟件開發(fā)工具
供應(yīng)商支持資源的可靠性
分析了以上因素后,公司決定購買在Altera Cyclone FPGA中實(shí)現(xiàn)Altera Nios處理器的解決方案。FPGA的功能如圖1所示。
設(shè)計轉(zhuǎn)換
決定使用Altera的解決方案后,Intevac必須確定現(xiàn)有的DSP軟件在多大程度上能夠?qū)氲絅ios處理器中。公司已經(jīng)投入了18個月的人工付出進(jìn)行前面的數(shù)字信號處理器軟件開發(fā),團(tuán)隊(duì)現(xiàn)在面臨的問題是將圖像數(shù)據(jù)通過處理器傳送至輸出,并沒有進(jìn)行視頻處理。FPGA攝像機(jī)中的Nios處理器具有不同的特性,只能通過RS-232串行通信協(xié)議與主機(jī)PC和視頻傳感器進(jìn)行通信。幸運(yùn)的是,Nios處理器的軟件開發(fā)直觀明了,通過使用Nios開發(fā)板,Intevac在幾個小時之內(nèi)便建立了處理器和主機(jī)PC之間的通信。
新的FPGA電路板在一個月內(nèi)完成,在這段時期內(nèi),Intevac繼續(xù)采用Nios處理器開發(fā)板編寫、調(diào)試軟件代碼。Intevac最初計劃采用數(shù)字信號處理器的實(shí)時操作系統(tǒng)(RTOS)來管理復(fù)雜的視頻處理算法時序。由于Nios處理器并不包括現(xiàn)成的RTOS,軟件小組并不能確定是否能夠達(dá)到所有的時序要求。與硬件小組討論后,軟件小組很快發(fā)現(xiàn)Nios處理器的配置功能可以很好的控制信號時序,一般只需要對FPGA設(shè)計稍做改動便能夠達(dá)到目標(biāo)時序要求。同一FPGA環(huán)境下硬件和固件處理具有高度集成特性,能夠迅速簡單的實(shí)現(xiàn)最佳控制和視頻處理任務(wù)。
FPGA方案實(shí)現(xiàn)了定制化,提升了性能
進(jìn)一步的深入研究后,Intevac開始開發(fā)定制功能和外設(shè),以貼近自己的需求。一旦在軟件中碰到瓶頸,硬件小組便開發(fā)一個處理器來提高性能,一般在一個小時內(nèi)就可以做到這一點(diǎn)。硬件小組設(shè)計了一個定制視頻編碼器、用于緩沖視頻數(shù)據(jù)的FIFO模塊,以及專用DMA控制器為編碼器提供穩(wěn)定的視頻數(shù)據(jù)流,避免了使用外部編碼器和FIFO緩沖。此外,構(gòu)建了一個定制SDRAM控制器,使所有的視頻、屬性、Nios處理器命令讀取和數(shù)據(jù)存儲都可以使用同一存儲器,從而提高了性能。某些功能需要自己的時鐘,因此,采用了FPGA的板上PLL,從一個主時鐘中產(chǎn)生三個不同的時鐘:第一個用于視頻編碼器,第二個用于SDRAM時序,第三個用于外部象素傳感器。
通過集成提高了性能
在實(shí)現(xiàn)了以前所用外部器件的功能以后,Intevac還增加了最初DSP處理器無法實(shí)現(xiàn)的功能。加入了視頻測試模式生成器來仿真攝像機(jī)的工作,使軟件小組能夠完成各種視頻處理算法,使系統(tǒng)能夠協(xié)調(diào)工作。加入的另一功能是統(tǒng)計生成器,用于分析視頻數(shù)據(jù)的特性,以便進(jìn)行圖像增強(qiáng)和亮度處理。圖像統(tǒng)計生成器需要的數(shù)學(xué)運(yùn)算如果在軟件中實(shí)現(xiàn),那么速度很慢。Intevac使用了FPGA中的邏輯資源來實(shí)現(xiàn)該功能,設(shè)置完成后,將結(jié)果傳送給處理器。
電路板制好后,在幾個小時內(nèi)便完成了開發(fā)板軟件代碼傳送、代碼設(shè)置,并在新板上運(yùn)行。后面的幾個月中,Intevac在進(jìn)行硬件和軟件開發(fā)的同時,進(jìn)一步調(diào)試、優(yōu)化了設(shè)計。雖然對處理器和FPGA設(shè)計的其他部分進(jìn)行了多次修改,但是,并沒有影響電路板布板。最后,使用Cyclone器件和Nios軟核處理器,將五塊電路板縮減為一塊。這種集成方式減輕了攝像機(jī)重量,所需支持電壓由四個減少到兩個,功耗降低了近80%。使用相同的PCB設(shè)置,Intevac還能夠高效的生產(chǎn)多種產(chǎn)品。
采用Altera無鉛產(chǎn)品輕松達(dá)到RoHS
Altera在業(yè)界提供的無鉛產(chǎn)品范圍最廣,1200多個產(chǎn)品具有無鉛封裝。Altera作為環(huán)境無污染可編程邏輯解決方案的優(yōu)秀供應(yīng)商,2002年以來已經(jīng)發(fā)售了2千5百萬片無鉛產(chǎn)品。Altera的無鉛器件符合EU Directive在有害物質(zhì)使用限制(“RoHS Directive”)No.2002/95中所規(guī)定的最大濃度值,包括鉛(Pb)、汞、鎘、六價鉻、多溴化聯(lián)苯(PBB)以及多溴化聯(lián)二苯(PBDE)等。采用Altera的PLD集成非兼容的ASSP功能,可以輕松完成您的RoHS轉(zhuǎn)換。
結(jié)語
設(shè)計簡化后,Intevac達(dá)到了自己的性能目標(biāo),極大的降低了元件和生產(chǎn)成本,提高了NightVista的質(zhì)量和可靠性。在最初的產(chǎn)品規(guī)范基礎(chǔ)上,該解決方案還增加了更多的功能。Intevac在FPGA中留出了邏輯資源,這樣,現(xiàn)場應(yīng)用時,能夠進(jìn)一步對攝像機(jī)進(jìn)行更新。這一解決方案幫助Intevac研究并完善了速度更快、效率更高的設(shè)計開發(fā)流程,為今后的產(chǎn)品開發(fā)節(jié)省了大量的時間和資源?!?/P>
評論