楊 娟,劉豪睿
(1.德州學(xué)院 經(jīng)濟(jì)與管理學(xué)院,山東 德州 253023;2.德州學(xué)院 計(jì)算機(jī)與信息學(xué)院,山東 德州 253023)
車聯(lián)網(wǎng)作為物聯(lián)網(wǎng)的一個(gè)分支,其目的是提供移動(dòng)終端的數(shù)據(jù)給數(shù)據(jù)分析系統(tǒng),為供應(yīng)鏈服務(wù)商、車企、保險(xiǎn)公司和4S店等提供數(shù)據(jù)源[1]。車聯(lián)網(wǎng)智能終端系統(tǒng)主要由OBD數(shù)據(jù)硬件和服務(wù)器程序部署組成[2]。該硬件平臺(tái)主要由OBD模擬器、OBD診斷系統(tǒng)(開發(fā)板)和4G串口傳輸模塊組成。該平臺(tái)可以由現(xiàn)有通用開發(fā)模塊組成。通用開發(fā)模塊的優(yōu)點(diǎn)是模塊性能單一,有助于開發(fā)者對(duì)其功能的理解,其缺點(diǎn)是體積較大,便攜性較差。該平臺(tái)也可由集成電路板構(gòu)成,即將4G通信模塊集成于開發(fā)板上,其優(yōu)點(diǎn)是體積較小,便攜性較好[3-6]。本文使用通用開發(fā)模塊進(jìn)行設(shè)計(jì),服務(wù)器程序由Windows Service程序、SQL Server數(shù)據(jù)庫和ASP.NET程序3部分組成,測試環(huán)境為騰訊云服務(wù)器+SQL Server Express 2017。
圖1為本設(shè)計(jì)的系統(tǒng)總體框架圖。該系統(tǒng)由主控板、串口GPRS模塊、服務(wù)器程序和OBD協(xié)議分析組成。系統(tǒng)中由OBD模擬器(或?qū)嵻囯娔X)發(fā)送數(shù)據(jù)給主控板,主控板將CAN協(xié)議數(shù)據(jù)整理為485數(shù)據(jù),經(jīng)過串口GPRS模塊發(fā)送TCP數(shù)據(jù)。服務(wù)器中的Windows Service 程序負(fù)責(zé)接收來自開發(fā)板的TCP數(shù)據(jù),并存儲(chǔ)于SQL Server 數(shù)據(jù)庫中。SQL Server 數(shù)據(jù)是數(shù)據(jù)庫文件和表格,存儲(chǔ)來自開發(fā)板的實(shí)時(shí)數(shù)據(jù)和記錄歷史數(shù)據(jù)。ASP.NET程序是Web程序,部署于IIS服務(wù)器中,作為顯示網(wǎng)站。
圖1 系統(tǒng)總體框架圖
STM32F103ZET6擁有的資源包括:64 KB SRAM、512 KB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、2個(gè)DMA控制器(共12個(gè)通道)、3個(gè)SPI、2個(gè)I2C、5個(gè)串口、1個(gè)USB、1個(gè)CAN、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDIO接口、1個(gè)FSMC接口以及112個(gè)通用I/O口。圖2為開發(fā)板資源圖。原理圖設(shè)計(jì)時(shí)把STM32F103ZETT6芯片分成兩個(gè)部分:一個(gè)部分是通用引腳(GPIO),見圖2;還有一部分是電源引腳屬于電源模塊部分[7-8]。
圖2 開發(fā)板資源圖
為連接更多的外部模塊,STM32F103芯片部分引腳是有雙重功能的,部分雙重功能使用跳線帽選擇實(shí)現(xiàn),這特點(diǎn)在編寫程序需要注意,特別是把SWD接口功能引腳做為模塊功能引腳時(shí)需要注意關(guān)閉芯片的JTAG和SWD功能。
STM32F103集成多個(gè)通信接口,包括5個(gè)UART、CAN通信等。開發(fā)板充分利用STM32F103性能,集成了多種形式的通信方法,包括RS 232串口通信、RS 485通信、CAN通信、紅外接收解碼、WiFi通信、2.4G無線通信、藍(lán)牙通信等,并擴(kuò)展了GSM(電話短信)模塊和GPS模塊。RS 232和RS 485在設(shè)備應(yīng)用中非常普遍,開發(fā)板提供1路RS 232(DB9連接器)和1路RS 485接口。
串口GPRS模塊共有4種工作模式:網(wǎng)絡(luò)透傳模式、HTTPD模式、短信透傳模式和UDC模式。串口模塊原理圖如圖3所示。網(wǎng)絡(luò)透傳模式下,用戶的串口設(shè)備可以通過本模塊發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)上指定的服務(wù)器,示意圖如圖4所示。模塊也可以接收來自服務(wù)器的數(shù)據(jù),并將信息轉(zhuǎn)發(fā)至串口設(shè)備[9-12]。
圖3 串口GPRS模塊
圖4 網(wǎng)絡(luò)透傳模式
完成設(shè)置后,待模塊啟動(dòng)后,等待模塊連接到網(wǎng)絡(luò)后向模塊的串口發(fā)送數(shù)據(jù),模塊會(huì)把數(shù)據(jù)發(fā)送至的測試服務(wù)器121.4.170.27上。從服務(wù)器端向模塊發(fā)送數(shù)據(jù),模塊接收到數(shù)據(jù)后,會(huì)將數(shù)據(jù)轉(zhuǎn)發(fā)至串口端。
在Web顯示界面上,乘用車和商用車的數(shù)據(jù)流分別為ISO15031-5和SAE1939-71.這些協(xié)議定義的數(shù)據(jù)流分別有一百多項(xiàng)和幾百項(xiàng),為了正確顯示,需要對(duì)數(shù)據(jù)流進(jìn)行規(guī)定。數(shù)據(jù)流通常一頁顯示不到10項(xiàng)數(shù)據(jù)流,這樣不到10項(xiàng)的內(nèi)容更新間隔只有2 s。OBD診斷協(xié)議,按照?qǐng)?zhí)行程度以及定義的完整性分成了4類:
第一類:執(zhí)行程度最高,有完整的物理層到應(yīng)用層定義,且乘用車不執(zhí)行這類協(xié)議不允許銷售,它們是排放協(xié)議(Emission-Related)。
第二類:只在大部分商用車和農(nóng)用機(jī)械上使用,執(zhí)行程度不算高,有完整的物理層到應(yīng)用層定義,但是應(yīng)用層并不強(qiáng)制執(zhí)行,車廠可以根據(jù)自己實(shí)際情況定義自己的應(yīng)用層。
第三類:不管乘用車還是商用車都有用這個(gè)協(xié)議,定義完整物理層到會(huì)話層,但是最上層的應(yīng)用層只定義了一部分,并且定義的這部分還允許車廠選擇執(zhí)行。這就是UDS協(xié)議,即 “統(tǒng)一診斷服務(wù)協(xié)議”。協(xié)議名稱為ISO14229。
第四類:物理層到會(huì)話層,基本按照相關(guān)ISO或者SAE定義進(jìn)行,但是應(yīng)用層完全車廠自行定義。
服務(wù)器程序由3部分組成,分別是Windows Service程序、SQL Server數(shù)據(jù)庫和 ASP.NET 程序。Windows Service程序負(fù)責(zé)接收來自開發(fā)板和RS 485串口GPRS模塊的TCP數(shù)據(jù),并存儲(chǔ)于SQL Server數(shù)據(jù)庫中。SQL Server 數(shù)據(jù)是數(shù)據(jù)庫文件和表格,存儲(chǔ)來自開發(fā)板和RS 485串口GPRS模塊的實(shí)時(shí)數(shù)據(jù)和記錄歷史數(shù)據(jù)。ASP.NET程序是一個(gè)Web程序,部署于IIS服務(wù)器中,作為顯示網(wǎng)站。
OBD模擬器是可仿真SAEJ1939商用車協(xié)議,包括故障碼、數(shù)據(jù)流、版本信息車架號(hào)等。標(biāo)配程序執(zhí)行應(yīng)用層協(xié)議SAEJ1939-71。由于很多整車廠并不按照SAE組織的標(biāo)準(zhǔn)應(yīng)用層協(xié)議執(zhí)行,而是添加了自定義協(xié)議。OBD硬件如圖5所示。
圖5 OBD一覽圖
圖5中:A為OBD母口,是OBD通信接口;B為白色4pin端子,其為SWD燒寫端口;C為DC端子,是電源輸入端子,可接入24 V和12 V電源適配器;D為電源開關(guān),圖中所示為打開狀態(tài);E為USB D口,其通過USB配線連接計(jì)算機(jī)。
本設(shè)計(jì)的車聯(lián)網(wǎng)智能終端測試頁面如圖6所示。經(jīng)測試,該系統(tǒng)性能穩(wěn)定,可以通過改變OBD模擬器的狀態(tài),實(shí)現(xiàn)商用車和乘用車的協(xié)議轉(zhuǎn)換。測試網(wǎng)址為http://121.4.170.27/login.aspx,賬號(hào)及密碼為dzu,123456。
圖6 網(wǎng)頁測試頁面
本文設(shè)計(jì)的車聯(lián)網(wǎng)智能終端系統(tǒng)以STM32單片機(jī)作為核心控制器,OBD模擬器和串口GPRS模塊作為數(shù)據(jù)的輸入與輸出,并通過Windows Service程序,SQL Server數(shù)據(jù)庫和 ASP.NET 程序組成的服務(wù)器程序?qū)崿F(xiàn)網(wǎng)頁頁面的處理。經(jīng)過測試,本系統(tǒng)的硬件部分和軟件部分具有良好的協(xié)調(diào)性,支持多種診斷協(xié)議,實(shí)時(shí)數(shù)據(jù)傳輸具有良好實(shí)時(shí)性和穩(wěn)定性。