低功耗藍(lán)牙4.2協(xié)議棧中間層的設(shè)計與實現(xiàn)
發(fā)布時間:2020-05-27 15:37
【摘要】:低功耗藍(lán)牙技術(shù)是未來物聯(lián)網(wǎng)領(lǐng)域的關(guān)鍵技術(shù)。低功耗藍(lán)牙協(xié)議棧是作為低功耗藍(lán)牙芯片的配套軟件實現(xiàn)的。低功耗藍(lán)牙4.2協(xié)議棧中間層是整個協(xié)議棧設(shè)計的關(guān)鍵,協(xié)議棧中間層包括邏輯鏈路控制和適配協(xié)議(Logical Link Control and Adaption Protocol,L2CAP)、屬性協(xié)議(Attribute Protocol,ATT)和安全管理協(xié)議(Security Manager Protocol,SMP)。目前國內(nèi)市場上低功耗藍(lán)牙協(xié)議棧具有不開源和代碼冗余的問題,協(xié)議棧中間層的代碼開銷將極大影響物聯(lián)網(wǎng)應(yīng)用的成本,設(shè)計與實現(xiàn)開源且代碼開銷小的低功耗藍(lán)牙協(xié)議棧中間層具有很大的現(xiàn)實意義。本文分析了協(xié)議棧中間層的功能性需求,在分析了協(xié)議軟件代碼開銷優(yōu)化方向與相關(guān)技術(shù)的基礎(chǔ)上,依照低功耗藍(lán)牙4.2協(xié)議規(guī)范設(shè)計并實現(xiàn)了具有代碼開銷小特點的低功耗藍(lán)牙4.2協(xié)議棧的中間層。為了減少協(xié)議棧中間層的代碼開銷,本文從兩個方向?qū)f(xié)議棧中間層代碼開銷進(jìn)行了優(yōu)化。為了優(yōu)化協(xié)議棧中間層模塊固化的代碼開銷,鑒于傳統(tǒng)協(xié)議棧設(shè)計中屬性數(shù)據(jù)庫生成方法占用了大量片上空間的情況,設(shè)計了屬性數(shù)據(jù)庫預(yù)生成代碼開銷優(yōu)化策略;鑒于協(xié)議棧應(yīng)用開發(fā)中中間層大部分功能并不會被全部使用的現(xiàn)狀,設(shè)計了基于單件設(shè)計模式的模塊細(xì)化管理代碼開銷優(yōu)化策略,通過細(xì)化模塊功能并采用單件模式,使得每個細(xì)化模塊只有在被應(yīng)用使用時才實例化;設(shè)計了基于表查詢的狀態(tài)機(jī)代碼開銷優(yōu)化策略,優(yōu)化了狀態(tài)機(jī)狀態(tài)線性膨脹時的代碼開銷。為了優(yōu)化協(xié)議棧中間層運行時代碼開銷,鑒于傳統(tǒng)FIFO隊列數(shù)據(jù)包緩存占用過多運行時代碼開銷的問題,設(shè)計了基于互斥鎖的數(shù)據(jù)包緩存代碼開銷優(yōu)化策略。本文的硬件實驗平臺采用ST公司生產(chǎn)的STM32F103RBT6芯片作為主機(jī)芯片,TI公司生產(chǎn)的CC2564作為控制器芯片。本研究使用協(xié)議分析儀抓包測試協(xié)議棧中間層功能實現(xiàn)情況并測量了協(xié)議棧中間層的代碼量。通過分析,結(jié)果如下:本協(xié)議棧中間層功能基本測試通過,本協(xié)議棧中間層代碼量比BTStack開源協(xié)議棧減少了13.8%滿足了設(shè)計指標(biāo)。
【圖文】:
屬性服務(wù)操作服務(wù)獲取模塊轉(zhuǎn)換屬性數(shù)據(jù)服務(wù)編譯模塊..屬性服務(wù)生成迭代訪問att_findhandleatt_copyvalue...屬性數(shù)據(jù)庫圖 3.2 屬性數(shù)據(jù)庫預(yù)生成代碼開銷優(yōu)化策略概況屬性數(shù)據(jù)庫片外生成策略主要包括以下步驟:步驟 1:識別完整的服務(wù)名。為了促進(jìn)創(chuàng)建由藍(lán)牙技術(shù)聯(lián)盟的標(biāo)準(zhǔn)規(guī)范定義的規(guī)范文件(.gatt件),本文完成了一個工具服務(wù)獲取模塊(get_gatt_service.py),可以通過查詢藍(lán)牙技術(shù)聯(lián)盟的官方網(wǎng)獲得可獲取的相應(yīng)規(guī)范名的特定服務(wù)和服務(wù)相關(guān)的 UUID。例如,如圖 3.3 所示的服務(wù)。
圖 3.4 中間步驟文件步驟 3:在大部分情況下,都需要定做.gatt 文件,,特別注意工具的輸出并且觀察一下生成的.gatt文 件 。 例 如 , 為 通 用 接 入 服 務(wù) 準(zhǔn) 備 的 ,gatt 文 件 如 下 圖 3.5 所 示 。 同 時 可 以 刪 除 和CHARACTERISTIC_FORMAT 有關(guān)的內(nèi)容,因為如果這不是服務(wù)的唯一實例這不是必須的內(nèi)容。最后還需要將.gatt 文件和藍(lán)牙官方組織采用的規(guī)范進(jìn)行比較。圖 3.5 為通用接入服務(wù)準(zhǔn)備的.gatt 文件步驟 4:屬性數(shù)據(jù)庫實際上是一個數(shù)組,這個數(shù)組可以由屬性協(xié)議層的相應(yīng)的操作函數(shù)來調(diào)用。
【學(xué)位授予單位】:東南大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TN925
本文編號:2683749
【圖文】:
屬性服務(wù)操作服務(wù)獲取模塊轉(zhuǎn)換屬性數(shù)據(jù)服務(wù)編譯模塊..屬性服務(wù)生成迭代訪問att_findhandleatt_copyvalue...屬性數(shù)據(jù)庫圖 3.2 屬性數(shù)據(jù)庫預(yù)生成代碼開銷優(yōu)化策略概況屬性數(shù)據(jù)庫片外生成策略主要包括以下步驟:步驟 1:識別完整的服務(wù)名。為了促進(jìn)創(chuàng)建由藍(lán)牙技術(shù)聯(lián)盟的標(biāo)準(zhǔn)規(guī)范定義的規(guī)范文件(.gatt件),本文完成了一個工具服務(wù)獲取模塊(get_gatt_service.py),可以通過查詢藍(lán)牙技術(shù)聯(lián)盟的官方網(wǎng)獲得可獲取的相應(yīng)規(guī)范名的特定服務(wù)和服務(wù)相關(guān)的 UUID。例如,如圖 3.3 所示的服務(wù)。
圖 3.4 中間步驟文件步驟 3:在大部分情況下,都需要定做.gatt 文件,,特別注意工具的輸出并且觀察一下生成的.gatt文 件 。 例 如 , 為 通 用 接 入 服 務(wù) 準(zhǔn) 備 的 ,gatt 文 件 如 下 圖 3.5 所 示 。 同 時 可 以 刪 除 和CHARACTERISTIC_FORMAT 有關(guān)的內(nèi)容,因為如果這不是服務(wù)的唯一實例這不是必須的內(nèi)容。最后還需要將.gatt 文件和藍(lán)牙官方組織采用的規(guī)范進(jìn)行比較。圖 3.5 為通用接入服務(wù)準(zhǔn)備的.gatt 文件步驟 4:屬性數(shù)據(jù)庫實際上是一個數(shù)組,這個數(shù)組可以由屬性協(xié)議層的相應(yīng)的操作函數(shù)來調(diào)用。
【學(xué)位授予單位】:東南大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TN925
【參考文獻(xiàn)】
相關(guān)期刊論文 前5條
1 劉偉;;低功耗藍(lán)牙的安全性研究[J];電子設(shè)計工程;2015年22期
2 李廷力;李宏宇;田野;延志偉;沈爍;毛偉;;物聯(lián)網(wǎng)存儲模式與方案研究[J];計算機(jī)應(yīng)用研究;2013年11期
3 黎卓芳;;藍(lán)牙技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用研究[J];現(xiàn)代電信科技;2012年12期
4 張瑞吟;;低功耗藍(lán)牙技術(shù)市場應(yīng)用前景廣闊[J];集成電路應(yīng)用;2012年10期
5 錢志鴻;劉丹;;藍(lán)牙技術(shù)數(shù)據(jù)傳輸綜述[J];通信學(xué)報;2012年04期
本文編號:2683749
本文鏈接:http://sikaile.net/kejilunwen/wltx/2683749.html
最近更新
教材專著