藍芽4.0BLE中協議棧詳解

lidiya007發表於2017-01-20

藍芽4.0BLE協議棧介紹

問題:什麼是BLE協議棧?BLE協議棧與BLE協議的關係?

  顧名思義,人類之間需要一種語言才能溝通,機器之間,電子之間也有一個標準,也就是作為通訊標準,也就是通訊協議。

  協議:定義了一系列通訊標準,通訊雙方都按照這一標準,進行資料通訊。

  協議棧:協議的具體實現形式,實現的函式庫,韌體庫。

  把個個協議集合到了一起,以函式庫的形式實現,並用這些給使用者提供一些應用層的API介面,使用者可以進行一些排程。

問題:如何使用BLE協議棧進行開發?

  三個步驟:

1.不需要具體瞭解BLE協議棧的具體複雜的過程,只需要知道它的資料從哪裡來,需要到哪裡去就行了。

2.根據BLE協議棧呼叫它裡面的函式,實現自己的一些功能。

3.可以自己編寫一些函式,實現自己需要特定的功能。

協議結構圖

第一層:physicallayer(物理層)

  通道頻寬提供2M,提供三個廣播通道1M

第二層:link layer(鏈路層)

  執行一些基帶協議,底層的資料包管理協議。

第三層:host controller interface (主機控制介面層)

  提供主機與控制層 的通訊方式,以及命令格式,重用藍芽標準,比如一些串列埠,USB等等。

第四層:L2CAP(邏輯鏈路於介面卡協議層)

  為它上層提供資料業務,提供端到端的邏輯資料通訊。

第五層:security managerSM)安全管理層

  層與層之間會有通訊,它是建立資料交換安全方面的資料知識。

第六層:attribute protocolATT)通用接入層

  定義了一些通用介面,供應用層和底層之間的呼叫,比如你要調底層的硬體模組的東西,就需要這個層的底層的驅動模組去實現它的一些功能,所以它會同時封裝一些API的函式設定。

第七層:generic attribute profileGATT)(屬性協議層)

  允許裝置以屬性的形式向外裝置暴露它的一些資料,就像廣播者與觀察者之間,它一直在廣播自己的屬性,資料出去。觀察者觀察到了它以後就可以把它的屬性提取出來。

第八層:generic access profileGAP)通用屬性剖面

  具體屬性協議的應用框架,應用了屬性協議的應用架構,通過這個層,可以在裡面開發一些應用的東西,這裡做好了一些應用的框架,可以在上面寫一些開發。


原文連結:http://www.maiziedu.com/wiki/bluetooth/stack/

相關文章