新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 藍牙開發關鍵技術剖析

        藍牙開發關鍵技術剖析

        作者: 時間:2017-06-12 來源:網絡 收藏

        是一種工作在免費的ISM頻段(2.4GHz)的短距離無線通信技術,在各種設備之間實現靈活、安全、低成本、低功耗的語音和數據通信。它采用自適應跳頻(AFH)技術,可以和多種無線通信共存于ISM頻段,與同用于短距離無線通信的Zigbee和UWB相比,協議和標準更加完善,設備間一致性和互連通性好,而且以的形式定義了具體應用的實現方式,從而保證了。一款成熟穩定的產品的設計面臨諸多技術上的挑戰,結合自己設計一款車載藍牙設備的開發經驗,筆者從配對列表管理、連接管理、時鐘設計三個方面講下相關關鍵技術及開發。

        連接機制分析

        物理信道(physical channel)是藍牙系統的最底層結構,通過偽隨機跳頻序列、發送時槽定時、接入碼及幀頭編碼來表征。藍牙針對不同應用定義了一系列物理信道,包括用于匹克網內設通信的匹克網物理信道、用于尋呼設備的尋呼掃描物理信道和用于查找設備的查找掃描物理信道。兩臺設備必須采用相同的物理信道才能進行通信。

        本文引用地址:http://www.104case.com/article/201706/353222.htm

        主從設備建立連接的過程就是建立相同匹克網信道的過程,該過程確保主從設備以同樣的定時和次序進行載波頻率的跳變,進行數據傳輸,同時可以根據匹克網接入碼和幀頭編碼進行數據過濾和解析,避免和其他設備在同一個頻段上的相撞。

        尋呼掃描物理信道(page scan physical channel)用于主設備尋呼從設備,是設備建立連接的必經階段。尋呼掃描跳頻序列和尋呼請求幀的設備接入碼(DAC)是由從設備物理地址運算,處于可被連接模式的從設備以固定的周期(由page scan interval決定)在一個固定的時間窗(由page scan window決定)內以某個跳頻頻率監聽主設備的尋呼請求。


        自動連接

        為了方便用戶的使用,大多藍牙設備都實現了自動連接功能,根據以上對藍牙連接機制的分析,設計自動連接方案時必須考慮設備在不同的工作狀態下采用不同的物理信道和跳頻序列,而不能按照人為的邏輯隨意設置,否則會給用戶帶來不便。

        以車載免提裝置為例,上電自動連接對駕駛員來說可以提高使用車載免提的自覺性,降低行車期間通話帶來的風險。采用搜索方式判斷設備是否在有效范圍內,按照優先級從低到高連接,最后一次連接的手機為優先級最高的,然后按照配對列表的逆序而優先級依次降低。鏈路丟失后的自動連接只針對最后一部手機,這樣可以實現服務的連續性。


        時鐘設計

        藍牙核心規范要求時鐘頻率精度為±20ppm,如果載波頻率不穩定,則會發生“過零點”錯誤(zero-cross)。載波頻率由本地時鐘(晶振)做為PLL的參考時鐘倍頻產生。一般說來,藍牙設備的時鐘設計便是指晶振電路的設計及微調。

        決定晶振工作精度的兩個重要參數是制造公差和溫度穩定度,如果選擇有源晶振作為本地時鐘,需要滿足:制造公差+溫度穩定度≤±20ppm,有源晶振內部集成晶體和相應的振蕩電路,匹配精確,頻率穩定性高,而且抗干擾性能好,缺點是成本較高。

        圖1 震蕩電路設計

        本文自行設計的振蕩電路如圖1所示。

        選擇溫度穩定性高、制造公差低的高精度晶體,通過振蕩電路設計實現諧振頻率的精確調整,這是由晶體負載電容的匹配及可調實現的。負載電容是指CRY_IN和CRY_OUT兩端的電容值,在晶體的CRY_IN引腳上并聯一個可調電容,調整該電容便可以對諧振頻率進行精密微調。晶體負載電容計算公式如下:
        Cload=Cint+(Cin+Ctrim)×Cout/(Cin+Ctrim+Cout)

        Cint包括IC內部電容(一般為固定值)以及PCB雜散電容(3pF~5pF)。


        配對列表管理

        為了保證鏈路級的安全,藍牙通信要求設備在連接建立前進行“雙向認證”。認證成功的前提是設備雙方存儲了相同的鏈路密鑰Kab,配對是產生初始密鑰Kint的階段,Kint由PIN碼、從設備藍牙地址和主設備發給從設備的一個隨機數由一套固定的算法計算出來,只要PIN碼一致,主從設備生成的的Kint也是一致的。鏈路密鑰的輸入是主從設備的藍牙地址和主從設備各一隨機數,只要主從設備能互換隨機數,便能得到一致的Kab。主設備將隨機數RandA與Kint異或的結果發給從設備,從設備只將該結果與Kint異或便得到RandA,即


        配對列表的管理包括添加、替代及刪除,添加配對設備是在非易失性存儲中存儲該設備的藍牙地址及Kab。刪除配對設備需要謹慎處理,如果存在連接,需要先斷開連接然后刪除,因為如果刪掉該設備而有一種應用的連接沒有斷開,會存在臨時密鑰用于當前應用,這時不經配對也可以連接上其他應用,違反了藍牙安全性要求。


        結語

        一款成熟穩定的藍牙產品開發需要在深入了解藍牙協議棧的基礎上不斷完善應用程序,筆者從配對、連接和時鐘設計三個方面論述了相關技術和開發要點,希望可以帶來一些有益的借鑒。



        關鍵詞: Profile 藍牙 兼容性

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宝坻区| 甘德县| 合水县| 花莲市| 夏津县| 南投县| 繁昌县| 遂宁市| 应用必备| 江陵县| 弥勒县| 迁安市| 中超| 额尔古纳市| 泽普县| 唐海县| 彭阳县| 霍林郭勒市| 公主岭市| 定陶县| 社旗县| 南昌市| 邳州市| 和田市| 江门市| 庆安县| 吴忠市| 茶陵县| 滦平县| 合作市| 荥经县| 赣州市| 潞西市| 定南县| 湛江市| 武隆县| 青海省| 灯塔市| 泰和县| 上犹县| 长丰县|