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