《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于QNX的智能车载3G远程诊断系统
基于QNX的智能车载3G远程诊断系统
来源:电子技术应用2013年第5期
张 瑞
河南商丘师范学院 计算机与信息技术学院, 河南 商丘476000
摘要: 提出基于QNX的智能车载远程3G诊断系统方案,采用QNX硬实时系统作为车载终端,通过CAN总线和GPS模块实时采集车辆状态信息,以实现对车辆运行状态的动态反馈;设计3G无线分层驱动模型实现车载终端与远程服务器通信,提高远程诊断的实时性和准确性;引入远程监控服务中心对车辆各项安全参数进行动态实时检测,进而提高运行安全系数。实验表明,该方案不仅能实时采集影响车辆安全运行的各项ECU参数,还可通过车辆远程服务中心实现对车辆的全天候跟踪监控。
中圖分類號: TP391
文獻標識碼: A
文章編號: 0258-7998(2013)05-0121-04
3G smart and remote vehicle diagnostic system based on QNX
Zhang Rui
Computer and Information Department of Shangqiu Normal University, Shangqiu 476000 China
Abstract: A program of remote 3G diagnosis system was proposed based on QNX. The hardware real-time system of QNX was used to the vehicle terminal, to capture status information of the vehicle by CAN and GPS module, so as to achieve dynamic feedback to the running status. In order to complete communicates between the car terminal and remote servers, design 3G Wireless layered driver model. As a result , improve the real-time and accuracy of the system. In order to improve the running safety factor, a remote monitoring service center was introduced, so as to check the safe parameter in real-time. Experiments show that, this program can not only capture all the ECU parameter affected the running safety, but also can trace and monitor the vehicle by the remote service center all day.
Key words : diagnostic system; vehicle terminal; layered driver; service center

     隨著現(xiàn)代電控技術對汽車組成的滲透,汽車架構的復雜性、集成度和信息化程度日益增強,由此給汽車安全運行帶來了更多隱患,僅靠傳統(tǒng)車內(nèi)資源已很難滿足其安全性需求。

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

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

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

 


    系統(tǒng)遠程服務器端主要由通信服務器、數(shù)據(jù)庫服務器和Web服務器組成,各服務器的主要功能如下:
    (1)通信服務器主要負責接收車載診斷終端發(fā)送的所有報文信息,并將其轉存到遠程數(shù)據(jù)庫服務器。同時將來自Web服務器的所有指令轉發(fā)到診斷終端;
    (2)數(shù)據(jù)庫服務器用來保存診斷終端所有的采集信息,以及整套系統(tǒng)的用戶管理信息;
    (3)Web服務器可以從數(shù)據(jù)庫服務器或通信服務器獲取特定車輛的各ECU狀態(tài)信息和GPS定位信息,并用Web瀏覽器展示給遠程診斷服務中心客服。
    通信服務器與多個3G終端模塊建立遠程無線連接,并實時接收和解析所有的診斷報文和GPS定位報文,當通信服務器超負載運行時,負載均衡服務器將超出負載的請求轉移給其他通信服務器。數(shù)據(jù)庫服務器包括兩個功能模塊,一個用來保存終端采樣信號數(shù)據(jù),另一個保存所有車輛的基本配置信息(包括車輛ID、診斷ID、終端DBC)。Web服務器主要通過訪問ASP網(wǎng)頁來實現(xiàn)對數(shù)據(jù)庫或遠程通信服務器的訪問,并將所有關切信息分類展示給客服。
    遠程診斷服務器數(shù)據(jù)核心處理流程為:車載診斷終端與通信服務器之間通過TCP/IP方式進行無線通信,通信服務器與Web服務器之間通過數(shù)據(jù)庫進行數(shù)據(jù)交互。用戶可以通過Web瀏覽器與Web服務平臺進行交互,從而實現(xiàn)用戶與診斷車輛ECU的交互,完成數(shù)據(jù)采集、監(jiān)視、診斷和控制等功能,服務器架構模式如圖3所示。

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


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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。

相關內(nèi)容