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