文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.016
中文引用格式: 陳如尹,賴松林. 基于事件觸發(fā)的充電機與BMS通信設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(5):67-69,73.
英文引用格式: Chen Ruyin,Lai Songlin. Design of communication between charger and BMS based on event trigger[J].Application of Electronic Technique,2017,43(5):67-69,73.
0 引言
隨著石油資源的日漸枯竭、環(huán)境污染的不斷惡化、溫室效應(yīng)的不斷加劇,電動汽車(Electric Vehicle,EV)已經(jīng)成為了國際社會高度關(guān)注的熱點問題。伴隨著電動汽車技術(shù)的日漸成熟,與之配套的充電設(shè)施也隨之發(fā)展和普及。近年來,已經(jīng)投產(chǎn)了一定量的充電站和充電樁,主要包含快充、慢充、更換電池等功能。
電動汽車的充電過程主要是充電機與電池實現(xiàn)物理對接后,通過電池管理系統(tǒng)BMS(Battery Management System)與充電機進行通信,傳遞相關(guān)數(shù)據(jù)信息。充電機對BMS傳輸?shù)臄?shù)據(jù)進行解析和辨識后,調(diào)整充電的策略,完成電池的充電過程。因此,充電機與BMS之間的正常通信是保證整個充電系統(tǒng)正常工作的關(guān)鍵。
本文提出一種基于事件觸發(fā)邏輯的充電機與電池管理系統(tǒng)BMS通信模塊設(shè)計,該設(shè)計基于國家標準充電協(xié)議GB/T 27930-2011《電動汽車非車載傳導式充電機與電池管理系統(tǒng)之間的通信協(xié)議》(以下簡稱新國標)所規(guī)定的充電機與BMS的通信流程。將該流程以其實現(xiàn)的功能為依據(jù)劃分為多個事件,運用CAN總線建立一套可實現(xiàn)與BMS進行數(shù)據(jù)的請求、接收、解析和應(yīng)答的通信系統(tǒng),起到搭建BMS與充電機之間通信橋梁的作用。
1 基于CAN總線的充電機與BMS通信流程解析
新國標規(guī)定,BMS與充電機通信的過程可分為為握手階段、參數(shù)配置階段、充電階段和充電結(jié)束階段。
1.1 握手階段主要通信流程
握手階段是充電機與BMS上電后,主動發(fā)送握手請求報文CRM,可視為握手觸發(fā)事件。BMS發(fā)送電池身份編碼信息BRM給充電機,用于其辨識電池組。
電池身份編碼信息報文BRM包含BMS通信協(xié)議版本號和電池類型等信息,最長可達41 B。BMS可啟用數(shù)據(jù)傳輸協(xié)議TC.PM來進行數(shù)據(jù)的傳輸。
TC.PM協(xié)議可視為一連串固定事件的集成,BMS首先發(fā)送連接管理請求(TP.CM_RTS),該幀是用于向充電機進行數(shù)據(jù)發(fā)送的請求。充電機收到連接管理請求后,回復TP.CM_CTS報文給BMS,表示已經(jīng)做好接收數(shù)據(jù)的準備。
BMS以多幀形式發(fā)送電池身份編碼信息BRM,其中每一幀的首字節(jié)均為幀編號,后6字節(jié)為具體的數(shù)據(jù)信息。
在接收完電池身份編碼信息BRM后,充電機發(fā)送TP.CM_EM報文給BMS,表示數(shù)據(jù)包已被成功接收。傳輸協(xié)議TC.PM的數(shù)據(jù)交換流程如圖1所示。
1.2 參數(shù)配置階段主要通信流程
當BMS收到充電機發(fā)送的辨識成功報文后,進入到參數(shù)配置階段。
蓄電池充電參數(shù)BCP包括最高允許充電電壓、最高允許充電電流和電池額定容量等信息數(shù)據(jù)??赏ㄟ^TP.CM數(shù)據(jù)傳輸協(xié)議進行BCP數(shù)據(jù)的傳輸。
充電機接收到BCP報文后,開始發(fā)送時間同步信息報文CTS和充電機最大輸出能力報文CML。BMS根據(jù)其內(nèi)容完成時間的同步和確認充電機的輸出能力,并判斷自身狀態(tài)反饋是否能夠開始充電。充電機收到BMS的反饋后,同樣反饋充電機準備狀態(tài)。
1.3 充電階段主要通信流程
充電階段BMS和充電機各以不同周期實時發(fā)送充電相關(guān)數(shù)據(jù)。
BMS執(zhí)行發(fā)送電池充電需求、充電狀態(tài)和電池狀態(tài)等信息的事件,主要可用于充電機了解電池的充電狀況,根據(jù)需求來調(diào)整充電策略。
CCS報文事件為充電機發(fā)送的自身實時充電狀態(tài)。該報文用于讓BMS監(jiān)視充電機當前輸出的充電電流、電壓等信息。
當BMS或充電機判斷不能再繼續(xù)充電時,會觸發(fā)終止充電事件,發(fā)送結(jié)束充電報文BST或CST,并結(jié)束充電階段。
1.4 充電結(jié)束階段主要通信流程
當BMS觸發(fā)終止充電事件后,主動發(fā)送統(tǒng)計數(shù)據(jù)報文BSD給充電機。同理,當充電機檢測到終止充電命令后,也會發(fā)送統(tǒng)計數(shù)據(jù)報文CSD給BMS。由此充電階段全部完成,充電機和BMS通信結(jié)束,等待充電機和BMS下一次握手啟動。
2 基于事件觸發(fā)的充電機與BMS通信系統(tǒng)的設(shè)計
2.1 硬件設(shè)計
本設(shè)計運用增強型STM32F103ZET6作為充電機端的通信模塊的開發(fā)平臺,運用CAN總線實現(xiàn)數(shù)據(jù)的請求、接收、辨識和應(yīng)答等功能。
STM32內(nèi)部已經(jīng)集成了CAN總線模塊,支持CAN2.0A和CAN2.0B。因此,需將CAN的通信端口轉(zhuǎn)換并外接出來,便可以實現(xiàn)運用CAN發(fā)送和接收數(shù)據(jù)?;赟TM32的通信系統(tǒng)硬件原理圖如圖2所示。
主芯片STM32主要實現(xiàn)CAN總線數(shù)據(jù)的發(fā)送、接收和處理。PA11和PA12為CAN通信的IO口,通過與TJA1040高速CAN轉(zhuǎn)換器芯片連接引出CAN_H和CAN_L到外接端口P1上, P1端口用于實現(xiàn)與BMS的CAN端口對接,進行數(shù)據(jù)的通信。為保證通信的穩(wěn)定性,并聯(lián)120 Ω的R1電阻。
2.2 軟件設(shè)計
本設(shè)計以實現(xiàn)的功能為依據(jù)將通信流程劃分為多個通信事件,并將這些事件按觸發(fā)或響應(yīng)的順序封裝成功能函數(shù)。這種方式可以主動規(guī)范充電機的動作,避開冗余數(shù)據(jù)的接收,方便充電機上層軟件的選擇調(diào)用。CAN總線的初始化過程中,應(yīng)將標識符屏蔽寄存器的值置高,表示要ID完全匹配才能進行數(shù)據(jù)位的傳輸。
數(shù)據(jù)的辨識主要通過對通信協(xié)議中的PGN來判定,PGN是美國汽車工程學會SAE J1939協(xié)議中用來識別CAN報文中數(shù)據(jù)場的參數(shù)組,共24 bit。而在新國標中,傳輸?shù)拿恳唤M參數(shù)都有其固有的PGN值,從000100H~001D00H,通過對PGN值的檢測,可以用于辨識參數(shù)組。
2.2.1 充電機請求握手函數(shù)
充電機請求握手函數(shù)主要實現(xiàn)握手階段中針對BMS相關(guān)動作事件的觸發(fā)響應(yīng),當充電機尚未識別BMS時,主動發(fā)送握手請求CRM。隨后通過設(shè)立標志位進入循環(huán)等待,等待BMS發(fā)送的連接管理請求TP.CM_RTS的到來。當接收到連接管理請求后,充電機觸發(fā)重置標志位動作,跳出等待循環(huán),并答復CTS已經(jīng)做好接收數(shù)據(jù)準備。
BMS發(fā)送多字節(jié)的電池身份編碼信息BRM,充電機則同樣觸發(fā)循環(huán)等待數(shù)據(jù)的到來,并通過對幀編號的判定來確定每個數(shù)據(jù)所代表的意義。本文中為了方便上層控制端對電池身份編碼信息的識別和調(diào)用,將該報文的數(shù)據(jù)通過一個結(jié)構(gòu)體進行儲存,結(jié)構(gòu)體中每個變量的定義與協(xié)議中定義一致。在完全接收BRM后,再度重置循環(huán)標志位,跳出循環(huán),并將辨識結(jié)果反饋給BMS。
CRM的發(fā)送周期為250 ms,發(fā)送周期的邏輯主要是通過數(shù)據(jù)接收過程中的循環(huán)計數(shù)來配合實現(xiàn)的,在進入循環(huán)之前設(shè)定一個帶有初值的變量i,每次執(zhí)行循環(huán)判斷時將i的值減小,當i遞減到0時,觸發(fā)CRM發(fā)送函數(shù),同時重置i。因此,只要確定i的初值,使其遞減到0的時間為250 ms,即可實現(xiàn)CRM每250 ms發(fā)送一次。同時一旦充電機跳出循環(huán)等待進入新的通信階段,CRM的循環(huán)發(fā)送也會終止。等待接收和循環(huán)定時發(fā)送數(shù)據(jù)功能的流程圖如圖3所示。
充電機握手請求函數(shù)可以根據(jù)上層軟件的調(diào)用改變其發(fā)送的充電機辨識報文CRM,同時輸出一個保存有電池身份編碼信息的結(jié)構(gòu)體。
2.2.2 充電機參數(shù)配置函數(shù)1
充電機參數(shù)配置函數(shù)1主要是在BMS和充電機進入?yún)?shù)配置過程中時,充電機針對BMS發(fā)出的數(shù)據(jù)請求進行回應(yīng),并接收13字節(jié)的蓄電池充電參數(shù)BCP。
該函數(shù)無輸入變量,輸出為一個保存有BCP的結(jié)構(gòu)體。其接收BCP數(shù)據(jù)和將其保存到結(jié)構(gòu)體中的方式與接收BRM基本一致。
2.2.3 充電機參數(shù)配置函數(shù)2
充電機在配置函數(shù)1中接收BMS發(fā)送的蓄電池充電參數(shù)BCP,通過參數(shù)配置函數(shù)2來主動發(fā)送時間同步報文CTS和充電機最大輸出能力報文CML給BMS,之后進入循環(huán)等待,等待BMS發(fā)送的電池充電準備就緒,報文BRO來觸發(fā)充電動作,循環(huán)等待方式與握手函數(shù)中一致。
2.2.4 充電機充電函數(shù)
充電階段是整個充電通信過程中的持續(xù)時間最長、通信數(shù)據(jù)量最大的一個階段。
相比之前模塊中按流程順序觸發(fā)數(shù)據(jù)接收,充電函數(shù)采用的接收邏輯是統(tǒng)一接收,再通過對不同PGN的判斷,進行數(shù)據(jù)的辨識。簡而言之,充電機接收BMS發(fā)來的所有數(shù)據(jù)(不再是按照順序只接收固定類型的數(shù)據(jù)),然后通過內(nèi)部分析判斷,對接收到的數(shù)據(jù)進行分類處理。
由于數(shù)據(jù)的類型和發(fā)送周期具有不確定性,所以在該階段對數(shù)據(jù)的接收不采用之前的循環(huán)等待按順序接收固定類型數(shù)據(jù)的邏輯。在接收之前,首先重新配置CAN總線的標識符設(shè)置,將屏蔽寄存器置0,表示可以接收一切ID發(fā)來的數(shù)據(jù)。然后以平等的條件判斷來初步確定每次接收到的數(shù)據(jù)類型,并針對不同的種類的數(shù)據(jù)進行深入辨識,將正確的數(shù)據(jù)儲存到預先定義好的各類結(jié)構(gòu)體中,以供充電機其他模塊的調(diào)用。
充電機在接收數(shù)據(jù)的同時,還以50 ms為周期發(fā)送充電機實時充電狀態(tài)報文CCS,CCS報文的發(fā)送周期的設(shè)計邏輯與CRM報文的設(shè)計邏輯類似。充電機充電函數(shù)程序流程圖如圖4所示。
2.2.5 充電機結(jié)束充電函數(shù)
本設(shè)計中結(jié)束充電報文CST的發(fā)送采用外部中斷(EXTI)發(fā)送,在充電階段的任意時刻,一旦充電機認為滿足終止充電的條件時,便觸發(fā)外部中斷事件,發(fā)送結(jié)束充電報文CST給BMS,報告終止充電的原因,隨后發(fā)送統(tǒng)計數(shù)據(jù)報文CSD。充電機結(jié)束充電函數(shù)并不是一個單純的外部函數(shù),而是一個集成了外部中斷的功能模塊。
3 結(jié)束語
本文以充電機與BMS的新國標通信協(xié)議為基礎(chǔ),提出一種基于事件觸發(fā)邏輯的充電機與電池管理系統(tǒng)BMS數(shù)據(jù)交換和處理的通信系統(tǒng)。
該系統(tǒng)通過新國標協(xié)議的事件觸發(fā)時序,將數(shù)據(jù)傳輸流程和識別邏輯劃分為事件單元并封裝成外部功能函數(shù),運用單片機STM32作為開發(fā)平臺,可以在一定程度上簡化上層軟件的操作,并容易實現(xiàn)可視化相關(guān)數(shù)據(jù)參數(shù),方便充電機其他模塊的調(diào)用。
在實際充電應(yīng)用中,本系統(tǒng)經(jīng)過測試,能夠按要求實現(xiàn)對BMS發(fā)來的數(shù)據(jù)進行接收和辨識處理,并做出正確的答復。后續(xù)進一步深入開發(fā),可以擴展成充電機與BMS的通信中繼站或通信節(jié)點,進一步優(yōu)化充電機與BMS的通信流程。
參考文獻
[1] [墨]Rodrigo Garcia-Valle,[葡]Joao A.Pecas Lopes.電動汽車融入現(xiàn)代電網(wǎng)[M].北京:機械工業(yè)出版社,2014.
[2] 何承坤,宋娟,周唯,等.非車載充電機與BMS通信協(xié)議標準解析與對比[J].電子科學技術(shù),2015,2(5):598-603.
[3] 李霽雰,陳陽生,章瑋.基于CAN總線的電動汽車中繼站研究[J].機電工程,2015,32(3):380-383.
[4] 劉建敏,高云飛.CAN總線在電動汽車BMS系統(tǒng)與充電樁之間通信的應(yīng)用[J].微計算機信息,2012,28(9):205-207.
[5] 張萱,馬彥華,李志明.非車載充電機與電動汽車通信兼容性測試研究[J].電測與儀表,2015,52(16):101-106.
[6] 王旭,齊向東.電動汽車智能充電樁的設(shè)計與研究[J].機電工程,2014,31(3):394-396.
[7] 衛(wèi)星,張建軍,張利,等.電動汽車CAN網(wǎng)絡(luò)應(yīng)用層協(xié)議研究[J].電子測量與儀器學報,2011,25(9):799-804.
[8] 李然,武俊峰,王海英,等.電動公交客車CAN總線網(wǎng)絡(luò)通信結(jié)構(gòu)的設(shè)計[J].哈爾濱理工大學學報,2012,17(1):69-73.
作者信息:
陳如尹,賴松林
(福州大學 物理與信息工程學院,福建 福州350108)