《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Android智能手機平臺的AMT監(jiān)測系統(tǒng)的設(shè)計
基于Android智能手機平臺的AMT監(jiān)測系統(tǒng)的設(shè)計
來源:電子技術(shù)應(yīng)用2014年第3期
萬曉鳳, 雷繼棠, 易其軍
(南昌大學(xué) 信息工程學(xué)院, 江西 南昌330031)
摘要: 針對機械式自動變速器(簡稱AMT)在研究開發(fā)階段需要觀測系統(tǒng)參數(shù)和車輛狀態(tài)信息的情況,設(shè)計了基于Android智能手機平臺并采用無線藍(lán)牙通信技術(shù)的AMT監(jiān)測系統(tǒng)。闡述了系統(tǒng)的基本工作原理,詳細(xì)介紹了系統(tǒng)的下位機的軟、硬件設(shè)計,著重介紹了Android平臺上的上位機設(shè)計。實驗表明,基于Android智能手機平臺構(gòu)建的AMT監(jiān)測系統(tǒng)實現(xiàn)了AMT系統(tǒng)的數(shù)據(jù)采集、分析、顯示,使開發(fā)人員能夠?qū)崟r掌握AMT系統(tǒng)的動態(tài)參數(shù)。
中圖分類號: TP23;TP29
文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2014)03-0068-03
The design of AMT monitor system based on Android smart phone platform
Wan Xiaofeng, Lei Jitang,Yi Qijun
College of Information Engineering, Nanchang University, Nanchang 330031, China
Abstract: Aiming at the situation that there are some system parameters and vehicle states information to be observed when AMT system is under research,this paper proposes a monitor system based on Android smart phone platform and with Bluetooth technology.This paper introduces the basic principle of the AMT monitor system and introduced the hardware and software design of lower computer.The design of upper computer software was studied. The experiment result shows that the AMT monitor system based on Android smart phone realizes the function of AMT system data acquisiton, analysis and display,makes the researcher easy kown the dynamic parameter of the AMT system.
Key words : Android; Bluetooth; AMT; monitor system

    AMT(機械式自動變速器)是在原來手動變速汽車的基礎(chǔ)上,不改變原來發(fā)動機、變速器、離合器的結(jié)構(gòu),外加一套電控驅(qū)動裝置和控制器,通過模擬最優(yōu)秀的駕駛習(xí)慣控制驅(qū)動機構(gòu)驅(qū)動離合器、選檔桿、換擋桿完成起步、變檔過程的一系列操作而實現(xiàn)自動變速[1]。
    AMT系統(tǒng)是一個多輸入多輸出的復(fù)雜系統(tǒng),參數(shù)不僅多而且變化快,為了實時觀測AMT系統(tǒng)工作工況、評估系統(tǒng)性能、發(fā)現(xiàn)系統(tǒng)問題,在AMT研發(fā)調(diào)試過程中,需要設(shè)計一個監(jiān)測系統(tǒng)來實時觀測系統(tǒng)相關(guān)參數(shù)的變化。參考文獻(xiàn)[2]介紹了一種基于LabVIEW的AMT監(jiān)測系統(tǒng)的設(shè)計,參考文獻(xiàn)[3]介紹了一種采用VB語言編寫上位機的AMT監(jiān)測系統(tǒng),它們都有一個共同的特點就是不能脫離PC機并且采用有線傳輸方式。由于調(diào)試AMT系統(tǒng)時是在空間有限的汽車駕駛艙內(nèi),同時汽車也是處于行駛狀態(tài),這些監(jiān)測手段顯得不方便?;诖耍疚脑O(shè)計了基于Android平臺的AMT監(jiān)測系統(tǒng),采用藍(lán)牙技術(shù)將需要觀測的參數(shù)通過無線的方式發(fā)送到Android手機上,在Android手機上設(shè)計了應(yīng)用程序?qū)⑦@些信息呈現(xiàn)給開發(fā)人員。相比于傳統(tǒng)的監(jiān)測手段,該系統(tǒng)充分將開發(fā)人員的隨身物品作為科研開發(fā)的工具,不僅簡單方便易于攜帶而且降低了開發(fā)成本。
1 系統(tǒng)原理
    AMT監(jiān)測系統(tǒng)的作用是在AMT系統(tǒng)開發(fā)調(diào)試階段協(xié)助開發(fā)人員實時了解AMT系統(tǒng)的工作狀態(tài)和評估性能參數(shù),此外開發(fā)調(diào)試AMT系統(tǒng)時是在空間有限的駕駛艙內(nèi)進(jìn)行并且汽車處于行駛的狀態(tài)。因此AMT監(jiān)測系統(tǒng)要滿足以下要求:
    (1)能實時地采集系統(tǒng)狀態(tài)參數(shù);
    (2)提供可視化的、友好的、美觀的界面;
    (3)簡單方便,易于攜帶。
    為滿足以上要求,以Android智能手機為平臺,采用無線藍(lán)牙通信技術(shù)是一種比較滿意的方案。
    本文設(shè)計的AMT監(jiān)測系統(tǒng)包括三個部分,分別是AMT系統(tǒng)ECU、藍(lán)牙RF模塊、Android智能手機,AMT系統(tǒng)ECU與藍(lán)牙RF模塊為系統(tǒng)下位機負(fù)責(zé)信息采集發(fā)送,Android智能手機為上位機負(fù)責(zé)信息接收以及提供可視化的界面。上位機與下位機通過藍(lán)牙進(jìn)行通信。系統(tǒng)組成結(jié)構(gòu)圖如圖1所示。

    系統(tǒng)的工作原理:在手機與下位機藍(lán)牙RF模塊配對建立連接之后,AMT系統(tǒng)ECU通過UART將采集到的數(shù)據(jù)按照定義好的格式發(fā)送給藍(lán)牙RF模塊,藍(lán)牙RF模塊將數(shù)據(jù)轉(zhuǎn)換成無線信號,Android系統(tǒng)手機內(nèi)置的藍(lán)牙將數(shù)據(jù)接收后傳送至應(yīng)用程序,應(yīng)用程序?qū)⑦@些數(shù)據(jù)進(jìn)行處理并以可視化的界面呈現(xiàn)給開發(fā)者。
2 系統(tǒng)下位機設(shè)計
2.1 硬件平臺設(shè)計

    系統(tǒng)的下位機包括兩個部分,分別是AMT系統(tǒng)ECU和藍(lán)牙RF模塊。ECU是AMT系統(tǒng)的大腦,負(fù)責(zé)信號的采集處理和控制決策。由于AMT系統(tǒng)是一個多輸入多輸出、參數(shù)變化快、實時性要求高的系統(tǒng),需要AMT的ECU有較高的實時處理能力;此外,在研發(fā)調(diào)試過程中為監(jiān)測系統(tǒng)狀態(tài)而加入的數(shù)據(jù)采集不能影響原有ECU的運行流程,必須是一個獨立的并行運行模塊,與原有ECU的運行沒有任何的耦合關(guān)系,因此需要ECU有并行處理能力。一般的基于馮·諾依曼體系結(jié)構(gòu)的微控制都是在時鐘的指揮下串行執(zhí)行程序指令,要想獲得較高實時性和并行處理需要對軟件的設(shè)計進(jìn)行高度的實時性優(yōu)化,這樣的程序設(shè)計比較困難,因此很難滿足設(shè)計要求?;诖?,采用FPGA設(shè)計AMT系統(tǒng)ECU,F(xiàn)PGA通過內(nèi)部邏輯門的互聯(lián),以硬件的方式實現(xiàn)對激勵的響應(yīng),具有很強的實時性同時還可以并行處理。使用的芯片為Actel的A3P250,A3P250是基于Flash架構(gòu)的FPGA,具有上電即可運行、抗干擾能力強、無法破解等特點[4]。藍(lán)牙RF模塊采用的是CSR BC04藍(lán)牙芯片,該芯片內(nèi)部集成遵循V2.0藍(lán)牙規(guī)范的藍(lán)牙通信協(xié)議,數(shù)字2.4 GHz頻段收發(fā),3.3 V工作電壓,通過UART與AMT系統(tǒng)ECU通信,ECU只需將要發(fā)送的數(shù)據(jù)通過UART發(fā)送給藍(lán)牙模塊即可,無需對藍(lán)牙模塊編程。
2.2 軟件實現(xiàn)
    下位機的軟件功能主要是AMT系統(tǒng)ECU中的數(shù)據(jù)采集發(fā)送部分。程序結(jié)構(gòu)圖如圖2所示,包含3大部分:數(shù)據(jù)幀封裝部分、發(fā)送控制部分、UART部分。數(shù)據(jù)幀封裝部分將要發(fā)送的數(shù)據(jù)按一定的格式封裝成數(shù)據(jù)幀,一個數(shù)據(jù)幀包含13 B的數(shù)據(jù),其中第一個字節(jié)固定為0xbb作為幀的起始標(biāo)志,最后一個字節(jié)的內(nèi)容固定為0xaa作為幀的結(jié)束標(biāo)志,其余11個字節(jié)的內(nèi)容為AMT系統(tǒng)和汽車的狀態(tài)參數(shù);發(fā)送控制部分在時鐘的統(tǒng)一指揮下產(chǎn)生選通信號和發(fā)送使能信號將一幀數(shù)據(jù)依次傳輸給UART并啟動UART進(jìn)行發(fā)送;UART是軟件的核心部分,AMT的FPGA主控制器A3P250自身不帶UART,因此采用Verilog語言實現(xiàn)UART的邏輯。在Libero集成開發(fā)環(huán)境下編寫調(diào)試程序,完成下位機軟件的開發(fā)工作。

3 上位機實現(xiàn)
    上位機程序是一個Android的應(yīng)用程序運行在Android智能手機上。Android系統(tǒng)為Android應(yīng)用程序提供了5個基本組件類型,應(yīng)用程序按自身需求將對應(yīng)的組件實例化。5個基本組件類型包括:Activity組件,該組件提供可視化的界面用于人機交互;Service組件,該組件無可視化的界面而是在一段時間內(nèi)運行于后臺;Intent組件,用于組件、應(yīng)用程序之間的消息傳遞;BroadcastReceiver組件,該組件用于接收廣播消息通知并啟動其他組件進(jìn)行處理;ContentProvider組件,該組件用于應(yīng)用程序的數(shù)據(jù)管理。一個Android應(yīng)用程序都由以上的一個或多個組件構(gòu)成[5]。
3.1軟件架構(gòu)
    本系統(tǒng)應(yīng)用程序的設(shè)計采用典型的MCV分層設(shè)計模型[7],MCV分別代表模型層、控制層、表示層。表示層工作于前臺,展現(xiàn)模型的狀態(tài),進(jìn)行數(shù)據(jù)顯示,提供人機交互;控制層提供表示層與模型層之間的流程控制,一方面要將表示層的輸入發(fā)送至模型層進(jìn)行處理,另一方面要將模型層的處理結(jié)果反饋到表示層進(jìn)行顯示;模型層工作于后臺進(jìn)行數(shù)據(jù)處理。在本應(yīng)用程序中表示層是界面顯示部分,使用Activity組件實現(xiàn),藍(lán)牙業(yè)務(wù)是模型層負(fù)責(zé)建立藍(lán)牙連接和藍(lán)牙通信,使用Service組件實現(xiàn),這兩個組件都是獨立的進(jìn)程,通過Handler實現(xiàn)跨進(jìn)程的通信,Handler即為控制層。軟件總體架構(gòu)如圖3所示。

 

 

3.2 用戶界面
    系統(tǒng)中需要觀測的參數(shù)有車速、發(fā)動機轉(zhuǎn)速、檔位、離合器位置、換擋桿位置、選檔桿位置、加速踏板開度、節(jié)氣門開度等。以上這些參數(shù)都可以直接通過文本框顯示,但是這樣顯示不能反映參數(shù)之間的相互作用關(guān)系。因此有些參數(shù)需要在同一個時間軸上用曲線顯示,比如車速與離合器行程曲線,發(fā)動機轉(zhuǎn)速與車速曲線。因此界面顯示部分包括兩個界面,一個是文本框顯示界面,一個是曲線顯示界面。
    界面的布局和控件資源通過XML文件進(jìn)行定義,采用絕對布局方式。文本框顯示界面包含若干個用于數(shù)據(jù)輸出顯示的EditText控件和作為標(biāo)簽的TextView控件,該界面為程序默認(rèn)顯示界面,應(yīng)用程序一打開就顯示此界面。曲線顯示界面添加了一個SurfaceView控件,用于繪圖操作,兩個界面通過滑動進(jìn)行切換。文本框顯示界面對象繼承Activity類,復(fù)寫其OnCreate方法和OnStart方法,在OnCreate方法中進(jìn)行變量的初始化、調(diào)用setContentView設(shè)置界面布局的XML文件、調(diào)用findViewById方法獲取界面上各個控件對象;在OnStart方法中創(chuàng)建藍(lán)牙業(yè)務(wù)對象和通信接口Handler,同時創(chuàng)建Handler的消息處理函數(shù),在消息處理函數(shù)中接收藍(lán)牙發(fā)送過來的數(shù)據(jù)并將這些數(shù)據(jù)進(jìn)行處理顯示。
3.3藍(lán)牙業(yè)務(wù)
    Android系統(tǒng)對藍(lán)牙網(wǎng)絡(luò)協(xié)議棧提供了支持,提供了一系列基本類和API來實現(xiàn)藍(lán)牙設(shè)備之間的數(shù)據(jù)傳輸。藍(lán)牙通信的基本類有:(1)BluetoothAdapter類,該類代表了一個本地藍(lán)牙適配器,用于掃描其他藍(lán)牙設(shè)備,實例化藍(lán)牙設(shè)備和建立監(jiān)聽線程來監(jiān)聽來自遠(yuǎn)端設(shè)備的連接;(2)BluetoothDevice類,代表了一個遠(yuǎn)端的藍(lán)牙設(shè)備,封裝了遠(yuǎn)端藍(lán)牙設(shè)備的名稱、地址、種類和綁定狀態(tài)等信息;(3)Bluetoothsocket類,代表一個藍(lán)牙套接字接口,作用是通過輸入輸出流提供應(yīng)用程序與其他藍(lán)牙設(shè)備的通信接口;(4)Blueboothserversocket類,用于在主機端監(jiān)聽可能到來的連接請求;(5)Bluetoothclass類,它是一個只讀性質(zhì)的集描述了藍(lán)牙的特點和能力[6]。
    藍(lán)牙設(shè)備之間的通信包括4個步驟: (1)設(shè)置藍(lán)牙設(shè)備;(2)尋找局域網(wǎng)內(nèi)可能或者匹配的設(shè)備;(3)連接設(shè)備; (4)數(shù)據(jù)傳輸。當(dāng)兩個藍(lán)牙設(shè)備擁有同一個套接字即在同一個RFECOMM信道上時,這兩個設(shè)備就建立了連接可以進(jìn)行數(shù)據(jù)通信了。
    藍(lán)牙業(yè)務(wù)對象在文本框顯示界面Activity對象中的OnStart方法中被創(chuàng)建,創(chuàng)建之后作為service工作于后臺進(jìn)行藍(lán)牙業(yè)務(wù)。當(dāng)完成藍(lán)牙設(shè)備的掃描、配對、連接之后,創(chuàng)建數(shù)據(jù)監(jiān)聽線程,監(jiān)聽來自遠(yuǎn)端設(shè)備的數(shù)據(jù),當(dāng)接收到數(shù)據(jù)時,通過bytes = mmInStream.read(buffer)讀出數(shù)據(jù),再通過Handler將數(shù)據(jù)發(fā)送給界面顯示的Activity。藍(lán)牙業(yè)務(wù)程序流程圖如圖4所示。在eclipse集成開發(fā)環(huán)境中完成應(yīng)用程序的編寫和調(diào)試工作。
    通過這個數(shù)據(jù)采集系統(tǒng),極大地方便了AMT的調(diào)試工作,特別是在試車過程中,能實時地觀測到AMT系統(tǒng)的工作狀態(tài)和汽車相關(guān)的狀態(tài)參數(shù),評估系統(tǒng)的性能。為AMT的研發(fā)工作提供了極大的便利。

參考文獻(xiàn)
[1] 葛安林,沈波.AMT換擋品質(zhì)的研究[J].汽車技術(shù), 2003(2):43-45.
[2] 趙梅,胡天亮,張倩,等.基于LabVIEW的AMT數(shù)據(jù)采集系統(tǒng)設(shè)計與研究[J].山東大學(xué)學(xué)報(工學(xué)版),2011,41(6):70-74.
[3] 董玉梁,陳慧巖. 車輛AMT的數(shù)據(jù)采集及分析系統(tǒng)[J].工業(yè)儀表與自動化裝置,2003(4):46-48.
[4] 黃明金. 基于FPGA技術(shù)的虛擬數(shù)字存儲示波器的設(shè)計[D].四川:成都理工大學(xué),2011.
[5] 李黎國,張輝,程號. 基于Android健康服務(wù)終端藍(lán)牙傳輸軟件的設(shè)計[J]. 電子科技, 2012,25(5):115-118.
[6] 熊獅,吳效明. 基于Android系統(tǒng)的生理數(shù)據(jù)藍(lán)牙傳輸技術(shù)[J].中國醫(yī)學(xué)物理學(xué)雜志,2012,29(6):3801-3803.
[7] 孟剛.基于Android藍(lán)牙聊天系統(tǒng)的設(shè)計與實現(xiàn)[J]. 信息安全與技術(shù),2012(6):79-82.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。