(1.西北工業(yè)大學(xué) 軟件與微電子學(xué)院,西安 710129;2.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,西安 710129)
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,汽車已經(jīng)成為人們?nèi)粘Ia(chǎn)、生活中不可或缺的交通工具[1],但高發(fā)的交通事故給人們的生命安全和財(cái)產(chǎn)安全也帶來了嚴(yán)重的危害。世界衛(wèi)生組織提供的資料顯示,全球每年因道路交通事故死亡人數(shù)約有125萬,相當(dāng)于全球每天有3500人因交通事故死亡,數(shù)據(jù)顯示,每年還有幾千萬人因此受傷或致殘,其中,交通事故是15~29歲年輕人死亡的首要原因[2]。因此,獲取汽車的詳細(xì)行駛狀況,對(duì)數(shù)目龐大的汽車實(shí)現(xiàn)高效地管理,提高汽車行駛的安全性,降低交通事故的發(fā)生率已成為未來汽車發(fā)展研究的一個(gè)主要研究方向。
據(jù)資料顯示,駕駛員將視線從前方轉(zhuǎn)移到儀表盤查看相關(guān)信息需要3到5秒,在汽車行駛過程中,這段時(shí)間屬于駕駛盲區(qū),尤其是車輛在高速行駛時(shí),3到5秒的盲區(qū)時(shí)間是非常危險(xiǎn)的。車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)的應(yīng)用可以很好地解決這一問題,它不僅可以將車載數(shù)據(jù)無線傳輸至客戶端,而且還可以將駕駛過程中的車載數(shù)據(jù)(如汽車行駛速度、發(fā)動(dòng)機(jī)轉(zhuǎn)速等信息)投射在前風(fēng)窗玻璃上,使駕駛員不必低頭就可獲取到其所需的相關(guān)車載信息,從而避免了駕駛員注意力的分散行為,大大縮短了駕駛員的視野盲區(qū)時(shí)間,極大地提高了駕駛的舒適性和道路交通的安全性[3-4]。
近幾年來,車聯(lián)網(wǎng)技術(shù)迅速發(fā)展,在實(shí)現(xiàn)車與人之間的數(shù)據(jù)通信與交互方面,車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)的開發(fā)與研究成為了各大汽車廠商關(guān)注的熱點(diǎn)。但是目前,國(guó)內(nèi)市場(chǎng)上的車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)的顯示內(nèi)容、圖標(biāo)樣式及布局、顯示方法等大不相同,在數(shù)據(jù)傳輸效率、用戶體驗(yàn)感與交互性等方面也有所欠缺[5-6]。因此,本文結(jié)合目前國(guó)內(nèi)外車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)的研究現(xiàn)狀,設(shè)計(jì)并實(shí)現(xiàn)了一套結(jié)構(gòu)簡(jiǎn)單,成本低廉,傳輸高效穩(wěn)定的車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)。
汽車人機(jī)工程學(xué),是從汽車設(shè)計(jì)角度出發(fā),研究人(駕駛員、乘客等)在汽車使用過程中的生理、心理的變化,以及在人-車-環(huán)境中各種因素的相互作用,指導(dǎo)汽車及其部件設(shè)計(jì)(包括布置和設(shè)備等),目的在于設(shè)計(jì)出盡可能滿足人的需求,具有良好的舒適性、安全性的汽車產(chǎn)品[4-7]。本文利用汽車人機(jī)工程學(xué)的相關(guān)研究成果,結(jié)合目前國(guó)內(nèi)外車載平視顯示器(head up display,HUD)的研究現(xiàn)狀及發(fā)展水平,提出了一套符合人機(jī)交互設(shè)計(jì)方法的車載HUD設(shè)計(jì)原則,具體體現(xiàn)在以下三個(gè)方面:
1)界面簡(jiǎn)潔清晰。
據(jù)相關(guān)資料顯示,駕駛員在駕駛汽車時(shí)依靠視覺獲取的信息占其所需總信息量的比例高達(dá)90%,因此在對(duì)車載HUD進(jìn)行界面設(shè)計(jì)時(shí),應(yīng)做好充分的用戶需求調(diào)研工作,根據(jù)用戶的需求對(duì)顯示在HUD上的車載信息數(shù)目進(jìn)行控制,設(shè)計(jì)出一個(gè)簡(jiǎn)潔清晰的HUD界面,從而降低駕駛員的認(rèn)知負(fù)荷,提高道路交通的安全性。
2)實(shí)時(shí)性強(qiáng)。
在駕駛汽車的過程中,若駕駛員能夠通過車載HUD實(shí)時(shí)獲取到其所需要的準(zhǔn)確的車載數(shù)據(jù)信息,則其會(huì)對(duì)當(dāng)前的汽車運(yùn)行狀況有一個(gè)較為清晰明確的判斷,從而使駕駛員能夠及時(shí)調(diào)整對(duì)汽車的一系列操作和控制行為,提高駕駛的安全性。所以對(duì)于車載HUD而言,數(shù)據(jù)傳輸顯示應(yīng)具有很強(qiáng)的實(shí)時(shí)性。
3)注重用戶體驗(yàn)感與交互性。
隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)汽車各方面的要求也越來越高,汽車廠商在設(shè)計(jì)車載HUD時(shí),應(yīng)充分利用汽車人機(jī)工程學(xué)的相關(guān)研究成果,注重駕駛員駕駛汽車時(shí)生理和心理的需求變化,設(shè)計(jì)出扁平、理性化的視覺交互界面,最大程度地減少駕駛員的視覺疲勞,使其獲得更好的視覺體驗(yàn),從而實(shí)現(xiàn)人機(jī)交互的友好性。
通過汽車的OBDII接口可獲取到CAN總線上的實(shí)時(shí)汽車工況數(shù)據(jù), 在進(jìn)行了充分的用戶調(diào)研與車載數(shù)據(jù)信息重要程度的分析之后,決定將汽車運(yùn)行速度、發(fā)動(dòng)機(jī)轉(zhuǎn)速、瞬時(shí)油耗、平均油耗、剩余油量、冷卻液溫度、單次行駛里程以及總行駛里程等8個(gè)汽車實(shí)時(shí)運(yùn)行數(shù)據(jù)顯示在車載HUD界面(即USART HMI串口屏界面)上。
本文使用USART HMI串口屏設(shè)計(jì)軟件進(jìn)行界面的設(shè)計(jì)與開發(fā),結(jié)合在1.1小節(jié)中提出的車載HUD的設(shè)計(jì)原則,考慮到汽車運(yùn)行速度和發(fā)動(dòng)機(jī)轉(zhuǎn)速是駕駛員最為關(guān)心的車載數(shù)據(jù),所以在界面布局上采用了較大的空間,力求做到清晰可辨,而其他六個(gè)駕駛員關(guān)心但較為次要的車載數(shù)據(jù)占用了較小的空間進(jìn)行集中顯示,同時(shí),考慮到車載HUD的投射顯示原理,本文還設(shè)計(jì)了一個(gè)與之對(duì)應(yīng)的鏡像界面原型,如圖1所示。
圖1 車載HUD界面(鏡像界面)原型
本文設(shè)計(jì)實(shí)現(xiàn)的車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)總體架構(gòu)如圖2所示,具體地,該系統(tǒng)分為車載數(shù)據(jù)采集、車載數(shù)據(jù)處理、車載數(shù)據(jù)顯示與車載數(shù)據(jù)無線傳輸四個(gè)模塊。其中,車載數(shù)據(jù)采集模塊利用OBD-II接口實(shí)時(shí)采集汽車CAN總線數(shù)據(jù),并對(duì)其進(jìn)行解析與轉(zhuǎn)換;車載數(shù)據(jù)處理模塊利用Arduino Mega2560 R3開發(fā)板對(duì)串口傳輸過來的車載數(shù)據(jù)進(jìn)行分割提取與處理;車載數(shù)據(jù)顯示模塊利用USART HMI串口屏顯示通過硬件串口傳輸?shù)腁rduino Mega2560 R3開發(fā)板處理好的車載數(shù)據(jù);車載數(shù)據(jù)無線傳輸模塊利用ESP8266-01模塊所創(chuàng)建的wifi熱點(diǎn),將車載數(shù)據(jù)實(shí)時(shí)上傳到客戶端(如手機(jī)端,PC端等),實(shí)現(xiàn)車載數(shù)據(jù)的無線傳輸通信。
注:Arduino Mega2560 R3開發(fā)板的串口1接OBD-II接口,讀取其采集的數(shù)據(jù);串口2接USART HMI串口屏,顯示車載數(shù)據(jù);串口3接ESP8266-01模塊,傳輸車載數(shù)據(jù)。

圖2 系統(tǒng)總體架構(gòu)
在車載數(shù)據(jù)采集模塊中,利用OBD-II接口實(shí)時(shí)采集汽車CAN總線數(shù)據(jù)。OBD-II有九種不同的工作模式,本文主要采用第一種工作模式來采集汽車運(yùn)行的動(dòng)態(tài)數(shù)據(jù),這些來自汽車動(dòng)力系統(tǒng)的汽車運(yùn)行數(shù)據(jù)是由ISO標(biāo)準(zhǔn)規(guī)定的參數(shù)標(biāo)識(shí)符(Parameter Identifiers, PID)來定義的,其中每一個(gè)PID代表一個(gè)變量參數(shù),在汽車CAN總線上是用一個(gè)8位的數(shù)據(jù)來代表該參數(shù),例如PID 0x05代表了發(fā)動(dòng)機(jī)冷卻液的溫度。
在ISO標(biāo)準(zhǔn)中定義了大量的PID參數(shù),但卻并不要求汽車廠商實(shí)現(xiàn)所有的PID參數(shù),通過PID 0x00、0x20、0x40、0x60、0x80、0xA0等就可以查詢到某一個(gè)汽車廠商的ECU具體支持的PID參數(shù)情況,如表1所示。待獲取到汽車廠商具體支持的PID參數(shù)后,向汽車的ECU發(fā)送這些PID參數(shù),通過ECU回復(fù)的響應(yīng)就可以讀取相關(guān)PID參數(shù)的具體數(shù)值,進(jìn)而解析出相應(yīng)的汽車運(yùn)行時(shí)的動(dòng)態(tài)數(shù)據(jù)[8]。

表1 查詢支持的PID參數(shù)
在車載數(shù)據(jù)處理模塊中,利用硬件串口將OBD-II接口采集到的車載數(shù)據(jù)傳輸至Arduino Mega2560 R3開發(fā)板,并對(duì)其進(jìn)行進(jìn)一步地分割提取與處理,從而實(shí)現(xiàn)李揚(yáng)在[9]中提到的判斷急加速(急減速)等相關(guān)操作,其具體流程如圖3所示。

圖3 急加速(急減速)判斷流程圖
在車載數(shù)據(jù)顯示模塊中,Arduino Mega2560 R3開發(fā)板將串口1緩存區(qū)的車載數(shù)據(jù)處理后輸出至串口2,從而將車載數(shù)據(jù)顯示在USART HMI串口屏上,具體流程如圖4所示。

圖4 車載數(shù)據(jù)顯示流程圖
在車載數(shù)據(jù)無線傳輸模塊中,利用AT指令將ESP8266-01模塊的工作模式設(shè)置為AP模式,即ESP8266-01模塊作為服務(wù)器,客戶端連接其所創(chuàng)建的wifi熱點(diǎn),根據(jù)串口3緩存區(qū)的響應(yīng)數(shù)據(jù)判斷客戶端是否連接成功,然后將由串口1獲取的車載數(shù)據(jù)輸出至串口3,將車載數(shù)據(jù)實(shí)時(shí)傳輸至客戶端(如手機(jī)端,PC端等),從而實(shí)現(xiàn)車載數(shù)據(jù)的無線傳輸通信,具體流程如圖5所示。
3.1.1 實(shí)驗(yàn)準(zhǔn)備
1)軟件準(zhǔn)備。
車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)仿真實(shí)驗(yàn)平臺(tái)所需的軟件包括:OBDII模擬器調(diào)試工具、Arduino IDE、USART HMI串口屏設(shè)計(jì)軟件、串口調(diào)試助手、網(wǎng)絡(luò)調(diào)試助手等。
2)硬件準(zhǔn)備。
車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)仿真實(shí)驗(yàn)平臺(tái)所需的硬件包括:OBDII模擬器、OBDII串口模塊、Arduino Mega2560 R3開發(fā)板、USART HMI串口屏、ESP8266-01模塊、面包板以及杜邦線若干。
首先將OBDII串口模塊與OBDII模擬器的CAN物理接口相連,然后通過串口將OBDII串口模塊、USART HMI串口屏、ESP8266-01模塊與Arduino Mega2560 R3開發(fā)板相連,搭建好的仿真試驗(yàn)平臺(tái)如圖6所示。該仿真測(cè)試平臺(tái)利用OBDII模擬器模擬汽車OBD-II接口的各種參數(shù)狀態(tài)信息,進(jìn)行系統(tǒng)軟件和硬件的整體調(diào)試,使開發(fā)者不需要在開發(fā)的過程中為了測(cè)試功能模塊就到實(shí)車上進(jìn)行實(shí)驗(yàn),從而提高了測(cè)試的效率[10]。
圖6 OBDII模擬器仿真試驗(yàn)平臺(tái)
3.1.2 實(shí)驗(yàn)過程與結(jié)果
通過USB轉(zhuǎn)TTL接口將USART HMI串口屏與電腦相連,將由USART HMI串口屏設(shè)計(jì)軟件設(shè)計(jì)好的界面原型程序下載至串口屏上,待程序下載完成后串口屏上即可正確顯示設(shè)計(jì)好的界面原型。
通過12 V電源適配器接口給OBDII模擬器上電,可以看到模擬器上的屏幕、協(xié)議指示燈、點(diǎn)火指示燈點(diǎn)亮,代表該設(shè)備正常工作,與其CAN物理接口相連的OBDII串口模塊的綠燈點(diǎn)亮代表該模塊上電工作。使用USB轉(zhuǎn)串口線給Arduino Mega2560 R3開發(fā)板上電,可以看到連接的ESP8266-01模塊上電后藍(lán)燈微弱閃爍后熄滅,紅燈常亮。
其仿真測(cè)試結(jié)果如圖7所示。將Arduino IDE串口監(jiān)視器獲取到的車載數(shù)據(jù)與USART HMI串口屏、模擬客戶端(即PC端的網(wǎng)絡(luò)調(diào)試助手)接收到的數(shù)據(jù)進(jìn)行對(duì)比分析,結(jié)果表明,OBDII模擬器模擬的、OBDII串口模塊解析的汽車工況數(shù)據(jù)由Arduino Mega2560 R3開發(fā)板分析與處理后,可以準(zhǔn)確地判斷汽車急加速(急減速)次數(shù),并將重要的車載數(shù)據(jù)實(shí)時(shí)顯示在USART HMI串口屏上,同時(shí)可以由ESP8266-01模塊所創(chuàng)建的wifi熱點(diǎn)實(shí)時(shí)傳輸至模擬的客戶端上,從而驗(yàn)證了本系統(tǒng)在功能上的正確性。
圖7 OBDII模擬器仿真測(cè)試結(jié)果
3.2.1 實(shí)驗(yàn)準(zhǔn)備
在3.1節(jié)的仿真試驗(yàn)平臺(tái)測(cè)試無誤后,對(duì)本系統(tǒng)進(jìn)行實(shí)車測(cè)試,本次實(shí)車測(cè)試選用的車型為別克,所需的軟件為Arduino IDE,USART HMI串口屏設(shè)計(jì)軟件等;硬件包括:OBDII串口模塊、Arduino Mega2560 R3開發(fā)板、USART HMI串口屏、ESP8266-01模塊、面包板以及杜邦線若干。
首先將OBDII串口模塊與汽車上的OBD接口相連,然后通過串口將OBDII串口模塊、USART HMI串口屏、ESP8266-01模塊與Arduino Mega2560 R3開發(fā)板相連,搭建好的實(shí)車測(cè)試平臺(tái)如圖8所示。

圖8 實(shí)車測(cè)試平臺(tái)
3.2.2 實(shí)驗(yàn)過程與結(jié)果
實(shí)車測(cè)試的過程記錄如圖9所示,將Arduino IDE串口監(jiān)視器獲取到的車載數(shù)據(jù)與USART HMI串口屏、客戶端(在本次實(shí)車測(cè)試中即為Android手機(jī)端)接收到的數(shù)據(jù)進(jìn)行對(duì)比分析,結(jié)果表明,本文設(shè)計(jì)的車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)能夠準(zhǔn)確判斷汽車的急加速(急減速)次數(shù),并將駕駛員所需的車載數(shù)據(jù)實(shí)時(shí)準(zhǔn)確地顯示在車載HUD(即USART HMI串口屏)上,同時(shí)也可以通過ESP8266-01模塊所創(chuàng)建的wifi熱點(diǎn)實(shí)時(shí)傳輸至客戶端,從而驗(yàn)證了本系統(tǒng)在性能上的可靠性和實(shí)用性。

圖9 實(shí)車測(cè)試過程
本文結(jié)合目前國(guó)內(nèi)外車載數(shù)據(jù)無線傳輸及其平視顯示技術(shù)的研究現(xiàn)狀,提出了一套符合人機(jī)交互設(shè)計(jì)方法的車載平視顯示器的設(shè)計(jì)原則并設(shè)計(jì)出了界面原型,實(shí)現(xiàn)了一套車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng),該系統(tǒng)利用Arduino Mega2560 R3開發(fā)板處理汽車OBD-II接口上獲取到的來自CAN總線的汽車工況數(shù)據(jù),從而實(shí)現(xiàn)對(duì)三急操作(即急加速、急減速和急轉(zhuǎn)彎)中的急加速、急減速的準(zhǔn)確判斷,并將駕駛員所需要的車載數(shù)據(jù)實(shí)時(shí)準(zhǔn)確地顯示在車載HUD上,同時(shí)可通過ESP8266-01模塊所創(chuàng)建的wifi熱點(diǎn)將車載數(shù)據(jù)實(shí)時(shí)傳輸至客戶端(如手機(jī)端,PC端等),從而實(shí)現(xiàn)了車載數(shù)據(jù)的無線傳輸通信與平視顯示。最后,對(duì)本系統(tǒng)進(jìn)行了OBDII模擬器仿真測(cè)試與實(shí)車測(cè)試,驗(yàn)證了本系統(tǒng)在功能上的正確性以及在性能上的可靠性和實(shí)用性。
雖然本文實(shí)現(xiàn)了車載數(shù)據(jù)無線傳輸及其平視顯示系統(tǒng)的基本功能,但由于時(shí)間及本人能力有限,該系統(tǒng)還存在著一些不足,未來需要進(jìn)一步研究與改善的內(nèi)容有:
1)由于ESP8266-01模塊的硬件性能有限,加之道路環(huán)境存在信號(hào)干擾等因素的影響,在實(shí)車測(cè)試時(shí)偶爾會(huì)出現(xiàn)車載數(shù)據(jù)傳輸?shù)难訒r(shí)或丟包現(xiàn)象,后期可考慮使用傳輸性能更加穩(wěn)定的wifi模塊實(shí)現(xiàn)車載數(shù)據(jù)的無線傳輸通信。
2)可通過在Arduino Mega2560 R3開發(fā)板上添加額外的傳感器獲取汽車OBDII接口無法采集到的車載數(shù)據(jù)信息,例如,后期可考慮添加加速度傳感器來判斷三急操作中的急轉(zhuǎn)彎,從而實(shí)現(xiàn)對(duì)三急操作的完整判斷。