由于能源與污染的問題,電動汽車正成為汽車技術研究和開發的熱點。電動汽車分為純電動汽車、混合動力汽車和燃料電池汽車等,是一種環境友好的先進交通工具。目前電動汽車一般都采用基于CAN(Control Area Network)總線的整車通訊控制系統。CAN總線是一種有效支持分布式控制或實時控制的串行通信網絡,具有實時性強、傳輸距離遠、抗干擾能力強、成本低的特點,在汽車通訊網絡中得到了廣泛的應用。 汽車在開發過程中需要對整車運行參數進行采集和監控,以便分析各部件的運行狀況,優化和改進整車控制策略。在整車耐久性考核中也需要全程采集和記錄運行數據,以便對整車及部件性能變化進行分析。因此車載CAN總線監控系統是電動汽車研究和開發的重要工具,本文重點論述車載CAN總線監控系統的開發以及在燃料電池汽車道路考核試驗中的應用。 1 汽車CAN網絡結構及通訊協議 在電動汽車中,整車控制器通過CAN總線與電機、蓄電池等部件通訊,讀取各部件的狀態信息并向部件發送控制信息。圖1為一種燃料電池汽車的CAN網絡結構,整車控制器通過CAN網絡采集燃料電池、DC/DC轉換器、蓄電池和電機等部件狀態參數,根據一定的控制策略向DC/DC轉換器和電機發送控制命令,使動力系統各部件協調工作,實現整車的動力性和經濟性指標。監控系統連接到CAN總線上,讀取總線的數據幀,實現數據的采集和存儲。 在CAN網絡中數據以報文為單位進行傳輸,節點對總線的訪問采取位仲裁方式。報文起始部分為標識符,在CAN2.0B中標識符采用29位格式,如圖2所示。其中,優先級為3位,共8個優先級;8位PS為發送此報文的源地址,8位SA為目標地址,8位PF為報文代碼。 監控系統與整車CAN網絡連接,可接收總線上的全部數據幀。一個CAN數據幀包括標識符和8字節數據。根據標識符可判斷出該數據幀是哪個部件發送的,再根據部件的通訊協議對8個字節數據進行解析可得到實際的參數值。 圖3為燃料電池汽車中燃料電池控制器向整車控制器發送的一個數據幀的格式。標識符ID為29位數據,根據標識符格式定義可以得出燃料電池地址為11,整車控制器地址為10,數據幀優先級為3。數據部分包含燃料電池輸出電壓、燃料電池輸出電流、電堆溫度、故障碼、狀態位和控制器LIFE信號等信息。 2 監控系統硬件設計 車載CAN總線監控系統硬件結構如圖4所示,采用基于PC總線工業控制計算機(IPC)的硬件設計。便攜式工控機Apollo150具有抗干擾和減震設計,適合于車載使用;具有一體化的液晶顯示屏和鍵盤鼠標設計,便于人機界面設計;通過USB2.0接口連接U盤進行存儲,保證車載環境下大量數據的可靠存儲;可以通過PCI和ISA擴展槽擴展數據采集和通訊接口;燃料電池汽車提供24V直流電源,經逆變電源轉換成220V交流電,經UPS給工控機供電。基于IPC的硬件結構具有可靠性好、便于擴展的特點 ,同時可以利用PC機強大的軟硬件資源,提高開發效率。 CAN通訊接口卡選用PCI7841雙口隔離型CAN接口卡,該接口卡插在Apollo150的PCI擴展槽上,采用SJA1000 CAN控制器以及82C250 CAN接收器芯片,提供總線仲裁和錯誤檢測功能,以確保數據通訊的可靠性。PCI7841具有兩個獨立的CAN接口,最高通訊速率為1Mbps。 3 監控系統軟件設計 3.1軟件功能需求分析 CAN總線監控系統軟件功能主要包括數據采集、故障診斷、界面顯示和數據存儲。數據采集功能對整車CAN網絡上的數據幀進行采集,根據通訊協議對數據進行解析,提取相應的數據;故障診斷功能對部件發送數據幀中的故障碼進行分析,判斷當前系統存在的故障信息;界面顯示功能對采集的數據以各種形式顯示在液晶屏上;數據存儲功能將采集數據以文件形式連續存儲在U盤上。 3.2 基于虛擬儀器的軟件設計 虛擬儀器技術目前已成為測試領域的主流技術,一個虛擬儀器系統主要由儀器硬件、計算機硬件和應用軟件組成,應用軟件又包括開發環境、應用程序和儀器驅動程序三部分。LabVIEW是NI公司推出的虛擬儀器開發平臺,采用圖形化的編程語言,具有強大的人機界面設計和數據分析處理功能,提供了豐富的儀器驅動程序,便于快速創建靈活可靠的應用系統。基于LabVIEW環境的虛擬儀器體系結構如圖5所示。 CAN總線監控系統軟件采用虛擬儀器開發平臺LabVIEW開發,儀器硬件部分包括便攜式工控機和PCI總線CAN通訊接口卡。PCI-7841 CAN接口卡提供了動態鏈接庫(DLL)形式的Windows2000/XP驅動程序,在LabVIEW中通過DLL調用實現第三方硬件的儀器驅動。PCI-7841提供的主要驅動程序功能如表1所示。 車載CAN總線監控系統采用了PC架構和高性能數據通訊接口卡,利用虛擬儀器軟件開發平臺的儀器驅動、界面控件以及應用程序開發調試環境,提高了系統的可靠性和開發效率。 3.3 監控軟件流程設計 CAN總線監控程序流程如圖6所示。首先進行硬件初始化,創建文件目錄。讀取CAN信息幀后按照協議進行解析,首先將數據幀分離成ID部分和數據部分,根據ID判斷是哪一個部件的信息;然后根據協議中定義的參數起始字節和總字節數取出數據,經過偏移量和比例因子運算得出該參數的實際值。由于CAN網絡中包含了整車控制器和各部件的控制器節點,在當前時刻緩沖區內有多個數據幀,監控程序在進入讀數據循環時不停地讀緩沖區的CAN數據,直到緩沖區數據讀取完畢為止,這樣保證了讀取數據的實時性。讀取的數據連續存儲在U盤上,存儲頻率為10Hz,由于數據量較大,為了避免數據文件過大,監控系統每隔1小時重新創建一次文件,根據當前時間生成文件名。當用戶按下結束按鈕后監控程序結束。 4 應用實例 在燃料電池汽車道路考核試驗中,應用車載CAN總線監控系統采集和記錄整車CAN網絡數據。圖7為采集的車速曲線,圖8為燃料電池電壓電流曲線,其中車速數據來自于整車控制器,電壓、電流數據來自于燃料電池發動機控制器。 |