文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.016
中文引用格式: 張毅,許勇. 基于ARM的商用車信息系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(5):57-59,67.
英文引用格式: Zhang Yi,Xu Yong. Design of commercial vehicle information systems based on ARM[J].Application of Electronic Technique,2016,42(5):57-59,67.
0 引言
隨著汽車電子技術(shù)的不斷發(fā)展,車載傳感器和電子控制單元(ECU)大量增加,汽車逐漸走上了智能化的道路。為了解決眾多車載ECU和傳感器之間的數(shù)據(jù)交換,CAN網(wǎng)絡(luò)總線在汽車中得到了廣泛應(yīng)用。車載信息終端作為CAN網(wǎng)絡(luò)的一個重要節(jié)點,實現(xiàn)對車輛數(shù)據(jù)的處理、顯示和存儲[1-2]。
目前國內(nèi)主流的車載終端,車載儀表只能顯示少量必要的車輛信息,而車載屏幕又以導(dǎo)航和娛樂為主,使得車輛傳感器和ECU產(chǎn)生的大量數(shù)據(jù)只有通過外接的專業(yè)分析儀器才能讀取解析,無法即時地在車載終端顯示,更不能實現(xiàn)遠程的數(shù)據(jù)監(jiān)控;并且由于傳統(tǒng)車載終端的封閉性,很難根據(jù)個性化需求進行二次開發(fā)。
針對商用車車載終端所遇到的問題,基于ARM處理器和Linux系統(tǒng),設(shè)計了一套具有開放的系統(tǒng)平臺,良好的交互體驗,滿足多樣化需求的車載信息系統(tǒng),實現(xiàn)了對車輛數(shù)據(jù)的即時處理、顯示和遠程監(jiān)控,并打破了原有系統(tǒng)的封閉性,能夠按照自己的需求選擇性安裝模塊,擴展了系統(tǒng)的功能應(yīng)用。
1 功能設(shè)計
車載信息系統(tǒng)在硬件上分為車載信息終端和擴展卡兩大部分。車載信息終端以Cortext-A8處理器為核心,在實現(xiàn)車輛導(dǎo)航、多媒體娛樂、3G數(shù)據(jù)連接等通用功能的技術(shù)上,使用SAE J1939協(xié)議對CAN報文進行解析、存儲并上傳至服務(wù)器端[3]。擴展卡針對多在人煙稀少地區(qū)長時間行駛的商用車,駕駛員可能因長時間駕駛出現(xiàn)疲勞,若出現(xiàn)事故無法及時報警的情況,以STM32芯片為核心,實現(xiàn)了對駕駛員身份信息識別、長時間疲勞駕駛行為警告、事故自動報警等功能。用戶可以根據(jù)自己不同的需求,選擇滿足要求的擴展卡,使車載信息系統(tǒng)有豐富的擴展性。
2 硬件設(shè)計
2.1 控制器硬件設(shè)計
車載信息終端為實現(xiàn)操作系統(tǒng)流暢運行、車輛信息采集、人機交互等功能,對主控制器提出了較高要求,系統(tǒng)采用Samsung公司推出的32位RISC微處理器S5PV210作為主控制器。S5PV210使用ARM Cortext-A8內(nèi)核,主頻最高可達1 GHz,核心板外接1 GB的DDR2 SDRAM內(nèi)存和1 GB的Nand flash存儲器,可以保證嵌入式Linux系統(tǒng)的流暢運行。處理器S5PV210內(nèi)含液晶接口,外接一個7寸液晶觸摸顯示屏,實現(xiàn)信息顯示、人機交互。S5PV210內(nèi)部沒有CAN控制器,需要通過SPI接口連接獨立CAN控制器作為車身CAN總線網(wǎng)絡(luò)的一個節(jié)點,實現(xiàn)全車信息傳輸與共享。
擴展卡采用ST公司推出的STM32F4系列單片機為控制器[4],搭載ARM Cortext-M4內(nèi)核,采用Thumb2指令集,具有外設(shè)豐富、性價比高、功耗低的特點,通過IIC接口連接加速度傳感器,測量車輛的加速度,通過SPI接口連接RFID讀卡器。系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示。
2.2 CAN通信模塊
MCP2510是一款由Microchip Technology公司生產(chǎn)的獨立CAN控制器,支持CAN技術(shù)規(guī)范V2.0A/B,能夠收發(fā)標(biāo)準(zhǔn)幀和擴展幀CAN數(shù)據(jù)報文,擁有SPI接口實現(xiàn)與主控制器的數(shù)據(jù)傳輸。MCP2510內(nèi)部含有3個發(fā)送緩沖器、2個接收緩沖器,并可對優(yōu)先權(quán)進行設(shè)置,同時具有靈活的中斷管理能力[5]。
CAN總線驅(qū)動器以芯片PCA82C250為核心,具有優(yōu)秀的電磁兼容性,為總線提供差分傳送功能,實現(xiàn)數(shù)據(jù)在總線上的差分傳送,提高系統(tǒng)的抗噪聲干擾能力。MCP2510外圍電路如圖2所示。
2.3 3G通信模塊
3G無線通信模塊采用性價比較高的MG3732,支持WCDMA和GSM網(wǎng)絡(luò),具有語音、短信、3G數(shù)據(jù)業(yè)務(wù)功能,下行峰值數(shù)據(jù)速率可達3.6 Mb/s,上行峰值數(shù)據(jù)速率可達384 kb/s,可以滿足車載終端與服務(wù)器端的通信要求。
2.4 RFID讀卡器
模塊采用NXP公司的推出的13.56 MHz非接觸式讀寫卡芯片RC522,具有成本低、體積小的特點,支持ISO14443A的多層應(yīng)用,其內(nèi)部發(fā)送器可驅(qū)動讀寫器天線與智能卡的通信,不需要其他電路。接收機部分提供了功能強大和高效的調(diào)解和譯碼電路[6]。芯片支持常用的SPI接口和UART接口,方便與控制器通信。
2.5 加速度傳感器模塊
加速度模塊使用ADI公司的ADXL345三軸、數(shù)字輸出加速度傳感器芯片,基于iMEMS技術(shù),具有超低功耗、可變量程、高分辨率等特點,測量范圍最高可達±16 gn(gn為地球重力加速度,通常取9.8 m/s2),分辨率達13 bit,不僅可以用來檢測靜態(tài)的傾角狀態(tài),而且可以檢測運動時的碰撞加速度。芯片可直接將測量結(jié)果轉(zhuǎn)換為數(shù)字信號,通過SPI或I2C總線輸出,并支持偏置校正[7]。
3 軟件設(shè)計
3.1 系統(tǒng)軟件設(shè)計
本系統(tǒng)在PC平臺的開發(fā)環(huán)境為VMware Workstation10.0+Ubuntu14.06,在ARM平臺上移植嵌入式Linux系統(tǒng)與Qt圖形用戶界面應(yīng)用程序開發(fā)框架,運用Qt Creator4.0進行UI界面設(shè)計。Qt提供了非常高效、靈活的開發(fā)框架,使用信號與槽機制實現(xiàn)對象間的通信[8]。當(dāng)車載終端上電,系統(tǒng)引導(dǎo)程序u-boot運行并調(diào)用Linux內(nèi)核啟動,啟動成功后操作系統(tǒng)自動調(diào)用Qt程序,進入主界面。
3.2 CAN 報文的解析
3.2.1 SAE J1939協(xié)議介紹
SAE J1939是美國汽車工程師協(xié)會(SAE)以CAN2.0B規(guī)范為基礎(chǔ)制定的車輛多層通信協(xié)議,以支持車輛CAN節(jié)點之間的通信。該協(xié)議在商用車中得到廣泛應(yīng)用,速率設(shè)定為250 kb/s。它在CAN2.0B的基礎(chǔ)上定義了數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、應(yīng)用層和網(wǎng)絡(luò)管理層,使CAN網(wǎng)絡(luò)的優(yōu)異性能更大程度地發(fā)揮。
數(shù)據(jù)鏈路層定義了信息幀的數(shù)據(jù)結(jié)構(gòu)和編碼規(guī)則,包括通信優(yōu)先權(quán)、傳輸方式、通信要求、總線仲裁等,它負責(zé)將CAN擴展幀的29位標(biāo)識符重新分組定義,使報文的標(biāo)識符能夠描述報文的全部特征[9]。J1939幀與CAN擴展幀格式對照表如表1所示。SAEJ1939協(xié)議在應(yīng)用層規(guī)定了車輛控制與通信用到的各種參數(shù),包括信號的可疑參數(shù)編號(SPN)和參數(shù)組編號(PGN)。常用參數(shù)信息如表2所示。
3.2.2 解析報文
當(dāng)通過CAN網(wǎng)絡(luò)接收到CAN擴展幀報文,根據(jù)表1中J1939幀與CAN擴展幀的對應(yīng)關(guān)系提取PGN的值,PGN=R+DP+PF+PS,其中R為保留位,DP為數(shù)據(jù)頁,PF為協(xié)議數(shù)據(jù)單位,PS為特定協(xié)議數(shù)據(jù)單元。得到PGN的值后,在表2中查找PGN中所包含的參數(shù)及位置,獲取參數(shù)的數(shù)值,根據(jù)分辨率進行計算,得到物理值。
3.3 擴展卡程序設(shè)計
當(dāng)選擇開啟擴展功能,擴展卡上電啟動,STM32需要先配置SPI接口以實現(xiàn)與RFID讀卡模塊的通信,配置IIC接口以實現(xiàn)與ADXL加速度傳感器模塊的通信。程序流程如圖3所示。
ADXL345芯片上電之后,需要延時1.1 ms,然后對寄存器進行初始化配置,分別設(shè)置量程為16 g,13位全分辨率輸出,數(shù)據(jù)輸出速率為200 Hz。為了減少車輛震動對測試結(jié)果的影響,對連續(xù)的5個測量數(shù)據(jù)取平均值與門限值進行比較。當(dāng)檢測到加速度數(shù)據(jù)超過了設(shè)置的門限值,就認為發(fā)生了碰撞事故,觸發(fā)中斷信號,車載終端接收到中斷信號后會通過3G網(wǎng)絡(luò)發(fā)出報警信號通知遠程監(jiān)控系統(tǒng)。
RFID讀卡模塊需要讀取駕駛員攜帶的智能卡ID進行身份識別。模塊運行時會一直進行尋卡操作,判斷天線范圍內(nèi)是否有智能卡。當(dāng)檢測到智能卡后需要進行防沖撞處理,選卡和驗證卡片,驗證通過后讀取智能卡的ID號。讀取到的ID號在車載終端的駕駛員信息數(shù)據(jù)庫中查詢,顯示記錄駕駛員信息。
3.4 遠程監(jiān)控系統(tǒng)的軟件設(shè)計
遠程服務(wù)器端軟件選擇LabVIEW作為開發(fā)工具,使用圖形化編程語言編寫程序,可用來方便快捷地創(chuàng)建用戶界面。在界面中使用百度地圖靜態(tài)圖API植入百度地圖,可以直觀地監(jiān)測車輛位置。百度地圖靜態(tài)圖API可實現(xiàn)將百度地圖以圖片形式嵌入到網(wǎng)頁中。服務(wù)地址:http:/api.map.baidu.com/staticimage/v。遠程監(jiān)控系統(tǒng)界面如圖4所示。
4 系統(tǒng)功能測試
CAN總線系統(tǒng)使用CAN分析儀CANalyst-II搭建的模擬車輛CAN網(wǎng)絡(luò)進行測試,CAN分析儀根據(jù)J1939協(xié)議設(shè)置多種CAN報文的幀ID和數(shù)據(jù)域,500 ms為周期循環(huán)發(fā)送來模擬商用車的CAN節(jié)點發(fā)送車輛信息,如發(fā)動機轉(zhuǎn)速、基于車輪的車速、平均燃油經(jīng)濟性[10]。通過模擬的車身CAN總線網(wǎng)絡(luò),車載終端的CAN節(jié)點成功讀取到了CAN報文并根據(jù)J1939協(xié)議解析出車輛信息,在車載終端顯示并通過3G網(wǎng)絡(luò)在遠程監(jiān)控系統(tǒng)成功接收到車輛的動態(tài)數(shù)據(jù)。
事故自動報警功能通過飛思卡爾智能車模型搭載的測試平臺進行測試,由于汽車模型較小,擴展卡作為一個獨立的模塊單獨進行測試,把擴展卡固定在智能車上,使用小車電池通過電壓轉(zhuǎn)換芯片轉(zhuǎn)換為3.3 V給擴展卡供電,當(dāng)有警報時,用LED閃爍指示。為了減小測試實驗的破壞性,設(shè)置自動報警加速度門限值為1 g。用無線遙控器控制小車進行模擬碰撞實驗,經(jīng)過多次模擬實驗,都自動觸發(fā)了報警;在沒有碰撞的情況下,沒有發(fā)生誤報警。
5 結(jié)束語
車載信息系統(tǒng)基于ARM處理器,分別進行了車載終端與擴展卡的設(shè)計。以J1939協(xié)議為核心,通過對車載CAN網(wǎng)絡(luò)節(jié)點數(shù)據(jù)的實時處理與解析,使車載終端與遠程監(jiān)控系統(tǒng)都能夠即時獲取車輛信息;并針對商用車提供了駕駛員身份識別、事故自動報警等功能;通過軟硬件設(shè)計,把車載信息系統(tǒng)的通用功能與個性需求分模塊實現(xiàn),具有了豐富的多樣性與擴展性,為商用車車載信息系統(tǒng)提供了一種新的解決方案。
參考文獻
[1] JANKOVIC S,KLEUT D,BLAGOJEVIC I.Controller area network based monitoring of vehicle′s mechatronics system[C].IEEE 9th International Symposium on Intelligent Systems and Informatics,Subotica,2011.
[2] GIANLUCA C,IVAN B.Fixed-length payload encoding for low-jitter controller area network communication[J].IEEE Transactions on Industrial Informatics,2013,9(4):2155-2164.
[3] 駱志宏,許勇,馬秋香.商用車在線故障診斷系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2015,23(4):1098-1101.
[4] 張亮,程明霄,朱增偉,等.基于STM32和μC/OS-II的智能在線分析平臺的研究[J].儀表技術(shù)與傳感器,2015(1):44-47.
[5] 張國勝,王書舉.基于數(shù)據(jù)壓縮的車身CAN網(wǎng)絡(luò)優(yōu)化調(diào)度設(shè)計[J].汽車工程,2015,38(8):980-984.
[6] 張捍東,朱林.物聯(lián)網(wǎng)中的RFID技術(shù)及其物聯(lián)網(wǎng)的構(gòu)建[J].計算機技術(shù)與發(fā)展,2011,21(5):56-59.
[7] 袁西,陳棟,田湘,等.三軸數(shù)字加速度計ADXL345及其在捷聯(lián)慣導(dǎo)中的應(yīng)用[J].電子設(shè)計工程,2010,18(3):138-140.
[8] 韓少云,奚海蛟,諶利.基于嵌入式Linux的Qt圖形程序?qū)崙?zhàn)開發(fā)[M].北京:北京航空航天大學(xué)出版社,2012.
[9] 王錦堅,洪添勝.基于SAE J1939協(xié)議的客車CAN總線發(fā)動機測試系統(tǒng)[J].工業(yè)控制計算機,2009,22(4):82-84.
[10] 秦亞軍,康維新.基于J1939的車載CAN總線模擬系統(tǒng)設(shè)計[J].應(yīng)用科技,2015,42(3):13-16.