在過(guò)去的二十年當(dāng)中,,隨著交通工具復(fù)雜性的日益增加,,工程師已將ECU" title="ECU">ECU從8位MCU" title="MCU">MCU升級(jí)為16位以上的器件,。目前,這樣一個(gè)高度集成的32位RISC MCU就是瑞薩公司的SH7058" title="SH7058">SH7058,,它是一種具有1MB片上閃存和48KB RAM組成的80MHz的MCU,。由于存在多種系統(tǒng)需求,如控制擴(kuò)展級(jí)輸入/輸出(I/O),、借助于安全性高的通訊鏈接(如CAN和Flexray)與其它的車載系統(tǒng)進(jìn)行通訊以及具有浮點(diǎn)精度的處理算法,,當(dāng)今的ECU采用高速32位MCU就是必不可少的配置。
除了帶來(lái)新的性能優(yōu)勢(shì)之外,,最新的32位MCU減少了電路板設(shè)計(jì)的復(fù)雜性,,節(jié)省了整體PCB空間,降低了系統(tǒng)的功耗要求,,并且減少了電噪音和抵抗電磁干擾(EMI)的能力,。通常,每一個(gè)ECU的制造成本約70到100美元不等,,以這一成本計(jì)算,,一個(gè)MCU就占到了總成本的15%-20%。
采用32位MCU 的系統(tǒng)通常非常復(fù)雜,,并且一般需要花2到4年的時(shí)間才能完成一個(gè)ECU項(xiàng)目,,設(shè)計(jì)團(tuán)隊(duì)通常由1-2個(gè)硬件工程師和4-5個(gè)軟件工程師組成。為取得理想進(jìn)度,,所有的里程碑及需要的資源必須加以正確識(shí)別,。此外,從概念定義到生產(chǎn)的設(shè)計(jì)流程必須與開始相一致,。
項(xiàng)目計(jì)劃應(yīng)確定設(shè)計(jì)環(huán)境,,尤其是開發(fā)工具,并且要考慮測(cè)試和調(diào)試規(guī)劃,。圖1以圖解形式說(shuō)明了一個(gè)假想的ECU系統(tǒng)圖,。
系統(tǒng)劃分
在項(xiàng)目開發(fā)早期階段,主要目標(biāo)是確定用硬件實(shí)現(xiàn)什么功能,,而用軟件要實(shí)現(xiàn)什么功能,。這一決定將受工程預(yù)算、元件成本,、PCB空間和任務(wù)期限這些因素的影響,因而需要權(quán)衡決定,。在ECU設(shè)計(jì)當(dāng)中,,需要運(yùn)用大量的算法建模和系統(tǒng)仿真以解決設(shè)計(jì)劃分的優(yōu)化問(wèn)題,。目前,有一些供應(yīng)商提供解決設(shè)計(jì)劃分問(wèn)題的方案,。
軟件問(wèn)題
開發(fā)32位系統(tǒng)的時(shí)候,,軟件工程師必須考慮采用什么辦法去解決許多問(wèn)題。在ECU應(yīng)用中,,如果從以前的設(shè)計(jì)中所得的經(jīng)驗(yàn)證的代碼能夠被重新使用,,就會(huì)節(jié)省時(shí)間,工作量也會(huì)減少,。大部分的嵌入式設(shè)計(jì)要用用到C語(yǔ)言,,因而代碼可重用的比例很高。
但是,,移接原有的代碼需要改變外圍驅(qū)動(dòng)器和代碼區(qū)段,,該區(qū)段顯示了與MCU設(shè)計(jì)之間具有特定關(guān)系的項(xiàng)目。我們推薦使用像IAR's MakeApp這樣能節(jié)省數(shù)小時(shí)設(shè)計(jì)時(shí)間的器件驅(qū)動(dòng)程序代碼生成工具,。
與代碼開發(fā)工作項(xiàng)目相關(guān)的其它重要的問(wèn)題也不可被忽視:
* 實(shí)時(shí)操作系統(tǒng)選擇:已有很多論文和文章就如何選取擇實(shí)時(shí)操作系統(tǒng)給出了建議,。對(duì)于ECU設(shè)計(jì),OSEK已經(jīng)逐漸演變?yōu)樾袠I(yè)標(biāo)準(zhǔn)RTOS,,可從許多的供應(yīng)商那里買到這種具有確定性,、魯棒性、高效率和穩(wěn)定的解決方案,。
* 調(diào)試模式:軟件工程師應(yīng)當(dāng)在項(xiàng)目進(jìn)入集成階段的時(shí)候,,確信自身具備足夠的查錯(cuò)及排障的能力,盡管代碼模擬器相當(dāng)可靠,,但集成問(wèn)題還是存在的,。這時(shí)候要怎么辦?答案各有不同,。以ECU設(shè)計(jì)為例,,一個(gè)全速傳統(tǒng)的在線仿真器(ICE)的價(jià)格昂貴(12,000美元),它不僅在引擎隔倉(cāng)中應(yīng)用在線仿真的難度很大,,而且不能用于解決棘手的時(shí)序問(wèn)題,。
相比之下,片上調(diào)試(JTAG型) 仿真器是經(jīng)濟(jì)的($1,000) ,,并且較易于連接到系統(tǒng)上,。舉個(gè)例子,Renesas' E10A是一種JTAG-兼容硬件調(diào)試器,,該種調(diào)試器可使工程師詢問(wèn)并控制寄存器集以及某個(gè)超高整處理器的RAM存儲(chǔ)器,。此外,要提高ECU代碼的精度,,軟件工程師要能利用某種AUD(高級(jí)用戶調(diào)試) 的特性,,該AUD會(huì)形成超高速CPU管線的特別的線跡,。Renesas SH7058 MCU系列中,MCU上的AUD界面是雙向作用的,,并且無(wú)須暫停CPU,,也可使RAM進(jìn)行存儲(chǔ)。
硬件問(wèn)題
32位系統(tǒng)的開發(fā)過(guò)程中會(huì)遇到很多硬件問(wèn)題,,以下幾點(diǎn)值得特別注意:
* 電源供應(yīng)濾波:絕大部分32位MCU比16位MCU的運(yùn)行速度要快很多,,此外,32位MCU的CPU內(nèi)核要求獨(dú)立的低壓供電系統(tǒng),,因此其噪聲容限要比I/O電路嚴(yán)格得多,。因此,在PUB周圍,,尤其MCU的附近要安放足夠的低頻和高頻的去耦電容,,實(shí)踐表明去耦電容能夠有效地降低噪聲。
* 片上閃存:在過(guò)去,,用于ECU 系統(tǒng)中的許多MCU 不具備足夠的內(nèi)存作為一個(gè)單芯片控制器進(jìn)行運(yùn)行,,并且部分MCU 就根本沒(méi)有程序內(nèi)存,結(jié)果是程序內(nèi)存被設(shè)置在芯片之外,,由于需要大量高速尋址和數(shù)據(jù)總線,,因而常常會(huì)導(dǎo)致EMI問(wèn)題的出現(xiàn)。
目前,,像SH7058這樣的32位ECU具有1 MB閃存,,具有真正意義的單片解決方案特征。在大多數(shù)情況下,,由于具有大量的片上程序內(nèi)存,,所以不再需要片外內(nèi)存。在采用SH7058的ECU設(shè)計(jì)中,,片上閃存可通過(guò)兩種方式進(jìn)行固化,,一種是在主板制造前,對(duì)器件進(jìn)行固化,,另一種是主板的設(shè)計(jì)完成后在系統(tǒng)內(nèi)進(jìn)行固化,,這樣,軟件工程師在升級(jí)代碼時(shí)就有了很大的靈活性,,工程師甚至能在ECU被安裝在車輛內(nèi)部以后,,也能借助車載總線(CAN)進(jìn)行升級(jí)操作。
本文小結(jié)
從16位到32位MCU的跨躍是一個(gè)質(zhì)的飛躍,,這種趨勢(shì)是不可避免的,。32位實(shí)現(xiàn)方案極大地提升系統(tǒng)的運(yùn)算能力及操作性能,進(jìn)行成功轉(zhuǎn)換的關(guān)鍵是要有充分的準(zhǔn)備、訓(xùn)練和周密的開發(fā)工具選擇策略,,此外,,像瑞薩這樣的32位MCU供應(yīng)商的持續(xù)支持也是至關(guān)重要的。