文獻(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)文后,,開始發(fā)送時(shí)間同步信息報(bào)文CTS和充電機(jī)最大輸出能力報(bào)文CML,。BMS根據(jù)其內(nèi)容完成時(shí)間的同步和確認(rèn)充電機(jī)的輸出能力,并判斷自身狀態(tà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ī)端的通信模塊的開發(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ù),。基于STM32的通信系統(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)作,,避開冗余數(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作為開發(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)一步深入開發(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)