基于FPGA的汽車視頻和圖形控制系統(tǒng)設(shè)計(jì)
LCD顯示器真是無處不在,在家庭、超市、體育館以及汽車內(nèi)你都可以見到它們的身影。無疑車載LCD顯示系統(tǒng)是增長(zhǎng)最快的市場(chǎng)。增長(zhǎng)的動(dòng)力包括:不斷下降的顯示器價(jià)格、不斷提升的用戶體驗(yàn)、更多的產(chǎn)品性能以及車內(nèi)消費(fèi)類產(chǎn)品的集結(jié)。
本文引用地址:http://www.ex-cimer.com/article/196704.htm典型的圖形顯示系統(tǒng)一般都是利用標(biāo)準(zhǔn)的特殊應(yīng)用標(biāo)準(zhǔn)處理器(ASSP)或者定制的特殊應(yīng)用集成電路(ASIC)作為控制器來構(gòu)建的。但汽車圖形設(shè)計(jì)師在利用這些器件構(gòu)建系統(tǒng)時(shí)遭遇到了不小的麻煩,其中包括:較短的產(chǎn)品生命周期,基于PC的系統(tǒng)總線接口,無法適應(yīng)新標(biāo)準(zhǔn)和新顯示器類型等。所有這些問題都限制了設(shè)計(jì)在其它應(yīng)用中的重用可能性。
圖1給出了車載圖形/視頻系統(tǒng)的一個(gè)典型實(shí)例。圖的左側(cè)列出了用于驅(qū)動(dòng)圖形系統(tǒng)的一些不同輸入信號(hào)。本例包括了一個(gè)MediaLB接口,一個(gè)用于視頻的兩線像素鏈路收發(fā)器,一個(gè)普通系統(tǒng)接口總線和一個(gè)NTSC/PAL視頻編碼器。一旦視頻和圖形信息進(jìn)入系統(tǒng),就由通用CPU執(zhí)行處理,或者在不同的系統(tǒng)架構(gòu)下被直接送到圖形處理器。此外,絕大多數(shù)設(shè)計(jì)還含有用于程序存儲(chǔ)的閃存以及用于存儲(chǔ)頁面和視頻信息的SDRAM。
圖1:典型的圖形/視頻系統(tǒng)架構(gòu)。
圖形處理器可以是ASSP、定制ASIC或者現(xiàn)場(chǎng)可編程門陣列(FPGA)器件。根據(jù)具體實(shí)現(xiàn)的不同,一個(gè)系統(tǒng)中可能會(huì)含有多臺(tái)顯示器(如圖所示),這時(shí)還需要額外的邏輯資源來管理各種信號(hào)以便支持每臺(tái)顯示器正常工作。
如上所述,設(shè)計(jì)師在汽車設(shè)計(jì)中采用ASSP圖形控制器時(shí)會(huì)遇到一些阻礙,具體包括:
1. PC和消費(fèi)電子產(chǎn)品通常具有非常短的生命周期,但汽車市場(chǎng)具有很長(zhǎng)的生產(chǎn)周期和支持需求,它們無法接受生命周期結(jié)束時(shí)強(qiáng)制發(fā)生的變化。
2. 采用硬連線的ASSP或ASIC器件無法象傳統(tǒng)系統(tǒng)那樣支持新興的或者派生的視頻和圖象標(biāo)準(zhǔn)。
3. 硬連線系統(tǒng)也很難適應(yīng)不同的顯示器類型,其不適應(yīng)性具體表現(xiàn)在分辨率、長(zhǎng)寬比或顯示器信號(hào)接口方面。
4. 絕大多數(shù)ASSP器件采用的都是PC總線接口,比如AGP、PCI 和PCI Express。如果要在內(nèi)部系統(tǒng)總線和ASSP圖形器件之間構(gòu)建定制接口,汽車設(shè)計(jì)師還將面臨額外的成本和復(fù)雜性問題。
ASIC的單片價(jià)格確實(shí)相當(dāng)?shù)停情_發(fā)成本非常高。其掩膜成本可達(dá)數(shù)百萬美元,如果需要改變?cè)O(shè)計(jì)以支持新標(biāo)準(zhǔn)或者新功能,則掩膜費(fèi)用還得成倍增加。
以多用途為特質(zhì)的FPGA器件加上商用化知識(shí)產(chǎn)權(quán)(IP)能夠?qū)崿F(xiàn)幾乎所有的圖形系統(tǒng)功能,包括視頻控制器、RISC處理器、顯示器接口、總線標(biāo)準(zhǔn)和不同的視頻輸入標(biāo)準(zhǔn)等,而且這些功能全都可以集成在一個(gè)器件上。
圖2:集成式車載圖形解決方案。
圖2是利用FPGA實(shí)現(xiàn)的高集成度實(shí)例。該設(shè)計(jì)無需使用外部MediaLB器件,而是在內(nèi)部FPGA邏輯中處理MediaLB協(xié)議。RISC處理器則是以基于IP的32位軟核處理器形式整合在里面。再加上圖形/視頻內(nèi)核模塊IP就實(shí)現(xiàn)了完整的設(shè)計(jì),包括支持觸摸屏輸入、LCD背光控制、存儲(chǔ)控制器和多臺(tái)顯示器。該設(shè)計(jì)通過將所有主要的系統(tǒng)功能集成到FPGA中而大大減少了設(shè)計(jì)中的零部件數(shù)量。利用帶內(nèi)置非易失性啟動(dòng)閃存的FPGA還能節(jié)省其他更多的器件。
圖形系統(tǒng)的硬件實(shí)現(xiàn)是總項(xiàng)目的一部分。設(shè)計(jì)師必須將精力集中到圖形控制器的功能上,以便為設(shè)備找到最佳的解決方案。例如,客戶信息顯示器(CID)可能只需要顯示文本消息和基本圖形,而一系列玻璃儀表板則需要高分辨率平滑圖形顯示,因?yàn)閷?shí)際上它代表著用CID來替代物理度量和儀器測(cè)量。一些儀器板和導(dǎo)航系統(tǒng)也有實(shí)時(shí)視頻顯示器用于支持后視(rear-view)攝像視頻,這種顯示器需要一個(gè)能夠支持畫中畫和實(shí)時(shí)視頻并且不能降低其他圖像質(zhì)量的圖形控制器。另外,處理多路視頻流和輸入所需的靈活性也是其典型要求。
在實(shí)現(xiàn)圖形系統(tǒng)之前有許多問題需要回答,因?yàn)槊恳豁?xiàng)都會(huì)影響最終的硬件和IP內(nèi)核的實(shí)現(xiàn)。這些問題包括:
1. 數(shù)據(jù)源究竟是視頻流,還是以圖形方式提供的輸出,或者是兩者的結(jié)合,或者兩者都有?如果是視頻流,有多少路視頻流,分辨率是多少?
2. 最終的圖像是2維還是3維?
3. 用的是哪種顯示器技術(shù),是液晶? 等離子? 還是視頻?總共多少臺(tái)顯示器,分辨率多少?
4. 采用什么樣的應(yīng)用軟件接口,使用的方便度如何?
5. 該應(yīng)用是否需要可擴(kuò)展架構(gòu),以便滿足未來的發(fā)展和產(chǎn)品分級(jí)?
6. 需要支持多個(gè)視頻頁面嗎?如果需要,需要多少?
7. 需要支持圖像縮放嗎?倍率多少?如果要求縮放,還需要具備剪輯功能。
8. 需要用于支持高速圖形性能的Bitblit功能嗎?設(shè)計(jì)需要水平和垂直Bitblit選擇嗎?
9. 系統(tǒng)需要什么樣的存儲(chǔ)器和總線接口?
10. 最后就是是否需要支持未來的系統(tǒng)擴(kuò)展?
圖3:視頻和圖形IP內(nèi)容。
圖3給出了一個(gè)模塊化二維圖形和視頻IP內(nèi)核的例子。該IP代表了當(dāng)前FPGA圖形IP內(nèi)核所能提供的功能和特征。這種高速圖形內(nèi)核是專門為了嵌入進(jìn)FPGA系統(tǒng)而開發(fā)的。其存儲(chǔ)控制器可以連接SDRAM或DDRAM,具體取決于應(yīng)用性能和成本預(yù)算。這種IP內(nèi)核帶有可選的視頻輸入和bitblit模塊,可以用設(shè)計(jì)所需的特定性能和功能進(jìn)行配置。顯示控制器可以控制采用任何顯示技術(shù)的單顯示器或雙顯示器。該種內(nèi)核具有通用的內(nèi)部32位AMBA總線,可以方便地與其他內(nèi)部IP內(nèi)核接口, 或者通過FPGA的I/O與外部邏輯相連。
評(píng)論