国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BLE北斗便攜終端的安卓系統(tǒng)設(shè)計*

2017-04-26 10:42:34富新輝余之喜蘇凱雄
關(guān)鍵詞:安卓低功耗校驗

富新輝,余之喜,蘇凱雄

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350002)

基于BLE北斗便攜終端的安卓系統(tǒng)設(shè)計*

富新輝,余之喜,蘇凱雄

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350002)

為提高北斗終端設(shè)備的便攜性、兼容性與待機時長,針對北斗報文數(shù)據(jù)特點與低功耗藍(lán)牙(Bluetooth Low Energy, BLE)的傳輸協(xié)議,設(shè)計實現(xiàn)了一種安卓導(dǎo)航通信系統(tǒng)。通過多線程分包組裝處理增強系統(tǒng)實時性,并討論得出兼容不同安卓終端的轉(zhuǎn)發(fā)速度提高軟件適用性。加入藍(lán)牙丟包校驗機制,有效提高系統(tǒng)傳輸可靠性。本設(shè)計可將北斗導(dǎo)航儀的各種交互功能集成在安卓終端上,安卓智能終端用戶只需使用體積更小的北斗便攜終端便能實現(xiàn)北斗通信導(dǎo)航功能,操作體驗性更好,更具實用性。

北斗衛(wèi)星;導(dǎo)航通信;安卓;低功耗藍(lán)牙;便攜終端

0 引言

北斗行業(yè)近幾年迅速崛起,相關(guān)的終端設(shè)備也正在往便攜性、小型化的方向發(fā)展。本文提出了一種基于北斗便攜終端的應(yīng)用設(shè)計方案,該方法可使北斗終端體積進(jìn)一步縮小,待機時間更長,交互性更好。

該方案采用安卓系統(tǒng)的移動終端,利用BLE獲得北斗一代、二代信息并進(jìn)行交互操作,在安卓終端上實現(xiàn)北斗短報文通信與定位功能。本文針對BLE的協(xié)議特點與北斗數(shù)據(jù)的傳輸特性,設(shè)計了一種合理的結(jié)合方式,并經(jīng)過測試驗證了兩者融合后數(shù)據(jù)傳輸?shù)挠行浴?/p>

1 系統(tǒng)組成

本設(shè)計系統(tǒng)組成如圖1所示,主要包含北斗一代模塊、北斗二代模塊、ARM處理器、BLE模塊、安卓終端等。

圖1 系統(tǒng)組成框圖

1.1 低功耗藍(lán)牙BLE模塊

本文的北斗便攜終端采用的BLE模塊具有低功耗、高速率、體積小、成本低的特點。并且該藍(lán)牙模塊采用單模模式[1],使得設(shè)備集成度更高,鏈路層更輕量且支持超低功耗待機模式操作。模塊連接間隔為20 ms,當(dāng)串口波特率為115 200 b/s 時,模塊具有最高轉(zhuǎn)發(fā)能力4 KB/s。模塊可以從串口一次性最多傳輸200 B數(shù)據(jù)包,并會根據(jù)數(shù)據(jù)包大小自動分包發(fā)送,每包最大載荷為20 B[2]。

1.2 ARM處理器

本系統(tǒng)中采用的ARM處理器為STM32,其主要功能為轉(zhuǎn)發(fā)數(shù)據(jù),將北斗一代、二代數(shù)據(jù)分包并插入適當(dāng)?shù)陌l(fā)送間隔時間,轉(zhuǎn)發(fā)給BLE模塊。當(dāng)藍(lán)牙模塊接收到安卓終端發(fā)來的指令后交付給STM32,處理器對指令進(jìn)行協(xié)議頭判斷并校驗,若符合標(biāo)準(zhǔn)和協(xié)議,則按照相應(yīng)的指令內(nèi)容轉(zhuǎn)發(fā)給北斗一代或二代模塊。

1.3 安卓終端應(yīng)用軟件功能

安卓系統(tǒng)4.3以后的版本支持BLE技術(shù)。本文的安卓終端采用的系統(tǒng)版本為Android6.0。

本文設(shè)計的安卓系統(tǒng)軟件主要功能有:

(1)基本功能:北斗卡檢測、北斗便攜終端電量讀取、北斗衛(wèi)星信號功率讀??;

(2)通信功能:一代模塊短報文通信、SOS緊急求救;

(3)定位功能:RDSS有源定位、RNSS無源定位;

(4)藍(lán)牙操作:連接、斷開、搜索、丟包檢測。

2 核心軟件處理過程

2.1 指令分包發(fā)送與接收

安卓終端接收北斗終端發(fā)來的數(shù)據(jù)包,每包的長度都為小于或等于20 B,數(shù)據(jù)包都需要先存入接收緩存隊列中,方便后續(xù)指令的組裝操作。向北斗終端發(fā)送數(shù)據(jù)時,若數(shù)據(jù)包長度大于20 B,需要主動將指令拆分成等于或小于20 B的小包后,再放入發(fā)送緩存隊列中等待發(fā)送。

發(fā)送和接收的過程都比較耗時,不適合放在主線程中執(zhí)行,因此,本設(shè)計開啟兩路線程分別負(fù)責(zé)發(fā)送和接收(如圖2所示)。圖3所示的發(fā)送線程完成將發(fā)送數(shù)據(jù)分包并存入發(fā)送緩存的工作。

圖2 發(fā)送與接收線程

圖3 安卓終端發(fā)送線程

接收線程完成從接收緩存內(nèi)提取出數(shù)據(jù)包,再將這些數(shù)據(jù)包按照“$”開頭和“*”結(jié)尾的指令格式組裝起來,若出現(xiàn)“*”丟失的情況,則當(dāng)組裝的指令長度>300 B時自動拋棄。具體過程如圖4所示。

圖4 安卓終端接收線程

2.2 發(fā)送延時兼容性

藍(lán)牙BLE存在連接間隔這個固定參數(shù),指的是兩個連接事件之間的時間間隔,藍(lán)牙只有在連接事件內(nèi)處理發(fā)送接收事件,連接間隔[3]的值一般為7.5 ms~4 s。不同的應(yīng)用可能要求不同的時間間隔。時間間隔較長的優(yōu)勢是可顯著節(jié)省功耗[4],短的時間間隔的優(yōu)勢是可以更快地收發(fā)數(shù)據(jù),不利之處是設(shè)備因連接事件的到來而被頻繁地喚醒,會有較多功耗。

對于安卓終端上的藍(lán)牙模塊,不同終端上使用的模塊連接間隔參數(shù)通常都不相同,且安卓終端的自身配置也不相同,處理速度有快有慢,這便會出現(xiàn)如圖5所示的發(fā)送丟包問題。

圖5 安卓終端不同配置導(dǎo)致的丟包問題

通過圖5可看出,由于配置較低的安卓終端,處理速度較慢,分裝完一個數(shù)據(jù)包的時間普遍大于藍(lán)牙的連接間隔時間,即:

Ts≥nTL(n為正整數(shù))

(1)

式中,Ts為安卓終端的處理時間、TL為藍(lán)牙連接間隔。這種情況下,當(dāng)藍(lán)牙連接事件到達(dá)時,發(fā)送的數(shù)據(jù)總是最新的。但當(dāng)安卓終端配置較高,數(shù)據(jù)分裝速度較快時,會出現(xiàn)藍(lán)牙模塊的發(fā)送速度跟不上數(shù)據(jù)更新速度的問題,部分?jǐn)?shù)據(jù)還沒被發(fā)送出去就已經(jīng)被新的數(shù)據(jù)覆蓋,直觀的表現(xiàn)就是藍(lán)牙丟包。

由于藍(lán)牙底層的連接事件到達(dá)并沒有任何標(biāo)志位返回,且藍(lán)牙為透傳底層發(fā)送成功的標(biāo)志位RTS[5]安卓系統(tǒng)無法讀取到,所以為了避免這種情況,使配置較高的安卓終端滿足式(1)條件,需要主動地加入延時。因為安卓終端的發(fā)送操作被放進(jìn)獨立的線程中,線程每次運行的間隔取決于不同安卓終端CPU的性能,理論上CPU越慢的安卓終端所需要的線程休眠時間越短。本文選取了配置性能不同的4種安卓終端,調(diào)整不同時延觀察是否出現(xiàn)丟包現(xiàn)象,測試所需的最小時延,測試結(jié)果如表1所示??梢钥闯鯟PU性能越好的手機配合自己本身的藍(lán)牙模塊所需要的延時越長。

表1 不同配置安卓終端所需最小延時

綜上,由于安卓端發(fā)送給北斗終端的信息量并不大,發(fā)送周期也較長,且為了兼容市面上的普遍機型和BLE模塊,在每發(fā)送20B數(shù)據(jù)包之間增加12ms~30ms的時延較為合適,這里折中選擇20ms延時。

2.3 校驗機制

圖6 系統(tǒng)校驗機制

為了過濾掉一些不正確的干擾信息,并且減少藍(lán)牙丟包造成的影響,本系統(tǒng)采用了一套校驗機制以增強系統(tǒng)可靠性,如圖6所示。北斗終端接收到指令后,經(jīng)過初步檢驗,過濾掉不符合正確指令格式的無效信息,再進(jìn)行校驗碼校驗,將指令按字節(jié)異或,最后的結(jié)果與指令的校驗和進(jìn)行對比。如果相同則反饋成功,反之反饋失敗。安卓終端接收到指令后,同樣先做初步校驗過濾無效指令信息,再進(jìn)行校驗碼檢驗,若校驗通過則交付后續(xù)處理,如果出錯則統(tǒng)計錯誤數(shù)量。

對于安卓終端發(fā)送給北斗終端的部分,由于藍(lán)牙傳輸為透傳模式,安卓終端并不知道北斗終端是否正確地接收到信息。除了通信申請($CCTXA)和定位申請($CCDWA)指令北斗終端接收后有反饋信息,其他指令北斗終端是否接收到并無任何提示,所以有必要另外加入自定義的檢驗協(xié)議。加入的指令如表2所示。其中校驗結(jié)果A表示有效信息,V表示無效信息。

表2 校驗指令格式

3 系統(tǒng)測試結(jié)果

為了驗證本設(shè)計方案的可行性,通過BLE將Android終端與北斗便攜終端連接后,進(jìn)行通信與定位的測試。將發(fā)送接收的北斗卡號設(shè)置為同一張實現(xiàn)自發(fā)自收。系統(tǒng)運行效果如圖7所示。測試采用混發(fā)模式,使用3級北斗卡連續(xù)短報文通信,發(fā)送內(nèi)容為39個漢字的滿報文,發(fā)送周期為62 s。測試數(shù)據(jù)如表3所示。

圖7 系統(tǒng)測試結(jié)果

通過表3的數(shù)據(jù)可以分析得到,安卓終端與北斗終端連接的距離越大,藍(lán)牙丟包率越高,當(dāng)距離小于2.5 m時只要沒有明顯的阻擋物藍(lán)牙丟包率為0。當(dāng)距離大于5 m后成功率低于95%,在藍(lán)牙丟包率較低的情況下,通信成功率主要取決于北斗衛(wèi)星的信號強度,所以會出現(xiàn)小于1 m的通信成功率反而比2.5 m的低的狀況。在實際使用情況下,便攜北斗終端一般隨身攜帶,藍(lán)牙連接距離一般都小于5 m。該系統(tǒng)的性能與成功率完全適用于這種情況。

表3 不同距離測試結(jié)果比較

4 結(jié)論

北斗產(chǎn)業(yè)不斷壯大,北斗產(chǎn)品也漸漸出現(xiàn)在百姓生活中。北斗終端設(shè)備的小型化是必然趨勢。本文針對使用BLE連接北斗終端設(shè)備與安卓設(shè)備的系統(tǒng)提供一種設(shè)計方案。在一般正常的使用情況下,本方案出現(xiàn)的丟包現(xiàn)象基本可以忽略。因此本方案滿足北斗通信的要求,并提供了人性化的交互功能,具有良好的擴展性與移植性,對北斗設(shè)備的其他便攜式、兼容性的應(yīng)用有著一定的借鑒參考意義。

[1] 歐陽駿,陳子龍,黃寧淋.藍(lán)牙4.0 BLE開發(fā)完全手冊: 物聯(lián)網(wǎng)開發(fā)技術(shù)實戰(zhàn)[M].北京:化學(xué)工業(yè)出版社,2013.

[2] 鄒向陽,譚彬,何青云.無線傳感器節(jié)點中的BLE藍(lán)牙低功耗研究[J].現(xiàn)代電子技術(shù),2016,39(20):67-71,77.

[3] MACKENSEN E,LAI M,WENDT T M. Blue-tooth low energy(BLE)based wireless sensors[J/OL].[2016-08-30].https://www.deepdyve.com/.

[4] 鎮(zhèn)咸舜.藍(lán)牙低功耗技術(shù)的研究與實現(xiàn)[D].上海:華東師范大學(xué),2013.

[5] 沈熠,陳章進(jìn),章鴻斌,等. 基于藍(lán)牙低功耗技術(shù)的維修鑰匙設(shè)計[J]. 微型機與應(yīng)用,2016,35(18):29-31,34.

The design of Android system based on BLE for the Beidou portable terminal

Fu Xinhui,Yu Zhixi, Su Kaixiong

(College of Physics and Information Engineering, Fuzhou University, Fuzhou 350002, China)

In order to improve the portability, compatibility and standby time of the Beidou terminal equipment, according to the characteristics of the Beidou data and the transmission protocol of Bluetooth Low Energy(BLE), the Android system of navigation communication is designed and implemented. Through the multi thread sub assembly processing to increase the real-time performance of the system, and discussed different Android terminals with forwarding speed to improve usability of software. Adding Bluetooth packet loss checking mechanism, to effectively improve the system reliability. This design can be integrated in lots of interactive functions on the Beidou navigator in Android terminal. Android intelligent terminal users only need to use a smaller size of the Beidou portable terminal will be able to achieve the Beidou communication navigation function, operation experience is better.

Beidou satellite; navigation and communication ; Android; Bluetooth Low Energy (BLE); portable terminal

福州市科技項目計劃資助(市校合作)(2015-G-61);福建省發(fā)改委2014產(chǎn)業(yè)技術(shù)聯(lián)合創(chuàng)新專項資助(2014-G-100)

TN965.5

A

10.19358/j.issn.1674- 7720.2017.07.028

富新輝,余之喜,蘇凱雄.基于BLE北斗便攜終端的安卓系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2017,36(7):95-97,101.

2016-12-13)

富新輝(1992-),男,碩士研究生,主要研究方向:北斗衛(wèi)星導(dǎo)航應(yīng)用。

余之喜(1987-),男,碩士,工程師,主要研究方向:北斗衛(wèi)星導(dǎo)航定位技術(shù)及其應(yīng)用。

蘇凱雄(1959-),男,碩士,教授、博士生導(dǎo)師,主要研究方向:無線通信、多媒體通信、數(shù)字電視廣播等。

猜你喜歡
安卓低功耗校驗
一種高速低功耗比較器設(shè)計
文物表情包
爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
一種基于安卓系統(tǒng)的手機側(cè)抓包分析方法
大型電動機高阻抗差動保護(hù)穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗方法
鍋爐安全閥在線校驗不確定度評定
安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
ADI推出三款超低功耗多通道ADC
IDT針對下一代無線通信推出低功耗IQ調(diào)制器
清徐县| 青川县| 东城区| 永康市| 富川| 洛宁县| 基隆市| 灌南县| 库尔勒市| 泗洪县| 安义县| 怀化市| 巴楚县| 民丰县| 普安县| 巨鹿县| 调兵山市| 靖安县| 柳州市| 毕节市| 绥阳县| 博白县| 铜陵市| 丰台区| 白水县| 信阳市| 西宁市| 安吉县| 独山县| 二连浩特市| 宜君县| 杭锦后旗| 兰州市| 临海市| 惠州市| 赫章县| 元朗区| 大埔区| 永登县| 绥阳县| 平乐县|