杜常清,朱體剛
(1.武漢理工大學 現代汽車零部件技術湖北省重點實驗室,武漢 430070;2.汽車零部件技術湖北省協同創新中心,武漢 430070)
與傳統的內燃機汽車相比,電動汽車動力系統中增加了電機驅動模塊和動力電池模塊;一般傳統的內燃機汽車沒有整車控制器,因此電動汽車動力系統在結構、控制等方面更為復雜。整車控制器(VCU)、電機控制器(MCU)和電池管理系統(BMS)這三者之間的通信直接影響到電動汽車的運行狀態,開發一套實時性高、可靠性好的動力系統CAN網絡對于電動汽車來講十分重要。通信協議的制定是CAN網絡設計過程中的關鍵環節。由于電動汽車動力系統與傳統的內燃機汽車在結構原理、控制方式上的差異,已經成功應用于傳統內燃機汽車上的通信協議并不能完全適用于電動汽車。此外,目前的電動汽車動力系統CAN網絡的應用層協議的制定并不統一。因此,制定一套適用于電動汽車動力系統的CAN通信協議具有較大的實用意義。
CANoe(CAN open environment)是德國 Vector公司開發的一款總線開發環境,是CAN通信網絡開發、測試和分析的專業工具,支持從需求分析到系統實現的整個系統的開發過程,具備提高工作效率、節省開發成本、工作可靠等優勢。以某微型客車改裝而成的電動汽車為載體,參照SAE J1939協議制定了動力系統應用層協議;利用CANoe搭建仿真模型并對設計的CAN網絡進行性能分析;在CANoe提供的環境中接入真實的通信節點硬件,進行硬件在環測試CAN網絡性能;驗證了設計的CAN網絡的可靠性和實時性,以及所制定的應用層協議的有效性和可行性。
電動汽車動力系統的核心由3大部分組成:整車控制器(VCU)、電機與電機控制器(MCU)以及電池與電池管理系統(BMS)。VCU主要通過獲取駕駛員的操控指令和行車狀態,如制動踏板信號、加速踏板信號、檔位信號等,經過判斷處理后再將相應的控制指令發給其他控制單元如MCU,以實現對整車狀態的控制。MCU一方面實現將電池提供的直流電轉換為電機運行所需的高壓交流電;另一方面,通過接收VCU發送的車輛運行狀態控制指令,來控制電機的運行狀態,如輸出轉矩、輸出轉速等,并將電機當前狀態反饋給VCU。BMS則實現對電池狀態的監測作用,進行電池的SOC估算,防止電池過充電或者過放電,提高電池利用率和使用壽命,并及時與VCU進行通信,將電池狀態反饋給VCU。
動力系統的通信主要存在于VCU、MCU、BMS三者之間,實現對整車運行狀態的控制,因此動力系統CAN網絡中主要包括3個節點,此外還有1個儀表顯示(HEC)節點。HEC節點在CAN網絡上處于只接聽不發送的狀態,接收網絡中的整車行駛信息、電機運行信息以及電池狀態信息等并實時顯示。
CAN網絡有多種不同的拓撲結構,其中的總線型結構實時性好;錯誤檢測校正能力強,系統可靠性高;能判斷錯誤節點,具有故障節點自動脫離的功能。因而,采用總線型CAN網絡結構從理論上講能夠滿足可靠性和實時性的要求。圖1為設計的電動汽車動力系統CAN網絡結構及信號流動圖。

圖1 電動汽車動力系統CAN網絡結構及信號流動Fig.1 CAN network structure and signal flow diagram of electric vehicle power system
CAN網絡通信協議的制定通常包括3個方面:數據鏈路層、物理層和應用層。數據鏈路層的主要功能是保證總線上節點之間數據的可靠傳輸,ISO 11898-1協議對數據鏈路層做了完整的定義,且不可隨意更改。物理層的設計主要涉及物理層接口的機械、電氣、功能和過程特性以及傳輸介質等,這些主要通過硬件來實現,目前已有相應的國際標準可供參考。而對于應用層來講,主要定義通信過程中所用到的各種參數,包括源地址(SA)、優先級(P)、參數群編號(PGN)等,完成標識符(ID)的設定、報文攜帶數據的分配、報文發送與接收節點的定義等[1]。
由于應用層協議與實際應用聯系緊密,目前沒有針對電動汽車應用層制定特定的標準;另一方面,應用層協議也是動力系統可靠實時控制的重要保證。因此,制定動力系統CAN網絡通信協議主要是制定應用層協議。本設計中主要參考SAE J1939的規范來制定適用于電動汽車動力系統的應用層協議。
源地址場長8位,網絡中一個特定的源地址只能分配給一個設備,因此源地址確保CAN標識符符合CAN協議中的唯一性要求。根據SAE J1939-81來定義該電動汽車動力系統節點源地址。0~127都不受產業類群和汽車系統的約束,可以分配給最常用的 ECU;128~247 留給行業特定分配;248~253 留給特殊的ECU。整車控制器(VCU)屬于新定義的節點,可以使用208~231這段屬于公路用車的預留地址;電機控制器(MCU)和電池管理系統(BMS)可在231~247中進行安排。
優先級可以從最高0(0002)設置到最低7(1112),所有控制消息的默認優先級是3(1102),請求和應答報文的默認優先級為6(1102)??偩€上通信量發生變化時優先級可以發生改變。
對各ECU節點的參數進行定義時應盡量將相同功能的參數、相近刷新率的參數以及同屬一個子系統的參數放在相同的參數組中,以此來減少報文數量,達到降低總線負載的目的。參數群編號(PGN)應按照參數組的重要程度來定義,主要用協議數據單元格式(PF)和群擴展場(PS)共同決定[2-4]。
根據功能需求,VCU、BMS和MCU 3個節點總共發出7條報文,這3個節點之間存在信息交流,HEC節點接收VCU發送的部分信息,實時顯示車輛運行狀態。根據應用層協議的制定原則,可以確定動力系統各個參數群的參數。報文的標識符(ID)中包含了報文的源地址、目標地址、報文優先級等信息,是CAN網絡中進行仲裁和接收濾波的重要依據。動力系統中傳輸的信號多為狀態信號,這里采用29位標識符(ID28~ID0)的幀格式來定義通信報文。圖2為SAE J1939協議中29位ID的對應關系,由此可確定各條報文的ID。表1中列出了參數群的參數定義。

圖2 SAE J1939協議中29位ID的對應關系Fig.2 Corresponding relation of 29 bit ID in SAE J1939 protocol

表1 參數群定義Tab.1 Parameter group definition
信息類型可以根據觸發方式分為固定周期型信息、事件觸發周期型信息和非周期型信息,一般可將非周期型信息合并到固定周期型信息中[5]。本設計中的信息類型為固定周期型。在數據場中進行字節和位的分配時,應考慮總線帶寬的利用率,盡量將相同節點發送的信號裝載到同一幀報文中進行傳輸。
根據電動汽車動力系統需要實現的功能來頂一個個節點的輸出參數,主要包括信號的發送周期、字節和位的分配、目標地址以及分辨率、偏移量等。表2中定義了報文的發送周期,介紹了每條報文中包含的具體內容。表3以VCU1這條報文為例,給出了相應的輸出信號參數,在制定通信協議時,其他報文的參數也應符合相應的規定。

表2 各節點報文信息Tab.2 Information of each node

表3 VCU1信號輸出參數Tab.3 Signal parameter of VCU1
CAN網絡的測試過程在CANoe提供的環境中進行,可以分別實現虛擬仿真和硬件在環測試。
在進行CAN網絡仿真時,由于在使用CANoe軟件建模之前已經制定了應用層協議,把已有的協議通過CANoe創建網絡配置文件,通過對網絡配置文件中的每個報文的信號進行定義,相當于把整個應用層協議輸入到了CANoe,當運行該網絡模型時即可模擬整個網絡的運行狀況。如圖3所示為搭建的動力系統CAN總線網絡。

圖3 動力系統CAN總線網絡Fig.3 Power system CAN bus network
利用CANoe進行硬件在環測試時,需要將模型中的虛擬節點從總線上斷開,再將真實的節點通過CANoe提供的硬件接口連接,完成各個真實節點的信號通道與CANoe中的信號通道匹配,實現真實節點在CANoe環境下的通信。
CAN網絡性能的好壞主要體現在實時性和可靠性方面,而CAN網絡的負載率直接影響到網絡的可靠性和實時性,負載率越高,CAN網絡上報文延遲時間越大,丟幀的可能性越大,進而導致CAN網絡的實時性和可靠性變差。波特率和報文發送周期是影響CAN網絡負載率的主要因素,可以通過CANoe的虛擬仿真環境進行測試。
波特率是對信號傳輸速率的一種度量,網絡設定不同的波特率時,其負載率也必然不同。CAN總線上的通信速率最高可達1 Mb/s,仿真測試了報文發送周期為50 ms時,波特率從100 kb/s~1 Mb/s變化的CAN總線上的負載率,將不同波特率下對應的總線負載率繪制成曲線,如圖4所示。當總線波特率越大時,負載率越小,100 kb/s波特率下對應的負載率為52.36%,而當波特率為1 Mb/s時負載率驟降到8.06%;隨著波特率的增大,負載率降低的程度也越來越小,即波特率對負載率的影響在逐漸變小。

圖4 總線負載率與波特率關系曲線Fig.4 Curve of bus load rate and baud rate
由于在實際應用中,波特率的設定需要考慮硬件性能,波特率高時相應的硬件配置要求也越高;此外,雖然波特率高時有利于降低總線負載,但是過高的波特率會造成總線利用率降低。在一般的設計中,CAN總線系統要求負載率不超過30%,最佳負載率不超過25%[6]。綜合上述的條件因素,可將總線波特率設定為500 kb/s,此時仿真測試的總線負載率為19.07%。
通常情況下,報文的發送周期越長,總線的負載率越低。這里仿真測試了波特率為500 kb/s時,不同報文發送周期對應的總線負載率,繪制成總線負載率與報文發送周期關系曲線,如圖5所示,當報文發送周期增大時網絡負載率有明顯下降。但是報文發送周期過長又可能導致實時性變差,選擇適中的報文發送周期是保證實時性的一種途徑。

圖5 總線負載率與報文發送周期關系曲線Fig.5 Curve of bus load rate and message transmission cycle
圖6是CANoe中的總線統計窗口,仿真設定的波特率為500 kb/s、報文發送周期為50 ms。從窗口中可以看到仿真測試的總線負載率為19.07%,峰值負載率為19.11%,沒有出現錯誤幀,網絡運行狀態良好。

圖6 仿真測試時的總線統計窗口Fig.6 Bus statistics of simulation
硬件在環測試是將真實的MCU、VCU和BMS 3個真實的節點通過CANoe硬件接口連接,在CANoe環境下實現相互通信,并監測該通信網絡的工作狀況[7]。根據仿真測試的結果,將硬件在環測試的網絡波特率設定為500 kb/s,報文發送周期為50 ms。從如圖7所示的總線統計窗口中可以看到,總線負載率為21.16%,峰值負載率為22.96%,沒有出現錯誤幀。

圖7 硬件在環測試時的總線統計窗口Fig.7 Bus statistics of hardware in the loop test
CANoe中的write控件統計了各條報文的發送時間間隔,統計結果如表4所示。設定報文發送周期為50 ms,在虛擬節點的仿真測試中,各條報文發送周期認為50 ms,沒有出現延遲;硬件在環測試中的各條報文均有延遲。報文延遲時間可以分為4個部分[8]:
(1)生成延遲:從發送節點處理器接收到本節點的請求,到它將準備好的數據寫入緩存隊列里的時刻。
(2)隊列延遲:從消息幀進入發送緩存到消息幀獲得總線控制權的時刻。
(3)傳輸延遲;從消息幀占據總線到消息幀脫離總線的時刻。
(4)接收延遲:從消息幀脫離總線到將其中的有效數據提供給接收節點微處理器中目標任務的時刻。

表4 報文延遲時間統計對比Tab.4 Statistical comparison of packet delay time
虛擬節點仿真時整個通信過程處于理想狀態,故而沒有出現報文延遲。而硬件在環測試時是真實節點之間的通信,按照現在的微處理器水平,生成延遲和接收延遲可以忽略不計,但是存在隊列延遲和傳輸延遲,因此各條報文均出現延遲。此外,從VCU節點發出的報文延遲時間相對最小,而從BMS節點發出的報文延遲時間最大,這主要是因為VCU節點發出的報文優先級最高,產生的隊列延遲最小,相對延遲時間最短;而BMS節點發出的報文優先級最低,產生的隊列延遲最大,相對延遲時間最長。
實時性與總線負載率又是相互影響的,報文延遲在一定程度上會造成相應的總線擁堵,使得總線負載變大。因此在相同的通信參數配置下,由于硬件在環測試存在報文延遲,總線負載率要比仿真時的略高。
從硬件在環測試結果來看,報文延遲時間均不超過0.5 ms,延遲率均控制在1%;總線負載率也在最佳負載率25%以內。整個CAN網絡工作正常,具有良好的可靠性和實時性。
以某微型客車改裝而成的電動汽車為載體,基于SAE J1939協議,系統介紹了電動汽車動力系統應用層通信協議的開發流程。利用CANoe提供的軟件和硬件分別做了CAN網絡的仿真測試和硬件在環測試。仿真和測試的結果表明,設計的CAN總線型網絡運行狀況良好,總線峰值負載率為21.16%,控制在最佳負載率25%以內;報文最大延遲時間不超過0.5 ms,延遲率在1%以內;證明了制定的應用層協議是可行的,設計的CAN總線型網絡具有良好的實時性和可靠性。
[1]李芳,張俊智,王麗芳,等.電動汽車動力總成系統控制器局域網(CAN)總線通信協議[J].機械工程學報,2008,44(5):102-107.
[2]羅峰,孫澤昌.汽車CAN總線系統原理、設計與應用[M].北京:電子工業出版社,2010.
[3]袁傳義,吳志新,劉成曄,等.應用于電動汽車的CAN網絡應用層協議研究[J].工礦自動化,2012(7):29-32.
[4]萬曉鳳,張燕飛,余運俊,等.基于嵌入式的純電動汽車CAN總線通信及實現[J].計算機測量與控制,2013,21(10):38-42.
[5]劉龍龍,楊正林,蓋福祥.深度混合動力汽車CAN網絡設計及研究[J].機械設計與制造,2015(1):35-38.
[6]馬付屹,郭朋彥,張瑞珠,等.基于CANoe的AMT汽車動力總成控制系統 CAN 通信設計[J].汽車電器,2015(2):34-36.
[7]Peter Waeltermann,Thomas Michalsky,Johannes Held.Hardwarein-the-loop testing in racing applications.SAE Paper 2004-01-3502.
[8]李佳,朱元,田光宇.CAN與TTCAN通信延遲時間的分析[J].清華大學學報:自然科學版,2006(2):261-265.