采用FPGA協(xié)處理器優(yōu)化汽車信息娛樂和信息通信系統(tǒng)
集成了數(shù)據(jù)通信,定位服務(wù)和視頻娛樂的高端汽車信息娛樂系統(tǒng)需要高性能的可編程處理技術(shù),其最佳實(shí)現(xiàn)方法是在主流汽車信息通信系統(tǒng)構(gòu)架中集成FPGA協(xié)處理器。本文講述汽車娛樂系統(tǒng)的需求,討論主流系統(tǒng)構(gòu)架,以及FPGA協(xié)處理器是如何集成到軟硬件體系中,以滿足高性能處理、靈活性和降低成本的要求。
娛樂電子消費(fèi)已經(jīng)成為區(qū)分豪華轎車的標(biāo)志之一,推動(dòng)了汽車性能的快速發(fā)展,設(shè)計(jì)者必須在性能,成本和靈活性上進(jìn)行綜合考慮。高端應(yīng)用包括衛(wèi)星電話,后座娛樂,導(dǎo)航,各種音頻回放,語音合成、識(shí)別以及其他新的應(yīng)用。
帶動(dòng)汽車娛樂系統(tǒng)發(fā)展的核心技術(shù)同先前的汽車應(yīng)用有顯著的不同。不同于其他領(lǐng)域的汽車電子消費(fèi),這些娛樂應(yīng)用要高度的可視化,并且需求變化很快。此外,過時(shí)的娛樂系統(tǒng)將是新車賣不動(dòng)的主要原因,也是汽車轉(zhuǎn)售和租賃的主要障礙。
傳統(tǒng)的汽車電子消費(fèi)主要滿足一般標(biāo)準(zhǔn),例如長的換代周期,低成本和長期的溫度要求。這些要求也是汽車娛樂系統(tǒng)所需的。在汽車設(shè)計(jì)上,設(shè)計(jì)者面臨長換代周期中經(jīng)歷系統(tǒng)性能快速發(fā)展的挑戰(zhàn),而不再是長換代周期中的小改進(jìn)。新的需求使得系統(tǒng)結(jié)構(gòu)必須具有靈活性和很好的性能表現(xiàn),而這在基于專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)的傳統(tǒng)應(yīng)用系統(tǒng)結(jié)構(gòu)架中是無法實(shí)現(xiàn)的。
現(xiàn)在的基本車內(nèi)娛樂系統(tǒng)要求能夠支持具有圖形人性界面的平面顯示系統(tǒng),能夠顯示動(dòng)態(tài)地圖和汽車信息。這種系統(tǒng)圍繞高度標(biāo)準(zhǔn)化的微處理器實(shí)現(xiàn),周圍是各種標(biāo)準(zhǔn)接口和支持低端圖形處理的簡單硬件加速設(shè)備。它雖然以非常低的成本滿足了中等汽車娛樂系統(tǒng)的市場需求,但是可以擴(kuò)展到頂級(jí)豪華轎車的高端應(yīng)用上。頂級(jí)應(yīng)用包括視頻圖像和通信。各種支持這些應(yīng)用的標(biāo)準(zhǔn)(視頻:MPEG2,MPEG4,H.264;通信:GSM/EDGE,WCDMA,1xEVDO,衛(wèi)星電話,衛(wèi)星電視,數(shù)字視頻廣播和WiFi)均基于多種信號(hào)處理算法。這些算法要求非常高的可編程處理能力。現(xiàn)在有三種半導(dǎo)體技術(shù)可以實(shí)現(xiàn)這些非常復(fù)雜的算法。
這三種技術(shù)是可編程數(shù)字信號(hào)處理器(DSP),專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)和現(xiàn)場可編程門陣列(FPGA)。DSP為信號(hào)處理應(yīng)用提供了性能很高的可編程處理器。DSP處理器非常靈活,功耗低,成本效能高,但是缺乏硬件加速能力,無法為現(xiàn)在的尖端圖像處理和無線通信算法提供所需的計(jì)算功能。ASSP通常含有DSP處理器,為單個(gè)視頻或通信標(biāo)準(zhǔn)提供較好的解決方案,但是不能法通過編程來實(shí)現(xiàn)不同的標(biāo)準(zhǔn)要求。而FPGA同時(shí)具有很高的信號(hào)處理能力和可編程能力,能夠滿足很多標(biāo)準(zhǔn)和應(yīng)用場合的要求。與其他兩種技術(shù)不同,高性能、靈活的FPGA技術(shù)可以實(shí)現(xiàn)各種可能的算法。
前面所講的信息通信系統(tǒng)需要額外的處理芯片以滿足高端應(yīng)用。這些芯片一般是在存儲(chǔ)器或視頻處理總線上集成了處理器的ASIC和ASSP,成為專用協(xié)處理器。FPGA應(yīng)用上的強(qiáng)大之處在于對(duì)這種專用硬件的替代。FPGA和處理器配合使用,一般稱為FPGA協(xié)處理器。以這種方式使用FPGA可以使新的專用加速器按需求下載到FPGA里,應(yīng)用于任何高性能場合中。在高級(jí)軍事多標(biāo)準(zhǔn)無線電中,這種概念被廣泛采用,稱為軟件無線電(SDR)。SDR系統(tǒng)中,一個(gè)簡單的無線單元以“一鍵式”方式自動(dòng)適應(yīng)不同的無線標(biāo)準(zhǔn),可以應(yīng)用于面向未來的裝備中。這種方式還減少了處理器的數(shù)量,這些處理器在系統(tǒng)執(zhí)行不同任務(wù)時(shí),往往處于空閑的狀態(tài)。軟件無線電技術(shù)可以應(yīng)用于汽車市場的通信和視頻領(lǐng)域。
FPGA在視頻處理和無線連接上的靈活性同樣可以降低成本,提高系統(tǒng)價(jià)值?,F(xiàn)在的基本構(gòu)架需要為每個(gè)新的視頻編解碼器或者無線標(biāo)準(zhǔn)附加ASSP。以一個(gè)FPGA代替多個(gè)ASSP可以減少系統(tǒng)必須配置的各種體系結(jié)構(gòu),延長汽車的使用壽命。在基本車內(nèi)娛樂系統(tǒng)構(gòu)架中擴(kuò)展使用FPGA可以使單個(gè)高端平臺(tái)通過編程滿足寬視頻和無線標(biāo)準(zhǔn)的要求。這同樣可以應(yīng)用于高級(jí)汽車娛樂系統(tǒng)系統(tǒng)中。
[PE1]
一個(gè)前沿的汽車娛樂系統(tǒng)體系結(jié)構(gòu)實(shí)例已經(jīng)由Delphi Delco電子系統(tǒng)公司出版。該平臺(tái)利用標(biāo)準(zhǔn)的SH-4微處理器和一個(gè)協(xié)同ASIC,日立的HD64404“Amanda”外設(shè)12,,滿足了80%的中等汽車市場的基本功能需求。該系統(tǒng)提供了一個(gè)具有標(biāo)準(zhǔn)API層的通用控制處理器,將硬件外設(shè)和協(xié)處理器分離。協(xié)同ASIC提供了外設(shè)和集成圖形處理器的基本功能。圖形處理器支持圖形和比例函數(shù)的交互,但是不能實(shí)現(xiàn)視頻編解碼器功能或其他的DSP應(yīng)用。該系統(tǒng)為所有的娛樂應(yīng)用提供了基本功能,但仍需為視頻編解碼器和無線通信功能附加ASIC和ASSP。
Delphi體系中的Amanda協(xié)同芯片采用雙處理總線,Piexl總線用于視頻處理等高性能數(shù)據(jù)流,而Register總線進(jìn)行控制應(yīng)用。這兩個(gè)總線都連在SH-4 MPX總線和一個(gè)外部存儲(chǔ)接口上。總線和存儲(chǔ)接口的結(jié)合使用為基于FPGA協(xié)處理器的無線通信平臺(tái)和靈活的視頻編解碼器提供了理想的接口。
協(xié)處理技術(shù)將FPGA和控制器或者DSP處理器緊密結(jié)合,使它們不再陷于主要的算法過程,而將標(biāo)準(zhǔn)的程序接口駐留在控制處理器中。這種集成方式非常適用于主要數(shù)據(jù)流或者算法駐留在FPGA或相關(guān)存儲(chǔ)器的情況。算法由控制處理器產(chǎn)生的低速控制信號(hào)進(jìn)行控制。
這種體系結(jié)構(gòu)可以應(yīng)用于無線通信,以單個(gè)FPGA支持GSM/EDGE,WCDMA,1xEVDO和各種802.11協(xié)議中的數(shù)字處理。否則,對(duì)每一個(gè)標(biāo)準(zhǔn)都需要特定的硬件設(shè)計(jì),從而增加了成本,限制了應(yīng)用范圍。
此外,F(xiàn)PGA協(xié)處理技術(shù),可應(yīng)用于圖象處理,能夠以單個(gè)FPGA支持包括MPEG2,MPEG4和H.264在內(nèi)的多路視頻編解碼器。實(shí)際上,可以同樣采用無線通信技術(shù)中使用的FPGA。
FPGA協(xié)處理器通過基于直接內(nèi)存讀寫(DMA)的接口,集成在處理器系統(tǒng)中。嵌入式處理器的軟件層對(duì)每一個(gè)協(xié)處理器都有應(yīng)用接口,通過適當(dāng)?shù)膽?yīng)用協(xié)處理器,將初始化程序?qū)懭氲紽PGA中。一旦初始化完成后,軟件調(diào)用協(xié)處理器控制參數(shù),時(shí)序和輸入、輸出數(shù)據(jù)流。根據(jù)采用的不同標(biāo)準(zhǔn),在FPGA協(xié)處理器和控制處理器之間可能需要高級(jí)的通信對(duì)話,也可能FPGA協(xié)處理器單獨(dú)進(jìn)行工作,在這種情況下,控制處理器簡單的將算法加載后,便不再參與處理過程。
每個(gè)加載到FPGA上的程序都必須同周圍系統(tǒng)緊密結(jié)合。采用FPGA進(jìn)行編程,需要一個(gè)定義好的系統(tǒng)接口,每個(gè)基于FPGA的加速器通過它進(jìn)行通信。一般而言,F(xiàn)PGA需要多個(gè)接口連接到控制處理器,存儲(chǔ)器和別的外設(shè)或者連接器上。FPGA也可以同時(shí)有幾個(gè)協(xié)處理器,共享一個(gè)控制處理器接口。每個(gè)外設(shè)或者協(xié)處理器可以有附加總線,進(jìn)行高性能的數(shù)據(jù)流處理。
視頻編解碼器具有相應(yīng)的輸入和輸出。Delphi體系結(jié)構(gòu)的視頻輸入接口是Amanda協(xié)同ASIC的一部分,對(duì)視頻流采用ITU-R BT.656接口標(biāo)準(zhǔn)。可以進(jìn)行后級(jí)處理,使用ASIC以適用于不同的顯示屏。FPGA可能需要連接到另外兩個(gè)總線上,即存儲(chǔ)器總線和主控制器的PCI/MPX總線,它們都與協(xié)同芯片相連。通過這三個(gè)連接,由存儲(chǔ)接口實(shí)現(xiàn)寬帶通信,PCI/MPX總線實(shí)現(xiàn)控制通信,這樣,F(xiàn)PGA可以支持視頻和通信應(yīng)用。
FPGA為協(xié)同主處理器工作的專用處理體系提供了一個(gè)可編程平臺(tái)。FPGA程序與標(biāo)準(zhǔn)處理器體系的程序有根本不同。FPGA提供了可編程邏輯單元,布線,DSP處理模塊,存儲(chǔ)器和I/O的高性能硬件結(jié)構(gòu)。FPGA的體系結(jié)構(gòu)運(yùn)行起來同標(biāo)準(zhǔn)的ASSP非常相似,都是通過軟硬件開發(fā)工具設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)的特定功能。這些開發(fā)工具輸出的二值圖樣裝入到FPGA中后,定義了所有可編程邏輯單元,布線,DSP處理模塊等的功能。二值圖樣在系統(tǒng)運(yùn)行時(shí),由主處理器加載??梢援a(chǎn)生各種程序圖樣以支持MPEG2,MPEG4,H.264,GSM/EDGE,WCDMA,1xEVDO,GPS,3D圖形加速器或者任何其他可用于汽車信息通信系統(tǒng)的算法。根據(jù)娛樂系統(tǒng)中不同的用戶菜單選項(xiàng),專用程序由主處理器下載到FPGA中,并處于主處理器的控制之下。[PE2]
由主處理器控制專用硬件加速器,一般通過寄存器和存儲(chǔ)接口實(shí)現(xiàn),每個(gè)寄存器控制部分硬件加速器的運(yùn)行。這適用于Delphi系統(tǒng)的默認(rèn)協(xié)同芯片,也適用于下載到協(xié)同F(xiàn)PGA中的協(xié)處理器體系。通過使用FPGA可以直接將寄存器和存儲(chǔ)器接口標(biāo)準(zhǔn)化,以控制任何編程實(shí)現(xiàn)的協(xié)處理器。標(biāo)準(zhǔn)化的接口可以定義怎樣讀取和寫入?yún)f(xié)處理器數(shù)據(jù),怎樣開始和停止這一過程,怎樣進(jìn)行復(fù)位,并包括了一組寄存器實(shí)現(xiàn)控制專用操作。所有這些寄存器都是FPGA內(nèi)線性地址映射的一部分,這樣,軟件物理器件驅(qū)動(dòng)器能夠很容易的讀取寄存器。
協(xié)處理器的軟件物理器件驅(qū)動(dòng)器與硬件寄存器接口相比,具有更高級(jí)的抽象功能。軟件驅(qū)動(dòng)器實(shí)現(xiàn)了系統(tǒng)算法參數(shù)到控制寄存器的映射,因此可以很容易的編寫和維護(hù)應(yīng)用軟件。底層的硬件改變時(shí),高層的模型器件驅(qū)動(dòng)器可以保持不變。Delphi系統(tǒng)中的軟件體系提出了幾個(gè)抽象層,將算法實(shí)現(xiàn)從其軟硬件物理實(shí)現(xiàn)中分離出來,為軟件或硬件協(xié)處理器算法提供了強(qiáng)有力的支持。FPGA協(xié)處理器非常適用于這種Delphi軟硬件體系。
FPGA可以設(shè)計(jì)應(yīng)用到許多基本體系和Delphi結(jié)構(gòu)相似的系統(tǒng)中去。這些系統(tǒng)包括一個(gè)或者多個(gè)控制器或DSP處理器,可以使用FPGA加速實(shí)現(xiàn)需要高性能處理的任務(wù)。實(shí)現(xiàn)FPGA協(xié)處理器的關(guān)鍵在于為FPGA設(shè)計(jì)不同的硬件加速器,外部控制處理器集成硬件加速器,產(chǎn)生進(jìn)行硬件加速控制的軟件層。所需硬件加速器應(yīng)用包括視頻和通信的主流算法。這些應(yīng)用有廣闊的市場,已經(jīng)開始服務(wù)于那些致力于設(shè)計(jì)標(biāo)準(zhǔn)專用知識(shí)產(chǎn)權(quán)(IP)硬件加速器的專業(yè)公司。這類公司提供通用算法,直接應(yīng)用到先進(jìn)的低成本FPGA上??梢灾苯淤徺I商用MPEG2,MPEG4,H.264,WiFi的IP模塊,以及許多其他的視頻和通信標(biāo)準(zhǔn)IP模塊。[PE3]
圖2的例子是Amphion公司的MPEG4解碼器IP模塊,適用于ASIC或FPGA應(yīng)用場合。
下一步是在FPGA中集成硬件加速器,利用外部總線進(jìn)行控制,數(shù)據(jù)輸入和輸出。設(shè)計(jì)者可以使用一種新的開發(fā)工具,很容易的實(shí)現(xiàn)這種集成。利用來自Altera的系統(tǒng)集成工具--SOPC Builder,設(shè)計(jì)者從可用的IP列表中選擇合適的IP模塊。進(jìn)行選擇時(shí),參數(shù)化菜單顯示不同結(jié)構(gòu)的選項(xiàng),這些選項(xiàng)由使用者在執(zhí)行前進(jìn)行設(shè)置。設(shè)置好參數(shù)后,模塊便被包含到別的外設(shè)列表中,處理器由工程師進(jìn)行集成。每個(gè)獨(dú)立IP模塊被選擇并參數(shù)化后,他們將被集成到處理體系中去。
設(shè)計(jì)者使用SOPC Builder可以定義高性能的交換結(jié)構(gòu),將各種硬件加速器和外設(shè)連接到外部的主處理器上。這種交換結(jié)構(gòu)通過鼠標(biāo)點(diǎn)擊直觀的模塊連接矩陣來實(shí)現(xiàn)。體系結(jié)構(gòu)定義好之后,SOPC Builder自動(dòng)將各種IP綜合到一起,產(chǎn)生HDL描述,自動(dòng)綜合到最終的FPGA程序里。系統(tǒng)運(yùn)行時(shí),最終的程序下載到FPGA中,實(shí)現(xiàn)承載專用算法的協(xié)處理器功能。
硬件集成完成后,軟件物理器件驅(qū)動(dòng)器將高級(jí)軟件控制從指定的寄存器和用于控制硬件加速器的內(nèi)存映射體系中分離。控制硬件加速器的寄存器和存儲(chǔ)器都是參數(shù)化IP模塊的標(biāo)準(zhǔn)元件。多個(gè)外設(shè)和加速器的集成需要具有FPGA可編程特性的寄存器和內(nèi)存映射。SOPC Builder在將IP集成到用戶定義的交換體系中時(shí),自動(dòng)生成寄存器和內(nèi)存映射。
每個(gè)IP模塊包括一套定義好的軟件物理器件驅(qū)動(dòng)器,用于外部的主處理器對(duì)IP模塊控制。SOPC Builder自動(dòng)將各種軟件物理器件驅(qū)動(dòng)器集成在一起,并使每個(gè)驅(qū)動(dòng)器和進(jìn)行IP模塊控制的寄存器及內(nèi)存映射相關(guān)聯(lián)。SOPC Builder以這種方式自動(dòng)產(chǎn)生FPGA協(xié)處理器和控制處理器的軟硬件體系結(jié)構(gòu),并把它們集成到一起。SOPC Builder為滿足快速發(fā)展的FPGA技術(shù)而開發(fā),以實(shí)現(xiàn)各種復(fù)雜的系統(tǒng)。
可編程邏輯器件誕生20年以來,由最初低水平的膠合邏輯,快速發(fā)展到現(xiàn)在的低成本、高性能的可編程處理器件。兩個(gè)關(guān)鍵因素促進(jìn)了FPGA性能和成本的進(jìn)步:FPGA體系結(jié)構(gòu)的發(fā)展和FPGA半導(dǎo)體生產(chǎn)工藝的發(fā)展。FPGA體系結(jié)構(gòu)已經(jīng)發(fā)展到能夠?qū)⒖删幊踢壿媶卧涂删幊滩季€集成為陣列的形式。在早期的低密度FPGA中,僅將簡單的處理單元進(jìn)行連接。隨著FPGA密度的增加,陣列結(jié)構(gòu)實(shí)現(xiàn)了大量的并行處理功能。FPGA體系結(jié)構(gòu)包括存儲(chǔ)模塊,DSP模塊和遍及整個(gè)處理陣列的可編程I/O?,F(xiàn)在的處理體系結(jié)構(gòu)很容易滿足汽車信息通信的性能要求。
另一個(gè)推動(dòng)FPGA發(fā)展的關(guān)鍵因素是生產(chǎn)工藝技術(shù),以及它對(duì)性能和成本的影響。FPGA利用最新的生產(chǎn)技術(shù)來增加密度,提高性能并降低成本。同時(shí),F(xiàn)PGA也促進(jìn)了工藝技術(shù)的發(fā)展。FPGA在半導(dǎo)體工藝技術(shù)的發(fā)展中,具有重要的作用,這是因?yàn)樵谄湓缙诘纳a(chǎn)中,采用普通結(jié)構(gòu),生產(chǎn)了大量的產(chǎn)品。FPGA采用普通結(jié)構(gòu)可以對(duì)產(chǎn)品缺陷進(jìn)行很好的統(tǒng)計(jì)測量,這對(duì)仔細(xì)調(diào)整生產(chǎn)工藝技術(shù)以獲得高產(chǎn)非常重要。FPGA和生產(chǎn)工藝技術(shù)的相互促進(jìn)發(fā)展大大增加了FPGA的密度,同時(shí)降低了元件價(jià)格。因此,現(xiàn)在的低成本FPGA,例如Altera的Cyclone系列器件,可以和專用ASIC和ASSP在價(jià)格上相競爭。
汽車娛樂系統(tǒng)正在快速發(fā)展,技術(shù)不斷進(jìn)步,成為區(qū)分汽車等級(jí)的標(biāo)志。前沿的系統(tǒng)體系結(jié)構(gòu)服務(wù)于主流汽車市場,附加ASSP和軟件可以支持高端市場。FPGA提供了性能互補(bǔ)的和靈活的協(xié)處理平臺(tái),將許多協(xié)同ASSP加強(qiáng)到同一個(gè)可再編程平臺(tái)上。FPGA協(xié)處理器,例如前面提到的Delphi體系結(jié)構(gòu),非常適合于主流的汽車娛樂系統(tǒng)。汽車生產(chǎn)公司采用FPGA協(xié)處理器作為高端汽車娛樂系統(tǒng)的一部分,可以通過軟件編程提供許多高端視頻和通信功能,而這僅由ASSP是無法實(shí)現(xiàn)的。在高端靈活的汽車娛樂系統(tǒng)中使用FPGA可以在汽車上市以及汽車的整個(gè)生命周期里,實(shí)現(xiàn)向上促銷的銷售新模式。在汽車上市和以后的使用中,具有娛樂系統(tǒng)的汽車可以提升其自身的銷售價(jià)格。娛樂系統(tǒng)還是對(duì)以前出租過的汽車進(jìn)行估價(jià)的重要衡量因素。
1 "HD65505 (Amanda) Hardware Manual", 1st Edition, September 2002, Renesas Technology
2 "HD65505 (Amanda) Users Manual", Version 0.9, August 2003, Renesas Technology
[PE1]Insert Slide 1 Here. "Delphi Mobile Multi Media (MMM) Open Computing Platform With FPGA-Coprocessor"
[PE2]Insert Graphic "Delphi MMM Platform Programmed For Satellite Television Reception"
[PE3]Insert "Block Diagram of Amphion MPEG-4 Decode Intellec
評(píng)論