基于安卓平臺的電纜故障數(shù)據(jù)終端設(shè)計(jì)
郭堃
(仰恩大學(xué) 工程技術(shù)學(xué)院,福建 泉州362014)
摘要為解決傳統(tǒng)電纜故障定位設(shè)備體積龐大、操作復(fù)雜、且價(jià)格昂貴的問題。提出了利用手機(jī)處理系統(tǒng)分擔(dān)一部分電纜故障測距數(shù)據(jù)處理顯示任務(wù)。該系統(tǒng)以FPGA為測量儀下位機(jī)核心,完成故障數(shù)據(jù)的測量?;贏pp Inventor 2設(shè)計(jì)一個App,利用藍(lán)牙模塊將手機(jī)與電纜故障測距系統(tǒng)連接并接收其測量數(shù)據(jù),對該數(shù)據(jù)進(jìn)行處理及顯示。實(shí)驗(yàn)結(jié)果表明,測量系統(tǒng)運(yùn)行速度提高、操作簡單、攜帶方便且人機(jī)界面友好。
關(guān)鍵詞安卓;電纜故障測距;藍(lán)牙;App Inventor
收稿日期:2015-05-05
基金項(xiàng)目:福建省中青年教師教育科研基金資助項(xiàng)目(科技A類)(JA14343)
作者簡介:郭堃(1982—),男,碩士,講師。研究方向:電子與通信。E-mail:gkcool@163.com
doi:10.16180/j.cnki.issn1007-7820.2015.12.033
中圖分類號TN710文獻(xiàn)標(biāo)識碼A
Design of Cable Fault Data Terminal Based on Android Platform
GUO Kun
(School of Engineering Technology,Yang-En University,Quanzhou 362014,China)
AbstractA cable fault data terminal using mobile phones to undertake part of tasks of the cable fault location is proposed to solve the large size,complicated operation and high cost of conventional cable fault locating equipment.The system uses the FPGA as the core of the measuring instrument.An application is developed by App Inventor 2,using Bluetooth to connect cable fault location system.The phone can process data and display the data.The experimental results show that this measurement system has improved running speed,simple operation,portability and friendly interface.
KeywordsAndroid;cable fault location;bluetooth;App Inventor
傳統(tǒng)電纜故障定位設(shè)備由于數(shù)據(jù)終端采用獨(dú)立的計(jì)算機(jī)系統(tǒng)導(dǎo)致體積龐大、操作復(fù)雜且價(jià)格昂貴。本文提出一種數(shù)據(jù)終端設(shè)計(jì)。電纜故障測距系統(tǒng)的測量采用高速FPGA來實(shí)現(xiàn),FPGA的優(yōu)勢在于高運(yùn)行速度,內(nèi)部數(shù)據(jù)并行處理。而數(shù)據(jù)的計(jì)算與顯示、輸入控制則需要依靠嵌入式系統(tǒng)完成。手機(jī)系統(tǒng)是高端的嵌入式系統(tǒng),App的開發(fā)簡單實(shí)用,故障定位設(shè)備可以借助手機(jī)平臺完成數(shù)據(jù)的處理顯示功能,不但簡化硬件構(gòu)架而且實(shí)現(xiàn)更加方便。
App的設(shè)計(jì)可依靠原生語言開發(fā),比如:Java、ObjectC、.net等,需要開發(fā)者具有專業(yè)的編程經(jīng)驗(yàn)。還可以用網(wǎng)頁語言,也可用商業(yè)App開發(fā)軟件進(jìn)行設(shè)計(jì),例如App Inventor 2,是一個完全在線開發(fā)的Android編程環(huán)境,拋棄復(fù)雜的程式代碼而使用積木式的堆疊法來完成Android程式[1]。
本文基于以上分析,設(shè)計(jì)一個基于安卓平臺的App,利用藍(lán)牙模塊與FPGA下位機(jī)進(jìn)行對接,發(fā)送控制命令與接收測量數(shù)據(jù),處理并顯示在安卓手機(jī)上。
1FPGA系統(tǒng)硬件設(shè)計(jì)
1.1系統(tǒng)硬件總體設(shè)計(jì)
FPGA系統(tǒng)采用阿爾特拉公司的CycloneⅡ系列微處理器EP2C8Q208為核心,該芯片擁有兩個鎖相環(huán),可倍頻到100 MHz,FPGA系統(tǒng)仍工作穩(wěn)定,完全滿足測距精度的要求[2]。最小系統(tǒng)配以EPCS4配置芯片,50 MHz有源晶振,HC-05藍(lán)牙模塊及電源模塊,具體硬件框圖如圖1所示。
圖1 FPGA系統(tǒng)硬件設(shè)計(jì)
1.2FPGA最小系統(tǒng)及供電
系統(tǒng)時鐘采用50 MHz有源晶振,時鐘源通過LC濾波處理減小晶振的輸入電壓以及PLL輸入電壓的干擾。系統(tǒng)供電需要+1.2 V,+3.3 V,+5 V的3種電壓。其中FPGA內(nèi)核電源需要+1.2 V電壓;外圍存儲器等電源需要+3.3 V電壓;其他器件需要+5 V與+15 V。然后根據(jù)不同電壓的需求,分別采用幾個型號的穩(wěn)壓芯片來穩(wěn)壓輸出[3]。
1.3EPCS配置
這次選用的EP2C8Q208是基于SRAM的FPGA核心,斷電都需要重新下載程序。而EPCS是Altera公司專為此設(shè)計(jì)的Flash存儲器專用串行配置器件。EPCS具有串行接口,能存儲系統(tǒng)的配置信息,上電或復(fù)位時可對FPGA發(fā)送配置信息[4],具體電路硬件如圖2所示。
圖2 EPCS
1.4藍(lán)牙模塊
為了與手機(jī)進(jìn)行通信,選擇了HC-05藍(lán)牙主從機(jī)模塊。該模塊采用CSR主流藍(lán)牙芯片,藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn),串口模塊工作電壓3.3 V。通過FPGA的時序控制可與手機(jī)藍(lán)牙模塊進(jìn)行通信[5-6]。
2安卓App設(shè)計(jì)
電纜故障測距系統(tǒng)測量的是發(fā)射脈沖與接收脈沖的時間差,將這一時間差通過藍(lán)牙模塊發(fā)送給安卓手機(jī),通過安卓手機(jī)處理計(jì)算該數(shù)據(jù),并將最終結(jié)果顯示在手機(jī)屏幕上。
2.1App Inventor 開發(fā)環(huán)境搭建
App Inventor是谷歌公司開發(fā)的一個安卓應(yīng)用程序設(shè)計(jì)軟件,該款軟件已事先將軟件的代碼全部編寫完畢,用戶只需要根據(jù)自身的需求向其中添加服務(wù)選項(xiàng)即可,開發(fā)者僅是需要做拼接。
首先下載最新的Java運(yùn)行環(huán)境(JRE),下載APPInventor_Setup_Installer可執(zhí)行文件對App Inventor 2設(shè)置運(yùn)行環(huán)境,注冊Gmail賬號,最后登陸MIT App Inventor 2進(jìn)行開發(fā)[1]。開發(fā)界面分為Palette、Viewer、Components和Properties。通過將Palette內(nèi)置功能模塊拖曳至Viewer區(qū)里,然后對Properties進(jìn)行屬性編輯。
2.2App功能設(shè)計(jì)
首先啟動藍(lán)牙設(shè)備,然后尋找從機(jī)配對,配對成功后選擇行波的速度,因?yàn)椴煌馁|(zhì)的行波速度不同。開啟測距系統(tǒng),開始測距,測距完成后可根據(jù)收到的測量數(shù)據(jù)進(jìn)行計(jì)算,最后關(guān)閉設(shè)備。功能模塊內(nèi)容如圖3所示。
圖3 功能模塊
2.3App功能實(shí)現(xiàn)
通過選擇MIT App Inventor2中Palette窗口中Connectivity選項(xiàng)的BluetoothClient來完成藍(lán)牙的配置。
通過向測距系統(tǒng)發(fā)送開啟命令和關(guān)閉命令來控制測距系統(tǒng)的運(yùn)行。電纜故障測距系統(tǒng)測量的為時間差,即發(fā)射行波與接收反射波之間的時間差。根據(jù)行波在電纜中行進(jìn)速度和行進(jìn)時間可計(jì)算得到測量點(diǎn)與被測點(diǎn)的距離信息。測量之前要了解埋設(shè)電纜的材料參數(shù),通過App選擇行波速度。具體功能模塊搭配如圖4所示。
圖4 功能模塊搭配圖
3FPGA軟件設(shè)計(jì)
FPGA系統(tǒng)的軟件功能設(shè)計(jì)包括藍(lán)牙設(shè)備的配置;電纜故障點(diǎn)到測試點(diǎn)的行波行進(jìn)時間的測量[7];數(shù)據(jù)發(fā)送。系統(tǒng)比較龐大,采用的是原理圖設(shè)計(jì)輸入與硬件描述語言混合設(shè)計(jì)輸入。軟件流程圖如圖5所示。
圖5 FPGA軟件流程圖
3.1藍(lán)牙配置
系統(tǒng)上電后,FPGA首先對藍(lán)牙模塊進(jìn)行初始化,隨后等待藍(lán)牙上位機(jī)的控制命令,完成下位機(jī)與上位機(jī)的連接。傳輸完數(shù)據(jù)后,等待上位機(jī)命令斷開連接。
3.2測距設(shè)計(jì)
這部分包括發(fā)射行波的產(chǎn)生、高頻計(jì)數(shù)脈沖的產(chǎn)生、計(jì)數(shù)器和反射行波接收。
發(fā)射的行波考慮衰減等因素設(shè)計(jì)成矩形脈沖串,而行波的寬度決定了最小可測距離,小于該距則發(fā)射波與反射波會疊在一起,影響判斷。反射行波接收時,可將反射的行波看成是數(shù)字序列,從而可采用有限狀態(tài)機(jī)判斷。計(jì)數(shù)器的計(jì)數(shù)脈沖根據(jù)測量的精度來設(shè)計(jì),精度越高,計(jì)數(shù)脈沖頻率越高。
4實(shí)驗(yàn)仿真及分析
4.1FPGA測試數(shù)據(jù)的仿真
FPGA系統(tǒng)的設(shè)計(jì)與仿真都在Quartus II上進(jìn)行,當(dāng)藍(lán)牙下位機(jī)接到開啟故障測距命令后,FPGA產(chǎn)生發(fā)射脈沖至信號調(diào)理電路,然后注入電纜測試點(diǎn),同時開啟計(jì)數(shù)器,同時等待反射信號的到來。收到反射信號后,關(guān)閉計(jì)數(shù)器,根據(jù)計(jì)數(shù)脈沖個數(shù)與脈沖周期可計(jì)算得到待測時間,最后通過藍(lán)牙模塊發(fā)送該數(shù)據(jù)。FPGA時序波形仿真如圖6所示,通過該波形圖可看出所測量的8 bit數(shù)據(jù),與兩個脈沖串之間的時間是對應(yīng)的。
圖6 時序波形圖
4.2數(shù)據(jù)終端App
通過App Inventor2,功能實(shí)現(xiàn)后可生成.aia文件,可放到自身的App工程,也可上傳到網(wǎng)上供下載使用。安裝文件可通過兩種方式傳到手機(jī)上:第一種方法是QR Code即二維碼,通過連接網(wǎng)絡(luò)后的智能手機(jī),用手機(jī)掃描軟件掃描QR Code后下載至手機(jī)再進(jìn)行安裝;第二種方法是生成.apk文件下載到個人計(jì)算機(jī),通過數(shù)據(jù)線連接手機(jī)下載安裝。
安裝完畢后,啟動該App,啟動后的App界面如圖7所示。通過觸摸“啟動”按鍵,然后根據(jù)具體電纜材質(zhì)選擇相對應(yīng)的行波速度。開啟測距后,發(fā)送開啟命令給下位機(jī)控制FPGA開啟測距,FPGA測距完畢后返回測距數(shù)據(jù)給上位機(jī)。上位機(jī)收到數(shù)據(jù)后,觸摸停止測距,并開啟顯示數(shù)據(jù),顯示數(shù)據(jù)包括對下位機(jī)返回的數(shù)據(jù)進(jìn)行計(jì)算和顯示。
圖7 數(shù)據(jù)終端App
5結(jié)束語
本文以電纜故障測距及定位系統(tǒng)為工程背景展開,當(dāng)前眾多測距或定位儀都是大型設(shè)備,成本高昂且
不易攜帶和操作。通過智能手機(jī)App的應(yīng)用,可大幅減小整個系統(tǒng)設(shè)備體積,只需手持故障測距儀即可。且若要更新設(shè)備參數(shù)或更改電纜數(shù)據(jù)只需在計(jì)算機(jī)上修改參數(shù),然后上傳到手機(jī)即可,該數(shù)據(jù)終端具有良好的功能擴(kuò)展空間。
參考文獻(xiàn)
[1]王培坤.Google App Inventor 開發(fā)手冊[M].臺北:上奇資訊股份有限公司,2011.
[2]孔德鵬,毛惠豐,姬占濤.一種基于FPGA的信號發(fā)生器研究與設(shè)計(jì)[J].微處理機(jī),2015,36(1):1-4.
[3]郭堃.基于FPGA及嵌入式的電纜故障測距定位系統(tǒng)[D].泉州:華僑大學(xué),2011.
[4]李娟.基于SOPC技術(shù)的電纜故障測距系統(tǒng)的研究[D].上海:上海交通大學(xué),2007.
[5]陳鈺琨,馬忠梅,曾禮.Android系統(tǒng)的藍(lán)牙遠(yuǎn)程控制研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,14(1):16-19.
[6]黃志輝,楊寧渝.基于Arduino單片機(jī)的手機(jī)藍(lán)牙遙控?cái)?shù)字調(diào)頻發(fā)射器[J].數(shù)字技術(shù)與應(yīng)用,2014,32(12):103-104.
[7]錢石,王天雷,陳完年,等.電力電纜檢測技術(shù)探討[J].五邑大學(xué)學(xué)報(bào):自然科學(xué)版,2014,21(4):76-80.
[8]張國軍,任榮.基于ATmega16的礦井電纜故障精確定位儀[J].儀表技術(shù)與傳感器,2014,51(11):54-56.
[9]梁睿,孫式想,靳征,等.單雙端行波特征綜合考慮的輻射狀電網(wǎng)組合測距技術(shù)[J].高電壓技術(shù),2014,40(5):1461-1467.
[10]黃雄,王志華,尹項(xiàng)根,等.高壓輸電線路行波測距的行波波速確定方法[J].電網(wǎng)技術(shù),2004,28(19):34-37.