第十三節 BLE協議棧簡介

第十三節  BLE協議棧簡介
    TI的協議棧分爲兩部分:控制器和主機。對於4.0以前的藍牙,這兩部分是分開的。所有profile和應用都建構在GAP或GATT之上。根據這張圖,我們從底層開始介紹。TI的這款CC2540器件可以單芯片實現BLE藍牙協議棧結構圖的所有組件,包括應用程序。

1.1.1  PHY層
    1Mbps自適應跳頻GFSK(高斯頻移鍵控),運行在免證的2.4GHz。
1.1.2  LL層
    LL層爲RF控制器,控制設備處於準備(standby)、廣播、監聽/掃描(scan)、初始化、連接,這五種狀態中一種。五種狀態切換描述爲:未連接時,設備廣播信息,另外一個設備一直監聽或按需掃描,兩個設備連接初始化,設備連接上了。發起聊天的設備爲主設備,接受聊天的設備爲從設備,同一次聊天只能有一個意見領袖,即主設備和從設備不能切換。
1.1.3   HCI層
    HCI層爲接口層,向上爲主機提供軟件應用程序接口(API),對外爲外部硬件控制接口,可以通過串口、SPI、USB來實現設備控制。
1.1.4   L2CAP層
    L2CAP層提供數據封裝服務,允許邏輯上的點對點通訊。
1.1.5   SM層
    SM層提供配對和密匙分發,實現安全連接和數據交換。
1.1.6   ATT層
    ATT層負責數據檢索,允許設備向另外一個設備展示一塊特定的數據稱之爲屬性,在ATT環境中,展示屬性的設備稱之爲服務器,與它配對的設備稱之爲客戶端。鏈路層的主機從機和這裏的服務器、客服端是兩種概念,主設備既可以是服務器,也可以是客戶端。從設備毅然。
1.1.7   GATT層
    GATT層定義了使用 ATT 的服務框架和配置文件(profiles)的結構。BLE 中所有的數據通信都需要經過 GATT。GATT負責處理向上與應用打交道,其關鍵工作是把爲檢索工作提供合適的profile結構,而profile由檢索關鍵詞(characteristics)組成。
1.1.8   GAP層
    GAP直接與應用程序或配置文件(profiles)通信的接口,處理設備發現和連接相關服務。另外還處理安全特性的初始化。對上級,提供應用程序接口,對下級,管理各級職能部門,尤其是指示LL層控制室五種狀態切換,指導保衛處做好機要工作。
1.2      TI協議棧源碼介紹

    在第二章我們講解了源碼的安裝,這裏我們就來剖析源碼的結構。打開協議棧目錄我們可以看到下圖:





這裏TI給出了很多Demo,這些例程都是經過了SIG評審的,ble 文件夾中有很多工程文件,有些是具體的應用,例如BloodPressure、GlucoseCollector 、GlucoseSensor 、 HeartRate 、HIDEmuKbd 等都爲傳感器的實際應用,有相應標準的 Profile。
    其中有4種角色: SimpleBLEBroadcaster 、 SimpleBLECentral 、SimpleBLEObserver、SimpleBLEPeripheral。
他們都有自己的特點。
1.Broadcaster 廣播員 —— 非連接性的信號裝置
2.Observer 觀察者 —— 掃描得到,但不能鏈接
3.Peripheral 從機   —— 可鏈接,在單個鏈路層鏈接中作爲從機
4.Central 主機   —— 掃描設備併發起鏈接,在單鏈路層或多鏈路層中作爲主機。

    我們的講解將圍繞這主機和從機進行。因爲其它的設備都是基於這兩種設備擴展開來的。

本文章轉載自
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/69222.aspx
請勿用於商業

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章