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