intevac是商用和軍用市場光學產品的前沿開發商。本文介紹該公司nightvista嵌入式電子系統的開發,該產品是高性能超低亮度緊湊型攝像機。該攝像機最初采用了流行的數字信號處理器、幾個assp和外部存儲器件。系統對性能的需求越來越高,工程師團隊決定試驗一種替代方案——在可編程邏輯中實現可配置軟核處理器。這一決定帶來了以下好處:
圖1 intevac nightvista攝像機中cyclone系列fpga功能框圖 dsp基于處理器的實現方法 nightvista電子系統的部分功能包括:
intevac開發nightvista電子產品的最初方法是采用數字信號處理器。除了處理器之外,還需要其他幾個主要部件,包括ntsc視頻編碼器、一個rs-232接口、多個鎖相環(pll)、實現各種邏輯功能的cpld,以及幾個存儲器(fifo、sdram和閃存)。此外,這些部件需要四個不同的工作電壓(需要四個電源穩壓器和不同的pcb板層),四個獨立的時鐘系統,以及各自的振蕩器和電源去耦電路?傮w上,這些部件占用了五塊pcb,每一塊電路板大約兩平方英寸,堆疊在該攝像機兩英寸見方的外殼中。 硬件開發了幾個月之后,大家清楚的認識到該解決方案難以達到intevac為nightvista設定的性能目標,重量和功耗令人難以接受。而且,由于高密度堆疊的pcb功耗很大,帶來了明顯的熱管理問題。intevac決定中斷基于數字信號處理器的設計,轉而采用基于fpga的混合邏輯和軟核微處理器方案。intevac并沒有使用集成微處理器可編程邏輯的經驗,但是一個使用altera演示板的評估方案很有吸引力,其最新的低成本fpga能夠將一個完整的32位risc處理器和存儲器模塊、pll以及大量的邏輯資源集成到一起,實現專用視頻信號處理功能。在fpga中集成pll可以解決與電路板級多時鐘系統相關的大量問題。 工程師團隊考慮了多種因素,包括:
分析了以上因素后,公司決定購買在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時序,第三個用于外部象素傳感器。 通過集成提高了性能 在實現了以前所用外部器件的功能以后,intevac還增加了最初dsp處理器無法實現的功能。加入了視頻測試模式生成器來仿真攝像機的工作,使軟件小組能夠完成各種視頻處理算法,使系統能夠協調工作。加入的另一功能是統計生成器,用于分析視頻數據的特性,以便進行圖像增強和亮度處理。圖像統計生成器需要的數學運算如果在軟件中實現,那么速度很慢。intevac使用了fpga中的邏輯資源來實現該功能,設置完成后,將結果傳送給處理器。 電路板制好后,在幾個小時內便完成了開發板軟件代碼傳送、代碼設置,并在新板上運行。后面的幾個月中,intevac在進行硬件和軟件開發的同時,進一步調試、優化了設計。雖然對處理器和fpga設計的其他部分進行了多次修改,但是,并沒有影響電路板布板。最后,使用cyclone器件和nios軟核處理器,將五塊電路板縮減為一塊。這種集成方式減輕了攝 采用altera無鉛產品輕松達到rohs altera在業界提供的無鉛產品范圍最廣,1200多個產品具有無鉛封裝。altera作為環境無污染可編程邏輯解決方案的優秀供應商,2002年以來已經發售了2千5百萬片無鉛產品。altera的無鉛器件符合eu directive在有害物質使用限制(“rohs directive”)no.2002/95中所規定的最大濃度值,包括鉛(pb)、汞、鎘、六價鉻、多溴化聯苯(pbb)以及多溴化聯二苯(pbde)等。采用altera的pld集成非兼容的assp功能,可以輕松完成您的rohs轉換。 結語 設計簡化后,intevac達到了自己的性能目標,極大的降低了元件和生產成本,提高了nightvista的質量和可靠性。在最初的產品規范基礎上,該解決方案還增加了更多的功能。intevac在fpga中留出了邏輯資源,這樣,現場應用時,能夠進一步對攝像機進行更新。這一解決方案幫助intevac研究并完善了速度更快、效率更高的設計開發流程,為今后的產品開發節省了大量的時間和資源。 |