基于藍(lán)牙4.0的設(shè)備通信方案設(shè)計(jì)與實(shí)現(xiàn)
隨著藍(lán)牙技術(shù)的迅速發(fā)展,目前藍(lán)牙芯片市場涌現(xiàn)出了許多優(yōu)秀產(chǎn)品。CSR公司的BlueCore系列產(chǎn)品、Bmadcom的BCM系列產(chǎn)品和TI公司的CC2540系列產(chǎn)品都有廣泛的應(yīng)用。其中TI公司的CC2450和CSR公司的CSR1000芯片都非常適用于藍(lán)牙4.0應(yīng)用解決方案。
本文引用地址:http://2s4d.com/article/201808/388079.htm本文選用了TI公司的CC2450F128芯片作為藍(lán)牙通信芯片,該芯片提供真正的單片低功耗藍(lán)牙BLE解決方案,能夠運(yùn)行應(yīng)用程序和BLE協(xié)議棧。CC2450F128芯片內(nèi)部集成了高性能低功耗的8051微處理器核,片內(nèi)提供來了128KB的Flash存儲空間,對外支持UART和USB通信接口,所以非常適用于藍(lán)牙4.0的應(yīng)用解決方案。
1 總體方案設(shè)計(jì)
該設(shè)計(jì)為基于藍(lán)牙4.0的設(shè)備提供良好的通用方案,有助于研發(fā)特定應(yīng)用的設(shè)備。系統(tǒng)總體架構(gòu)如圖1所示。在系統(tǒng)總體架構(gòu)圖中,主要包括兩部分:支持藍(lán)牙4.0的手持設(shè)備和藍(lán)牙設(shè)備。其中支持藍(lán)牙4.0的手持設(shè)備可以是諸如智能手機(jī)、平板電腦等;藍(lán)牙設(shè)備則是本文提供的解決方案。支持藍(lán)牙4.0的手持設(shè)備和藍(lán)牙設(shè)備之間通過藍(lán)牙4.0協(xié)議傳輸數(shù)據(jù),可以為藍(lán)牙耳機(jī)、手機(jī)防丟應(yīng)用和無線拍照應(yīng)用等提供數(shù)據(jù)方案。
從系統(tǒng)總體架構(gòu)框圖中不難看出,該設(shè)計(jì)方案支持一對多的通信連接,即每個支持藍(lán)牙4.0的手持設(shè)備可以同時與多個藍(lán)牙設(shè)備建立連接,對應(yīng)用功能的擴(kuò)展帶了極大便利。
2 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
該部分將對系統(tǒng)總體架構(gòu)框圖中的藍(lán)牙設(shè)備給出解決方案。此處選用了TI公司的CC2450F128芯片作為藍(lán)牙通信芯片,該芯片最大的特點(diǎn)是能夠提供真正的單片低功耗藍(lán)牙BLE解決方案,能夠運(yùn)行應(yīng)用程序和BLE協(xié)議棧,使用起來簡單高效。
2.1 CC2450F128外圍電路設(shè)計(jì)
低功耗藍(lán)牙芯片CC2450F128的外圍電路原理圖如圖2所示。從圖2中可以看出CC2450F128芯片一般需要兩個時鐘晶振,其最為核心的部分是天線的電路設(shè)計(jì),需要根據(jù)實(shí)際的需要調(diào)整阻抗匹配。由于CC2450F128芯片使用的是8051微處理器核,所以其可以對外提供多個IO引腳以用于其他業(yè)務(wù)邏輯的實(shí)現(xiàn)。
2.2 通信協(xié)議擴(kuò)展
該解決方案另一個重要的部分就是其通信協(xié)議的設(shè)計(jì)和擴(kuò)展。通常需要按照藍(lán)牙4.0的通信協(xié)議來擴(kuò)展其配置,包括Setvice配置和Characteristic配置。
舉例說明,可以先增加UUID為00001802-0000-1000-8000-00123456789b的Service,然后為該服務(wù)增加UUID為00002a06-0000-1000-8000-00123456789b的Characteristic。
通常需要根據(jù)應(yīng)用的業(yè)務(wù)邏輯劃分出多個功能大類,再對功能大類進(jìn)行細(xì)分。每一個功能大類對應(yīng)一個Service,每一個功能細(xì)分對應(yīng)一個Characteristic。總體看來,每個應(yīng)用可以包括多個Service,每個Service可以包括多個Characteristic。
3 系統(tǒng)性能分析
本文提供的解決方案是為了解決基于藍(lán)牙4.0的設(shè)備的通信問題,所以必須關(guān)注于影響其通信的幾個關(guān)鍵因素:信號強(qiáng)度、設(shè)備發(fā)現(xiàn)時間、穩(wěn)定性和誤報率。
3. 1 信號強(qiáng)度與距離的關(guān)系
信號強(qiáng)度是決定藍(lán)牙4.0通信質(zhì)量的最重要因素之一,為了明確實(shí)際的信號強(qiáng)度衰減情況,進(jìn)行了深入的實(shí)際數(shù)據(jù)測量。信號強(qiáng)度與距離的關(guān)系的原始數(shù)據(jù)圖如圖3所示。在圖3中,藍(lán)色交叉點(diǎn)顯示的是492組數(shù)據(jù),從圖3中可以看出信號強(qiáng)度總體走勢較為明顯,相同距離下的數(shù)據(jù)相對集中,部分?jǐn)?shù)據(jù)有波動現(xiàn)象。
為了更好的分析圖3中的數(shù)據(jù),需要對數(shù)據(jù)進(jìn)行處理。首先以距離為依據(jù),對同一距離下的6項(xiàng)信號強(qiáng)度數(shù)據(jù)進(jìn)行均值處理,然后對處理后的數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合,得到信號強(qiáng)度與距離的關(guān)系圖。
信號強(qiáng)度與距離的關(guān)系圖如圖4所示。在圖4中,紅色交叉點(diǎn)表示對同一距離下的6項(xiàng)信號強(qiáng)度數(shù)據(jù)進(jìn)行均值處理后的82組數(shù)據(jù),藍(lán)色線條表示對該82組數(shù)據(jù)進(jìn)行擬合后的曲線。從圖4中可以看出信號強(qiáng)度在1米以內(nèi)迅速衰減,之后隨著距離的增加逐漸緩慢衰減,并且衰減過程中呈現(xiàn)波動趨勢。
根據(jù)圖4中信號強(qiáng)度與距離所呈現(xiàn)的規(guī)律,可以用于藍(lán)牙測距方面的應(yīng)用,在實(shí)現(xiàn)上需要考慮藍(lán)牙信號強(qiáng)度本身的波動性因素,采用多次采樣和歷史數(shù)據(jù)校正等方式來合理處
理數(shù)據(jù),以獲取可用的有效數(shù)據(jù),提升系統(tǒng)本身的穩(wěn)定性。
3.2 設(shè)備發(fā)現(xiàn)時間與距離的關(guān)系
設(shè)備發(fā)現(xiàn)時間是評價藍(lán)牙4.0通信質(zhì)量的另一個最重要因素。在使用藍(lán)牙設(shè)備時,通信之前的第一步工作就是掃描藍(lán)牙設(shè)備,然而掃描過程中設(shè)備發(fā)現(xiàn)時間與距離存在極大的關(guān)聯(lián),為了明確該內(nèi)在關(guān)系,進(jìn)行了深入的實(shí)際數(shù)據(jù)測量。整理后的設(shè)備發(fā)現(xiàn)時間與距離的關(guān)系的統(tǒng)計(jì)數(shù)據(jù)如表1所示。
從表1中不難看出,總體趨勢是距離越近,設(shè)備發(fā)現(xiàn)時間越短;距離越遠(yuǎn),設(shè)備發(fā)現(xiàn)時間越長。當(dāng)距離超出10 m時,設(shè)備發(fā)現(xiàn)的時間非常長或者不能發(fā)現(xiàn)設(shè)備,所以在實(shí)際的應(yīng)用上需要考慮系統(tǒng)的性能參數(shù),選擇合適的通信距離。
3.3 穩(wěn)定性與誤報率
3.3.1 設(shè)備發(fā)現(xiàn)壓力測試
為了驗(yàn)證該解決方案的穩(wěn)定性,在10 m內(nèi)采用100個藍(lán)牙設(shè)備做設(shè)備發(fā)現(xiàn)壓力測試。進(jìn)行了壓力測試之后顯示,使用100個藍(lán)牙設(shè)備進(jìn)行掃描發(fā)現(xiàn),距離越近的設(shè)備發(fā)現(xiàn)的頻率越高,距離越遠(yuǎn)的設(shè)備發(fā)現(xiàn)的頻率越低。設(shè)備的整體發(fā)現(xiàn)率可達(dá)到近90%,10%的設(shè)備未被發(fā)現(xiàn)主要原因是距離近的設(shè)備信號較強(qiáng),容易被發(fā)現(xiàn),優(yōu)先占用資源。
3.3.2 設(shè)備連接測試
設(shè)備的連接測試與硬件設(shè)備和上層的軟件設(shè)計(jì)有極大的關(guān)系。理論上設(shè)備連接數(shù)量不受限制,但受到實(shí)際的軟硬件資源的約束以及應(yīng)用場景的不同,設(shè)備連接數(shù)量也有極大的不同。此處我們的原型設(shè)備同時連接3臺藍(lán)牙設(shè)備時非常穩(wěn)定,同時連接5臺藍(lán)牙設(shè)備時較穩(wěn)定,連接更多藍(lán)牙設(shè)備時將出現(xiàn)不能連接的狀況。
3.3.3 設(shè)備誤報率測試
實(shí)際的應(yīng)用中,將考慮藍(lán)牙設(shè)備當(dāng)前的連接狀況問題。由于當(dāng)距離超出10 m時,設(shè)備發(fā)現(xiàn)的時間非常長或者不能發(fā)現(xiàn)設(shè)備,此時應(yīng)用中的邏輯通常認(rèn)為該藍(lán)牙設(shè)備已斷開連接,所以進(jìn)行了10 m誤報率測試。該測試中首先將藍(lán)牙設(shè)備連接,然后移動到不足距離10 m的位置上檢查其提示連接已斷開的狀況。經(jīng)過100測試發(fā)現(xiàn)其在10 m左右的位置上的誤報率在15%左右,其將受到軟件的邏輯的影響。
4 結(jié)束語
本文從實(shí)際應(yīng)用的角度出發(fā),設(shè)計(jì)并實(shí)現(xiàn)了基于藍(lán)牙4.0的設(shè)備通信方案。該方案提供了低功耗的藍(lán)牙解決方案,能夠支持多設(shè)備的同時通信。實(shí)際實(shí)驗(yàn)測試結(jié)果表明,通信距離對接受到的藍(lán)牙設(shè)備的信號強(qiáng)度、設(shè)備發(fā)現(xiàn)時間和誤報率都有較大影響。本文所提供的設(shè)計(jì)方案經(jīng)過大量的數(shù)據(jù)的驗(yàn)證,可以較好的完成藍(lán)牙4.0通信功能,提供了多設(shè)備發(fā)現(xiàn)和連接的能力,以及根據(jù)信號強(qiáng)度測距的應(yīng)用方案。
評論