李清河
(福建瑤光智能科技有限公司,福建 福州 350100)
近年來,國家大力發(fā)展新能源汽車產(chǎn)業(yè),并在新能源乘用車、新能源客車、新能源輕型物流車領(lǐng)域取得了長足的進(jìn)步,但重型卡車的新能源化還處于起步階段。面對國家環(huán)保要求的日益升級,汽車行業(yè)對節(jié)能減排的不斷追求,重型卡車作為污染大戶,新能源化大勢所趨。相比其他車型,新能源重卡由于售價較高,在銷售推廣過程中較多存在租賃和分期付款等商業(yè)模式,因此,實現(xiàn)遠(yuǎn)程鎖車以保證車輛運(yùn)營方資產(chǎn)的安全性變得尤為重要。
本文通過研究一種車輛遠(yuǎn)程監(jiān)控系統(tǒng)軟件、車輛遠(yuǎn)程監(jiān)控終端(T-BOX)、整車控制器(VCU)進(jìn)行遠(yuǎn)程和車輛 CAN網(wǎng)絡(luò)數(shù)據(jù)交互的方法,以此實現(xiàn)控制新能源重卡是否允許行駛的遠(yuǎn)程鎖車功能。
鎖車是指通過指令設(shè)定 VCU為鎖定狀態(tài),進(jìn)而控制整車的部件單元停止運(yùn)行或者處于低效運(yùn)行狀態(tài),進(jìn)而達(dá)到限制車輛工作的目的。包括控制停止電機(jī)工作、電機(jī)低速工作、停止電機(jī)對車輛工程機(jī)件輸出(如:機(jī)械吊臂、轉(zhuǎn)泵、舉撐等)。遠(yuǎn)程鎖車功能主要由車輛遠(yuǎn)程監(jiān)控系統(tǒng)、T-BOX和 VCU進(jìn)行數(shù)據(jù)交互實現(xiàn)。
首先,VCU需要提供鎖車及解鎖服務(wù),并且能夠?qū)囕v當(dāng)前狀態(tài)是否滿足鎖車條件具有識別判斷。當(dāng)車輛處于運(yùn)行、怠速等狀態(tài),應(yīng)不啟動鎖車,以免造成不必要的交通事故。同時,VCU應(yīng)與 T-BOX有心跳守護(hù)機(jī)制,防止T-BOX被異常拆除造成控制失效。
其次,T-BOX應(yīng)具有與 VCU通信、守護(hù)等基礎(chǔ)功能,當(dāng) T-BOX收到鎖車指令,但 VCU回復(fù)不滿足鎖車條件,T-BOX應(yīng)能保存指令,并有再次激發(fā)鎖車的控制策略。T-BOX具備將車輛包括 VCU等部件狀態(tài)匯報至監(jiān)控系統(tǒng),還應(yīng)支持自我檢測、診斷等功能,當(dāng)自我異常時能夠及時匯報至監(jiān)控系統(tǒng),通過車輛儀表、指示燈等方式告知駕駛員。當(dāng)發(fā)現(xiàn)異常事件時,會發(fā)送“終端異常鎖車”,防止 T-BOX被惡意破壞。
最后,車輛遠(yuǎn)程監(jiān)控平臺作為遠(yuǎn)端服務(wù)管理系 統(tǒng),提供數(shù)據(jù)收發(fā)、數(shù)據(jù)解析、數(shù)據(jù)分析、業(yè)務(wù)綜合展示等服務(wù)平臺,對 T-BOX進(jìn)行一車一機(jī)設(shè)備管理,實時準(zhǔn)確展示車輛狀態(tài),設(shè)定用戶權(quán)限管理,規(guī)避隨意控制車輛行為。
遠(yuǎn)程鎖車——通過車輛遠(yuǎn)程監(jiān)控平臺下發(fā)鎖車指令,T-BOX上線收到平臺鎖車指令后,通過CAN網(wǎng)絡(luò)發(fā)送“請求鎖車”,VCU收到該指令后對指令進(jìn)行校驗,校驗通過執(zhí)行車輛鎖車,并反饋指令執(zhí)行結(jié)果。
遠(yuǎn)程解鎖——通過車輛遠(yuǎn)程監(jiān)控平臺下發(fā)解鎖指令,T-BOX上線收到平臺解鎖指令后,通過CAN網(wǎng)絡(luò)發(fā)送“解鎖鎖車”,VCU收到該指令后對指令進(jìn)行校驗,校驗通過執(zhí)行車輛解鎖,反饋指令執(zhí)行結(jié)果。
具體鎖車和解鎖流程,見圖1。
圖1 正常鎖車及解鎖流程
為避免在車輛行駛、運(yùn)行中直接鎖車造成事故或者車身故障,VCU在收到鎖車指令時,需進(jìn)行綜合判定,再執(zhí)行鎖車指令。T-BOX終端收到車輛遠(yuǎn)程監(jiān)控系統(tǒng)下發(fā)的鎖車指令后,將鎖車指令轉(zhuǎn)換為 CAN通信幀并通過 CAN網(wǎng)絡(luò)發(fā)送至 VCU,VCU通過綜合算法,判斷當(dāng)前整車狀態(tài)是否符合鎖車要求,包括電動機(jī)啟停、轉(zhuǎn)速、實時車速、吊臂、舉撐等機(jī)件是否為收起或停止?fàn)顟B(tài)等情況,綜合判斷目前工況是否符合鎖車條件;符合則進(jìn)行鎖車,不符合則反饋鎖車失敗結(jié)果。[1]
若車輛上電過程中,VCU檢測T-BOX發(fā)送的鎖車指令數(shù)據(jù)幀中的心跳信號異常或丟失時間超過若干個周期,則進(jìn)入鎖車流程。
T-BOX在激活后對自身狀態(tài)進(jìn)行自檢,若自檢發(fā)現(xiàn)SIM卡故障、通信傳輸異常、定位天線異常,會發(fā)送SIM卡故障鎖車、通信傳輸異常鎖車和定位天線異常鎖車,VCU收到終端異常鎖車指令后進(jìn)入鎖車流程,鎖車完畢后向CAN網(wǎng)絡(luò)發(fā)送鎖車狀態(tài)為“終端異常鎖車”。
鑰匙ON檔時,VCU及儀表被喚醒,在儀表軟盤上通過人工輸入密碼,儀表將密碼發(fā)送至CAN網(wǎng)絡(luò),該密碼報文同為觸發(fā)式報文。
T-BOX持續(xù)監(jiān)控儀表發(fā)送的密碼數(shù)據(jù)幀,接收比對完畢,驗證密碼的正確性,解讀密碼解鎖時長,進(jìn)行車輛解鎖并開始計時,通過 CAN網(wǎng)絡(luò)發(fā)送“緊急解鎖狀態(tài)”。
遠(yuǎn)程鎖車增加了車輛的互聯(lián)網(wǎng)智能控制,也開啟了網(wǎng)絡(luò)安全的風(fēng)險。為防止被黑客入侵非法控制車輛影響公共交通安全,在鎖車系統(tǒng)中設(shè)計增加相關(guān)的網(wǎng)絡(luò)安全防護(hù)措施。
(1)數(shù)據(jù)加密鑒權(quán)。在T-BOX與車輛遠(yuǎn)程控制系統(tǒng)數(shù)據(jù)交互中,采用 SM2國密數(shù)據(jù)簽名鑒權(quán),來保障平臺與終端通信的可靠性及數(shù)據(jù)防篡改。SM2是一種公鑰密碼算法,國家密碼管理局于 2010年12月公布,其較RSA算法具有更高的先進(jìn)性及安全性,并用來完全替代RSA算法。
(2)用戶權(quán)限管理。在車輛遠(yuǎn)程控制系統(tǒng)設(shè)置菜單指令權(quán)限,由最高管理員進(jìn)行權(quán)限分配,實現(xiàn)指令菜單用戶細(xì)分,非高級用戶不可見高權(quán)限指令菜單。其次下發(fā)指令增加密碼或短信確認(rèn)機(jī)制,使下發(fā)鎖車等高權(quán)限指令時,操作員需輸入安全密碼,或操作員手機(jī)短信驗證碼確認(rèn),方能執(zhí)行指令下發(fā)。安全碼或操作員手機(jī)號碼綁定,由最高管理員進(jìn)行設(shè)置及變更,操作員本人不可自行更改。
車輛遠(yuǎn)程監(jiān)控終端參照國家標(biāo)準(zhǔn) GB/T 32960-2016《電動汽車遠(yuǎn)程服務(wù)與管理系統(tǒng)技術(shù)規(guī)范第 2部分:車載終端》的技術(shù)要求和汽車企業(yè)的自定義技術(shù)標(biāo)準(zhǔn)進(jìn)行設(shè)計開發(fā),實現(xiàn)整車實時數(shù)據(jù)采集和本地存儲,并將數(shù)據(jù)轉(zhuǎn)發(fā)至車輛遠(yuǎn)程監(jiān)控平臺[2]。
車載遠(yuǎn)程監(jiān)控終端工作電壓自適應(yīng) 12V和24V的供電系統(tǒng)進(jìn)行設(shè)計。通過 CAN接口,按照 GB/T 32960-2016中公共平臺需要的實時數(shù)據(jù)進(jìn)行采集,實時數(shù)據(jù)的采集頻率不低于每秒 1次。車載終端將數(shù)據(jù)存儲在本地,存儲容量應(yīng)至少滿足 7天的實時數(shù)據(jù)存儲。當(dāng)車載終端與遠(yuǎn)程監(jiān)控后臺通信狀態(tài)異常情況下,要繼續(xù)對實時數(shù)據(jù)進(jìn)行本地存儲,待通信恢復(fù)正常后,再將這部分?jǐn)?shù)據(jù)補(bǔ)發(fā)到監(jiān)控平臺。車載終端應(yīng)該內(nèi)置備份電池,在終端異常斷電的時候,應(yīng)該仍然可以獨(dú)立運(yùn)行,至少保證外部供電斷開前 10分鐘的實時數(shù)據(jù)上傳到監(jiān)控平臺。
車載終端可支持遠(yuǎn)程監(jiān)控平臺遠(yuǎn)程查詢和設(shè)置車載終端的參數(shù),并可遠(yuǎn)程更新系統(tǒng)固件。在車輛停駛過程,為了減少車載電瓶的電池?fù)p耗,車載終端應(yīng)具備休眠功能,休眠電流一般不能大于 3 mA。
2.2.1 關(guān)鍵器件選型
按照車載遠(yuǎn)程監(jiān)控終端的功能要求,兼顧性能、成本的考慮,本設(shè)計的主控芯片選用 CYPRESS公司基于 ARM CORTEX M4內(nèi)核的 32位RISC微控制器MB9B560R系列。該主控芯片運(yùn)行主頻達(dá)到160 MHz,具備 DSP與浮點(diǎn)運(yùn)算能力,帶片上 RTC模塊,提供實時時鐘功能。具備豐富的外部接口,包括常用的 ADC、DAC、SPI、I2C、UART、SDIO、USB等。在外部存儲器的連接方面,支持 SDRAM、SRAM、NOR閃存和NAND閃存。同時,該款MCU具備超低功耗的待機(jī)模式,在保持 RAM數(shù)據(jù)并處于最低功耗休眠模式下,靜態(tài)電流消耗只有48 uA。這個對整機(jī)的休眠功耗來講是一個比較關(guān)鍵的參數(shù)。
車載遠(yuǎn)程監(jiān)控終端需要使用無線網(wǎng)絡(luò)進(jìn)行實時數(shù)據(jù)傳輸,本設(shè)計選用高新興物聯(lián)的 ME3630 4G模組作為無線通信模塊。ME3630系列無線通信模塊是基于 LTE制式的基本覆蓋全球移動通信網(wǎng)絡(luò)的模塊,支持多種網(wǎng)絡(luò)協(xié)議(PAP, CHAP, PPP)和多種功能(GNSS,Remotewakeup,MMS,SMS等)。該模塊支持寬溫工作,因此,可以應(yīng)用在車載產(chǎn)品上。
GB/T 32960-2016規(guī)定,車載監(jiān)控終端需要提供車輛經(jīng)度、緯度的信息。本設(shè)計采用中科微的ATGM332D-5N北斗 +GPS多模定位模塊,包含 32個跟蹤通道,可以同時接收六個衛(wèi)星導(dǎo)航系統(tǒng)的GNSS信號,并且實現(xiàn)聯(lián)合定位、導(dǎo)航與授時。ATGM332D-5N系列模塊具有高靈敏度、低功耗、低成本等優(yōu)勢,適用于車載導(dǎo)航領(lǐng)域。
2.2.2 系統(tǒng)硬件架構(gòu)設(shè)計
通過分析國標(biāo) GB/T 32960-2016標(biāo)準(zhǔn)要求,結(jié)合車載遠(yuǎn)程監(jiān)控終端實際生產(chǎn)、使用過程的需求,完成系統(tǒng)硬件架構(gòu)設(shè)計,具體見圖 2。
圖2 系統(tǒng)邏輯連接框圖
在選用前述關(guān)鍵器件的前提下,圍繞 MCU擴(kuò)展出電源管理電路、4G模塊電路、GPS模塊電路、存儲系統(tǒng)電路、CAN總線電路(2路)、5個指示燈電路、USB和RS232通信接口。
車載遠(yuǎn)程監(jiān)控終端通過 CAN總線獲取車輛信息和車況信息,并讀取車載智能終端的實時時鐘的時間信息。MCU將以上數(shù)據(jù)進(jìn)行打包,一方面通過本地數(shù)據(jù)存儲設(shè)備(NAND Flash或eMMC)將數(shù)據(jù)保存在車上,另一方面通過 4G網(wǎng)絡(luò)發(fā)送至指定 IP的監(jiān)控中心平臺上。
電源管理電路兼容 9 VDC–36 VDC的寬電壓輸入,輸出電壓為 5 VDC,電流 3 A。選用 TI公司的TPS54360 DC-DC芯片,該芯片最高 60 VDC輸入,最大3.5 A電流輸出,工作靜態(tài)電流僅 146 uA。
本地存儲設(shè)備使用 eMMC,因為 eMMC自帶 Flash壞塊管理,擦寫均衡算法。4 MB的Nor Flash用來存儲系統(tǒng)參數(shù),同時還用來作為遠(yuǎn)程升級終端固件的緩存。
USB接口使用 Host模式,可通過 U盤進(jìn)行內(nèi)部存儲數(shù)據(jù)的導(dǎo)出。同時,還可以用來進(jìn)行本地固件升級以及系統(tǒng)參數(shù)設(shè)置等。
2.3.1 數(shù)據(jù)采集、存儲策略
根據(jù)國標(biāo) GB/T 32960-2016標(biāo)準(zhǔn)的數(shù)據(jù)采集和存儲要求,如果發(fā)生 3級報警故障,必須將 3級報警前30秒和報警后 30秒的數(shù)據(jù),按照每秒一次的頻率發(fā)送到遠(yuǎn)程監(jiān)控平臺。本設(shè)計定時 1秒采集并保存一次數(shù)據(jù),采用RAM緩存數(shù)據(jù),并定時刷新數(shù)據(jù)到flash的方式來對采集的數(shù)據(jù)進(jìn)行存儲并按照數(shù)據(jù)發(fā)送策略進(jìn)行發(fā)送。
2.3.2 安全鎖車策略
本設(shè)計采用 SM2國密數(shù)據(jù)技術(shù),選用紫光數(shù)據(jù)安全芯片,對上下行數(shù)據(jù)進(jìn)行數(shù)據(jù)簽名,防止數(shù)據(jù)被非法篡改。當(dāng)終端向平臺匯報數(shù)據(jù)時,終端軟件將對數(shù)據(jù)進(jìn)行數(shù)字簽名,并發(fā)送至監(jiān)控系統(tǒng)。系統(tǒng)對接收數(shù)據(jù)進(jìn)行解簽校驗,校驗通過后則對數(shù)據(jù)進(jìn)行解析和執(zhí)行。系統(tǒng)對終端下行控制指令,如鎖車、設(shè)置參數(shù)、OTA等,則需對下行指令進(jìn)行數(shù)據(jù)簽名,終端收到數(shù)據(jù)后,通過數(shù)據(jù)安全芯片對指令進(jìn)行數(shù)字簽名解簽和校驗,校驗通過后方解析并執(zhí)行指令。系統(tǒng)的互聯(lián)通信,均在數(shù)字簽名安全環(huán)境下執(zhí)行。
2.3.3 低功耗策略
為了降低整車在停駛器件對蓄電池的消耗,車企都會對每個控制器給出相應(yīng)的休眠功耗要求。為滿足整個要求,車載遠(yuǎn)程監(jiān)控終端在設(shè)計中需要把所有外設(shè)都關(guān)閉,其中GPS模塊要保留 BACKUP供電。整個系統(tǒng)內(nèi)僅保留主控制器有電,此時再進(jìn)入休眠。在實際應(yīng)用中,車載監(jiān)控終端的休眠電流可達(dá)800 uA以下,完全滿足車企 3 mA的要求。
車輛遠(yuǎn)程監(jiān)控平臺參照國家標(biāo)準(zhǔn)GB/T 32960-2016《電動汽車遠(yuǎn)程服務(wù)與管理系統(tǒng)技術(shù)規(guī)范第3部分:通信協(xié)議及數(shù)據(jù)格式》的技術(shù)要求,并結(jié)合汽車企業(yè)定制化需求開發(fā)而成,旨在為汽車滿足國家新能源汽車遠(yuǎn)程監(jiān)管法規(guī)要求、為汽車企業(yè)技術(shù)部門提供車輛數(shù)據(jù)積累,為汽車企業(yè)售后部門提供車輛安全預(yù)警及遠(yuǎn)程故障查詢處理、提供車輛遠(yuǎn)程控制服務(wù)等。[3]
系統(tǒng)總體架構(gòu)圖見圖3。
圖3 系統(tǒng)總體架構(gòu)圖
(1)表現(xiàn)層。主要負(fù)責(zé)與用戶和外部系統(tǒng)交互,具體提供系統(tǒng)可操作車輛遠(yuǎn)程監(jiān)控平臺 Web系統(tǒng)、手機(jī)APP,滿足不同的場景使用。Web系統(tǒng)主要用ASP.NET MVC4技術(shù)實現(xiàn);手機(jī) APP為用戶提供實時車輛運(yùn)行數(shù)據(jù)和車輛遠(yuǎn)程控制服務(wù)等。
(2)應(yīng)用層。主要負(fù)責(zé)系統(tǒng)邏輯計算的實現(xiàn),提供服務(wù)接口給展現(xiàn)層使用。此兩層之間通信基于系統(tǒng)內(nèi)部局域網(wǎng) TCP/IP協(xié)議,為了提高數(shù)據(jù)傳輸效率。根據(jù)應(yīng)用服務(wù)職責(zé)不同,將分兩大類,分別為業(yè)務(wù)應(yīng)用服務(wù)和基礎(chǔ)應(yīng)用服務(wù)。業(yè)務(wù)應(yīng)用服務(wù)實現(xiàn)業(yè)務(wù)需求的功能服務(wù),比如:實時信息查看、歷史軌跡查看功能等?;A(chǔ)應(yīng)用服務(wù)實現(xiàn)系統(tǒng)基礎(chǔ)公用的功能服務(wù),比如:日志服務(wù)、緩存服務(wù)、用戶認(rèn)證服務(wù)功能等。應(yīng)用服務(wù)使用 .NET平臺的通信框架WCF技術(shù)實現(xiàn),個別其他組件除外,比如 MQ組件、Redis緩存組件。
(3)數(shù)據(jù)層。主要負(fù)責(zé)系統(tǒng)數(shù)據(jù)存儲、同步、緩存和備份管理。本系統(tǒng)數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。對于結(jié)構(gòu)化數(shù)據(jù)使用 SQL Server 2008R2以上數(shù)據(jù)庫存儲,基于其復(fù)制同步的機(jī)制,可以進(jìn)行數(shù)據(jù)讀寫分離的實現(xiàn),提升數(shù)據(jù)層面的優(yōu)化,通過對數(shù)據(jù)的分庫分表提升數(shù)據(jù)的存儲和查詢,減少 I/O密集使用。非結(jié)構(gòu)化數(shù)據(jù)采取 MongoDB實現(xiàn)。
車輛遠(yuǎn)程監(jiān)控平臺內(nèi)部功能模塊劃分為 4層:終端層、通信和傳輸層、業(yè)務(wù)應(yīng)用和存儲層以及用戶層,見圖 4。終端層以車載遠(yuǎn)程監(jiān)控終端為主,通過前置機(jī)模塊與平臺進(jìn)行數(shù)據(jù)交互;前置機(jī)將接收到的數(shù)據(jù)推給數(shù)據(jù)處理模塊進(jìn)行處理,處理后的數(shù)據(jù)通過 Redis提供給其他模塊分發(fā) /訂閱;報表服務(wù)模塊、緩存服務(wù)模塊、存儲模塊、過濾模塊通過 Redis訂閱數(shù)據(jù)進(jìn)行處理后與數(shù)據(jù)庫(SQL Server, MongoDB)交互,轉(zhuǎn)發(fā)服務(wù)模塊訂閱數(shù)據(jù)后將數(shù)據(jù)轉(zhuǎn)發(fā)給監(jiān)管平臺(國家平臺、地方平臺),REST服務(wù)模塊提供 APP應(yīng)用接口; WebSocket模塊提供實時數(shù)據(jù)通道與Web端通信。
3.3.1 遠(yuǎn)程預(yù)熱
遠(yuǎn)程預(yù)熱控制有兩種:請求預(yù)熱和終止預(yù)熱,請求預(yù)熱時可設(shè)置加熱目標(biāo)溫度,終止預(yù)熱是強(qiáng)行停止加熱操作。
圖4 車輛遠(yuǎn)程監(jiān)控平臺內(nèi)部功能模塊
遠(yuǎn)程預(yù)熱流程:客戶通過Web端下發(fā)遠(yuǎn)程預(yù)熱命令;緩存接收到該命令后根據(jù)協(xié)議進(jìn)行數(shù)據(jù)組包,然后推送給Redis;前置機(jī)通過訂閱 Redis指令獲取最新的指令并將其發(fā)送給對應(yīng)的TBOX終端;TBOX終端接收遠(yuǎn)程預(yù)熱指令后通過CAN向車輛發(fā)送預(yù)熱命令,并將處理結(jié)果上報平臺;前置機(jī)接收到處理結(jié)果后推送給數(shù)據(jù)處理模塊進(jìn)行解析,解析結(jié)果通過Redis模塊提供訂閱服務(wù),緩存訂閱后將解析結(jié)果通過WebSocket模塊送到Web端進(jìn)行顯示。
3.3.2 遠(yuǎn)程鎖車
遠(yuǎn)程鎖車時客戶通過web端下發(fā)遠(yuǎn)程鎖車命令;緩存接收到該命令后根據(jù)協(xié)議進(jìn)行數(shù)據(jù)組包,然后推送給Redis;前置機(jī)通過訂閱Redis指令獲取該命令并將其發(fā)送給對應(yīng)的TBOX終端;TBOX終端接收該命令后通過CAN向車輛發(fā)送鎖車命令,并將處理結(jié)果上報平臺;前置機(jī)接收到處理結(jié)果后推送給數(shù)據(jù)處理模塊進(jìn)行解析,解析結(jié)果通過 Redis模塊提供訂閱服務(wù),緩存訂閱后將解析結(jié)果通過WebSocket模塊送到 Web端進(jìn)行顯示。
本文結(jié)合實際的新能源重卡應(yīng)用需求,通過對新能源汽車 CAN總線技術(shù)研究,并結(jié)合計算機(jī)互聯(lián)網(wǎng)應(yīng)用技術(shù),設(shè)計開發(fā)了一套車輛遠(yuǎn)程監(jiān)控系統(tǒng),實現(xiàn)了新能源重卡遠(yuǎn)程控制功能,為新能源汽車廠多模式銷售及運(yùn)營車輛提供了技術(shù)解決方案。