基于CAN總線的電動車控制系統(tǒng)設計方案
隨著現(xiàn)代汽車的快速發(fā)展,汽車電子設備不斷增加,傳統(tǒng)的接線方式已遠遠不能滿足汽車愈加復雜的控制系統(tǒng)要求,汽車控制局域網CAN總線應運而生,它廣泛應甩于汽車電子控制系統(tǒng)中,也是唯一一個成為國際標準的汽車局域網。
目前,由于環(huán)境污染和能源危機問題日益嚴重,電動汽車的發(fā)展開始得到各國的高度重視,成為未來汽車發(fā)展的主流方向。電動汽車主要具有三大關鍵技術:驅動控制系統(tǒng)、電池電源、整車電子控制系統(tǒng)。整車電子控制系統(tǒng)必須滿足純電動汽車的設計理念,使之既節(jié)能又簡單可靠。在目前電池技術水平下,解決兩大關鍵技術,有助于電動汽車在中國首先市場化,其經濟意義不言而喻。 電動汽車動力系統(tǒng)結構復雜多樣,部件類型繁多。先進高效的控制體系結構,可以使電動汽車各動力系統(tǒng)之間的數(shù)據(jù)交換滿足簡單迅速、可靠性高、抗干擾能力強、實時性好、系統(tǒng)錯誤檢測和隔離能力強等要求。
本文設計了一種基于CAN總線的電動汽車整車電子控制系統(tǒng),本系統(tǒng)采用短幀的報文結構,數(shù)據(jù)傳輸時間短,具有很強的抗干擾性,具有高效的非破壞總線仲裁,出錯檢測和故障自動關閉等優(yōu)點。
1 控制系統(tǒng)整體結構
電動車控制系統(tǒng)由電池管理、充電機、電動機和整車控制等模塊組成。本系統(tǒng)總體結構如圖1所示。
由圖1知,CAN通信網絡上共有4個通信節(jié)點。整車控制器接收BMS、CCS、電機控制器的報文提供的各種參數(shù);充電機接收BMS發(fā)送的控制信息并根據(jù)報文數(shù)據(jù)的電壓電流設置來工作;電機控制器接收BMS發(fā)送的電池狀態(tài)信息設置來工作,同時電機控制器接收由整車控制器發(fā)送的控制信息并根據(jù)報文數(shù)據(jù)的轉矩設置來工作。
2 CAN總線節(jié)點的硬件電路設計
CAN是ControllerAreaNetwork的縮寫,是ISO國際標準化的串行通信協(xié)議。在當前的汽車產業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數(shù)量也隨之增加。為適應"減少線束的數(shù)量"、"通過多個LAN,進行大量數(shù)據(jù)的高速通信"的需要,1986年德國電氣商博世公司開發(fā)出面向汽車的CAN通信協(xié)議。此后,CAN通過ISO11898及ISO11519進行了標準化,現(xiàn)在在歐洲已是汽車網絡的標準協(xié)議?,F(xiàn)在,CAN的高性能和可靠性已被認同,并被廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等方面?,F(xiàn)場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的技術支持。
整車控制節(jié)點是基于STM32F103VE設計的。ARMCortex TM-M3是一款高性能、低成本、低功耗的32位BISC處理器,可在高達72 MHz的頻率下運行,擁有512 KB的片內Flash程序存儲器,具有64 KB的RAM數(shù)據(jù)存儲器,可進行高性能的CPU訪問。該徽控制器包含1個USB2.0全速(12 Mb/s)設備、1路CAN2.0B通道、1個通用DMA控制器、3個16位的A/D轉換器和1個16位的D/A轉換器。同時該微控制器具有4個16位捕獲/比較定時器和1個看門狗定時器,因此ARM cortexTM-M3可以滿足電動車控制的需要,減少了系統(tǒng)硬件設計的復雜度。STM32F103VE支持J-Link實時仿真和跟蹤,內部搭載有1通道的支持CAN20.B規(guī)格的CAN控制器,使得CAN通信模塊的設計更加方便。整車控制節(jié)點硬件電路圖如圖2所示,由徽控制器STM32F103VE、 CAN總線收發(fā)器82C250、2個高速光耦16N137等組成。
STM32F103VE采用單電源供電,時鐘由8 MHz外部晶振產生。對Flash存儲器的編程通過J-Link進行編程(IAR)實現(xiàn)。STM32F103VE內部集成一路CAN控制器,簡化了傳統(tǒng)單片機外接CAN控制器和CAN收發(fā)器的復雜外圍電路。收發(fā)器82C250是CAN控鑭器和物理總線之問的驅動器接口,它可以提供對總線的差動發(fā)送能力和對 CAN控制器的差動接收能力,其位速度高達1Mb/s,與ISO11898標準兼容。它的斜率控制功能使電磁兼容性能增強,準備模式可以減少網絡的功耗,準備模式中,網絡一旦檢測到總線上有報文就會被立即激活。同時,它可提供更強抗干擾能力,以及有熱保護、短路保護、支持多達110個節(jié)點等好處。
在微控制器和CAN總線收發(fā)器之間,采用了2個高速光電耦合器6N137進行電氣隔離,防止將總線干擾引入系統(tǒng),提高了系統(tǒng)的可靠性。同時,在節(jié)點端部接有1個120 Ω終端匹配電阻,提高了數(shù)據(jù)通信的抗干擾性。
3 CAN通信協(xié)議的設計
根據(jù)ISO/OSI模型,CAN總線規(guī)范了只制定了數(shù)據(jù)鏈路層中的媒體訪問子層和一小部分的邏輯鏈路控制子層,CAN的ISO標準規(guī)定了總線及驅動器的電氣特性。因此需要根據(jù)自己的需求設計通信協(xié)議。
CAN協(xié)議標準2.0B的數(shù)據(jù)幀的ID長度為29位,為擴展格式數(shù)據(jù)幀結構,如圖3所示。
數(shù)據(jù)幀由幀起始、仲裁段、控制段、數(shù)據(jù)段、CRC段、ACK段、幀結束組成。協(xié)議的設計是對標識符和數(shù)據(jù)位的定義。
本系統(tǒng)協(xié)議的設計參照SAEJ1939協(xié)議標準,標識符分配為優(yōu)先級(P)、保留位(R)、數(shù)據(jù)頁(DP)、代碼域(PF)、目標域(PS)、源地址(SA)和數(shù)據(jù)域(DF)7個部分。根據(jù)需求定義了5個報文,報文標識符定義如表1所示。
整車控制器的節(jié)點地址為OxA7;BMS節(jié)點地址為OxE4;CCS節(jié)點地址為OxE5;電機控制器節(jié)點地址為OxE6.
根據(jù)實際需求,設計了5個報文,分別為:BMS發(fā)給CCS和電機控制器的2個報文,CCS和電機控制器發(fā)給整車控制器的2個報文,整車控制器發(fā)給電機的報文。根據(jù)信息的重要程度,將電機控制器和整車控制器間的報文設計為最高優(yōu)先級3,其他報文優(yōu)先級設計為6.[!--empirenews.page--]
4 CAN總線節(jié)點的軟件設計
系統(tǒng)采用基于C語言的程序設計。在IAB開發(fā)環(huán)境下進行調試和仿真。整車控制節(jié)點的軟件設計主要包括4個部分:CAN控制器的初始化、報文發(fā)送、報文接收和錯誤處理。
4.1 CAN控制器的初始化
在啟動CAN通信前必需進行CAN模塊的初始化,包括硬件使能、CAN工作模式設置、總線波特率設置、設置中斷、驗收過濾器設置等。初始化操作在CAN模塊復位的模式下進行。初始化程序流程圖如圖4所示。
本設計中采用的是29位擴展標示符,符合CAN2.0B的標準,所以在驗收屏蔽過濾器設置中進行相應的設定。同時,本設計的CAN波特率設置為250 Kb/s,與總線上其他節(jié)點的波特率相同,才能進行正常的通信。
4.2 數(shù)據(jù)的發(fā)送
對CAN數(shù)據(jù)的發(fā)送采用查詢方式,提高處理器的效率,STM32F103VE的CAN模塊有3個發(fā)送郵箱,發(fā)送報文的流程為:應用程序選擇一個空發(fā)送郵箱;設置標識符,數(shù)據(jù)長度和待發(fā)送數(shù)據(jù);對CAN+TixR寄存器的TXRQ位置1,請求發(fā)送;一旦CAN總線進入空閑狀態(tài),發(fā)送郵箱中的報文則立即發(fā)送,成功發(fā)送后,郵箱為空;通過查詢CAN_TSR寄存器的TXOK位來查詢報文是否發(fā)送成功。數(shù)據(jù)發(fā)送程序的流程圖如圖5所示。
4.3 數(shù)據(jù)的接收
對CAN報文的接收采用中斷方式,提高通信的實時性。接收報文的流程如圖6所示。當CAN總線發(fā)來一個報文,根據(jù)屏蔽過濾器設置的標識符進行過濾,如果是要接收的報文,則CAN控制器將總線上的報文按順序存入接收FIFO,并進入接收中斷,在中斷中對接收FIFO中的報文進行存儲,然后釋放 FIFO郵箱。如果不釋放郵箱,當總線上再發(fā)送過來報文時,會直接覆蓋上一個報文,從而導致報文丟失。數(shù)據(jù)接收程序流程如圖6所示。
4.4 錯誤處理
電動車的整車控制器需要接收BMS、CCS和電機控制器這3個節(jié)點發(fā)來的報文,如果超過1 s未接收到例如BMS的報文,則通信鏈路超時,此時需要進行故障處理。所以在軟件設計時,定義一個全局變量,在每個定時周期中加1,在接收BMS報文中斷中,對此變量清零,則可以實現(xiàn)通信超時檢測。當總線發(fā)生嚴重故障時,CAN節(jié)點錯誤寄存器累積到一定次數(shù)時,CAN控制器會關閉總線,節(jié)點脫離總線。
5 結論
在實車實驗中,各個節(jié)點可以實現(xiàn)可靠的數(shù)據(jù)通信,可以實現(xiàn)電動車的加減速和勻速運行。在本電動車控制系統(tǒng)中,設計的CAN通信節(jié)點體積小、功耗低、處理能力強、抗干擾性好,能在電磁環(huán)境復雜的環(huán)境中穩(wěn)定、可靠地工作。在電動車控制系統(tǒng)中可實現(xiàn)數(shù)據(jù)的實時快速通信,可靠性