廖燕輝
廣州華夏職業學院 廣東省廣州市 510935
隨著汽車保有量的持續增加,汽車的排放問題受到更加嚴格的監管。雖然目前國家大力提倡發展新能源汽車,但是由于技術上的限制,有些新能源車依然搭載了汽油機或柴油機。因此,對于車輛的監控是很有必要的,特別是對于車輛的排放狀況。
目前國家在大力推進物聯網,汽車行業也不例外。本文提出的基于OBD2的車輛遠程監控系統,除了能夠遠程監控車輛的排放情況之外,還能夠遠程動態顯示車輛的運行參數。廠家或者4S店等售后服務部門使用遠程監控功能,實現對異地車輛的故障檢查;車輛管理部門使用遠程功能,對行駛在路上的超標車輛進行管理。
目前ISO-15765標準協議在轎車中應用廣泛[1],因此本文討論的是使用了ISO-15765標準協議的車輛,系統的總體方案如圖1所示。通過車載OBD2接頭讀取車輛的運行狀態信息,車載OBD2接頭選用市場上高集成度的微控制器進行設計。車載OBD2接頭讀取到車輛的運行狀態信息后,通過內置的GPRS模塊,用無線傳輸的方式把數據上傳到虛擬云主機。近幾年國外比較流行的虛擬云主機服務商有谷歌、亞馬遜等;國內的虛擬云主機服務商有阿里巴巴、百度和騰訊等。本系統選用較廉價的阿里巴巴虛擬云主機。遠程顯示設備(手機、PC機、平板電腦等)通過登錄網址訪問阿里云服務器,查看車輛的運行狀況。管理部門可以對超標車輛發出提示信息,4S店可以對異常車輛發出提示,提醒車主及時處理故障、減少事故發生。
圖1 系統的總體方案
圖2 數據采集系統
本系統選用的微控制器是STM32F103ZET6, 它 內 置 了 CAN 總 線控制器bxCAN。該CAN總線控制器支持CAN2.0A 和CAN2.0B[2],并且在硬件上實現了CAN 節點模型中要求的接收過濾、位填充、同步等多種功能,bxCAN的這些優良特性能夠有效地減少CPU在收發報文過程中的時間消耗。采集車載行車電腦的診斷數據,還需要一個CAN 總線收發器來匹配微控制器與CAN 總線之間的電平。數據采集系統的結構如圖2所示。在數據采集系統中,物理媒介連接層直接影響通信質量,是系統可靠工作的前提條件。因此,本系統采用美國德州儀器公司生產的CAN總線收發器SN65HVD230。
bxCAN在硬件上已經實現了大部分的功能,因此數據采集系統的軟件設計工作主要是操作bxCAN 的相關寄存器,軟件設計必須遵循ISO15765-4標準。數據采集軟件系統的工作流程如圖3所示。在微控制器上電運行后,首先進行系統初始化,將系統時鐘切換成精度較好的外部時鐘。
ISO15765-4標準對測試設備有三個主要規定,分別是:默認支持250k 和500k 兩種波特率;遵循ISO15765-4標準規定的初始化流程,如圖4所示;能夠并行接收多達8 個車載ECU 的響應。通過過操作bxCAN的位時間特性寄存器CAN_BTR 來設置它的波特率,設置好之后,下一步是開始bxCAN接口的初始化,完成之后,系統就可以采集數據。CAN總線的數據接收工作由bxCAN控制器的硬件邏輯完成,一個CAN 幀的標識符ID、數據長度碼DLC以及數據等信息分別被保存在稱為郵箱的寄存器組中。bxCAN 有2 個用于接收數據的帶FIFO 緩沖區的郵箱,每個郵箱可以存放3個報文。先到達的報文讀取完并釋放掉郵箱后,較晚到達的報文才能訪問。只有當未讀報文的數量減少到0 時,中斷響應標識才會被清除。因此,負責接收數據的中斷函數中,有一個重要步驟是將數據存儲后釋放郵箱。對于測試設備來說,每一次向總線發出數據請求時,不確定有多少個ECU 會作出響應,所以需要設置一個變量來保存響應的數量。在中斷函里接收數據時,對每個新的ID 進行標記。通過這種方法實現并行接收多個ECU的分段數據。
圖3 軟件系統工作流程
圖4 bxCAN的標準初始化流
微控制器通過CAN 接口將OBD2的數據采集之后,把這些數據上傳到遠程服務器中才能實現對車輛的遠程監控。本系統采取基于GPRS 無線網絡的數據遠程傳輸方案,采用SIMCOM 公司的GPRS通信模塊SIM900A。這是一款低成本的的通信模塊,有多個工作頻道,支持HTTP,TCP/IP,以及FTP 等多種網絡協議。SIM900A 提供SPI,UART和I2C等常見的對外通信接口,而STM32F103ZET6微控制器擁有多個UART 接口。本系統的微控制器通過UART接口給SIM900A模塊發送AT 指令,主要使用 SIM900A 的 HTTP 相關指令,以HTTP 的方式訪問遠程服務器的Web端口。建立了HTTP 連接后,用GET 方法將數據以表單內容的形式提交到服務器中。每條AT 指令都有對應的響應,如果SIM900A正確地執行了該指令,則會返回一個OK 響應,否則根據具體的錯誤因素返回相應的錯誤狀態[3]。因此還需要讓微控制器能接收SIM900A 的響應,作為后續流程處理的依據。為了讓模塊能夠正常的以HTTP的方式向遠程服務器提交數據,首先需要設置它的接入點和一些網絡參數。
隨著物聯網技術的發展,汽車在未來將會深度接入網絡。本文應用GPRS通信技術,討論了遠程監控運行車輛的實現過程,為汽車接入網絡提出了一個思路。