文獻標識碼: A
文章編號: 0258-7998(2013)05-0121-04
隨著現代電控技術對汽車組成的滲透,汽車架構的復雜性、集成度和信息化程度日益增強,由此給汽車安全運行帶來了更多隱患,僅靠傳統車內資源已很難滿足其安全性需求。
針對傳統車載診斷系統標識繁雜、實時性差、電磁干擾強等問題,先后有汽車電子研究者提出Telematics設計理念[1],并將逐漸形成未來汽車安全輔助駕駛系統發展的新型模式。2009年,曾銳利、肖云魁等在“汽車遠程故障診斷與維修系統研究”中[2],提出了車輛遠程故障自診斷系統,通過遠程服務器與車載終端的互聯,完成車輛的自診斷。2011年,上海交通大學汽車電子研究所張旭、冒曉建等發表的“汽車遠程診斷系統車載模塊的研究和開發”中[3],系統闡述了整個車載模塊遠程診斷系統的架構模式和軟件處理流程,為該方向的研究提供了較全面的參考模型。同年,上汽集團技術中心的彭劍、葉楓等,對車載終端和遠程服務器的相關功能模塊接口作了進一步研究[4]。但以上對車載遠程診斷系統的探索和研究中涉及的相關核心功能及性能評估不夠深入完善,離真正的實踐應用尚存一定距離。
為此,本文以Telematics為設計理念,提出一種新型的基于QNX車載終端的智能遠程診斷系統方案。引入強實時性的QNX系統為軟件運行平臺,并在此基礎上采用CAN總線和GPS模塊實時采集和處理車輛狀態信息,通過3G無線網絡完成與遠程服務器的互聯通信,實現后臺監控中心對車輛運行狀態的全天候實時監控,進而保障車輛更快、更安全地運行。
1 系統整體架構
智能遠程診斷系統主要由診斷終端、通信網絡和遠程服務中心組成。診斷終端作為整套系統的核心處理單元,主要包括CAN收發器、3G模塊、GPS模塊及SD卡存儲模塊,并且采用微秒級實時性的QNX系統作為軟件平臺。整套系統的指令數據和采樣數據按一定協議規范組包,其核心處理流程如下:
(1)報文采集:終端通過CAN總線和GPS模塊實時采集、過濾和處理車輛各ECU狀態信息;
(2)報文存儲:采集的所有報文信息通過SD卡模塊和緩沖的形式存儲,分別實現對車輛進行本地和遠程診斷;
(3)報文收發:診斷終端通過3G網絡與遠程服務器實現互聯,并實時收發本地和遠程服務器的相關報文,實現對車輛狀態的遠程動態監控。
其中,診斷終端作為核心處理單元,分別采用CAN總線網絡和3G無線網絡與車輛和遠程服務器互聯通信。遠程服務中心將關切信息通過配置形式下發到相關車輛,車輛終端即按照配置信息采集關切信息。同時,遠程服務中心可以實時查看相關車輛的各項運行參數,并自動分析處理相關信息,將異常情況實時反饋到相關車輛,通過中控臺、語音識別器等模式通知駕駛員。診斷系統整體架構如圖1所示。

可見,該設計方案不僅從軟件上保證了系統的實時性和可靠性,而且采用CAN總線通信、GPS定位系統、3G無線網絡等新型技術,實現了一個無縫的本地-遠程互連參考系統,有效增強了輔助駕駛平臺的安全系數。
2 系統診斷終端
針對當前車載診斷系統在通信速率和可靠性方面存在的問題,診斷終端采用目前較先進的CAN總線網絡與車輛ECU系統相連,引入3G無線通信模塊與遠程服務器互聯,實現對車輛各控制單元運行狀態的全天候遠程無線實時監控。
2.1 CAN總線通信邏輯
診斷終端與車輛通過CAN總線網絡實現互連,完成遠程指令下發和各ECU工作狀態的采集。由于車輛各ECU對CAN總線的性能要求不同,CAN總線根據傳輸速率劃分為高速CAN和低速CAN,不同速率CAN總線區域間信號通過網關從一個總線區域進入到另一個總線區域,同時以當前CAN網絡區域為參考,改變信號發送的優先級。
本系統診斷終端作為一個節點接入CAN總線診斷系統網關,其信號核心處理流程為:診斷節點向整個CAN網絡系統發起服務請求,CAN網關經識別后向所有CAN網絡的ECU節點發送服務請求信息;當網絡中相應的控制器接收到服務請求信息后,立刻返回服務響應,同時與診斷終端建立通信連接。診斷終端與CAN網絡某控制器節點建立服務請求/響應的示意圖如圖2所示。

針對終端CAN節點與車輛CAN網絡的互連條件,本系統設計3種采集觸發方式:
(1)系統上電:系統上電后,采集通道開始接收總線 上的所有報文。
(2) 遠程指令:車輛CAN總線系統接收到遠程服務器下發的特定指令后,將指定報文送入采集通道,收到相應禁止指令后停止采集指定報文;
(3) 條件觸發:若總線信號按一定公式計算后為真,則將該信號送入采集通道。
診斷終端根據遠程服務器下發的配置條件,指定其通信的觸發方式、采集方式和存儲方式,并將相關報文按指定方式存儲到本地SD卡,或上傳至遠程通信服務器。
可見,本系統診斷終端采用客戶指定的采集模式,真正做到了系統設計的可擴展性,并在設計早期即可通過CANoe等CAN總線模擬器充分論證方案的可行性,為快速開發高性能車載診斷終端提供先進的開發理念和有力的技術保障。
2.2 3G無線通信驅動設計
智能遠程診斷系統選用新型的3G無線通信模塊UC864,在成本不變的基礎上,內部集成了TCP/IP協議棧,幾乎封裝了無線通信的所有復雜處理流程,以此作為整個模塊的硬件驅動層,對外僅提供簡單API接口,給上層應用開發提供了更為人性化的底層驅動環境,進而有效縮短了3G無線模塊的開發周期。
UC864通過串口(UART)與MCU連接通信,其驅動核心處理流程為:首先初始化MCU與UC864相連的物理I/O管腳和相關寄存器,并使能3G模塊;然后通過AD采樣模擬輸出進行開機檢查;最后利用串口連接建立內部通信機制。其處理流程主要包括:
(1)串口初始化:主要對UART相關寄存器和I/O進行初始化,并設置串口通信波特率,開啟串口中斷等;
(2)串口中斷處理:主要對串口緩存進行監控,當收到數據時進行中斷接收處理,并給出響應;
(3)串口收發:根據串口通信協議,把終端相關報文或消息通過串口發送UC864,同時接受UC864收到的無線信號。
整個通信邏輯的核心偽代碼如下所示:
int 3GComProcess()
{
regInit(); //相關寄存器初始化
uartInit(); //串口初始化
Lock(mutex); //獲取串口訪問信號量
uartIntEnable(); //串口中斷使能
while(flag) //循環收發消息
{
If(flag==ERROR)
break;
Swtich(cmdType)
{
case: SENDTYPE
send(info);
break;
case:REVTYPE
receive(info);
break;
case:default
break;
}
}
uartIntDis(); //串口中斷禁能
Unlock(mutex); //釋放信號量
Return ERROR;
}
從驅動軟件邏輯執行流程可見,該設計理念把整個驅動分為軟件驅動和硬件驅動。軟件驅動主要負責與上層應用的接口通信,硬件驅動主要負責底層的信號傳輸,其核心處理過程已被封裝到芯片內部。因此,整個邏輯模型以“下層為上層服務”為設計理念,以降低模塊間耦合度,提高應用開發效率為目標,有效保障了接口的安全性。
綜上所述,3G無線通信模塊在成本不變的基礎上,將較復雜的協議棧處理過程集成到芯片內部,顯著提高了模塊的獨立性和實用性。另外,本驅動設計以高效率和低耦合為目標,分層設計驅動單元,盡量為開發者提供簡捷實用的接口,進而縮短3G模塊應用功能的開發周期。
3 系統遠程服務器端
系統遠程服務器端主要由通信服務器、數據庫服務器和Web服務器組成,各服務器的主要功能如下:
(1)通信服務器主要負責接收車載診斷終端發送的所有報文信息,并將其轉存到遠程數據庫服務器。同時將來自Web服務器的所有指令轉發到診斷終端;
(2)數據庫服務器用來保存診斷終端所有的采集信息,以及整套系統的用戶管理信息;
(3)Web服務器可以從數據庫服務器或通信服務器獲取特定車輛的各ECU狀態信息和GPS定位信息,并用Web瀏覽器展示給遠程診斷服務中心客服。
通信服務器與多個3G終端模塊建立遠程無線連接,并實時接收和解析所有的診斷報文和GPS定位報文,當通信服務器超負載運行時,負載均衡服務器將超出負載的請求轉移給其他通信服務器。數據庫服務器包括兩個功能模塊,一個用來保存終端采樣信號數據,另一個保存所有車輛的基本配置信息(包括車輛ID、診斷ID、終端DBC)。Web服務器主要通過訪問ASP網頁來實現對數據庫或遠程通信服務器的訪問,并將所有關切信息分類展示給客服。
遠程診斷服務器數據核心處理流程為:車載診斷終端與通信服務器之間通過TCP/IP方式進行無線通信,通信服務器與Web服務器之間通過數據庫進行數據交互。用戶可以通過Web瀏覽器與Web服務平臺進行交互,從而實現用戶與診斷車輛ECU的交互,完成數據采集、監視、診斷和控制等功能,服務器架構模式如圖3所示。

通過該處理流程,遠程車輛診斷服務中心可以采集特定車輛的各種CAN總線信號以及GPS車輛定位信號,并將采集到的相關車輛數據實時上傳至遠程數據庫服務器。車輛運行異常時,相應異常報文將實時上傳到遠程服務器,并通過遠程異常診斷機制,將診斷結果實時反饋到車輛終端,供司機快速做出處理,以保障車輛的運行安全。
可見,車載診斷終端與遠程車輛服務中心的互聯和集成,不僅提高了整套診斷系統的智能性、實時性和準確性,而且有效提高了車輛運行的安全性。
4 實驗結果及評價
本研究選用飛思卡爾提供的i.MX6Q系列車規標準處理器作為硬件平臺,其主要技術指標:1 GHz CPU主頻,1 GB×32 DDR3(400 MHz),32 M×16 bit 并行NOR Flash,可擴充的NAND Flash接口,LVDS數字圖形輸出接口,并集成了基于OpenGL ES2.0和OpenVG1.1的GPU圖形硬加速處理單元。軟件平臺采用加拿大哈曼公司開發的QNX硬實時操作系統,并利用Keil公司的IDE嵌入式開發套件進行邏輯設計和代碼測試。
采用北汽集團某車型CAN網絡系統與本診斷終端互連。測試車輛的ECU單元主要包括發動機、天窗、車燈、車門和空調控制單元,其界面顯示效果如圖4所示。

針對SGM和UC864兩款無線通信模塊傳輸速率進行的實驗對比分析結果如表1所示,當其他條件完全相同時,UC864模塊的傳輸速率約為SGM的2倍,數據丟失率約為后者的1/3,報文傳輸的實時性也有了一定程度的提升。另外,對傳統診斷模式與Telematics診斷模式進行實驗對標分析,實驗數據如表2所示。由于終端龐大報文數據負載轉到了遠程服務中心處理,有效降低了終端CPU的負載,同時現代Telematics模式診斷的車輛ECU單元數約為傳統模式的4倍,且其操作模式已經完全進入了智能化時代。因此,本文所做研究和實驗不僅大膽改變了傳統設計理念,而且以Telematics模型為核心設計理念,為未來診斷系統的發展提供了重要參考依據。

以現代車控系統快速向復雜化、信息化、智能化轉型為背景,以探索車輛診斷安全輔助系統的互連性、實時性和人性化為研究目標,設計了一套以Telematics為核心理念的智能車載3G遠程診斷系統。采用以QNX系統為軟件運行平臺,進一步加強了系統的實時性和安全性,并通過CAN總線和GPS模塊實時采集車輛狀態信息。基于UC864模塊設計的3G遠程無線互聯通信驅動層,實現了對車輛的全天候跟蹤和監控。
參考文獻
[1] 霍軼玥.上海通用Telematics系統優化方案研究與設計[D]. 上海:上海交通大學,2011.
[2] 曾銳利,肖云魁,周建新,等.汽車遠程故障診斷與維修系統研究[J].電子測量技術, 2009,32(7):129-131.
[3] 張旭,冒曉建,王俊席,等.汽車遠程診斷系統車載模塊的研究和開發[J]. 車用發動機, 2011(1):14-17.
[4] 彭劍,葉楓,辛兢澤,等.汽車遠程監控診斷系統的功能設計和應用研究[J].上海汽車, 2011,3(1):30-33.
