《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于QNX的智能車載3G遠(yuǎn)程診斷系統(tǒng)
基于QNX的智能車載3G遠(yuǎn)程診斷系統(tǒng)
來源:電子技術(shù)應(yīng)用2013年第5期
張 瑞
河南商丘師范學(xué)院 計(jì)算機(jī)與信息技術(shù)學(xué)院, 河南 商丘476000
摘要: 提出基于QNX的智能車載遠(yuǎn)程3G診斷系統(tǒng)方案,采用QNX硬實(shí)時(shí)系統(tǒng)作為車載終端,通過CAN總線和GPS模塊實(shí)時(shí)采集車輛狀態(tài)信息,以實(shí)現(xiàn)對(duì)車輛運(yùn)行狀態(tài)的動(dòng)態(tài)反饋;設(shè)計(jì)3G無線分層驅(qū)動(dòng)模型實(shí)現(xiàn)車載終端與遠(yuǎn)程服務(wù)器通信,提高遠(yuǎn)程診斷的實(shí)時(shí)性和準(zhǔn)確性;引入遠(yuǎn)程監(jiān)控服務(wù)中心對(duì)車輛各項(xiàng)安全參數(shù)進(jìn)行動(dòng)態(tài)實(shí)時(shí)檢測,進(jìn)而提高運(yùn)行安全系數(shù)。實(shí)驗(yàn)表明,該方案不僅能實(shí)時(shí)采集影響車輛安全運(yùn)行的各項(xiàng)ECU參數(shù),還可通過車輛遠(yuǎn)程服務(wù)中心實(shí)現(xiàn)對(duì)車輛的全天候跟蹤監(jiān)控。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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)代電控技術(shù)對(duì)汽車組成的滲透,汽車架構(gòu)的復(fù)雜性、集成度和信息化程度日益增強(qiáng),由此給汽車安全運(yùn)行帶來了更多隱患,僅靠傳統(tǒng)車內(nèi)資源已很難滿足其安全性需求。

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

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

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

 


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

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


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

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

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