叢麗娜,榮志強
(華晨汽車工程研究院電氣部,遼寧 沈陽 110141)
汽車作為主要的出行交通工具之一,在人們生活中扮演著非常重要的角色。汽車網(wǎng)關(guān)作為汽車的信息樞紐幾乎在各種車型上得到應(yīng)用,尤其是家用轎車行業(yè)。它既可以單獨作為一個控制器,主要負責(zé)汽車上各控制器間信息交互的主體,也可以集成到汽車車身控制中,作為控制的核心功能之一。汽車網(wǎng)關(guān)的普及主要利益于電子技術(shù)的飛速發(fā)展?,F(xiàn)如今的汽車電控系統(tǒng)普遍采用現(xiàn)場總線網(wǎng)絡(luò)技術(shù)。很好的解決了汽車電控單元不斷增加帶來的線路復(fù)雜和線束增加的問題[1],從經(jīng)濟性和汽車發(fā)展趨勢來看,網(wǎng)關(guān)控制都是汽車必不可少的控制器而且汽車網(wǎng)關(guān)下在不斷向多協(xié)議并存的方向發(fā)展。
由于汽車上控制器不斷的增加,功能越發(fā)繁復(fù),汽車開發(fā)的不同階段都有可能會涉及到更改網(wǎng)關(guān)通訊協(xié)議的突發(fā)情況,按照傳統(tǒng)的網(wǎng)關(guān)開發(fā)模式,首先更改程序要通過器件供應(yīng)商,存在時間問題,從問題提出到落實到程序上,可能需要的時間比較長,其次,更改程序還可能涉及到開發(fā)費用的問題,不但延長了開發(fā)周期而且面臨增加開發(fā)成本的風(fēng)險。所以汽車開發(fā)過程中,汽車廠商如果可以利用當下盛行的基于模型的開發(fā)流程,結(jié)合專注于汽車控制器開的快速原型產(chǎn)品, 開發(fā)出適于自身汽車網(wǎng)關(guān)控制器更新?lián)Q代的開發(fā)平臺,不但可以增加網(wǎng)關(guān)軟件質(zhì)量把控能力,而且可以加快開發(fā)流程,降低成本,提高產(chǎn)品質(zhì)量,增強自身市場競爭力。
基于以上思想,本文決定選用德國dSPACE的快速原型系統(tǒng)開發(fā)套件結(jié)合美國The MathWorks公司的軟件進行網(wǎng)關(guān)開發(fā)平臺的搭建。本文設(shè)計的網(wǎng)模型具有兩路CAN,符合實際汽車的基本需要。
技術(shù)的發(fā)展使得汽車電氣集成化程序不斷提高,對原有硬線通訊方式造成了很大沖擊,因此20世紀80年代末,德國博世公司為解決現(xiàn)代汽車中眾多控制單元、測試儀器之間的實時數(shù)據(jù)交換而開發(fā)了一種串行通信協(xié)議CAN,并使其成為國際標準(ISO11898)[2]。到目前為止,世界上已擁有20多家CAN總線控制器芯片生產(chǎn)商,110多種CAN總線協(xié)議控制器芯片和集成 CAN總線協(xié)議控制器的微控制器芯片[3]。
與傳統(tǒng)方式相比,CAN總線技術(shù)在汽車網(wǎng)絡(luò)中的應(yīng)用使車身控制網(wǎng)絡(luò)智能化得以實現(xiàn),主要體現(xiàn)在以下幾個方面:第一,減少了線束的數(shù)量和線束的容積,高了電子系統(tǒng)的可靠性、可維護性。第二,采用通用傳感器,到數(shù)據(jù)共享的目的。 第三,改善了系統(tǒng)的靈活性,即通過系統(tǒng)軟件可以實現(xiàn)系統(tǒng)功能的變化。 汽車電器部件具有故障診斷、在線自動監(jiān)測、失效后儀表盤自動指示故障等功能[4]。
dSPACE作為一家專注于汽車航空等行業(yè)開發(fā)工具研發(fā)的國際公司,其產(chǎn)品在汽車行業(yè)得廣泛的應(yīng)用。dSPACE實時系統(tǒng)大體可以劃分為軟件和硬件系統(tǒng)兩部分。
本文選用的硬件系統(tǒng)為MicroAutoBox II,這是一款用于執(zhí)行快速功能原型開發(fā)的實時系統(tǒng)。它的獨特優(yōu)勢在于它將強大的性能、全面的汽車 I/O 接口、極其緊湊而穩(wěn)健的設(shè)計(符合 ISO 16750-3:2007 極端沖擊與振動測試)以及合理的價格集于一身。此外,dSPACE還提供全面的軟件和硬件支持,幫助您有效降低整體系統(tǒng)成本。配備的接口可以滿足所有主流汽車總線系統(tǒng)的需要:CAN、CAN FD、LIN、K-Line/L-Line、FlexRay和以太網(wǎng)。與 ECU 相似,該系統(tǒng)可以在無需用戶干預(yù)的情況下運行。
軟件選用RTI和ControlDesk。RTI用于實時接口建模和從模型生成代碼并下載到處理器[5]。RTI擴展了 C 代碼生成器 Simulink Coder的功能,能夠在實時硬件上無縫地自動實施 Simulink 和Stateflow模型。用以執(zhí)行快速控制原型和硬件在環(huán)仿真,從而讓開發(fā)人員將精力完全集中在實際設(shè)計過程,并執(zhí)行快速的設(shè)計迭代。ControlDesk是用于無縫 ECU開發(fā)的dSPACE實驗軟件。從實驗開始到結(jié)束,它完成了所有必要任務(wù)并為您提供單一的工作環(huán)境。ControlDesk將多個專用工具的功能集于一身。它可以訪問仿真平臺以及所連接的總線系統(tǒng),還可以在 ECU 上完成測量、校準和診斷(例如通過標準化 ASAM 接口)。其靈活的模塊化結(jié)構(gòu)擁有高度可擴展性,可滿足特定應(yīng)用實例的要求。一旦模型已經(jīng)通過RTI實現(xiàn)并下載到實時硬件中,測試和調(diào)試工作由ControlDesk來控制,它將綜合管理試驗過程的,利用變量可視化、參數(shù)可視化、實現(xiàn)試驗過程自動化[6]。
網(wǎng)關(guān)開發(fā)平臺如圖1所示,主體由五部分組成。最先輸入為功能規(guī)范文件,此文件定義了網(wǎng)關(guān)需要處理的信息、不同信息的含義、信息間相互關(guān)系及在不同控制器的分布情況。它由整車研發(fā)中心相關(guān)器件開發(fā)人員按照不同車型的市場定位來設(shè)計。然后由算法工程師,基于功能規(guī)范設(shè)計matlab程序,之后通過RTI將設(shè)計程序下載到快速原型硬件產(chǎn)品,利用 ControlDesk開發(fā)相就的上位機監(jiān)測程序。將快速原型安裝到測試臺架或者試制試驗車上,運行軟件,通過監(jiān)測程序觀察程序的執(zhí)行,利用實驗結(jié)果對算法程序進行改進,如此不斷迭代,最終達到滿意的實驗結(jié)果。
圖1 網(wǎng)關(guān)開發(fā)平臺原理圖
此開發(fā)過程與傳統(tǒng)的供應(yīng)商開發(fā)過程不同,不需要依賴供應(yīng)商,可以對問題做出迅速的反饋和驗證,并提出解決方案,極在的縮短控制器開發(fā)的初期論證過程,縮短開發(fā)時間。
現(xiàn)如今的汽車電子集成度很高,各個模塊都有自己相應(yīng)的控制器,例如,針對發(fā)動機有發(fā)動機控制器,變速箱有變速箱控制器。但每個單獨模塊的控制器又不能獨立工作,各個控制器間需要實時通信,此時高速可靠的通信網(wǎng)絡(luò)便成為汽車必不可以的核心組件。CAN網(wǎng)絡(luò)在汽車上的應(yīng)用很好的解決了這個問題,它將汽車上所以控制器連接起來構(gòu)成了一個實時控制系統(tǒng),保證了系統(tǒng)中不同控制器可以在規(guī)定的時間內(nèi)響應(yīng)不同的控制信號[7]。
隨著控制器的不斷增加和各種新功能的不斷引入,控制器的數(shù)量和 CAN網(wǎng)絡(luò)傳遞的信息的數(shù)量也在不斷增大,而每條 CAN線的承載能力是有限的,如果此時依然將所有的控制器掛載在同一條CAN線上,輕則導(dǎo)致總線過載,重則發(fā)生關(guān)乎駕駛員生命財產(chǎn)安全的交通事故。這在汽車開發(fā)過程中是不允許的,因此在對汽車上各節(jié)點的實時性進行了分析之后,根據(jù)各節(jié)點對實時性的要求,將實時性要求嚴格的節(jié)點組成高速CAN通信網(wǎng)絡(luò),將其他實時性要求相對較低的節(jié)點組成低速CAN通信網(wǎng)絡(luò),并通過網(wǎng)關(guān)控制器將這速率不同的通信網(wǎng)絡(luò)連接起來,實現(xiàn)全部節(jié)點之間的數(shù)據(jù)共享。[8]
本文中網(wǎng)關(guān)控制器設(shè)計以某車型 CAN網(wǎng)絡(luò)為例,網(wǎng)絡(luò)分為動力CAN和車身CAN,動力CAN上電控單元主要有發(fā)動機控制系統(tǒng)(EMS)、安全氣囊控制系統(tǒng)(ABAG)、變速箱控制系統(tǒng)(TCU)、電動助力轉(zhuǎn)向系統(tǒng)(EPS)、車身動態(tài)穩(wěn)定系統(tǒng)(ESC)、巡航速度控制系統(tǒng)(STE)。車身CAN上電控單元主要有組合儀表控制系統(tǒng)(IPC),車身控制系統(tǒng)(BCM),多媒體控制系統(tǒng)(MMC)。整個汽車電子系統(tǒng)的通信網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖2所示。
圖2 汽車電子系統(tǒng)的通信網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖
基于上一小節(jié) CAN網(wǎng)絡(luò)設(shè)計,本節(jié)利用 Matlab的simulink和stateflow模塊以及dSPACE的RTI模塊進行網(wǎng)關(guān)控制算法開發(fā)。輸入為汽車系統(tǒng)架構(gòu)小組提供的汽車網(wǎng)絡(luò)DBC文件和網(wǎng)關(guān)的功能規(guī)范文件,輸出為SDF格式的汽車網(wǎng)關(guān)程序。
算法設(shè)計同時考慮系統(tǒng)功能的實現(xiàn)和調(diào)試的靈活性,以層次化建模為指導(dǎo)思想,將網(wǎng)關(guān)程序進行模塊化分割。外部接口由兩部分組成,動力CAN收發(fā)模塊,車身CAN收發(fā)模塊。此部分主要實現(xiàn)與外部的信息交換功能。系統(tǒng)時間由中斷模塊進行相應(yīng)的控制。中斷模塊對于信息收發(fā)極為重要。它決定了不同信息循環(huán)發(fā)送的觸發(fā)點。信息處理的核心為stateflow信息處理模塊是,它網(wǎng)關(guān)控制器的大腦,決定信息如何在兩條 CAN線路上進行交互,同時也是后續(xù)控制算法開發(fā)的關(guān)鍵部分。為了保證系統(tǒng)的正常運行,設(shè)計了ECU超時檢測模塊,它可以實現(xiàn)對控制系統(tǒng)的監(jiān)測功能,確保系統(tǒng)處于運行狀態(tài)。網(wǎng)關(guān)模型如圖3所示。
圖3 汽車網(wǎng)關(guān)模型
本小節(jié)設(shè)計的上位機監(jiān)控和測試程序由 ControlDesk來完成,根據(jù)監(jiān)控和測試需求將上位機功能劃分為四部分,參數(shù)設(shè)置模塊用來實現(xiàn)對程序中不同變量的設(shè)置,以此來改控制器的性能,在程序運行過程對參數(shù)更改的功能亦是快速原型的突出優(yōu)點,采用此功能的優(yōu)點在于不再需要頻繁的修改模型、編譯和下載,極大的節(jié)省了程序開發(fā)和測試時間,可以讓程序員專注與問題本身,而不是把時間花費在反復(fù)編譯上。變量監(jiān)測模塊,此模塊可以根據(jù)測試規(guī)范監(jiān)測不同的變量,同時可以方便的添加和刪除不同變量。超時顯示模塊,用來顯示ECU信息接收是否超時,進而判斷相應(yīng)的控制器是否處于激活狀態(tài);示波器模塊的突出特點在于直觀顯示,可以以波形的方式顯示數(shù)據(jù),網(wǎng)關(guān)程序測試上位機界面如圖4所示。
經(jīng)過線下調(diào)試和修正之后的程序,開發(fā)人員利用VehcleSPY進行網(wǎng)關(guān)程序初步測試,然后由測試人員按照測試例程在汽車測試臺架上進行全面的測試,最終將網(wǎng)關(guān)程序安裝在實車上進行測試。圖5為臺架測試示例圖。
圖5 汽車網(wǎng)關(guān)測試圖
至此,針對此特定車型的網(wǎng)關(guān)測試程序設(shè)計完成。本文開發(fā)的程序,經(jīng)過簡單的模型修改便可以適用于其它車型網(wǎng)關(guān)程序的測試及開發(fā),開發(fā)周期將大大縮短,經(jīng)過汽車廠商自己測試過的網(wǎng)關(guān)程序,交由零部件公司進行進一步完善并最終進行生產(chǎn),不僅可以降低開發(fā)費用而且可以極大的縮短開發(fā)周期。
此外利用此平臺可以經(jīng)常優(yōu)化網(wǎng)關(guān)的控制設(shè)計,并利用網(wǎng)關(guān)對全局信息的掌控能力,進行算法開發(fā),可以快速驗證汽車廠商提出的新的控制策略等,不再需要受制與零部件開發(fā)商。此平臺的后續(xù)延展性有很大的空間。