基于MPC555的開放式汽車電子控制平臺(圖)
本設(shè)計在基于MPC555微控制器硬件平臺基礎(chǔ)上,構(gòu)建了一個開放的符合OSEKIVDX標準的汽車電子控制平臺。
開放式汽車電控單元設(shè)計的關(guān)鍵問題
根據(jù)IEEE的定義,開放式控制系統(tǒng)必須使相應的執(zhí)行程序能夠運行于來源不同的平臺,與其他的系統(tǒng)應用進行無縫的連接和相互操縱,并為用戶提供一個具有一致風格的交互接口。這一定義明確的提出了開放式控制系統(tǒng)的特點和設(shè)計的關(guān)鍵,即可互操作、可復用、可擴展以及可互換。
另外,由于車輛使用環(huán)境變化較大,控制系統(tǒng)要求有較強的適應性,能夠根據(jù)環(huán)境的變化進行系統(tǒng)動態(tài)配置,在線切換算法組件和改變組件間的互連等。
在硬件方面,由于硬件結(jié)構(gòu)相對固定,系統(tǒng)升級基本采用部件替換或者增減的方式,更新周期也相對較長。因此,其開放性著重考慮的是硬件系統(tǒng)在汽車控制領(lǐng)域的通用性和適應性,也就是說硬件系統(tǒng)應該適應車載控制系統(tǒng)針對不同控制對象和控制模型的資源需要,同時也應注意系統(tǒng)開放互連的硬件支持。
OpenECU的硬件系統(tǒng)設(shè)計
系統(tǒng)硬件架構(gòu)采用Freescale公司的MPC555作為控制核心,由電源模塊、存儲系統(tǒng)、復位電路和接口模塊幾部分組成。由于系統(tǒng)是面向汽車電子應用的,為保證系統(tǒng)的在汽車電子領(lǐng)域的開放性,應對汽車電子領(lǐng)域常用的接口信號進行處理,采用相應的專用接口芯片以滿足要求。同時,系統(tǒng)提供豐富的 I/O資源也有利于滿足開放性的要求。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
1 系統(tǒng)CPU選擇方案
平臺選用專為汽車電子等領(lǐng)域開發(fā)的處理器MPC555。基于對MPC500系列微控制器功能分析,選用MPC555的原因有如下幾點:CPU處理能力可以滿足算法對計算任務和浮點運算能力的需求;片上資源豐富,很多功能模塊,如TPU、MDA和CAN等,是專門為汽車電子行業(yè)量身定制的,片上多種控制功能模塊的集成,使得系統(tǒng)無須過多外接功能驅(qū)動芯片,且硬件布線減少,成本降低,有助于提高系統(tǒng)的可靠性;有較大的內(nèi)部存儲器容量,用戶可以在滿足要求的情況下自由選擇是否使用外部存儲器,這有利于節(jié)約成本,提高可靠性。
2 外擴存儲器系統(tǒng)的設(shè)計
MPC555微控制器片內(nèi)有448KB Flash,只提供32KB的SRAM,可能在某些復雜的控制場合存儲空間是不夠用的,為增強適應性,為用戶提供足夠的資源,本設(shè)計還外接SRAM和Flash存儲器芯片。Flash選用AMD公司的AM29LV160DB,共2片??偞鎯θ萘繛?MB。讀寫操作供電電壓范圍2.7~3.6V,訪問時間為90ns。SRAM選用ISSI公司的IC61LV5128-10T芯片,共4片,總存儲容量為2MB。訪問時間為10ns,供電電壓3.3V。
MPC555中的存儲器控制器提供了對EPROM、靜態(tài)RAM、Flash、EEPROM和其他外圍設(shè)備的接口能力,共提供四個存儲區(qū)段,分別由四根片選信號線CS[0]~CS[3]來進行選擇,支持讀寫操作。CS[0]還作為系統(tǒng)自舉時,程序入口地址區(qū)段的選擇信號線。根據(jù)這個特性可以把系統(tǒng)配置成Flash啟動方式。CS[1]作為SRAM的外擴片選信號。圖2給出MPC555微控制器外擴Flash和SRAM存儲器的連接圖。其中WE[0:3]/BE[0:3]為寫使能/字節(jié)使能信號線,其中WE[0]/BE[0]確認數(shù)據(jù)總線DATA[0:7]上的有效數(shù)據(jù),WE[1]/BE[1]確認數(shù)據(jù)總線DATA[8:15]上的有效數(shù)據(jù),WE[2]/BE[2]確認數(shù)據(jù)總線DATA[16:23]上的有效數(shù)據(jù),WE[3]/BE[3]確認數(shù)據(jù)總線DATA[24:31]上的有效數(shù)據(jù)。OE為輸出有效信號,CE為片選有效信號。由于MPC555微處理器按字尋址,未使用地址線低兩位以避免發(fā)生地址沖突。
圖2 MPC555微控制器外擴Flash和SRAM存儲器的連接圖
3 Lamda傳感器信號調(diào)理
LM9040是由兩路獨立的Lamda氧氣傳感器采樣輸入的差分放大器組成的雙通道傳感器接口電路。Lamda傳感器監(jiān)視發(fā)動機廢氣,根據(jù)空燃比產(chǎn)生測量的電壓信號。LM9040可以將±2V的傳感器差分測量信號轉(zhuǎn)換為適合5V參考電壓的A/D變換的輸出電壓。電路如圖3所示。
圖3 Lamda傳感器信號調(diào)理電路圖
4 CAN通信總線設(shè)計
為了實現(xiàn)動力總成控制系統(tǒng)中的分布式控制和實時數(shù)據(jù)交換,必須采用高傳輸速率、抗干擾能力強以及高可靠性的網(wǎng)絡(luò)總線方式。CAN總線以其突出的實時性、可靠性和靈活性的特點,在目前存在的多種汽車網(wǎng)絡(luò)通信標準中最具競爭實力。
MPC555中己經(jīng)內(nèi)嵌兩個CAN總線控制器模塊TouCAN,TouCAN符合CAN2.0B技術(shù)規(guī)范,兼容標準(11位標志符)和擴展(29位標志符)兩種報文格式,所以本設(shè)計采用集成控制器的方式來實現(xiàn)CAN節(jié)點。要進行CAN總線通信,還需要連接一個CAN收發(fā)器,在本系統(tǒng)中,選用CAN控制器與物理總線之間的接口芯片PCA82C251。值得注意的是,總線兩端需加120Ω的電阻,對于匹配總線阻擾,起著相當重要的作用。忽略掉它們,會使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至無法通信。通信介質(zhì)選用雙絞線。為了增強抗干擾能力,去除傳送信號過程中所產(chǎn)生的噪音,采用TDK公司特別為CAN總線使用而設(shè)計的高電感共態(tài)濾波器ZJYS81R5。
OpenECU的軟件系統(tǒng)設(shè)計
OpenECU的軟件系統(tǒng)根據(jù)開放性的要求,對用戶隱藏底層硬件和設(shè)備管理的細節(jié),將系統(tǒng)分層封裝為硬件抽象層和操作系統(tǒng)層,系統(tǒng)結(jié)構(gòu)如圖4所示。
圖4 OpenECU軟件系統(tǒng)結(jié)構(gòu)
硬件抽象層管理平臺的硬件資源包括三個主要的部分:硬件系統(tǒng)的設(shè)備驅(qū)動、硬中斷管理和系統(tǒng)調(diào)試與診斷支持。它是系統(tǒng)的硬件中斷的管理者,生成和維護中斷向量表,提供操作系統(tǒng)中斷管理的支持;通過對硬件設(shè)備資源的封裝,為操作系統(tǒng)提供設(shè)備操作的入口;采用中斷驅(qū)動的方式響應調(diào)試系統(tǒng)的服務,進行系統(tǒng)的狀態(tài)監(jiān)視。
OSEKIVDX為車用嵌入式操作系統(tǒng)及其相關(guān)服務提供了一系列標準,目的是促進不同設(shè)備之間的協(xié)調(diào)工作能力,為軟件開發(fā)者提供統(tǒng)一的編程接口,以提高軟件的復用性和互換性。OpenECU選擇TH-OSEK操作系統(tǒng)作為管理軟硬件資源的系統(tǒng)平臺和用戶控制算法的運行平臺。主要是因為其實時性較強,具有規(guī)范的應用程序接口,為控制模型提供標準的系統(tǒng)服務,可方便模型的實現(xiàn)和移植。另外,為了適用于廣泛的目標處理器,支持運行在廣泛硬件基礎(chǔ)上的實時程序,OSEK操作系統(tǒng)具備高度模塊化和可靈活配置的特性。這些特點顯然是與OpenECU開放式開發(fā)平臺所希望達到的開放性相一致的。OpenECU利用操作系統(tǒng)完成設(shè)備的進一步封裝,為控制模型提供了規(guī)范的服務接口,并滿足設(shè)備復用和控制實時性的要求,另外TH-OSEK操作系統(tǒng)定義了開放的網(wǎng)絡(luò)管理和通信系統(tǒng),可以方便的實現(xiàn)控制節(jié)點的動態(tài)配置。
對于系統(tǒng)的診斷和測試,本設(shè)計側(cè)重于提供一個實現(xiàn)診斷和測試服務的平臺和手段,而不關(guān)心具體的診斷和測試項目,這部分功能用戶可以根據(jù)具體情況在系統(tǒng)支持下進行定義。OSEK ORTI實現(xiàn)系統(tǒng)診斷測試應用的基本服務支持,提供對OSEK操作系統(tǒng)進行查詢和監(jiān)控的接口,通過這個接口上層的診斷服務可以獲取自己所關(guān)心的系統(tǒng)信息,并為診斷服務提供對目標操縱的基本手段。這部分是系統(tǒng)診斷和測試功能的實現(xiàn)基礎(chǔ),與診斷通信服務一起實現(xiàn)對目標的分布式調(diào)試與診斷。
結(jié)束語
初步的實際使用證明,本平臺可以方便用戶構(gòu)建復合汽車控制系統(tǒng),有效提高系統(tǒng)的可靠性,具有較高的實用價值。
評論