沈 偉,衛(wèi)龍龍,楊勝浩
(中國(guó)空空導(dǎo)彈研究院 凱邁(洛陽(yáng))電子有限公司,洛陽(yáng)471003)
近年來,全球電動(dòng)汽車產(chǎn)業(yè)發(fā)展迅猛,直接帶動(dòng)了與之配套的充電機(jī)市場(chǎng)的火爆,當(dāng)前我國(guó)新能源充電機(jī)保有量位居全球第一。 為了滿足客戶對(duì)充電機(jī)日益增長(zhǎng)的新功能需求和解決已發(fā)現(xiàn)問題,經(jīng)常要對(duì)現(xiàn)有充電機(jī)的主控器以及各個(gè)組件進(jìn)行軟件升級(jí)。 充電機(jī)出廠后遍布全國(guó)各地甚至遠(yuǎn)在歐洲偏遠(yuǎn)、高寒地區(qū),人工升級(jí)維護(hù)的人力、物力、時(shí)間成本過高,遠(yuǎn)程升級(jí)成為最佳方式。
然而,目前充電機(jī)少電動(dòng)汽車多,矛盾依然突出,尤其公交場(chǎng)站充電機(jī)大部分時(shí)間處于使用狀態(tài)[1-3]。 由于升級(jí)系統(tǒng)及方法存在缺陷,對(duì)使用率高的充電機(jī)進(jìn)行遠(yuǎn)程升級(jí)尚存在一定的風(fēng)險(xiǎn)和不便,主要缺陷表現(xiàn)在:①升級(jí)文件傳輸過程必須在充電機(jī)空閑時(shí)進(jìn)行,否則影響正常充電業(yè)務(wù);文件的傳輸及更新全過程必須有人值守,費(fèi)時(shí)費(fèi)力;②升級(jí)文件的傳輸出錯(cuò)或斷電必須重新傳輸,大文件傳輸時(shí)間長(zhǎng),出錯(cuò)概率高;③不支持對(duì)充電機(jī)系統(tǒng)中各個(gè)模塊和組件進(jìn)行升級(jí);④不支持同時(shí)批量升級(jí)充電機(jī),升級(jí)效率低。 鑒于此,設(shè)計(jì)了直流充電機(jī)遠(yuǎn)程升級(jí)系統(tǒng)。 該系統(tǒng)支持?jǐn)帱c(diǎn)續(xù)傳,不影響充電業(yè)務(wù),支持批量同時(shí)升級(jí),從而彌補(bǔ)傳統(tǒng)遠(yuǎn)程升級(jí)系統(tǒng)和方法的諸多不足。
直流充電機(jī)系統(tǒng)總體架構(gòu)如圖1所示。 圖中,直流充電機(jī)系統(tǒng)由主控器、人機(jī)交互串口屏、刷卡模塊、電源模塊、輔助電源、M(M≥1)個(gè)功率模塊、絕緣檢測(cè)泄放模塊、直流電能表、充電槍控制模塊、充電槍頭組成[4-8]。
圖1 直流充電機(jī)系統(tǒng)的總體框架Fig.1 Overall architecture of DC charger system
交流輸入給電源模塊、輔助電源和M 個(gè)功率模塊供電。 電源模塊將電壓轉(zhuǎn)換為24 V 給主控器供電,主控器的微控制芯片為STM32F103ZET6[9]。
主控器通過串口URAT1 與人機(jī)交互串口屏進(jìn)行通信,完成充電過程中人機(jī)交互和信息顯示功能。 主控器通過串口URAT2 與刷卡模塊進(jìn)行通信,完成充電前的刷卡開始和充電結(jié)束后的刷卡結(jié)算功能。
主控器通過CAN1 與M 個(gè)功率模塊進(jìn)行通信,控制各個(gè)功率模塊的開啟和閉合,控制充電過程中各個(gè)功率模塊輸出電壓和電流。 主控器通過CAN2與絕緣檢測(cè)泄放模塊進(jìn)行通信,完成充電握手階段對(duì)充電機(jī)進(jìn)行絕緣檢測(cè)功能,以及在絕緣檢測(cè)結(jié)束和充電過程結(jié)束后泄放功能。 主控器通過CAN2 與直流電能表進(jìn)行通信,完成充電機(jī)直流輸出端的電能計(jì)量功能。 主控器通過CAN2 與充電槍控制模塊進(jìn)行通信; 充電槍控制模塊,通過控制線1 管控DC+/DC-的接觸器K1/K2 的開啟與閉合,通過控制線3 管控輔助電源接觸器K3/K4 的開啟與閉合,通過控制線2 管控充電槍頭的電子鎖的開啟與閉合,獲取電子鎖反饋信號(hào),獲取接觸器K1/K2 狀態(tài)反饋信號(hào),獲取接觸器K3/K4 狀態(tài)反饋信號(hào)、采集槍在位電壓值、采集槍頭溫度。
GPRS 通信單元位于主控器上,負(fù)責(zé)充電機(jī)和后臺(tái)服務(wù)器進(jìn)行無(wú)線通信。 GPRS 通信單元選用Telit GL868 模塊。如圖2所示,IXP1 為GL868 模塊與SIM 卡的接口,DTRA 為STM32 控制GL868 模塊供電的使能信號(hào)。 ANT 為GL868 模塊的天線。GL868 管腳7 數(shù)據(jù)通信TXD 和管腳8 RXD 的電壓范圍與STM32 的UART3 電壓范圍不一致,通過電平轉(zhuǎn)換才能與STM32 UART3 的管腳RXD 和TXD相連接。 PWR 是GL868 模塊的上電監(jiān)控信號(hào),其電壓范圍與STM32 芯片IO 輸入管腳電壓范圍也不同,需電平轉(zhuǎn)換。 信號(hào)PWR 連接1VT14 的基極,信號(hào)PWR_IN 一端接1VT14 的集電極并通過上拉電阻1R64 接3.3 V,另一端連接主控器控制芯片STM32 的輸入管腳。 當(dāng)GL868 有電時(shí),PWR 為高電平1.8 V,則1VT14 導(dǎo)通,PWR_IN 為低電平0 V;當(dāng)GL868 下電時(shí),PWR 為低電平0 V,則1VT14 截止,PWR_IN 高電平3.3 V,這樣控制芯片STM32 就能確定GL868 模塊是否供電正常。
由于各個(gè)模塊和組件都有通信線路連接,因此要升級(jí)各個(gè)模塊和組件時(shí),就可以通過通信線路發(fā)送升級(jí)命令并轉(zhuǎn)發(fā)升級(jí)文件。
直流充電機(jī)系統(tǒng)軟件的升級(jí)步驟如圖3所示[10]。 后臺(tái)服務(wù)器中的管理軟件進(jìn)行升級(jí)文件的裝載,升級(jí)組件類型、更新方式和充電機(jī)地址的選擇。當(dāng)用戶從后臺(tái)啟動(dòng)升級(jí)后,后臺(tái)軟件對(duì)原始的升級(jí)文件進(jìn)行壓縮,并下發(fā)充電機(jī)啟動(dòng)升級(jí)命令。
圖2 直流充電機(jī)系統(tǒng)GPRS 通信單元電路Fig.2 Circuit of GPRS communication unit of DC charger system
圖3 直流充電機(jī)系統(tǒng)軟件升級(jí)步驟Fig.3 Upgrade steps of DC charger system software
具體而言,對(duì)原始的升級(jí)文件進(jìn)行壓縮,文件就能在盡可能短的時(shí)間內(nèi)傳輸完畢,且傳輸占用網(wǎng)絡(luò)流量盡可能少。 尤其是充電機(jī)系統(tǒng)中,串口屏組件的單張圖片為24 位真彩色,分辨率1024×768。如果對(duì)串口屏中的圖片進(jìn)行升級(jí),單張圖片的大小就有2.25 M。 如此大小的圖片經(jīng)過GPRS 通信單元進(jìn)行傳輸顯然既費(fèi)時(shí)又耗流量。 因此,對(duì)升級(jí)文件進(jìn)行壓縮后再傳輸,是行之有效的解決方法。
后臺(tái)服務(wù)器軟件采用無(wú)損壓縮算法對(duì)原始的升級(jí)文件進(jìn)行壓縮。 壓縮方法是根據(jù)文件內(nèi)容生成碼表,用碼表的索引替代文件中對(duì)應(yīng)的二進(jìn)制字符來達(dá)到壓縮的目的。
充電機(jī)收到升級(jí)命令后,開始與后臺(tái)服務(wù)器建立升級(jí)專用IP 地址和端口建立鏈接。在升級(jí)專用鏈接建立成功后,充電機(jī)向后臺(tái)服務(wù)器發(fā)送升級(jí)登錄幀,登錄成功后,后臺(tái)服務(wù)器開始發(fā)送升級(jí)文件的壓縮包。
充電機(jī)發(fā)送登錄幀中的描述表如圖4所示,斷點(diǎn)續(xù)傳功能得以實(shí)現(xiàn)的關(guān)鍵在于,登錄幀中記錄有當(dāng)前傳輸文件長(zhǎng)度、類型、升級(jí)方式等內(nèi)容的描述表。 登錄幀中的描述表僅當(dāng)后臺(tái)軟件下發(fā)啟動(dòng)升級(jí)命令或升級(jí)文件傳輸完成后才會(huì)被清空,否則該登錄幀的描述表所記錄的信息即使掉電也不會(huì)丟失。所以,即使網(wǎng)絡(luò)斷開或者充電機(jī)系統(tǒng)掉電,充電機(jī)重新登錄到后臺(tái)服務(wù)器,后臺(tái)可以根據(jù)登錄幀中的描述表對(duì)充電機(jī)進(jìn)行升級(jí)文件續(xù)傳。
圖4 充電機(jī)發(fā)送登錄幀中的描述表Fig.4 Description table in the login frame sent by charger
登錄幀的描述表包括升級(jí)文件原始長(zhǎng)度、升級(jí)文件原始校驗(yàn)和、升級(jí)文件壓縮包長(zhǎng)度、升級(jí)文件壓縮包校驗(yàn)和、升級(jí)文件類型、更新文件方式、已經(jīng)接收到壓縮文件長(zhǎng)度等信息。
升級(jí)文件傳輸過程中,數(shù)據(jù)幀接收處理流程如圖5所示,充電機(jī)每收到一幀數(shù)據(jù)做以下動(dòng)作:計(jì)算校驗(yàn)和,保存數(shù)據(jù),更新登錄幀描述表中已接收文件長(zhǎng)度信息,向后臺(tái)服務(wù)器升級(jí)管理軟件發(fā)送確認(rèn)幀。 后臺(tái)確認(rèn)充電機(jī)收到該幀后,再繼續(xù)發(fā)送下一幀。 當(dāng)升級(jí)文件壓縮包接收完畢后,充電機(jī)計(jì)算壓縮文件的校驗(yàn)和正確,就開始對(duì)壓縮包進(jìn)行解壓縮工作。 充電機(jī)先接收完整的升級(jí)壓縮包后再進(jìn)行解壓,而非接收一幀壓縮數(shù)據(jù)解壓一幀。 接收的升級(jí)文件壓縮包和解壓后原始的文件位于充電機(jī)Flash 不同的地址。
圖5 升級(jí)文件傳輸過程中數(shù)據(jù)幀接收處理流程Fig.5 Flow chart of data frame receiving and processing in the process of upgrading file transmission
解壓完畢后,判斷原始文件的校驗(yàn)和是否正確,若正確則升級(jí)文件有效。 文件充電機(jī)根據(jù)升級(jí)文件的類型和更新文件方式進(jìn)行相應(yīng)操作。 如果更新文件方式為立即更新,則充電機(jī)立即更新程序;如果為空閑更新,則等待充電機(jī)充電業(yè)務(wù)完成后更新程序;如果為上電更新,則需要主動(dòng)掉電再上電后完成程序的更新。
直流充電機(jī)通過遠(yuǎn)程通信單元與后臺(tái)服務(wù)器進(jìn)行通信,該遠(yuǎn)程通信單元允許直流充電機(jī)與后臺(tái)服務(wù)器建立多個(gè)鏈接。 由于充電機(jī)與后臺(tái)傳輸升級(jí)文件使用的鏈接和充電機(jī)與后臺(tái)監(jiān)控管理所使用的鏈接是各自獨(dú)立的,因此不影響后臺(tái)正常的監(jiān)控與管理。
由于充電機(jī)接收升級(jí)文件壓縮包和解壓的過程與充電機(jī)正常的充電流程以及用戶人機(jī)操作是并行處理的,并且可以選擇空閑或上電更新程序的方式,因此升級(jí)不影響正常的充電業(yè)務(wù)。
充電機(jī)升級(jí)文件傳輸和升級(jí)狀態(tài)機(jī)圖,如圖6所示,分為:初始態(tài)、登錄態(tài)、接收升級(jí)包態(tài)、校驗(yàn)升級(jí)包態(tài)、解壓升級(jí)包態(tài)、校驗(yàn)升級(jí)文件態(tài)和更新程序等7 種狀態(tài)。
圖6 充電機(jī)升級(jí)文件傳輸和升級(jí)狀態(tài)機(jī)圖Fig.6 State machine diagram of charger upgrade file transmission and upgrade
具體而言,當(dāng)充電機(jī)沒有升級(jí)任務(wù)時(shí),處于初始態(tài);當(dāng)有升級(jí)任務(wù)時(shí),充電機(jī)向后臺(tái)服務(wù)器發(fā)送登錄幀并進(jìn)入登錄態(tài)。 如果超時(shí)未登錄成功,則返回到初始態(tài); 如果登錄成功并且開始接收數(shù)據(jù),則進(jìn)入接收升級(jí)包態(tài)。 如果升級(jí)包接收成功,則進(jìn)入校驗(yàn)升級(jí)包態(tài);如果接收過程中傳輸斷開,則返回到初始態(tài)。 在校驗(yàn)升級(jí)包態(tài)時(shí),根據(jù)登錄幀中描述表的升級(jí)包校驗(yàn)和來判斷升級(jí)包是否有效。 如果校驗(yàn)正確則進(jìn)入解壓升級(jí)包態(tài);如果校驗(yàn)失敗,升級(jí)包無(wú)效則返回到初始態(tài)。 壓縮包解壓完成得到升級(jí)的原始文件,則進(jìn)入校驗(yàn)升級(jí)文件態(tài)。 根據(jù)登錄幀中描述表的原始文件校驗(yàn)和來判斷解壓出來原始升級(jí)文件是否有效。 校驗(yàn)升級(jí)文件合法有效則進(jìn)入更新程序態(tài);若校驗(yàn)失敗則返回解壓升級(jí)包態(tài)重新解壓升級(jí)包;若校驗(yàn)失敗次數(shù)超限,則返回到初始態(tài)。 在更新程序態(tài)時(shí),根據(jù)文件類型和更新方式對(duì)主控板或各個(gè)模塊及組件進(jìn)行升級(jí),升級(jí)成功返回初始態(tài)。
充電機(jī)系統(tǒng)更新升級(jí)文件的流程如圖7所示。更新升級(jí)文件為升級(jí)充電機(jī)的最后一個(gè)階段。 在此之前,充電機(jī)已經(jīng)完成軟件升級(jí)包的傳輸和解壓工作。
圖7 更新升級(jí)文件的流程Fig.7 Flow chart for updating upgrade files
針對(duì)電動(dòng)汽車傳統(tǒng)升級(jí)系統(tǒng)及方法所存在的缺陷,設(shè)計(jì)了遠(yuǎn)程升級(jí)直流充電機(jī)系統(tǒng),提出了安全穩(wěn)定、批量化、通用的嵌入式系統(tǒng)遠(yuǎn)程升級(jí)的方法,解決了現(xiàn)有充電機(jī)升級(jí)文件傳輸影響充電業(yè)務(wù)、效率低、不智能等問題。 該設(shè)計(jì)已應(yīng)用于凱邁(洛陽(yáng))公司的充電機(jī)嵌入式軟件及后臺(tái)管理系統(tǒng)中。 該系統(tǒng)在上海、東莞等公交場(chǎng)站充電機(jī)批量遠(yuǎn)程升級(jí)使用時(shí)安全、有效、便捷。 該系統(tǒng)及遠(yuǎn)程升級(jí)方法具有較高的推廣價(jià)值。