基于STM32的電動汽車快速充電機(jī)監(jiān)控終端的設(shè)計(jì)
隨著國家對新能源技術(shù)的大力扶持,電動汽車逐漸成為國家在新能源汽車產(chǎn)業(yè)大力發(fā)展的對象,而電動汽車充電站、快速充電機(jī)是電動汽車大規(guī)?;蟛豢苫蛉钡姆?wù)基礎(chǔ)設(shè)施之一。大量分布于各住宅小區(qū)、停車場的電動汽車用非車載智能快速充電機(jī),實(shí)現(xiàn)高效、安全、智能化的管理必定成為主流。針對目前快速充電機(jī)群實(shí)行無人值守的運(yùn)行情況,這就要求快速充電機(jī)須具有較高的可靠性和自動化程度,功能更加完善,可遠(yuǎn)程維護(hù)等功能。
本文引用地址:http://www.ex-cimer.com/article/201611/316124.htm這樣,使得分布式、模塊化、智能化成為快速充電機(jī)的發(fā)展方向,而高性能、低成本的充電機(jī)監(jiān)控終端是其中的關(guān)鍵技術(shù)。為管理區(qū)域多臺充電機(jī)的資源優(yōu)化利用與管理的智能化,監(jiān)控終端與Internet網(wǎng)的交互成為一種必然。
1 監(jiān)控網(wǎng)絡(luò)的整體方案
如圖1的充電機(jī)的監(jiān)控網(wǎng)絡(luò)結(jié)構(gòu)圖所示,監(jiān)控終端作為充電機(jī)與監(jiān)控中心之間的一個(gè)重要網(wǎng)關(guān)。其有效的通信鏈路有:監(jiān)控中心-監(jiān)控終端;監(jiān)控終端-充電機(jī)(或電池管理系統(tǒng)(BMS)、電動汽車等)。
圖1 充電機(jī)監(jiān)控網(wǎng)絡(luò)結(jié)構(gòu)圖
通過監(jiān)控終端作為媒介,實(shí)現(xiàn)了監(jiān)控中心與充電機(jī)及電動汽車的通信鏈路的建立。終端通過CAN網(wǎng)絡(luò)與充電機(jī)、BMS及電動汽車等相互通信,采集相關(guān)節(jié)點(diǎn)的數(shù)據(jù)信息并存儲,并將相關(guān)信息反饋給充電機(jī)。充電機(jī)根據(jù)相關(guān)信息從而實(shí)現(xiàn)電動汽車電池的智能充電。終端與監(jiān)控中心之間是通過GPRS連接通信,終端將充電機(jī)、電池、電動汽車等相關(guān)數(shù)據(jù)傳回監(jiān)控中心,監(jiān)控中心實(shí)現(xiàn)對充電機(jī)的遠(yuǎn)程控制和實(shí)時(shí)監(jiān)控功能,記錄充電機(jī)的運(yùn)行及故障情況。車主可以由監(jiān)控中心查詢了解當(dāng)前空閑的充電機(jī)位置,實(shí)現(xiàn)資源充分利用。
2 監(jiān)控終端功能模塊
2.1監(jiān)控終端的總體設(shè)計(jì)
監(jiān)控終端是連接監(jiān)控中心與充電機(jī)的橋梁。其總體設(shè)計(jì)結(jié)構(gòu)如圖2所示,監(jiān)控終端主要由Cortex-M3內(nèi)核的STM32ZGT6的核心模塊、數(shù)據(jù)采集模塊(CAN網(wǎng)絡(luò))、用戶計(jì)費(fèi)交互信息模塊、數(shù)據(jù)存儲模塊、實(shí)時(shí)時(shí)鐘模塊和GPRS通信模塊6個(gè)部分所組成。終端采用Co-tex-M3內(nèi)核的STM32ZGT6微處理器芯片。該單片機(jī)具有豐富的片上硬件資源,內(nèi)含CAN 2.0B的控制器,以及多達(dá)4個(gè)串口,滿足終端CAN與GPRS網(wǎng)絡(luò)接口的需求。
圖2 監(jiān)控終端的結(jié)構(gòu)框圖
監(jiān)控終端的工作流程如下:用戶計(jì)費(fèi)模塊讀取用戶信息以及選擇充電模式,通過CAN網(wǎng)絡(luò)向充電模塊發(fā)送相應(yīng)充電命令;同時(shí)監(jiān)控終端讀取CAN網(wǎng)絡(luò)中的關(guān)鍵數(shù)據(jù)幀如充電機(jī)的運(yùn)行狀況等,并將數(shù)據(jù)保存于NandFlash中。
定時(shí)將當(dāng)前充電用戶信息和充電機(jī)等運(yùn)行參數(shù)通過GPRS發(fā)送到監(jiān)控中心。監(jiān)控終端可以根據(jù)用戶的需要,打印用戶的余額或收費(fèi)憑據(jù)等。
2.2 CAN總線模塊
為了更好地保證CAN總線可靠的傳輸,系統(tǒng)定義了一套通用的應(yīng)用層的CAN總線協(xié)議。主要針對CAN 2.0B協(xié)議的報(bào)文ID進(jìn)行了分配及定義。如表1所示。
- 優(yōu)先級確定
CAN協(xié)議規(guī)定報(bào)文ID越小,其報(bào)文的優(yōu)先級越高。在競爭總線時(shí),優(yōu)先級高的報(bào)文優(yōu)先發(fā)送,優(yōu)先級低的退出總線競爭。CAN總線競爭的算法效率很高,是一種非破壞性競爭[3].因CAN協(xié)議規(guī)定標(biāo)識符由高至低,前7位不能全為顯性位。所以優(yōu)先級1111b保留,故系統(tǒng)具有15級優(yōu)先級別。
- 類型碼
協(xié)議將ID24~ID22規(guī)定消息的類型。
在本系統(tǒng)中,用到的消息類型主要有:控制、狀態(tài)、測量、警告和廣播5種類型。根據(jù)將類型碼的具體分配如表2所示。
- 源地址
協(xié)議規(guī)定ID12~ID16為源地址,ID17~ID21為目標(biāo)地址,進(jìn)而標(biāo)識報(bào)文的各接收節(jié)點(diǎn)與發(fā)送節(jié)點(diǎn)。5位地址位,保留11111b為廣播地址,可以確定31個(gè)控制節(jié)點(diǎn),可滿足電動汽車充電機(jī)的監(jiān)控需求。在此系統(tǒng)中,定義00000b為監(jiān)控終端,00001b為充電機(jī)節(jié)點(diǎn),00010b為電池管理系統(tǒng)(BMS)節(jié)點(diǎn)。
- 分段碼
因不同的節(jié)點(diǎn)所發(fā)送的數(shù)據(jù)量不同,可能會出現(xiàn)一個(gè)數(shù)據(jù)幀不能把從底層采集到的數(shù)據(jù)一次性發(fā)送完畢(即超過8個(gè)字節(jié)的情況)。協(xié)議中將ID11~ID4定義為分段碼,如表3所示。
在表3中,某節(jié)點(diǎn)的數(shù)據(jù)幀由分段碼00H開始,由FFH結(jié)束,最大可支持發(fā)送256×8字節(jié)的數(shù)據(jù)。若該節(jié)點(diǎn)只有一幀數(shù)據(jù),定義FFH同時(shí)也為單幀數(shù)據(jù)。
例如,BMS節(jié)點(diǎn),包含了電池組總電壓、電池組總電流、電池組SoC、電池組各個(gè)箱體(9個(gè))的溫度以及電池組狀態(tài)的信息等。每個(gè)數(shù)據(jù)占用2 B.顯然一個(gè)數(shù)據(jù)幀是無法發(fā)送該節(jié)點(diǎn)的全部信息,故須采用多幀方式發(fā)送。
2.3數(shù)據(jù)發(fā)送模塊
終端是通過串口外接周立功GPRS模塊(ZWG-23A)連接到互聯(lián)網(wǎng)。通過GPRS網(wǎng)絡(luò)上網(wǎng),連接到服務(wù)器之后,按照通信協(xié)議定時(shí)向服務(wù)器發(fā)送數(shù)據(jù)。根據(jù)《深圳市電動汽車充電系統(tǒng)技術(shù)規(guī)范》標(biāo)準(zhǔn)文件,協(xié)議由報(bào)文起始標(biāo)識、版本號、命令字、報(bào)文長度、數(shù)據(jù)內(nèi)容、校檢碼等組成的,其具體格式如表4所示。
(1)起始標(biāo)識。設(shè)為0xFAF5,用于喚醒接收方準(zhǔn)備接收數(shù)據(jù)。
(2)報(bào)文長度。是由[發(fā)送序列號]到[數(shù)據(jù)內(nèi)容]的總長度。
(3)校驗(yàn)碼。是從[起始標(biāo)識]到[數(shù)據(jù)內(nèi)容]的無進(jìn)位累加和。
(4)接收(發(fā)送)方類型與地址。監(jiān)控中心為類型為“業(yè)務(wù)服務(wù)平臺”,其數(shù)值為1,其地址為在此類型碼下的某一個(gè)惟一地址;終端的類型為“調(diào)度終端”,其數(shù)值為255,地址為此類型下的某一個(gè)惟一地址。
(5)數(shù)據(jù)內(nèi)容與命令字:不同的命令字決定該報(bào)文所攜帶的數(shù)據(jù)的內(nèi)容的構(gòu)成及所占用的字節(jié)數(shù)。
數(shù)據(jù)內(nèi)容一般由一個(gè)或多個(gè)數(shù)據(jù)對象組合而成,也可以為空。發(fā)送方在應(yīng)答非正常或無應(yīng)答的情況下,每條數(shù)據(jù)報(bào)文最多重復(fù)發(fā)6次,每次間隔時(shí)間為30 s.數(shù)據(jù)內(nèi)容根據(jù)命令字的不同其所組成的數(shù)據(jù)對象也不同,通常情況下,終端與監(jiān)控中心的通信包括終端注冊、中心應(yīng)答、終端就緒、定時(shí)發(fā)送4個(gè)階段。部分命令字與對應(yīng)的數(shù)據(jù)內(nèi)容見表5所示。
3 軟件設(shè)計(jì)
3.1 μC/OS-Ⅱ的多任務(wù)管理
移植μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)為監(jiān)控終端的系統(tǒng)平臺,該系統(tǒng)是可剝奪性多任務(wù)內(nèi)核的實(shí)時(shí)操作系統(tǒng),具有實(shí)時(shí)、可裁剪、可靠和穩(wěn)定性等優(yōu)點(diǎn)。μC/OS-Ⅱ的系統(tǒng)資源豐富,除去自身的系統(tǒng)任務(wù)外,用戶可以建立多達(dá)56個(gè)任務(wù),并提供信號量、消息郵箱、消息隊(duì)列及內(nèi)存管理等系統(tǒng)級服務(wù),足以滿足充電樁的監(jiān)控終端的系統(tǒng)要求。
為實(shí)現(xiàn)監(jiān)控終端的功能要求,在μC/OS-Ⅱ中設(shè)計(jì)了以下13個(gè)任務(wù):顯示任務(wù)、鍵盤查詢?nèi)蝿?wù)、輸入處理任務(wù)、打印任務(wù)、數(shù)據(jù)的存儲任務(wù)、IC卡的讀/寫任務(wù)、GPRS的發(fā)送任務(wù)、CAN數(shù)據(jù)的接收任務(wù)、CAN數(shù)據(jù)的發(fā)送任務(wù)、GPRS的接收任務(wù)、命令控制任務(wù)、報(bào)警任務(wù)及看門狗的喂狗和異常檢測任務(wù)。
μC/OS-Ⅱ的多任務(wù)的特點(diǎn),規(guī)定每個(gè)任務(wù)都必須具有不同的優(yōu)先級。根據(jù)任務(wù)的關(guān)聯(lián)性、關(guān)鍵性、緊迫性、頻繁性、實(shí)時(shí)要求性來確定任務(wù)的優(yōu)先級,既要保證每個(gè)任務(wù)的相對獨(dú)立性,又要避免任務(wù)調(diào)度頻繁致使系統(tǒng)的效率下降。任務(wù)的優(yōu)先級規(guī)劃如表6所示。
表1中基本數(shù)據(jù)包括城市區(qū)號、停車場序號、充電樁位置信息、報(bào)文發(fā)送時(shí)間以及充電機(jī)、BMS和用戶IC卡的相關(guān)信息共計(jì)209 B.
表中各任務(wù)優(yōu)先級之間保留一定的間隔,方便系統(tǒng)以后的改進(jìn)和升級。系統(tǒng)設(shè)定時(shí)鐘節(jié)拍為10 ms,滿足充電樁的實(shí)時(shí)性要求。μC/OS-Ⅱ系統(tǒng)利用信號量、消息郵箱和消息隊(duì)列三種通信方式將本系統(tǒng)中的13個(gè)應(yīng)用任務(wù)關(guān)聯(lián)在一起,其關(guān)系如圖3所示。
圖3 μC/OS-Ⅱ各任務(wù)之間的關(guān)聯(lián)關(guān)系圖
3.2 ZWG-23A模塊的配置
ZWG-23A通過串口與終端鏈接,它通過移動通信的GPRS網(wǎng)絡(luò)鏈接互聯(lián)網(wǎng)。由于周立功公司并沒有提供基于μC/OS-Ⅱ的DTU配置程序,所以系統(tǒng)中需要自行開發(fā)相關(guān)的配置程序,其配置DTU的程序流程圖如圖4所示。
圖4 DTU配置程序流程圖
假設(shè)終端每天與中心連接注冊一次,以每隔30 s的心跳時(shí)間定時(shí)向中心發(fā)送監(jiān)控信息,根據(jù)表6數(shù)據(jù)內(nèi)容字節(jié)計(jì)算,一臺終端一天發(fā)送報(bào)文所產(chǎn)生的GPRS流量大約為(228×2×60×24 + 294×2 + 100)(128×1 024)=5 MB,以每月30天計(jì)算,一年一臺終端所產(chǎn)生的GPRS流量為1.7 GB.采用2 GB的包年流量套餐足以滿足終端一年所產(chǎn)生的流量費(fèi)。
4 結(jié)語
本文研究了電動汽車快速充電機(jī)監(jiān)控網(wǎng)絡(luò)的結(jié)構(gòu)組成,詳細(xì)分析了監(jiān)控終端的通信網(wǎng)絡(luò)的CAN與GPRS的通信應(yīng)用層協(xié)議。其CAN網(wǎng)絡(luò)協(xié)議具有廣泛的通用性,GPRS的流量少,可推廣到自動化的其他領(lǐng)域中的應(yīng)用。
評論