《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 利用FPGA的DSP功能提高圖像處理的實(shí)例分析
利用FPGA的DSP功能提高圖像處理的實(shí)例分析
摘要: intevac是商用和軍用市場(chǎng)光學(xué)產(chǎn)品的前沿開發(fā)商,。本文介紹該公司nightvista嵌入式電子系統(tǒng)的開發(fā),,該產(chǎn)品是高性能超低亮度緊湊型攝像機(jī)。該攝像機(jī)最初采用了流行的數(shù)字信號(hào)處理器,、幾個(gè)assp和外部存儲(chǔ)器件,。系統(tǒng)對(duì)性能的需求越來(lái)越高,工程師團(tuán)隊(duì)決定試驗(yàn)一種替代方案——在可編程邏輯中實(shí)現(xiàn)可配置軟核處理器,。這一決定帶來(lái)了以下好處:
關(guān)鍵詞: FPGA DSP 圖像處理
Abstract:
Key words :

        intevac是商用和軍用市場(chǎng)光學(xué)產(chǎn)品的前沿開發(fā)商,。本文介紹該公司nightvista嵌入式電子系統(tǒng)的開發(fā),該產(chǎn)品是高性能超低亮度緊湊型攝像機(jī),。該攝像機(jī)最初采用了流行的數(shù)字信號(hào)處理器,、幾個(gè)assp和外部存儲(chǔ)器件。系統(tǒng)對(duì)性能的需求越來(lái)越高,,工程師團(tuán)隊(duì)決定試驗(yàn)一種替代方案——在可編程邏輯中實(shí)現(xiàn)可配置軟核處理器,。這一決定帶來(lái)了以下好處:

  • 達(dá)到了目標(biāo)所要求的性能
  • 在單個(gè)fpga中集成了分立的元件和數(shù)字信號(hào)處理(dsp" target="_blank">dsp)功能
  • 功耗降低了近80%
  • 將五塊元件板縮減到一塊,顯著降低了成本
  • 縮短了開發(fā)時(shí)間

intevac nightvista攝像機(jī)中cyclone系列fpga功能框圖

圖1  intevac nightvista攝像機(jī)中cyclone系列fpga功能框圖

  dsp基于處理器的實(shí)現(xiàn)方法

  nightvista電子系統(tǒng)的部分功能包括:

  • 攝像機(jī)上電測(cè)試和初始化
  • 視頻傳感校準(zhǔn)和表征
  • 圖像增強(qiáng)管理的自動(dòng)增益控制
  • 圖形,、文本和水印屏顯示功能
  • 實(shí)時(shí)自適應(yīng)對(duì)比度調(diào)整
  • gamma校正、視頻停幀捕獲,,并存儲(chǔ)至閃存
  • 實(shí)時(shí)時(shí)鐘
  • 用戶定義的可編程預(yù)置配置
  • 通過(guò)rs-232與主機(jī)pc進(jìn)行通信
  • 攝像機(jī)功能和參數(shù)遠(yuǎn)程更新,,攝像機(jī)至主機(jī)pc視頻數(shù)據(jù)傳送

  intevac開發(fā)nightvista電子產(chǎn)品的最初方法是采用數(shù)字信號(hào)處理器。除了處理器之外,,還需要其他幾個(gè)主要部件,,包括ntsc視頻編碼器、一個(gè)rs-232接口,、多個(gè)鎖相環(huán)(pll),、實(shí)現(xiàn)各種邏輯功能的cpld,以及幾個(gè)存儲(chǔ)器(fifo,、sdram和閃存),。此外,這些部件需要四個(gè)不同的工作電壓(需要四個(gè)電源穩(wěn)壓器和不同的pcb板層),,四個(gè)獨(dú)立的時(shí)鐘系統(tǒng),,以及各自的振蕩器和電源去耦電路??傮w上,,這些部件占用了五塊pcb,每一塊電路板大約兩平方英寸,,堆疊在該攝像機(jī)兩英寸見方的外殼中,。

  硬件開發(fā)了幾個(gè)月之后,大家清楚的認(rèn)識(shí)到該解決方案難以達(dá)到intevac為nightvista設(shè)定的性能目標(biāo),重量和功耗令人難以接受,。而且,,由于高密度堆疊的pcb功耗很大,帶來(lái)了明顯的熱管理問題,。intevac決定中斷基于數(shù)字信號(hào)處理器的設(shè)計(jì),,轉(zhuǎn)而采用基于fpga的混合邏輯和軟核微處理器方案。intevac并沒有使用集成微處理器可編程邏輯的經(jīng)驗(yàn),,但是一個(gè)使用altera演示板的評(píng)估方案很有吸引力,,其最新的低成本fpga能夠?qū)⒁粋€(gè)完整的32位risc處理器和存儲(chǔ)器模塊、pll以及大量的邏輯資源集成到一起,,實(shí)現(xiàn)專用視頻信號(hào)處理功能,。在fpga中集成pll可以解決與電路板級(jí)多時(shí)鐘系統(tǒng)相關(guān)的大量問題。

  工程師團(tuán)隊(duì)考慮了多種因素,,包括:

  • 多種fpga系列的性能和特性
  • 提供知識(shí)產(chǎn)權(quán)(ip)內(nèi)核
  • 多個(gè)供應(yīng)商的器件集成技術(shù)和業(yè)務(wù)能力
  • 提供成熟的硬件和軟件開發(fā)工具
  • 供應(yīng)商支持資源的可靠性

  分析了以上因素后,,公司決定購(gòu)買在altera cyclone fpga中實(shí)現(xiàn)altera nios處理器的解決方案。fpga的功能如圖1所示,。

  設(shè)計(jì)轉(zhuǎn)換

  決定使用altera的解決方案后,,intevac必須確定現(xiàn)有的dsp軟件在多大程度上能夠?qū)氲絥ios處理器中。公司已經(jīng)投入了18個(gè)月的人工付出進(jìn)行前面的數(shù)字信號(hào)處理器軟件開發(fā),,團(tuán)隊(duì)現(xiàn)在面臨的問題是將圖像數(shù)據(jù)通過(guò)處理器傳送至輸出,,并沒有進(jìn)行視頻處理。fpga攝像機(jī)中的nios處理器具有不同的特性,,只能通過(guò)rs-232串行通信協(xié)議與主機(jī)pc和視頻傳感器進(jìn)行通信,。幸運(yùn)的是,nios處理器的軟件開發(fā)直觀明了,,通過(guò)使用nios開發(fā)板,,intevac在幾個(gè)小時(shí)之內(nèi)便建立了處理器和主機(jī)pc之間的通信。

  新的fpga電路板在一個(gè)月內(nèi)完成,,在這段時(shí)期內(nèi),,intevac繼續(xù)采用nios處理器開發(fā)板編寫、調(diào)試軟件代碼,。intevac最初計(jì)劃采用數(shù)字信號(hào)處理器的實(shí)時(shí)操作系統(tǒng)(rtos)來(lái)管理復(fù)雜的視頻處理算法時(shí)序,。由于nios處理器并不包括現(xiàn)成的rtos,軟件小組并不能確定是否能夠達(dá)到所有的時(shí)序要求,。與硬件小組討論后,,軟件小組很快發(fā)現(xiàn)nios處理器的配置功能可以很好的控制信號(hào)時(shí)序,一般只需要對(duì)fpga設(shè)計(jì)稍做改動(dòng)便能夠達(dá)到目標(biāo)時(shí)序要求,。同一fpga環(huán)境下硬件和固件處理具有高度集成特性,,能夠迅速簡(jiǎn)單的實(shí)現(xiàn)最佳控制和視頻處理任務(wù),。

  fpga方案實(shí)現(xiàn)了定制化,提升了性能,。進(jìn)一步的深入研究后,,intevac開始開發(fā)定制功能和外設(shè),以貼近自己的需求,。一旦在軟件中碰到瓶頸,,硬件小組便開發(fā)一個(gè)處理器來(lái)提高性能,一般在一個(gè)小時(shí)內(nèi)就可以做到這一點(diǎn),。硬件小組設(shè)計(jì)了一個(gè)定制視頻編碼器,、用于緩沖視頻數(shù)據(jù)的fifo模塊,以及專用dma控制器為編碼器提供穩(wěn)定的視頻數(shù)據(jù)流,,避免了使用外部編碼器和fifo緩沖,。此外,構(gòu)建了一個(gè)定制sdram控制器,,使所有的視頻,、屬性、nios處理器命令讀取和數(shù)據(jù)存儲(chǔ)都可以使用同一存儲(chǔ)器,,從而提高了性能,。某些功能需要自己的時(shí)鐘,因此,,采用了fpga的板上pll,,從一個(gè)主時(shí)鐘中產(chǎn)生三個(gè)不同的時(shí)鐘:第一個(gè)用于視頻編碼器,第二個(gè)用于sdram時(shí)序,,第三個(gè)用于外部象素傳感器。

 

通過(guò)集成提高了性能

  在實(shí)現(xiàn)了以前所用外部器件的功能以后,,intevac還增加了最初dsp處理器無(wú)法實(shí)現(xiàn)的功能,。加入了視頻測(cè)試模式生成器來(lái)仿真攝像機(jī)的工作,使軟件小組能夠完成各種視頻處理算法,,使系統(tǒng)能夠協(xié)調(diào)工作,。加入的另一功能是統(tǒng)計(jì)生成器,用于分析視頻數(shù)據(jù)的特性,,以便進(jìn)行圖像增強(qiáng)和亮度處理,。圖像統(tǒng)計(jì)生成器需要的數(shù)學(xué)運(yùn)算如果在軟件中實(shí)現(xiàn),那么速度很慢,。intevac使用了fpga中的邏輯資源來(lái)實(shí)現(xiàn)該功能,,設(shè)置完成后,將結(jié)果傳送給處理器,。

  電路板制好后,,在幾個(gè)小時(shí)內(nèi)便完成了開發(fā)板軟件代碼傳送,、代碼設(shè)置,并在新板上運(yùn)行,。后面的幾個(gè)月中,,intevac在進(jìn)行硬件和軟件開發(fā)的同時(shí),進(jìn)一步調(diào)試,、優(yōu)化了設(shè)計(jì),。雖然對(duì)處理器和fpga設(shè)計(jì)的其他部分進(jìn)行了多次修改,但是,,并沒有影響電路板布板,。最后,使用cyclone器件和nios軟核處理器,,將五塊電路板縮減為一塊,。這種集成方式減輕了攝像機(jī)重量,所需支持電壓由四個(gè)減少到兩個(gè),,功耗降低了近80%,。使用相同的pcb設(shè)置,intevac還能夠高效的生產(chǎn)多種產(chǎn)品,。

采用altera無(wú)鉛產(chǎn)品輕松達(dá)到

  altera在業(yè)界提供的無(wú)鉛產(chǎn)品范圍最廣,,1200多個(gè)產(chǎn)品具有無(wú)鉛封裝。altera作為環(huán)境無(wú)污染可編程邏輯解決方案的優(yōu)秀供應(yīng)商,,2002年以來(lái)已經(jīng)發(fā)售了2千5百萬(wàn)片無(wú)鉛產(chǎn)品,。altera的無(wú)鉛器件符合eu directive在有害物質(zhì)使用限制(“rohs directive”)no.2002/95中所規(guī)定的最大濃度值,包括鉛(pb),、汞,、鎘、六價(jià)鉻,、多溴化聯(lián)苯(pbb)以及多溴化聯(lián)二苯(pbde)等,。采用altera的pld集成非兼容的assp功能,可以輕松完成您的rohs轉(zhuǎn)換,。

  結(jié)語(yǔ)

  設(shè)計(jì)簡(jiǎn)化后,,intevac達(dá)到了自己的性能目標(biāo),極大的降低了元件和生產(chǎn)成本,,提高了nightvista的質(zhì)量和可靠性,。在最初的產(chǎn)品規(guī)范基礎(chǔ)上,該解決方案還增加了更多的功能,。intevac在fpga中留出了邏輯資源,,這樣,現(xiàn)場(chǎng)應(yīng)用時(shí),,能夠進(jìn)一步對(duì)攝像機(jī)進(jìn)行更新,。這一解決方案幫助intevac研究并完善了速度更快,、效率更高的設(shè)計(jì)開發(fā)流程,為今后的產(chǎn)品開發(fā)節(jié)省了大量的時(shí)間和資源,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。