FPGA為車用微控制器提升設(shè)計(jì)靈活性
在汽車電子中廣為采用的微控制器(MCU)正快速面臨時(shí)間和成本的壓力。使用MCU的主要優(yōu)勢(shì)一直以來(lái)都是‘創(chuàng)造具有高性價(jià)比的高階系統(tǒng)整合’。然而,在此一優(yōu)勢(shì)之下,有一些與元件本身相關(guān)的潛在成本是超乎于其單價(jià)水平的。例如,若選用的元件無(wú)法創(chuàng)造所需特性,則必須增加外部邏輯、軟體或其它整合元件。
本文引用地址:http://www.ex-cimer.com/article/196682.htm再者,目前汽車終端市場(chǎng)對(duì)于需求的變化屢見(jiàn)不鮮,以至MCU很快就變得不適用;許多具有專門(mén)特性以及固定專用介面數(shù)量的MCU,經(jīng)過(guò)短暫的評(píng)估后即無(wú)法滿足市場(chǎng)需求。因此,系統(tǒng)供應(yīng)商不得不重新設(shè)計(jì)硬體及編寫(xiě)相關(guān)軟體,在某些情況下,甚至必須更換處理器核心。
MCU的困境
MCU制造商正被迫面對(duì)會(huì)為整個(gè)市場(chǎng)帶來(lái)巨大影響的挑戰(zhàn)。MCU是針對(duì)應(yīng)用而設(shè)計(jì)的元件;因此必須針對(duì)個(gè)別應(yīng)用,設(shè)計(jì)具有不同性能組合的新元件。要以一個(gè)單一核心架構(gòu)來(lái)滿足這個(gè)廣大市場(chǎng),制造商必須提供多款MCU系列,提供不同的介面與功能。而市場(chǎng)上大部分的實(shí)例顯示,目前的特性組合無(wú)法具體滿足客戶的需求,為了能夠量產(chǎn),必須在一個(gè)特定核心架構(gòu)上改變新介面與功能。
過(guò)去的MCU是以舊有技術(shù)搭配相對(duì)低的制造成本來(lái)實(shí)現(xiàn),在過(guò)去這是個(gè)成功的方法。但現(xiàn)在,為實(shí)現(xiàn)更高階的系統(tǒng)整合,廠商不斷采用先進(jìn)制程技術(shù),開(kāi)發(fā)新的變種MCU所需費(fèi)用變得相當(dāng)可觀。由于只有少數(shù)客戶會(huì)下訂單,因此,為滿足單一客戶需求而生產(chǎn)如此特殊的元件便不再具有商業(yè)意義。
因此,新的變種MCU被設(shè)計(jì)成具備越來(lái)越豐富的特性,以吸引整體市場(chǎng),它正向標(biāo)準(zhǔn)產(chǎn)品發(fā)展,不再是針對(duì)特殊應(yīng)用的元件。然而雖然這些標(biāo)準(zhǔn)產(chǎn)品的功能非常強(qiáng)大,但其成本也相對(duì)大幅增加,最后變得更難滿足諸如汽車電子等對(duì)成本非常敏感的市場(chǎng)。
除了改變引起問(wèn)題的根源——晶片上的固定功能,我們別無(wú)他法。很明顯的,我們需要一種新的設(shè)計(jì)方法。
圖1:此汽車資訊娛樂(lè)平臺(tái)具有多個(gè)子系統(tǒng)、可擴(kuò)展介面以及功能。
靈活的MCU概念
打破這個(gè)僵局的方法,是使用FPGA在晶片上實(shí)現(xiàn)靈活的功能。FPGA能顯著縮短工程開(kāi)發(fā)時(shí)間以及降低多次晶片返工成本,為MCU提供一個(gè)強(qiáng)而有力的可行替代方案。例如,采用基于FPGA的方法為汽車音響和導(dǎo)航設(shè)備開(kāi)發(fā)一個(gè)靈活的繪圖系統(tǒng),可將開(kāi)發(fā)時(shí)間縮短6個(gè)月。
與不具備所需特性的MCU不同的是,在設(shè)計(jì)過(guò)程中,可根據(jù)需要對(duì)FPGA進(jìn)行編程和改編,以加快原型產(chǎn)生速度及產(chǎn)品上市時(shí)間。若需求改變,還可在現(xiàn)場(chǎng)對(duì)FPGA進(jìn)行升級(jí)——即使元件已被安裝在產(chǎn)品內(nèi)。
相較于傳統(tǒng)控制器,F(xiàn)PGA已成為汽車?yán)L圖控制器所采用的主要設(shè)計(jì)方法。雖然為了諸如繪圖等獨(dú)立功能所設(shè)計(jì)的低價(jià)FPGA能廣泛地為汽車市場(chǎng)所接受,但為實(shí)現(xiàn)可編程能力,仍需在晶片上做出巨額投資,因此擴(kuò)增的復(fù)雜功能也將使得可編程元件價(jià)格趨于昂貴。
但隨著目前已能從FPGA無(wú)縫轉(zhuǎn)換為結(jié)構(gòu)化ASIC,一個(gè)靈活的微控制器已兼具了價(jià)格競(jìng)爭(zhēng)力,它從一個(gè)預(yù)定義的大型元件庫(kù)與可擴(kuò)展建構(gòu)模組中所選取的性能也可以具體滿足客戶需求。
它與傳統(tǒng)MCU的主要區(qū)別在于,從原型FPGA到最終MCU的無(wú)縫轉(zhuǎn)換過(guò)程。CPU和匯流排架構(gòu)對(duì)靈活的MCU概念來(lái)說(shuō)都是特殊的,且對(duì)于特定客戶應(yīng)用,它們可將所需特定功能及特性映射到設(shè)計(jì)中。
圖2:FPGA到ASIC整合提升了控制器的性能和特性。
RISC CPU
在Altera設(shè)計(jì)概念中使用的CPU是軟RISC處理器。然而,與一般情況不同,該處理器并不是建構(gòu)在一個(gè)預(yù)先設(shè)定好、無(wú)法改變的晶片內(nèi)。相反地,它采用的作法是依據(jù)系統(tǒng)架構(gòu)師/設(shè)計(jì)工程師,借助可用工具定義的規(guī)格自動(dòng)產(chǎn)生,并與整個(gè)電路所需的其余邏輯同時(shí)載入FPGA。因此對(duì)于特定應(yīng)用需求,可使用相關(guān)開(kāi)發(fā)工具對(duì)處理器核心進(jìn)行參數(shù)化。更重要的是,它可根據(jù)所需功能以及實(shí)現(xiàn)這些所需功能所需的邏輯資源,無(wú)縫地實(shí)現(xiàn)設(shè)計(jì)。
在基于Altera的靈活MCU應(yīng)用中,Nios II嵌入式處理器采用一款帶32位元獨(dú)立位址和資料匯流排的標(biāo)準(zhǔn)RISC架構(gòu)。兩個(gè)匯流排都透過(guò)獨(dú)立快取記憶體執(zhí)行,且可獨(dú)立地連續(xù)饋送到匯流排系統(tǒng)。最后,系統(tǒng)架構(gòu)師決定對(duì)程式碼和資料采用個(gè)別記憶體或是兩者共用記憶體。任何處理器包含的功能單元都呈現(xiàn)在Nios II嵌入式處理器中,根據(jù)不同設(shè)定決定它們的特性。例如可選擇硬體乘法器、桶式移位器以及硬體除法器作為選項(xiàng),同樣地,對(duì)指令和資料緩沖記憶體進(jìn)行精確的處理,其尺寸可不同或是徹底被排除在外。
匯流排架構(gòu)
傳統(tǒng)上在MCU內(nèi)一直是采用單匯流排,一個(gè)仲裁器用于監(jiān)控匯流排,以便使匯流排成為一種分散式資源。隨著作為系統(tǒng)中心資源的匯流排迅速成為一項(xiàng)瓶頸,這種安排導(dǎo)致了嚴(yán)重的損害。因此,在較新的系統(tǒng),特別是在許多匯流排平行工作的系統(tǒng)級(jí)晶片(SoC)上,已開(kāi)始采用多層匯流排架構(gòu)。目前FPGA的匯流排組織結(jié)構(gòu)也以相似的原則進(jìn)行,不同的是,在其他多層匯流排中所呈現(xiàn)的層數(shù)是固定的,但FPGA匯流排建構(gòu)能讓使用者依需求自由選擇層數(shù)。
當(dāng)考慮到電磁相容性(EMC)和功耗問(wèn)題時(shí),附加一個(gè)有別于整體系統(tǒng)執(zhí)行功率的周邊模組有時(shí)是合理的。舉例而言,以較高速度執(zhí)行一個(gè)記憶體介面,將可縮短存取時(shí)間,而系統(tǒng)內(nèi)其余元件便得以較低的時(shí)脈速率運(yùn)作。另一種方案是可在相對(duì)較低時(shí)脈便已足夠的地方整合多個(gè)模組。
為滿足EMC或功耗要求,采用諸如SOPC Builder等高階系統(tǒng)設(shè)計(jì)工具可輕易地將這些部分與系統(tǒng)內(nèi)以很高頻率工作的部分分離。這些工具可自動(dòng)產(chǎn)生同步這些不同時(shí)脈域所需的邏輯,而設(shè)計(jì)師只需指定在一個(gè)特定時(shí)脈域中執(zhí)行哪些模組。
在FPGA內(nèi)實(shí)現(xiàn)MCU
由于汽車MCU系統(tǒng)的復(fù)雜性比純繪圖控制器要高得多,所以FPGA大多用于原型邏輯產(chǎn)生。以FPGA產(chǎn)生原型能大幅降低開(kāi)發(fā)風(fēng)險(xiǎn),因?yàn)樗芴峁┤骝?yàn)證、韌體開(kāi)發(fā)以及現(xiàn)場(chǎng)測(cè)試的功能。除此之外,藉由使用FPGA產(chǎn)生原型,設(shè)計(jì)師能以‘在系統(tǒng)內(nèi)’的方式執(zhí)行元件,并以真實(shí)情境的方式運(yùn)作,以識(shí)別出一些模擬時(shí)沒(méi)被偵測(cè)出的潛在設(shè)計(jì)缺失。
軟體發(fā)展在整個(gè)開(kāi)發(fā)周期中占了絕大部份。隨著軟體發(fā)展要花更長(zhǎng)時(shí)間及更多資源,原型系統(tǒng)可縮短整個(gè)開(kāi)發(fā)周期、發(fā)現(xiàn)設(shè)計(jì)缺失、解決相容性問(wèn)題、緩解對(duì)新硬體功能的需求,以支援無(wú)法用軟體有效處理或?qū)崿F(xiàn)的功能。
用真實(shí)系統(tǒng)進(jìn)行現(xiàn)場(chǎng)測(cè)試有助于察覺(jué)無(wú)法在實(shí)驗(yàn)室發(fā)現(xiàn)的系統(tǒng)或元件缺陷。在許多情況,銷售人員為了說(shuō)服客戶提前下單,擁有一個(gè)展示系統(tǒng)是不可或缺的。
而一些在最初規(guī)格中沒(méi)有的特性和功能也許也將成為必須。無(wú)論是因?yàn)橹皼](méi)發(fā)現(xiàn)的缺陷還是必須需增加新功能,F(xiàn)PGA產(chǎn)生的原型都可以快速地被修改,無(wú)須一再花費(fèi)巨額工程成本或忍受漫長(zhǎng)制造周期。
靈活MCU概念中的最后步驟是ASIC開(kāi)發(fā)。一旦建構(gòu)并測(cè)試完原型系統(tǒng),則可著手將設(shè)計(jì)轉(zhuǎn)換為結(jié)構(gòu)化ASIC。例如,若采用Altera元件,設(shè)計(jì)立即被轉(zhuǎn)換為HardCopy結(jié)構(gòu)化ASIC元件。與其它結(jié)構(gòu)化ASIC不同,若采用該設(shè)計(jì)流程,則無(wú)須重新進(jìn)行設(shè)計(jì)合成或花費(fèi)額外的驗(yàn)證周期,因這些元件采用的是與其FPGA互補(bǔ)的構(gòu)件。
采用該結(jié)構(gòu)化ASIC流程提供的快速轉(zhuǎn)換速度能讓設(shè)計(jì)師快速簽核FPGA邏輯,因而實(shí)現(xiàn)快速、低成本的轉(zhuǎn)換。
本文小結(jié)
下一代汽車電子系統(tǒng)需要高度專用、成本最佳化的元件以滿足市場(chǎng)需求。考慮到先進(jìn)制程技術(shù)開(kāi)發(fā)成本的急劇成長(zhǎng),對(duì)傳統(tǒng)MCU針對(duì)特殊應(yīng)用而設(shè)計(jì)的作法在商業(yè)考量上已不再適用。
針對(duì)廣泛應(yīng)用市場(chǎng)所設(shè)計(jì)的功能豐富型元件也因?yàn)檫^(guò)于昂貴而漸被市場(chǎng)淘汰。取而代之的則是靈活的MCU概念,只要將它安置在FPGA中來(lái)產(chǎn)生原型,就能提供為特定應(yīng)用開(kāi)發(fā)恰到好處MCU的程序。設(shè)計(jì)完成后,甚至在設(shè)計(jì)過(guò)程中可立即進(jìn)行驗(yàn)證、軟體發(fā)展和現(xiàn)場(chǎng)測(cè)試。
為進(jìn)行量產(chǎn),F(xiàn)PGA設(shè)計(jì)被直接映射為一個(gè)結(jié)構(gòu)化ASIC而無(wú)須重新合成或額外驗(yàn)證。不只是軟體發(fā)展,該方法實(shí)現(xiàn)了將硬體定義掌控在汽車電子系統(tǒng)設(shè)計(jì)師手中。創(chuàng)造了一種與當(dāng)今任何固定功能MCU相比,均可花費(fèi)更少時(shí)間以及更低成本的應(yīng)用最佳化車用MCU。
評(píng)論