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