黃世祥 黃宏成 楊 松
(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院,上海200240)
早在2009年,工信部就頒布了處于起步期和發(fā)展期的新能源汽車必須按比例進(jìn)行遠(yuǎn)程監(jiān)控的法規(guī)[1],且2011年四部委又聯(lián)合作了進(jìn)一步強(qiáng)調(diào);上海市也于2012年發(fā)布了相應(yīng)地方標(biāo)準(zhǔn)[2],該標(biāo)準(zhǔn)對遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng)功能作了基本規(guī)定;上海交通大學(xué)開展“綠色校園”示范網(wǎng)項(xiàng)目,其核心是基于電動(dòng)車和充電設(shè)施的數(shù)據(jù)采集監(jiān)控研究中心。
目前的車輛遠(yuǎn)程監(jiān)控系統(tǒng),大多基于GSM/GPRS等2.0/2.5G 無線網(wǎng)絡(luò)[3-7],GPRS在實(shí)際使用中,通信時(shí)延較大,RTT(Round Trip Time)通常在1000ms-3000ms,甚至可能膨脹到10s;數(shù)據(jù)吞吐率受實(shí)際通信條件,如終端移動(dòng)速度、小區(qū)切換、網(wǎng)絡(luò)擁塞等影響,變化范圍非常大,且會(huì)伴隨丟包率的增加,系統(tǒng)實(shí)時(shí)性和通信可靠性受到極大影響;由于原理性因素,其TCP性能穩(wěn)定性和網(wǎng)絡(luò)安全性也不如CDMA 1xEVDO網(wǎng)絡(luò)。鑒于這些原因,GPRS將不能滿足數(shù)據(jù)流量較大、交互性強(qiáng)的應(yīng)用需求,如目前發(fā)展的Telematics業(yè)務(wù)。
針對GPRS網(wǎng)絡(luò)以上不足,系統(tǒng)采用CDMA 1xEVDO網(wǎng)絡(luò)作為無線通信方案,以備圖像、聲音等多媒體業(yè)務(wù)拓展對通信帶寬的需求,且在系統(tǒng)硬件和軟件架構(gòu)設(shè)計(jì)方面充分考慮可擴(kuò)展性和軟件可移植性;為了提高系統(tǒng)實(shí)時(shí)性和對資源的管理能力,引入RTOS進(jìn)行車載終端實(shí)時(shí)任務(wù)設(shè)計(jì);同時(shí)對通信數(shù)據(jù)進(jìn)行校驗(yàn),合理設(shè)計(jì)通信程序,將數(shù)據(jù)丟包率控制到最小,提高通信可靠性;數(shù)據(jù)采集監(jiān)控中心對訪問用戶進(jìn)行身份驗(yàn)證和權(quán)限管理,保證安全性;此外,系統(tǒng)支持?jǐn)?shù)據(jù)本地、遠(yuǎn)程的實(shí)時(shí)查詢,歷史統(tǒng)計(jì)信息查詢,車載終端運(yùn)行自檢,軟件遠(yuǎn)程在線升級等功能。
CDMA 1xEVDO是專門針對分組數(shù)據(jù)業(yè)務(wù)而經(jīng)過優(yōu)化了的技術(shù),其設(shè)計(jì)峰值速率可達(dá)下行3.1 Mbps/上行1.8Mbps(Rev.A),下行2.4Mbps/上行153Kbps(Rev.0),且向下版本兼容。據(jù)實(shí)際測試,其數(shù)據(jù)吞吐率可達(dá)下行304-572Kbps/上行85-135Kbps,能穩(wěn)定在下行300Kbps/上行80Kbps以上;數(shù)據(jù)包差錯(cuò)率90%的概率在下行0.2%/上行1%以下;通信時(shí)延(RTT)通常150-1400ms且90%的概率在220ms以下,另外,CDMA 1xEVDO增加了不同接入網(wǎng)(AN)之間的接口,提高了不同AN之間的切換性能,可見CDMA 1xEVDO(以下簡稱EVDO)TCP性能比GPRS網(wǎng)絡(luò)提高很多?;贓VDO網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)控系統(tǒng)組成如圖1所示。
圖1 基于CDMA 1xEVDO的遠(yuǎn)程監(jiān)控系統(tǒng)通信鏈路Fig.1 Architecture of vehicle remote monitoring system
系統(tǒng)通信過程可分為上行通信、下行通信和客戶端的遠(yuǎn)程訪問3個(gè)過程,其詳細(xì)描述如圖2所示。
上行通信:如圖2上半部分所示,車載終端控制器通過控制EVDO模塊先后建立HRPD(High Rate Packet Data)和PPP(Point-to-Point Protocol)會(huì)話,PDSN (Pocket Data Service Node)為模塊分配IP地址,從而將車載終端接入Internet,進(jìn)而與遠(yuǎn)程監(jiān)控中心服務(wù)器建立TCP連接(假如使用TCP協(xié)議),如此,終端可將從車載總線及GPS接收器采集的數(shù)據(jù)上傳至數(shù)據(jù)采集監(jiān)控中心數(shù)據(jù)庫,傳輸結(jié)束后,關(guān)閉TCP連接。
下行通信:如圖2下半部分所示,假設(shè)車載終端EVDO模塊處于服務(wù)器偵聽狀態(tài),此時(shí)遠(yuǎn)程通信服務(wù)器主動(dòng)向車載終端發(fā)起TCP連接請求,車載終端應(yīng)答后,可建立下行TCP連接,進(jìn)而下行傳輸數(shù)據(jù),傳輸結(jié)束后,關(guān)閉TCP連接。
遠(yuǎn)程訪問:如圖2右下部分所示,數(shù)據(jù)采集監(jiān)控中心構(gòu)建WEB/WAP服務(wù)器,授權(quán)用戶可通過PC、智能手機(jī)等客戶端瀏覽器登錄查詢所屬車輛的實(shí)時(shí)、歷史信息或故障信息。
車載終端工作環(huán)境與3種工作模式如圖3所示,其將完成如下功能:數(shù)據(jù)定時(shí)采集、定時(shí)傳送,本地、遠(yuǎn)程實(shí)時(shí)數(shù)據(jù)查詢,故障報(bào)警與提示,軟件遠(yuǎn)程在線升級。此外,終端還支持運(yùn)行自檢,數(shù)據(jù)本地存儲(chǔ),上行數(shù)據(jù)與下行數(shù)據(jù)校驗(yàn)等功能。
2.1.1 外部接口及協(xié)議
圖3顯示了車載終端工作環(huán)境,其具有4類外部接口:接收GPS衛(wèi)星廣播信號(hào)接口、與新能源汽車通信的CAN總線接口、與遠(yuǎn)程通信服務(wù)器的無線通信接口以及與用戶交互的人機(jī)接口。GPS接收器為接收衛(wèi)星信號(hào)接口,完成對衛(wèi)星的捕捉和終端定位;CAN控制器與CAN收發(fā)器組成CAN總線接口;EVDO模塊為無線入網(wǎng)接口,完成數(shù)據(jù)遠(yuǎn)程傳輸;人機(jī)接口則由按鍵、蜂鳴器、LCD或麥克風(fēng)、揚(yáng)聲器等設(shè)備構(gòu)成。
圖2 系統(tǒng)通信過程描述Fig.2 System communication process
圖3 車載終端環(huán)境與功能模型Fig.3 Vehicle terminal environment and function model
由于電動(dòng)汽車等新能源汽車的CAN通信網(wǎng)絡(luò)應(yīng)用層協(xié)議在產(chǎn)業(yè)界并未形成標(biāo)準(zhǔn),大多基于SAE J1939協(xié)議設(shè)計(jì),如CN2004A(B),應(yīng)用時(shí)需修改參數(shù)以適應(yīng)具體車型;而遠(yuǎn)程通信基于TCP/IP協(xié)議,但應(yīng)用協(xié)議需自行設(shè)計(jì)(詳見2.3.2)。
2.1.2 工作模式
M0:定時(shí)模式。車載終端的一般工作模式,完成車輛狀態(tài)數(shù)據(jù)定時(shí)采集,如圖4所示,定時(shí)采樣GPS數(shù)據(jù)(A)和車載數(shù)據(jù)(B),并將其本地存儲(chǔ),采樣周期不大于10s[2];定時(shí)傳送,將格式化后的GPS數(shù)據(jù)(A′)與車載數(shù)據(jù)(B′)上傳至遠(yuǎn)程通信服務(wù)器,上傳周期不大于60s[2]。同時(shí),對車載終端的運(yùn)行狀態(tài)進(jìn)行監(jiān)控,保證其有序、可靠運(yùn)行。
M1:中斷模式。車載終端進(jìn)入中斷模式有2種情況:按鍵中斷和遠(yuǎn)程中斷,如圖4所示:
按鍵中斷將對車輛狀態(tài)數(shù)據(jù)(A,B)進(jìn)行實(shí)時(shí)采集,數(shù)據(jù)(此時(shí)無需格式化,仍為A,B)通過CAN總線被發(fā)送至車載信息終端進(jìn)行顯示(車載信息終端應(yīng)有相應(yīng)的顯示驅(qū)動(dòng));
遠(yuǎn)程中斷通過信令解析后,又將出現(xiàn)3種情況:若是故障信息,則終端進(jìn)行相應(yīng)的故障處理調(diào)用;若是查詢命令,則對車輛狀態(tài)數(shù)據(jù)(A,B)進(jìn)行實(shí)時(shí)采集,數(shù)據(jù)(此時(shí)無需格式化,仍為A,B)被上傳至遠(yuǎn)程通信服務(wù)器;若是升級命令,則終端將進(jìn)行升級處理調(diào)用,從而進(jìn)入升級模式。
M2:升級模式。當(dāng)需要升級車載終端軟件時(shí),遠(yuǎn)程通信服務(wù)器向終端發(fā)送升級命令,終端從中斷模式進(jìn)入升級模式,完成遠(yuǎn)程下載映像文件(C)和Flash編程,實(shí)現(xiàn)在線升級。升級結(jié)束后,終端將重新啟動(dòng)定時(shí)模式。
圖4 車載終端行為過程及數(shù)據(jù)流模型Fig.4 Logic behaviors of vehicle terminal
2.1.3 車輛狀態(tài)數(shù)據(jù)
車載終端至少采集車輛位置,動(dòng)力電池電壓、電流、溫度、SOC、充放電狀態(tài),驅(qū)動(dòng)電機(jī)溫度、轉(zhuǎn)速、轉(zhuǎn)矩等狀態(tài)信息[2],此外,根據(jù)應(yīng)用需要,可采集其它數(shù)據(jù)。
按上述功能與行為要求,車載終端應(yīng)該包括主控制器、CAN控制器和收發(fā)器、無線通信EVDO模塊、GPS接收器模塊、輔助存儲(chǔ)單元(如SD卡、U盤)、人機(jī)接口(如LCD,蜂鳴器,按鍵)、供電單元、時(shí)鐘單元、復(fù)位單元(包括運(yùn)行監(jiān)控,如Watchdog)、編程與調(diào)試接口(如BDM(Background Debug Model),JTAG)以及各種接口適配器等保證終端正常工作的器件。設(shè)計(jì)的示例硬件結(jié)構(gòu)如圖5所示。
各模塊連接關(guān)系說明如下:
由于主要采樣的是車輛動(dòng)力總成狀態(tài)數(shù)據(jù),故車載CAN網(wǎng)絡(luò)采用高速CAN協(xié)議,通信速率一般為250Kbps或500Kbps;GPS接收器與MCU采用UART連接,輸出采用NMEA 0183協(xié)議;SD卡模塊與MCU采用SPI總線連接,可實(shí)現(xiàn)高速讀寫;蜂鳴器采用PWM驅(qū)動(dòng)方式,可根據(jù)故障等級輸出不同頻率的聲音;EVDO模塊(核心器件為華為MC703EVDO模塊)與 MCU采用標(biāo)準(zhǔn) RS-232-C連接,可分別制作PCB,方便拆卸或更換;TFT LCD和Button采用GPIO(Generic Purpose Input Output)與MCU連接;對于其它的模塊,MCU具有相應(yīng)的專用接口與之連接。
另外,終端還可按需增加模塊,實(shí)現(xiàn)功能擴(kuò)展,如增加語音模塊或CCD圖像傳感器等,實(shí)現(xiàn)多媒體應(yīng)用。
由于車載終端任務(wù)較多,為了保證系統(tǒng)實(shí)時(shí)性和對資源的充分利用,故引入μC/OS-II實(shí)時(shí)內(nèi)核進(jìn)行車載終端軟件設(shè)計(jì)。μC/OS-II是一種基于優(yōu)先級的、搶占式調(diào)度實(shí)時(shí)內(nèi)核,提供如信號(hào)量、消息郵箱、消息隊(duì)列等多種任務(wù)通信與同步機(jī)制,且經(jīng)過少量修改,可使其滿足OSEK/VDX OS標(biāo)準(zhǔn)。
2.3.1 軟件架構(gòu)
按照抽象設(shè)計(jì)、接口與實(shí)現(xiàn)分離理念,對車載終端軟件逐層抽象,可建立一個(gè)終端應(yīng)用程序設(shè)計(jì)的通用方案,其軟件架構(gòu)如圖6所示。
圖5 車載終端硬件結(jié)構(gòu)Fig.5 Hardware block diagram of vehicle terminal
車載終端軟件設(shè)計(jì)可抽象為3個(gè)層次:基礎(chǔ)軟件層、系統(tǒng)接口層、應(yīng)用層,分別闡述如下:
基礎(chǔ)軟件層。包括μBoot(表示內(nèi)核尚未啟動(dòng)之前完成MCU寄存器,中斷向量和存儲(chǔ)空間等C運(yùn)行環(huán)境配置,引導(dǎo)內(nèi)核的一段匯編程序)、IAP(In Application Programming)程序(軟件遠(yuǎn)程在線升級的核心程序)、MCU及外圍器件驅(qū)動(dòng)程序(其中FatFs是一種適用于小型嵌入式應(yīng)用的開源文件系統(tǒng))、μC/OS-II實(shí)時(shí)內(nèi)核(需要移植和進(jìn)行少量修改),基礎(chǔ)軟件提供了訪問車載終端底層硬件的接口。
系統(tǒng)接口層。對基礎(chǔ)軟件提供的各種API(Application Programming Interface)進(jìn)一步封裝成統(tǒng)一的系統(tǒng)API,為應(yīng)用層實(shí)時(shí)任務(wù)提供運(yùn)行時(shí)環(huán)境(RTE(Run-time Environment))。
應(yīng)用層。實(shí)現(xiàn)車載終端功能和行為的核心程序,其核心是任務(wù)劃分及其優(yōu)先級確定,任務(wù)設(shè)計(jì)應(yīng)滿足系統(tǒng)實(shí)時(shí)性,且使任務(wù)間通信和同步代價(jià)最小。
圖6 車載終端軟件架構(gòu)Fig.6 Software architecture of vehicle terminal
圖7 遠(yuǎn)程通信模型Fig.7 Remote communication model
定時(shí)模式設(shè)計(jì)為4個(gè)任務(wù):Task1數(shù)據(jù)采樣(DataSampler),優(yōu)先級為5,運(yùn)行周期為5s(指對車載數(shù)據(jù)B的采樣,GPS數(shù)據(jù)A是定時(shí)輸出的,中斷方式接收);Task2數(shù)據(jù)存儲(chǔ)(DataStorer),優(yōu)先級為7,運(yùn)行周期為20s;Task3數(shù)據(jù)傳送(DataTransfer),優(yōu)先級為9,運(yùn)行周期為40s;Task4運(yùn)行監(jiān)控(RunningSupervior),優(yōu)先級為11,運(yùn)行周期設(shè)計(jì)為60s,實(shí)現(xiàn)對終端硬件運(yùn)行時(shí)狀態(tài)的監(jiān)控,如圖7所示。其中,Task1和Task2需要進(jìn)行同步,可采用μC/OS-II提供的消息隊(duì)列機(jī)制實(shí)現(xiàn)。
中斷模式設(shè)計(jì)為2個(gè)中斷服務(wù)任務(wù),如圖5所示(不包括其它 MCU或內(nèi)核內(nèi)部中斷):Button-ISR,中斷優(yōu)先級設(shè)計(jì)為15,完成車輛狀態(tài)數(shù)據(jù)的本地實(shí)時(shí)查詢;RemoteComISR,中斷優(yōu)先級為13,根據(jù)信令類型,完成車輛故障報(bào)警、遠(yuǎn)程實(shí)時(shí)查詢或切換到軟件在線升級程序。
2.3.2 通信協(xié)議
由于MCU內(nèi)部具有CAN控制器、SPI控制器,使用的都是標(biāo)準(zhǔn)CAN2.0和SPI通信協(xié)議,所以這兩種協(xié)議不予討論;MCU與GPS Receiver通信采用基于UART的NMEA 0183V3.0和UBX協(xié)議,其中UBX用于設(shè)置GPS Receiver的輸出數(shù)據(jù)速率、定位刷新頻率、定位模式等參數(shù),NMEA 0183V3.0定義了輸出報(bào)文格式,設(shè)置波特率為9600bps,刷新頻率為0.2Hz,定位模式為車載模式,MCU為中斷接收方式。
遠(yuǎn)程通信協(xié)議分為上行通信協(xié)議和下行通信協(xié)議,下行通信協(xié)議又包括對車載終端的控制協(xié)議和用于軟件遠(yuǎn)程在線升級的文件傳輸協(xié)議,其通信模型如圖7所示。TCP/IP協(xié)議具有超時(shí)和重傳、校驗(yàn)、流量控制等機(jī)制,保證了通信可靠性,因此,只要保證UART的傳輸可靠性就能保證車載終端遠(yuǎn)程通信的可靠性。
定義上行數(shù)據(jù)和下行控制數(shù)據(jù)格式如下:
上行通信協(xié)議。假如MC703已經(jīng)接入Internet,上傳數(shù)據(jù)時(shí),MCU首先發(fā)送AT指令控制MC703與遠(yuǎn)程通信服務(wù)器建立TCP連接并開啟透明傳輸模式,然后按上述數(shù)據(jù)包格式傳輸數(shù)據(jù),傳輸結(jié)束后,遠(yuǎn)程通信服務(wù)器發(fā)送應(yīng)答信號(hào),MCU根據(jù)應(yīng)答信號(hào)決定結(jié)束傳輸(發(fā)AT指令控制MC703斷開TCP連接),或者重傳。如果超過15s沒有接收到應(yīng)答信號(hào),則認(rèn)為通信失敗,并重啟傳輸。
下行控制協(xié)議。MC703工作在服務(wù)器偵聽狀態(tài),遠(yuǎn)程通信服務(wù)器向MCU按上述數(shù)據(jù)包格式發(fā)送數(shù)據(jù),數(shù)據(jù)到達(dá)時(shí)MCU的USART1產(chǎn)生接收中斷,MCU進(jìn)入RemoteComISR中斷服務(wù)程序(首先發(fā)送接收應(yīng)答信號(hào),然后根據(jù)ID類型進(jìn)行響應(yīng))。遠(yuǎn)程通信服務(wù)器根據(jù)應(yīng)答信號(hào)決定結(jié)束傳輸(斷開TCP連接)或重傳,如果超過10s沒有接收到信號(hào),則重新發(fā)送。
程序映像文件傳輸協(xié)議。軟件遠(yuǎn)程在線升級程序需要將遠(yuǎn)程宿主機(jī)編譯生成的程序映像文件(二進(jìn)制文件)下載到車載終端,必須定義相應(yīng)的文件傳輸協(xié)議。幸運(yùn)的是,已經(jīng)有這樣的文件傳輸協(xié)議可用,如Xmodem、Ymodem、KERMIT等,如采用常用的Ymodem傳輸協(xié)議,其對下載數(shù)據(jù)進(jìn)行CRC校驗(yàn)、錯(cuò)誤重傳等機(jī)制,保證了傳輸可靠性。
數(shù)據(jù)采集監(jiān)控中心需要完成與車載終端遠(yuǎn)程通信、管理車輛狀態(tài)數(shù)據(jù)、數(shù)據(jù)分析與故障診斷、提供車輛用戶遠(yuǎn)程查詢所屬車輛信息、程序文件管理以及軟件開發(fā)功能,是一個(gè)C/S、B/S的混合架構(gòu)模型,實(shí)現(xiàn)一定的結(jié)構(gòu)和功能冗余,提高系統(tǒng)可靠性。
通信服務(wù)器(Communication Server)實(shí)現(xiàn)與各車載終端的遠(yuǎn)程通信(C/S模式),并發(fā)率不能小于其所監(jiān)控車輛總數(shù)的10%[2],可采用端口復(fù)用、多線程等技術(shù)實(shí)現(xiàn);WEB/WAP服務(wù)器采用MVC模式[4]進(jìn)行設(shè)計(jì)(B/S模式,只有實(shí)時(shí)查詢時(shí)才與車載終端通信,其余實(shí)時(shí)都從中心數(shù)據(jù)庫獲得數(shù)據(jù)),需兼顧PC、移動(dòng)客戶端的多種瀏覽器且對訪問用戶進(jìn)行權(quán)限管理,授權(quán)用戶可訪問車輛實(shí)時(shí)、歷史統(tǒng)計(jì)信息和故障狀態(tài)信息。
將CDMA 1xEVDO和GPRS網(wǎng)絡(luò)的TCP性能進(jìn)行了對比研究,指出CDMA 1xEVDO具有更好的實(shí)時(shí)性、安全性、穩(wěn)定性,可滿足對多媒體業(yè)務(wù)擴(kuò)展的需求。將CDMA 1xEVDO技術(shù)應(yīng)用于新能源汽車的遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)中,對系統(tǒng)的通信過程進(jìn)行了詳細(xì)論述;對采用模型方法對車載終端功能和行為進(jìn)行了詳細(xì)描述;設(shè)計(jì)了可擴(kuò)展及層次分明的硬件、軟件架構(gòu)和保證通信可靠性的基于UART和TCP/IP協(xié)議的遠(yuǎn)程通信協(xié)議,提出了一種C/S,B/S混合架構(gòu)的數(shù)據(jù)采集監(jiān)控中心服務(wù)器群模型,對新能源汽車遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)具有一定的指導(dǎo)意義,也可供其它設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)借鑒。
[1] 工業(yè)與信息產(chǎn)業(yè)部.新能源汽車生產(chǎn)企業(yè)及產(chǎn)品準(zhǔn)入管理規(guī)則[R].2009.
[2] 上海市地方標(biāo)準(zhǔn).《電動(dòng)乘用車運(yùn)行安全和維護(hù)保障技術(shù)規(guī)范》,DB31/T634-2012,2012年11月1日起實(shí)施.
[3] 謝輝,肖斌,郝明德,等.電動(dòng)汽車示范運(yùn)行無線遠(yuǎn)程監(jiān)控管理系統(tǒng)的開發(fā)研究[J].汽車工程,2006,28(8).
[4] 張新豐,沈勇,宋蜀,等.面向規(guī)模示范運(yùn)營的新能源汽車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].汽車工程,2012,34(5).
[5] 彭劍,葉楓,辛兢澤.汽車遠(yuǎn)程監(jiān)控診斷系統(tǒng)的功能設(shè)計(jì)和應(yīng)用研究[J].上海汽車.設(shè)計(jì)研究,2011(3).
[6] 沈陽.基于GPRS網(wǎng)絡(luò)電動(dòng)汽車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)的研究[J].上海交通大學(xué)碩士學(xué)位論文,2013.
[7] 航天新長征電動(dòng)汽車技術(shù)有限公司.電動(dòng)汽車遠(yuǎn)程監(jiān)控和信息服務(wù)系統(tǒng).2011.