利用FPGA協(xié)處理器優(yōu)化汽車信息娛樂(lè)和信息通訊系統(tǒng)
集成了數(shù)據(jù)通信、本地服務(wù)和視頻娛樂(lè)功能的高端汽車信息娛樂(lè)系統(tǒng)需要高性能的可編程處理技術(shù)支持,將FPGA協(xié)處理器整合進(jìn)主流汽車信息通訊系統(tǒng)架構(gòu)是最理想的解決方案。本文提出了汽車娛樂(lè)系統(tǒng)的要求,討論了主流系統(tǒng)架構(gòu),并介紹如何將FPGA協(xié)處理器整合進(jìn)硬件和軟件架構(gòu)以滿足高性能處理要求、靈活性要求及降低成本的目標(biāo)。
本文引用地址:http://butianyuan.cn/article/196956.htm娛樂(lè)電子正成為豪華汽車之間差異化的主要方面,因而推動(dòng)了其性能和功能的快速發(fā)展。如何折衷考慮性能、成本和靈活性要求是設(shè)計(jì)工程師面臨的挑戰(zhàn)。高端應(yīng)用包括衛(wèi)星收音機(jī)、后座娛樂(lè)、導(dǎo)航、各種類型的音頻回放、語(yǔ)音合成和識(shí)別,以及其它新的應(yīng)用。
汽車娛樂(lè)系統(tǒng)用的核心技術(shù)與傳統(tǒng)的汽車應(yīng)用有本質(zhì)的區(qū)別。與汽車電子的其它領(lǐng)域不同,這些娛樂(lè)應(yīng)用是天天要用的,需求也不斷在發(fā)生變化。另外,過(guò)時(shí)的娛樂(lè)系統(tǒng)將成為新車銷售的主要障礙,并且會(huì)影響汽車轉(zhuǎn)售價(jià)格和出租價(jià)格。
車載娛樂(lè)系統(tǒng)的技術(shù)要求
傳統(tǒng)的汽車電子為具有較長(zhǎng)產(chǎn)品壽命、更寬溫度范圍和低成本要求的全面標(biāo)準(zhǔn)化推動(dòng),車載娛樂(lè)系統(tǒng)基本上也要滿足這些要求。設(shè)計(jì)工程師不但需要設(shè)計(jì)長(zhǎng)壽命的系統(tǒng),并且要能適應(yīng)系統(tǒng)功能的快速發(fā)展。這些要求需要很強(qiáng)的靈活性和性能,這是以傳統(tǒng)的特定應(yīng)用標(biāo)準(zhǔn)產(chǎn)品(ASSP)為基礎(chǔ)的系統(tǒng)架構(gòu)所不能提供的。
現(xiàn)在設(shè)計(jì)的車載娛樂(lè)系統(tǒng)的基本架構(gòu)能夠支持平板顯示器,通過(guò)圖形化的人機(jī)界面可以顯示動(dòng)態(tài)地圖和汽車信息。這些架構(gòu)周邊有高度標(biāo)準(zhǔn)化的微控制器、各種標(biāo)準(zhǔn)接口以及支持低端圖形處理的簡(jiǎn)單硬件加速器。這種架構(gòu)能夠以非常低的成本滿足汽車市場(chǎng)的中等級(jí)娛樂(lè)系統(tǒng)要求,也能擴(kuò)展到高端應(yīng)用以適合頂級(jí)豪華汽車市場(chǎng)要求,視頻圖像處理和通信是典型的頂級(jí)應(yīng)用例子。支持這些應(yīng)用的各種標(biāo)準(zhǔn)包括視頻的MPEG2、MPEG4和H.264,以及通信的GSM/EDGE、WCDMA、1XEVDO、衛(wèi)星收音機(jī)、衛(wèi)星電視、數(shù)字視頻廣播和WiFi,這些標(biāo)準(zhǔn)都依賴于不斷發(fā)展的多種信號(hào)處理算法,這些算法需要特別高的可編程處理性能。
目前有三種半導(dǎo)體技術(shù)可用于實(shí)現(xiàn)這些高度復(fù)雜的算法,這三種技術(shù)分別是可編程數(shù)字信號(hào)處理器(DSP)、ASSP和現(xiàn)場(chǎng)可編程門陣列(FPGA)。DSP是一種高性能可編程處理器,專門設(shè)計(jì)用于信號(hào)處理,DSP處理器靈活性高、功耗低、性價(jià)比也較高,但沒(méi)有硬件加速功能,不能提供當(dāng)今高級(jí)圖像處理和無(wú)線通信算法所需的計(jì)算能力;通常內(nèi)含DSP處理器的ASSP能夠?yàn)楹?jiǎn)單視頻或通信標(biāo)準(zhǔn)提供優(yōu)化解決方案,但不能被編程以適應(yīng)不同的標(biāo)準(zhǔn);而FPGA不僅具有很高的處理性能,而且可編程,因此可以滿足多種應(yīng)用和標(biāo)準(zhǔn)要求。與其它二種技術(shù)不同,F(xiàn)PGA的靈活性和性能可以滿足所有潛在算法的要求。
圖一
FPGA協(xié)處理器的應(yīng)用
上文提到的信息通訊基本架構(gòu)需要額外的處理芯片來(lái)處理高端應(yīng)用,這些芯片一般是ASIC和ASSP,它們通過(guò)存儲(chǔ)器或視頻處理總線與處理器集成,從而成為特定應(yīng)用協(xié)處理器。用FPGA替換這種特定應(yīng)用硬件是一種非常好的方法,將FPGA和處理器集成在一起的應(yīng)用稱為FPGA協(xié)處理。FPGA的這種使用方式能夠根據(jù)要求將新的特定應(yīng)用加速器下載到FPGA中,從而協(xié)助完成任何高性能應(yīng)用。這一概念被廣泛應(yīng)用于高級(jí)軍事多標(biāo)準(zhǔn)無(wú)線電設(shè)備,通常稱為軟件無(wú)線電(SDR)技術(shù)。采用SDR技術(shù),通過(guò)簡(jiǎn)單的按鍵就可以使一個(gè)無(wú)線電設(shè)備自動(dòng)適應(yīng)不同的無(wú)線電標(biāo)準(zhǔn),這不僅有助于設(shè)備適應(yīng)于未來(lái)的應(yīng)用,也能減少執(zhí)行不同任務(wù)時(shí)空閑的定制處理器的數(shù)量。這種軟件無(wú)線電技術(shù)也可以用于車載通信和視頻應(yīng)用。
FPGA在視頻處理和無(wú)線連接方面的靈活性還能節(jié)約設(shè)備成本,增加系統(tǒng)的價(jià)值。目前的基本架構(gòu)需要ASSP才能支持每個(gè)新的視頻編解碼或無(wú)線標(biāo)準(zhǔn)。用一個(gè)FPGA替代多個(gè)ASSP可以減少汽車使用壽命期間必須配置和維護(hù)的次數(shù)。擴(kuò)展車載娛樂(lè)系統(tǒng)的基本架構(gòu),使其包含F(xiàn)PGA就可以提供可編程的單一高端平臺(tái),從而涵蓋更寬范圍的視頻和無(wú)線標(biāo)準(zhǔn)和性能。這種方法同樣適合高級(jí)汽車娛樂(lè)系統(tǒng)架構(gòu)使用。
Delphi Delco電子系統(tǒng)公司發(fā)布了先進(jìn)的汽車娛樂(lè)系統(tǒng)架構(gòu)范例。該平臺(tái)采用了一個(gè)標(biāo)準(zhǔn)的SH-4微處理器和一個(gè)日立的HD64404“Amanda”ASIC器件,提供了80%中級(jí)汽車市場(chǎng)所需的基本功能。該系統(tǒng)提供了一個(gè)帶標(biāo)準(zhǔn)API層的通用控制處理器,可以對(duì)硬件外設(shè)和協(xié)處理器進(jìn)行抽象。ASIC提供基本的外圍器件功能和一體化的圖形處理器,這種圖形處理器可以支持交互圖形和擴(kuò)展功能,但不能提供視頻編解碼或其它DSP功能。該系統(tǒng)提供了所有娛樂(lè)設(shè)備所需的基本功能,但仍需要額外的ASIC或ASSP才能完成視頻編解碼和無(wú)線通信。
圖二
Delphi架構(gòu)中的Amanda芯片(見(jiàn)圖1,2 )使用了兩條處理總線,即用于視頻處理等高性能數(shù)據(jù)流的Pixel總線以及控制用的寄存器總線,這兩條總線都相連于SH-4 MPX總線和外部存儲(chǔ)器接口??偩€和存儲(chǔ)器接口的這種完美組合可以很好地支持基于FPGA協(xié)處理器的靈活視頻編解碼和無(wú)線通信平臺(tái)。
FPGA協(xié)處理可使FPGA與控制或DSP處理器緊密整合在一起,因此可以分擔(dān)大部分算法處理任務(wù),同時(shí)保留標(biāo)準(zhǔn)編程接口于控制處理器上。當(dāng)算法的主要數(shù)據(jù)流駐留于FPGA或相關(guān)存儲(chǔ)器上時(shí),這種整合的運(yùn)行效果最佳。算法是由來(lái)自于控制處理器的緩慢控制信號(hào)控制。
該類型架構(gòu)可以應(yīng)用于無(wú)線通信,它能通過(guò)單個(gè)FPGA支持GSM/EDGE、WCDMA、1xEVD0中的數(shù)字處理以及各種802.11標(biāo)準(zhǔn)。其它方案只能是針對(duì)每個(gè)標(biāo)準(zhǔn)做專門的硬件設(shè)計(jì),但這樣做會(huì)成倍增加成本和電路板面積。
另外,在圖像處理中應(yīng)用FPGA協(xié)處理后可以由單個(gè)FPGA完成包含MPEG2、MPEG4和H.264在內(nèi)的多標(biāo)準(zhǔn)視頻編解碼。事實(shí)上,這里可以使用與無(wú)線通信應(yīng)用中相同的FPGA。
FPGA協(xié)處理器通過(guò)直接存儲(chǔ)器訪問(wèn)(DMA)接口與基于處理器的系統(tǒng)整合在一起。運(yùn)行于嵌入式處理器上的軟件層為每個(gè)協(xié)處理器提供一個(gè)應(yīng)用接口,每個(gè)協(xié)處理器都有一個(gè)初始化例程,可以通過(guò)正確的應(yīng)用協(xié)處理器加載FPGA。在應(yīng)用程序初始化后,軟件就調(diào)用協(xié)處理器控制參數(shù)、時(shí)序和數(shù)據(jù)流進(jìn)出協(xié)處理器。根據(jù)具體的實(shí)現(xiàn)標(biāo)準(zhǔn)不同,在FPGA協(xié)處理器和控制處理器之間可能會(huì)有高等級(jí)的交互,也可能FPGA協(xié)處理器完全獨(dú)立工作。在這種情況下,控制處理器只是簡(jiǎn)單地加載算法,然后就處于獨(dú)立運(yùn)行狀態(tài)。
加載進(jìn)FPGA的每個(gè)程序映像(program image)需要整合進(jìn)周邊系統(tǒng)中。FPGA的可編程功能需要一個(gè)定義完善的系統(tǒng)接口才能實(shí)現(xiàn),因?yàn)槊總€(gè)基于FPGA的加速器都要依賴于它才能完成通信。通常FPGA會(huì)有多個(gè)接口連接控制器、存儲(chǔ)器及其它外圍器件或連接器。FPGA可能同時(shí)包含多個(gè)協(xié)處理器,這些協(xié)處理器共享一個(gè)連接控制處理器的接口。每個(gè)外圍器件或協(xié)處理器可以擁有額外的總線用于高性能數(shù)據(jù)流處理。
在視頻編解碼器中,一般有一個(gè)輸入源和一個(gè)輸出目標(biāo)。Delphi系統(tǒng)架構(gòu)中的視頻輸入接口是Amanda ASIC的一部分,并采用ITU-R BT.656接口用于視頻流。這個(gè)接口以后可以通過(guò)ASIC進(jìn)行擴(kuò)展和管理,以適合不同種類的顯示屏。FPGA可能需要連接到其它2條總線,即ASIC芯片上的存儲(chǔ)器總線和主控制處理器的PCI/MPX總線。通過(guò)這三個(gè)連接,F(xiàn)PGA就能支持高帶寬的視頻和通信應(yīng)用。
FPGA可以為特定應(yīng)用處理架構(gòu)提供可再編程的平臺(tái),從而彌補(bǔ)主處理器的不足。然而,F(xiàn)PGA程序與標(biāo)準(zhǔn)處理器架構(gòu)的程序具有本質(zhì)的區(qū)別。FPGA可以提供帶可編程邏輯單元、布線資源、DSP處理模塊、存儲(chǔ)器和I/O的高性能硬件結(jié)構(gòu)。FPGA的系統(tǒng)架構(gòu)執(zhí)行方式與標(biāo)準(zhǔn)ASSP基本相同,即系統(tǒng)的一些專用功能是通過(guò)硬件和軟件開(kāi)發(fā)工具設(shè)計(jì)和實(shí)現(xiàn)的。這些工具的輸出是一種二進(jìn)制映像文件,這些映像文件加載到FPGA中后將能確定所有可編程邏輯單元、布線資源、DSP處理模塊等的功能。主處理器可以在系統(tǒng)運(yùn)行期間將這些二進(jìn)制映像文件加載進(jìn)FPGA??梢詣?chuàng)建各種不同的程序映像來(lái)支持汽車信息通信系統(tǒng)中可能會(huì)用到的MPEG2、MPEG4、H.264、GSM/EDGE、WCDMA、1xEVDO、GPS、3D圖形加速器或其它算法。根據(jù)用戶在娛樂(lè)系統(tǒng)中的菜單選擇,特定應(yīng)用程序可以由主處理器下載到FPGA中,然后接受主處理器的控制。
FPGA用于可編程功能要求良好定義的系統(tǒng)接口
主處理器對(duì)特定硬件加速器的控制一般是通過(guò)寄存器和存儲(chǔ)器接口完成,每個(gè)寄存器控制硬件加速器工作的某些方面。Delphi系統(tǒng)中默認(rèn)的協(xié)同芯片就是這樣的,對(duì)于加載到FPGA的每個(gè)協(xié)處理器架構(gòu)來(lái)說(shuō)也將是這樣。采用FPGA,對(duì)于處理像標(biāo)準(zhǔn)化寄存器和存儲(chǔ)器接口以控制編程到器件中的協(xié)處理器這樣的任務(wù)來(lái)說(shuō)是很容易的。這個(gè)標(biāo)準(zhǔn)接口可以定義如何向協(xié)處理器讀寫數(shù)據(jù)、如何開(kāi)始和停止讀寫、如何復(fù)位,并包含一套控制特定應(yīng)用操作的寄存器。所有這些寄存器都是FPGA內(nèi)部線性地址映射中的一部分,因此軟件物理器件驅(qū)動(dòng)器很容易訪問(wèn)這些寄存器。
用于協(xié)處理器的軟件物理器件驅(qū)動(dòng)器的抽象級(jí)別要比用硬件實(shí)現(xiàn)的寄存器接口高。軟件驅(qū)動(dòng)器提供了從系統(tǒng)的算法參數(shù)到控制寄存器的映射,因此應(yīng)用軟件非常容易編寫和維護(hù)。更高層模型器件驅(qū)動(dòng)器在底層硬件實(shí)現(xiàn)變化過(guò)程中仍保持相當(dāng)?shù)目梢浦残?。Delphi系統(tǒng)中的軟件架構(gòu)可以支持軟件或硬件協(xié)處理器來(lái)實(shí)現(xiàn)算法,它提供了幾個(gè)抽象層,這些抽象層將在軟件或硬件中的算法實(shí)現(xiàn)與物理實(shí)現(xiàn)分離開(kāi)來(lái)。FPGA協(xié)處理器非常適合Delphi的軟件和硬件架構(gòu)。
FPGA被設(shè)計(jì)用于基本架構(gòu)與Delphi系統(tǒng)架構(gòu)類似的許多系統(tǒng)中。這些系統(tǒng)內(nèi)含一個(gè)以上的控制或DSP處理器,并利用FPGA來(lái)加速那些需要高性能處理的任務(wù)。實(shí)現(xiàn)FPGA協(xié)處理器的關(guān)鍵挑戰(zhàn)在于以下幾個(gè)方面:設(shè)計(jì)用于FPGA的不同的硬件加速器;硬件加速器與外部控制處理器整合;創(chuàng)建控制硬件加速器的軟件層。所有要求的硬件加速器包括用于視頻和通信應(yīng)用的主流算法。這樣的應(yīng)用今后會(huì)有廣闊的市場(chǎng),而且這種市場(chǎng)發(fā)展后會(huì)培養(yǎng)更多的特殊標(biāo)準(zhǔn)知識(shí)產(chǎn)權(quán)(IP)硬件加速器專業(yè)設(shè)計(jì)公司,這些公司能夠提供可以直接用在先進(jìn)的低成本FPGA中的現(xiàn)成算法。另外,也可以購(gòu)買針對(duì)MPEG2、MPEG4、H.264、WiFi和其它視頻與通信標(biāo)準(zhǔn)設(shè)計(jì)的商用IP模塊。圖3就是Amphion公司推出的MPEG4解碼器IP模塊框圖,可用于ASIC或FPGA中。
圖3
SOPC Builder的應(yīng)用
下一步是將FPGA中的硬件加速器與用于控制、數(shù)據(jù)輸入和輸出的外部總線整合起來(lái)。設(shè)計(jì)工程師可以利用新型開(kāi)發(fā)工具輕松地實(shí)現(xiàn)這一步。設(shè)計(jì)工程師可以使用Altera公司提供的系統(tǒng)集成工具SOPC Builder從可用的IP列表中選擇合適的IP模塊。在選擇時(shí)工具會(huì)提供一份參數(shù)化菜單,用戶可以在實(shí)現(xiàn)以前控制不同的架構(gòu)選項(xiàng)。一旦參數(shù)設(shè)定后,模塊就會(huì)包含在工程師準(zhǔn)備集成的其它外圍器件和處理器列表中。當(dāng)每個(gè)IP模塊都選好并設(shè)定參數(shù)后,還需要將其集成進(jìn)處理架構(gòu)中。
SOPC Builder使設(shè)計(jì)工程師可以定義高性能的交換架構(gòu)(switch architecture),并通過(guò)交換架構(gòu)將各種硬件加速器和周邊器件與外部主處理器連接起來(lái)。在模塊互連的直觀矩陣圖上通過(guò)點(diǎn)擊鼠標(biāo)就可以完成這種開(kāi)關(guān)架構(gòu)的定義。在定義好之后,SOPC Builder就能自動(dòng)組合各個(gè)IP,然后生成硬件描述語(yǔ)言的描述,并自動(dòng)綜合成最終的FPGA程序。在運(yùn)行期間將最終程序下載到FPGA,從而實(shí)現(xiàn)特定算法的協(xié)處理器。
硬件整合完成后,需要用軟件物理器件將高層軟件控制與用于控制硬件加速器的具體寄存器和存儲(chǔ)器映射架構(gòu)分隔開(kāi)。用于控制硬件加速器的寄存器和存儲(chǔ)器是參數(shù)化IP模塊的標(biāo)準(zhǔn)組件。然而,多個(gè)外圍器件與加速器的整合需要一份在FPGA上實(shí)現(xiàn)所有可編程特性的寄存器和存儲(chǔ)器映射。SOPC Builder在將IP組裝進(jìn)用戶定義的交換架構(gòu)時(shí)能夠自動(dòng)創(chuàng)建這樣的寄存器和存儲(chǔ)器映射。
每個(gè)IP模塊都包含一套預(yù)先定義好的軟件物理器件驅(qū)動(dòng)器,這些驅(qū)動(dòng)器主要用于外部主處理器對(duì)IP模塊的控制。SOPC Builder能夠自動(dòng)組裝各個(gè)軟件物理器件驅(qū)動(dòng)器,并自動(dòng)將每個(gè)驅(qū)動(dòng)器與被它控制的IP模塊相關(guān)的寄存器和存儲(chǔ)器映射關(guān)聯(lián)起來(lái)。因此SOPC Builder能夠通過(guò)這種方式自動(dòng)創(chuàng)建并整合FPGA協(xié)處理器和控制處理器的硬件與軟件架構(gòu)。SOPC Builder可以滿足FPGA快速發(fā)展的性能要求,并適應(yīng)FPGA不斷增強(qiáng)在復(fù)雜系統(tǒng)實(shí)現(xiàn)中應(yīng)用的能力。
推動(dòng)FPGA技術(shù)快速發(fā)展的因素
可編程邏輯器件自從20年前推出以來(lái)得到了迅猛發(fā)展,已經(jīng)從低水平的膠合邏輯發(fā)展成目前具有最低成本、最高可編程處理性能的器件。驅(qū)動(dòng)FPGA性能和成本的二大關(guān)鍵要素是:FPGA架構(gòu)的發(fā)展以及FPGA使用半導(dǎo)體技術(shù)的方式。FPGA架構(gòu)提供的可編程邏輯單元陣列是與可編程布線資源組合在一起的。在早期的低密度FPGA中,這種架構(gòu)能完成簡(jiǎn)單處理單元的互連。隨著FPGA密度的提高,陣列架構(gòu)可以提供高度并行處理的能力。目前FPGA架構(gòu)的整個(gè)處理陣列內(nèi)包含有存儲(chǔ)器模塊、DSP模塊和可編程I/O,因此能夠輕松滿足汽車信息處理系統(tǒng)的性能要求。
FPGA發(fā)展的另外一個(gè)重要驅(qū)動(dòng)源是工藝技術(shù)及其對(duì)性能和成本的影響。采用最新一代工藝技術(shù)可以提高FPGA的密度和性能,降低FPGA的成本。同時(shí),F(xiàn)PGA的廣泛應(yīng)用反過(guò)來(lái)也促進(jìn)工藝技術(shù)的發(fā)展。FPGA對(duì)半導(dǎo)體工藝技術(shù)的發(fā)展極具價(jià)值,因?yàn)樗鼈兪褂玫囊?guī)則結(jié)構(gòu)能夠在其生命周期的早期就投入批量生產(chǎn)。FPGA的規(guī)則結(jié)構(gòu)非常方便產(chǎn)品缺陷測(cè)試中統(tǒng)計(jì)數(shù)據(jù)的收集,這對(duì)精確調(diào)整工藝技術(shù)以達(dá)到更高制造良品率是非常重要的。FPGA和工藝技術(shù)之間的共生關(guān)系不斷地提高著FPGA的密度,并降低器件的成本。因此相對(duì)專用ASIC和ASSP來(lái)說(shuō),目前Altera的Cyclone系列低成本FPGA在價(jià)格方面極具競(jìng)爭(zhēng)性。
本文小結(jié)
汽車娛樂(lè)系統(tǒng)的技術(shù)和差異化在不斷快速發(fā)展。先進(jìn)的系統(tǒng)架構(gòu)服務(wù)于大部分主流汽車市場(chǎng),并通過(guò)附加ASSP和軟件的支持實(shí)現(xiàn)高端產(chǎn)品的差異化。FPGA提供了高性能和靈活的協(xié)處理平臺(tái),并將許多ASSP的功能整合進(jìn)一個(gè)可再編程平臺(tái)。FPGA協(xié)處理器非常適合Delphi架構(gòu)這樣的主流汽車娛樂(lè)架構(gòu)。將FPGA協(xié)處理器用作高端汽車娛樂(lè)系統(tǒng)架構(gòu)的一部分后,汽車公司就可以通過(guò)軟件編程提供ASSP無(wú)法單獨(dú)提供的多種高端視頻和通信性能。靈活的高端汽車娛樂(lè)架構(gòu)利用FPGA可以在汽車銷售甚至整個(gè)汽車生命期內(nèi)不斷實(shí)現(xiàn)新的功能。在銷售和售后階段增強(qiáng)汽車娛樂(lè)系統(tǒng)功能的能力可以提升汽車售中和售后的價(jià)值,而以前被租汽車的轉(zhuǎn)售價(jià)值仍是汽車制造商贏利的主要來(lái)源。
評(píng)論