車載obd行車狀態檢測設備與系統后臺的通信技術方案的制作方法
【技術領域】
[0001]本發明涉及到汽車電子領域的車載OBD診斷接口及其相關設備的設計與制造。
【背景技術】
[0002]隨著人們生活水平的提高,車輛已經逐漸成為了廣大城市、農村居民必不可少的出行交通工具。然而,車輛日常運行損耗累積到一定程度,可能會導致車輛高速行駛過程的故障,致使無法正常行駛、甚至造成重大的交通事故,給人們帶來財產或生命的損失,嚴重影響當事人接下來的生活。因此,如何實時監測車輛運行狀態數據,并根據歷史數據對車輛狀態進行綜合評估,以便廣大車主及時對進行車輛維修、日常保養,防患于未然,顯得很有必要。當前極少數的高價位高檔車輛在出廠時,雖然具有內置的車輛狀態數據實時跟裝置,但也僅于汽車廠家的售后服務功能,車輛狀態實時獲取功能較差,還無法滿足車主對車身狀況的及時把控。此外,其他廣大車主仍在對車輛狀態盲然不知的情況下駕車行駛,隱藏著巨大安全隱患。
[0003]目前,車輛0BD(0n Board Diagrams,0BD)診斷接口是獲得車輛內置狀態監測數據的唯一途徑,該接口是汽車工業的行業標準,用于汽車維修過程的汽車故障檢測。實際上,任何實現汽車OBD接口標準的設備均可通過OBD接口向車輛的行車電腦(ElectronicControl Unit,E⑶)查詢其監測到的車輛狀態數據。很顯然,汽車OBD設備獲得的大量數據,又需要持久性、不間斷地保存到一個存儲器上,以便車主查詢歷史的監測數據。隨著大規模數據存儲技術和服務器集群技術的發展,云存儲成了數據持久性、不間斷保存的技術方案。當前,基于手機通信技術和Wifi的移動網絡技術,推動了移動互聯網時代的到來,使得人們隨時隨地可對網絡資源的獲取和共享成了可能,也使得數據監測設備可以將其監測的數據實時地發送到系統后臺,存儲在云端數據服務器上,實現多種移動終端設備的數據共享和服務。在云儲存計算背景下,移動互聯網技術的成熟會對汽車監測數據的云端存儲、分析、共享產生巨大推動作用。
[0004]因此,近年來,基于車載OBD接口的各種車輛狀態檢測設備大量的涌現,但其與系統后臺之間缺乏統一的通信接口,導致不同OBD設備廠家之間的設備互不兼容,系統后臺無法同時與多種OBD設備之間進行通信,額外增加了實際中的費用開銷。當前云存儲、移動互聯時代下,本發明提出了系統后臺與OBD汽車狀態檢測設備通信的技術方案,該方案綜合考慮了系統后臺與OBD設備檢測設備之間的消息收發特點,實現簡單高效,并具有統一的通信接口,便于不同廠家OBD設備與系統后臺之間的兼容性。
【發明內容】
[0005]本發明提出了系統后臺與OBD車輛狀態檢測設備通信的技術方案,采用了消息事件機制,實現OBD車輛狀態檢測設備與系統后臺之間的統一接口。
[0006]本發明定義了設備與系統后臺之間的數據交換格式,設備接收到的數據是一些設備配置數據以及其他的操作指令,其數據格式定義,如圖1所示。
[0007]其中數據類型為8位二進制數據,其中最高位表示是否返回指令的執行結果,其余7位標識數據的類別。若數據類型的最高位是1,則數據部分的前I個字節為系統后臺指令的標識碼,該標識碼是一個隨機數,從而數據長度-1是系統后臺指令執行結果的數據長度。
[0008]而設備向后臺發送數據的格式如圖2所示,其中數據類型為8位二進制數據,其中最高位表示是否系統后臺指令的執行結果,其余7位標識數據的類別。若數據類型的最高位是1,則數據部分的前I個字節為系統后臺指令的標識碼,該標識碼是一個隨機數,從而數據長度-1是系統后臺指令執行結果的數據長度。
[0009]本發明所述的系統后臺與OBD設備之間的通訊方案,包括“注冊設備”、“發送數據”、“接收數據”,“防吊保持”等部分,現在分述如下:
[0010]⑴注冊設備
[0011]本發明所述車載OBD行車狀態檢測設備系統注冊的處理流程如圖3所示,按以下的三個步驟執行。
[0012]第一步:設備加電啟動后,將主動連接系統后臺的服務地址,并將設備標識發送到系統后臺。
[0013]第二步:系統后臺,對設備身份進行驗證。若驗證通過維持TCP連接,否則斷開建立的TCP連接。
[0014]第三步:設備注冊完成。
[0015]⑵接收數據
[0016]本發明所述車載OBD行車狀態檢測設備接收數據的處理流程如圖4所示,即按以下的幾個步驟執行。
[0017]第一步:當設備檢測到通信模塊產生的數據達到中斷信號后,主控芯片執行相應的中斷處理函數。
[0018]第二步:在主控芯片的中斷處理函數中,調用數據接收函數,將通信模塊接收到數據保存到接收數據緩沖區。
[0019]第三步:由接收數據緩沖區第二個字節的值,獲得有效數據的長度。
[0020]第三步:判斷接收數據緩沖第一個節字的最高位是否為I。若為1,則讀取接收數據緩沖的第三個字節數據,將其保存成系統指令代碼變量的值,以便將返回些次指令的執行結果,再從接收緩沖區中從第四個字節及其以后余下的字節中讀取接收的數據。否則,直接從接收緩沖區中第三個字節及其以后余下的字節中讀取接收的數據。
[0021]第四步:忽略接收數據緩沖第一個字節的最高位,判斷接收數據的類型。
[0022]第五步:根據接收的數據類型及其數據,執行相應的操作。
[0023]第六步:接收數據完成。
[0024](3)發送數據
[0025]本發明所述設備向系統后臺發送數據,其執行流程如圖5,需經過以下幾個步驟完成發送數據幀的封裝和發送。
[0026]第一步:確定發送數據的類型,設置數據發送緩沖中第一個字節,即數據類型字節相應的值。
[0027]第二步:檢查要發送的數據是否系統后臺指令的返回數據。
[0028]第三步:若要發送的數據是系統后臺指令的返回數據,則設置數據類型字節最高位的值為1,并將系統后臺指令代碼拷貝到發送數據緩沖的第三個節字,再將要發送的數據拷貝到余下的發送數據緩沖中。否則,將數據類型字節的最高位設置為0,并把要發送的數據直接拷貝到發送數據緩沖的第三個字節及其以后的字節中。
[0029]第四步:計算發送數據數據緩沖中數據位的長度,并將長度值保存到數據發送緩沖的第二個字節中,完成發送數據幀的封裝。
[0030]第五步:調用數據發送函數,將封裝好的發送數據幀發送到系統后臺。
[0031]第六步:發送數據完成。
[0032](4)防吊保持
[0033]本發明所涉及的車載OBD行車狀態檢測設備,在正常工作中需要定時向系統后臺發送防吊消息,來維持連接的活動狀態。防吊數據的幀結構是設備發送數據幀的特殊形式,是一個僅包含數據類型字節的數據,其封裝步驟如下:
[0034]第一步:設置一個字節大小的防吊數據發送緩沖區。
[0035]第二步:將防吊數