FPGA和嵌入式處理器實(shí)現(xiàn)低成本智能顯示模塊
引言
本文引用地址:http://www.ex-cimer.com/article/89780.htmLCD正在迅速成為汽車內(nèi)的標(biāo)準(zhǔn)部件。隨著LCD技術(shù)的發(fā)展,迫切需要采用更好的顯示圖形內(nèi)容控制和產(chǎn)生方法。傳統(tǒng)上,低成本汽車信息娛樂(lè)應(yīng)用采用基于字符的LCD和真空熒光(VF)顯示屏,而低成本彩色薄膜晶體管(TFT)技術(shù)很快成為最突出的選擇方案,但在現(xiàn)有的低成本應(yīng)用體系結(jié)構(gòu)中采用彩色TFT有很大的難度。大部分低成本平臺(tái)沒(méi)有足夠的處理帶寬,特別是缺少帶有LCD控制器的處理器來(lái)控制并驅(qū)動(dòng)彩色TFT LCD。此外,大部分現(xiàn)有的體系結(jié)構(gòu)并沒(méi)有足夠的動(dòng)態(tài)和非易失存儲(chǔ)器來(lái)存儲(chǔ)LCD需要的圖形內(nèi)容。更復(fù)雜的設(shè)計(jì)問(wèn)題是產(chǎn)生并管理圖形內(nèi)容或者圖形用戶界面(GUI)時(shí)低效的設(shè)計(jì)過(guò)程,而現(xiàn)在可以通過(guò)彩色TFT LCD來(lái)解決這些問(wèn)題。一般而言,如果沒(méi)有合適的設(shè)計(jì)資源,很難在硬件上實(shí)現(xiàn)LED背光驅(qū)動(dòng)器、觸摸面板控制以及TFT控制所需要的大量I/O,現(xiàn)在這些難題有了解決方法,即,名為Thomas II電路板(圖1)的模塊化擴(kuò)展平臺(tái),它含有低成本Altera Cyclone III FPGA和Nios II嵌入式處理器。使用這一平臺(tái),汽車電子設(shè)計(jì)人員很容易在現(xiàn)有系統(tǒng)體系結(jié)構(gòu)中加入彩色TFT,開(kāi)發(fā)低成本智能顯示模塊。
圖1 Thomas II演示平臺(tái)
模塊化擴(kuò)展概念的內(nèi)涵
模塊化擴(kuò)展設(shè)計(jì)概念基于Thomas II電路板,它是由Momiji Design LLC和Altera公司聯(lián)合開(kāi)發(fā)的。設(shè)計(jì)圍繞低成本Cyclone III FPGA (EP3C10或者EP3C5)展開(kāi),這一器件采用了引腳數(shù)量較少的E144 QFP封裝,在4層PCB上就能夠輕松完成布板。在實(shí)際應(yīng)用中,Thomas II設(shè)計(jì)(圖2所示)可以用作單獨(dú)的模塊,具有完整的電源供電和支持外設(shè),也可以集成到現(xiàn)有設(shè)計(jì)結(jié)構(gòu)中。
圖2 Thomas II設(shè)計(jì)結(jié)構(gòu)圖
Nios II嵌入式處理器是體系結(jié)構(gòu)的核心,同時(shí)用于系統(tǒng)控制和圖形生成。采用嵌入式處理器后,系統(tǒng)可以單獨(dú)工作,也可以作為現(xiàn)有微控制器單元(MCU)的協(xié)處理器,因此,Thomas II設(shè)計(jì)可以實(shí)現(xiàn)低成本信息娛樂(lè)設(shè)計(jì)的模塊化擴(kuò)展功能。通過(guò)一個(gè)簡(jiǎn)單的UART,FPGA成為系統(tǒng)的圖形顯示控制器。它管理并控制所有的圖形內(nèi)容產(chǎn)生和處理任務(wù),從而把這些任務(wù)從主機(jī)MCU中分擔(dān)出來(lái)。任何串行或者并行通信接口,甚至是定制或者專用標(biāo)準(zhǔn)都很容易替代FPGA設(shè)計(jì)中的UART模塊。例如,通常用于實(shí)現(xiàn)VF或者字符LCD的通信協(xié)議都可以重新用于控制基于Thomas II概念的TFT。最吸引人的特性是主機(jī)體系結(jié)構(gòu)和系統(tǒng)設(shè)計(jì)能夠基本保持不變,如圖3所示。
圖3 設(shè)計(jì)重用
一次硬件設(shè)計(jì)實(shí)現(xiàn)多款產(chǎn)品
不改動(dòng)或者盡量少改動(dòng)系統(tǒng)意味著同時(shí)節(jié)省了硬件和軟件資源。借助Thomas II概念,設(shè)計(jì)人員可以針對(duì)多款產(chǎn)品使用相同的核心硬件。根據(jù)產(chǎn)品需求來(lái)更新或者改變GUI,而不需要修改或者更新核心系統(tǒng)軟件。而且,還可以根據(jù)應(yīng)用需求來(lái)調(diào)整LCD分辨率和底層圖形FPGA中的LCD控制器設(shè)計(jì)很容易適應(yīng)各種標(biāo)準(zhǔn)和定制LCD分辨率(請(qǐng)參考圖4)。它還能夠滿足雙視角、多視角和其他非標(biāo)準(zhǔn)LCD格式。FPGA中實(shí)現(xiàn)LCD控制器的內(nèi)在優(yōu)勢(shì)是它可以定制或者適應(yīng)LCD需要的數(shù)據(jù)和時(shí)序格式。
圖4 應(yīng)用在WQVGA和QVGA LCD上的Thomas II電路板
注釋:圖像版權(quán)Disney/Pixar,得到其許可。
LCD控制器模塊是多層LCD控制器,含有兩個(gè)16位彩色圖像層和一個(gè)alpha層。每一層由單獨(dú)的DMA主機(jī)生成并進(jìn)行控制。這樣,可以有效地劃分基于外部DRAM的幀緩沖。實(shí)質(zhì)上,每個(gè)DMA主機(jī)在需要數(shù)據(jù)時(shí)讀取幀緩沖。這使得LCD控制器模塊能夠讀取外部存儲(chǔ)器中存儲(chǔ)的任意幀分辨率或者圖像尺寸。每一層主機(jī)讀取存儲(chǔ)器后,LCD控制器模塊把層組合(或者平滑)成一個(gè)組合幀,然后將其輸出至LCD。LCD控制器模塊組合了層之后,每一層都可以選擇組合alpha層或者“透明層”。Alpha層支持實(shí)現(xiàn)透明的覆蓋層,或者表面與下面層內(nèi)容相混合。此外,每一層都可以完全打開(kāi)或者關(guān)斷,根據(jù)需要來(lái)激活或者去激活每一層。這一概念的一個(gè)例子是視頻采集層上菜單所采用的覆蓋圖。
觸摸面板控制器簡(jiǎn)化了和用戶的交互
為實(shí)現(xiàn)和用戶的交互,Thomas II設(shè)計(jì)還在FPGA中采用了觸摸面板控制器。設(shè)計(jì)支持四線阻性觸摸面板控制器,它可以控制任何標(biāo)準(zhǔn)四線觸摸面板。Nios II嵌入式處理器采集來(lái)自觸摸面板的用戶事件數(shù)據(jù)并進(jìn)行管理,根據(jù)GUI和系統(tǒng)總設(shè)計(jì),相應(yīng)地提取或者執(zhí)行命令。為方便并加速GUI的產(chǎn)生,嵌入式處理器很容易集成到Altia的圖形開(kāi)發(fā)工具鏈中。利用Altia的圖形開(kāi)發(fā)工具,藝術(shù)家、交互式設(shè)計(jì)人員、工程師和編程人員可以迅速構(gòu)建概念原型、模型和可實(shí)施代碼,不存在誤解圖形總設(shè)計(jì)或者圖形交互的風(fēng)險(xiǎn)。從概念到代碼,這些工具大大縮短了總開(kāi)發(fā)周期,同時(shí)保持了圖形設(shè)計(jì)的藝術(shù)完整性。Altia還提供Adobe Photoshop插件,名為PhotoProto,設(shè)計(jì)人員利用它很容易將視頻分量導(dǎo)出到Altia設(shè)計(jì)中,如圖5所示。在Altia設(shè)計(jì)中,開(kāi)發(fā)人員可以在圖形設(shè)計(jì)中增加功能和行為。通過(guò)名為深屏(Deep Screen)的工具,在Altia設(shè)計(jì)中開(kāi)發(fā)的原型或者概念生成Nios II嵌入式處理器連接庫(kù)圖形或者行為邏輯需要的所有一切。然后,Nios II處理器運(yùn)行Altia模型,管理用戶和模型之間的實(shí)際交互。
圖5 Altia設(shè)計(jì)、PhotoProto和深屏工具
視頻采集和圖像處理
基于FPGA的設(shè)計(jì)中實(shí)現(xiàn)的另一功能是視頻采集,如圖2所示。視頻輸入模塊符合ITU-R BT.656數(shù)字視頻標(biāo)準(zhǔn),完成以下操作:彩色空間轉(zhuǎn)換(CSC)、剪輯、去隔行、縮放和RGB 565包封。在Nios II嵌入式處理器的控制下,每一操作順序完成,并由寄存器對(duì)參數(shù)進(jìn)行賦值。根據(jù)需要的輸出格式,還可以選擇對(duì)視頻輸入進(jìn)行剪輯和調(diào)整(放大或者縮小)。采用寄存器后,可以針對(duì)各種顯示分辨率和輸入視頻格式(例如,NTSC、PAL和SECAM等)對(duì)系統(tǒng)進(jìn)行定制。來(lái)自模塊的視頻數(shù)據(jù)通過(guò)32位DMA傳送至外部SDRAM幀緩沖。象素?cái)?shù)據(jù)被封裝成565格式,使兩個(gè)象素能夠通過(guò)DMA以一個(gè)字的形式進(jìn)行傳送。這顯著提高了視頻帶寬,以及存儲(chǔ)器訪問(wèn)效率。Thomas II設(shè)計(jì)使用Altera Quartus II設(shè)計(jì)軟件支持的標(biāo)準(zhǔn)SDRAM存儲(chǔ)控制器。SDRAM提供足夠的視頻帶寬和存儲(chǔ)器總帶寬,是DDR的低成本替代方案(對(duì)于所需要的密度)。而且,采用SDRAM還減小了電路板布板的復(fù)雜度,從而降低了系統(tǒng)總成本。在功能上,DRAM為視頻和圖像幀緩沖提供共享存儲(chǔ)空間,還為Nios II嵌入式處理器提供程序存儲(chǔ)器。Avalon系統(tǒng)互聯(lián)架構(gòu)連接SDRAM控制器和Nios II處理器以及其他系統(tǒng)模塊,為存儲(chǔ)器訪問(wèn)和存儲(chǔ)器管理提供仲裁。Cyclone III FPGA最引人注目的一個(gè)特性是未來(lái)可以移植到其他存儲(chǔ)器拓?fù)浜图夹g(shù)中。如果需要,很容易對(duì)設(shè)計(jì)進(jìn)行修改,采用DDR或者DDR2存儲(chǔ)控制器,或者擴(kuò)展SDRAM接口,以適應(yīng)32位SDRAM器件。FPGA靈活的I/O環(huán)以及SOPC Builder工具中各種存儲(chǔ)控制器支持這一切的實(shí)現(xiàn)。Thomas II設(shè)計(jì)還支持視頻和圖像處理。緩沖后的源視頻存儲(chǔ)在SDRAM中,圖像處理算法由Nios II處理器來(lái)完成。而Cyclone III FPGA的靈活性則體現(xiàn)在可以把算法作為軟件、硬件,或者以軟硬件混合的形式來(lái)執(zhí)行,這也是該器件的優(yōu)勢(shì)所在??梢圆捎肁ltera的Nios II C語(yǔ)言至硬件(C2H)加速編譯器來(lái)分析軟件算法,將函數(shù)轉(zhuǎn)換成硬件加速定制指令。然后,Nios II處理器執(zhí)行定制指令,不需要反復(fù)迭代處理周期。設(shè)計(jì)人員可以充分發(fā)揮Cyclone III FPGA架構(gòu)并行處理特性的優(yōu)勢(shì),構(gòu)建定制指令。內(nèi)置數(shù)字信號(hào)處理(DSP)功能可用于完成各種圖像處理算法,例如,魚眼校正等。
結(jié)論
通過(guò)在低成本系統(tǒng)體系結(jié)構(gòu)中采用彩色TFT,汽車電子設(shè)計(jì)人員能夠?yàn)槭袌?chǎng)帶來(lái)一系列在視覺(jué)和功能上都非常引人注目的實(shí)際應(yīng)用。采用模塊化擴(kuò)展方法開(kāi)發(fā)的Thomas II電路板基于引腳數(shù)較少的低成本FPGA,為這些應(yīng)用的實(shí)現(xiàn)提供了平臺(tái)。相應(yīng)的設(shè)計(jì)軟件和工具不但加速了開(kāi)發(fā)過(guò)程,而且還保持了GUI設(shè)計(jì)的完整性。此外,一片F(xiàn)PGA集成了各種功能,不需要改變主機(jī)體系結(jié)構(gòu)和系統(tǒng)設(shè)計(jì)。如果需要,可編程技術(shù)還可以將設(shè)計(jì)靈活地移植到密度更大的FPGA中。
參考文獻(xiàn):
(1)Thomas II電路板設(shè)計(jì)軟件和工具www.momijidesign.com/thomas.html
(2)Nios II C語(yǔ)言至硬件加速編譯器ww.altera.com/products/ip/processors/nios2/tools/c2h/ni2-c2h.html
(3)實(shí)現(xiàn)靈活的汽車CPLD數(shù)字儀表ww.altera.com/literature/wp/wp-01072-implementing-flexible-cpld-only-digital-dashboard-automobiles.pdf
(4)靈活的體系結(jié)構(gòu)實(shí)現(xiàn)汽車后視攝像頭魚眼校正功能:www.altera.com/literature/wp/wp-01073-flexible-architecture-fisheye-correction-automotive-rear-view-cameras.pdf
(5)在基于FPGA的解決方案中實(shí)現(xiàn)圖形功能:www.altera.com/literature/wp/wp-01075-applying-graphics-to-fpga-based-solutions.pdf
(6)使用LED作為亮度級(jí)傳感器和發(fā)射器:www.altera.com/literature/wp/wp-01076-leds-as-light-level-sensors-and-emitters.pdf
(7)Altia圖形開(kāi)發(fā)工具鏈:www.altia.com/products.php
(8)Altia設(shè)計(jì):www.altia.com/products_design.php
(9)Altia PhotoProto:www.altia.com/products_photoproto.php
(10)Altia深屏:www.altia.com/products_ds.php
評(píng)論