91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

經典藍牙的LMP的工作原理解析

泰凌微電子 ? 來源:泰凌微電子 ? 2024-06-12 09:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

藍牙協議中,為了更加靈活以及容易實現多種特性,使用了多協議,多層級的設計,LMP即link manager protocol(鏈路管理器協議)就是藍牙協議中的一個重要組成部分,本文將對經典藍牙的LMP進行解析,帶大家一起了解LMP的工作原理

1

什么是LMP?

LMP是 controller中的一層,用于控制和協商兩個設備之間藍牙連接的所有操作,這包括了邏輯傳輸和邏輯鏈路的建立和控制,以及物理鏈路的控制,比如藍牙連接中進行斷開、設置輸出功率、獲取features等操作。LMP用于兩個設備上的鏈路管理器(LM)之間的通信,為它們提供了鏈路配置、安全管理、服務質量管理、錯誤控制與恢復、電源管理、信息交換等功能。

f9a1e238-2853-11ef-91d2-92fbcf53809c.png

圖1. 藍牙核心系統架構

2

LMP的特點

所有LMP消息只能作用于發送和接收設備之間的物理鏈路以及相關的邏輯鏈路和邏輯傳輸,如當前有兩個連接A和B,那么A上的LMP消息不應當作用于B。LMP消息用于建立鏈路、加密和控制,由兩個設備之間的ACL-C或ASB-C邏輯鏈路傳輸,只由LM解釋和執行,不會傳到更高的協議層。

f9a8530c-2853-11ef-91d2-92fbcf53809c.png

圖2. LMP層級

LMP的每個PDU(protocol data unit,協議數據單元,數據傳送的基本單元)都被分配一個7位或15位的操作碼(opcode),用于唯一標識不同類型的PDU。操作碼的前7位和1位transaction ID位于有效負載主體的第一個字節中,如果操作碼的前7位是124到127的話,則操作碼的附加字節位于有效負載的第二個字節中,包報頭的FLOW位始終為1,并且在接收時應該被忽略。如果PDU包含一個或多個參數,這些參數將被放置在操作碼之后緊接著的有效負載中,即如果PDU具有7位操作碼,則在字節2處,如果有15位操作碼,則在字節3處,使用的字節數取決于參數的長度,所有參數都使用小端格式,即先傳輸最低有效字節。

f9c2cc0a-2853-11ef-91d2-92fbcf53809c.png

圖3. LMP PDU結構

3

LMP的工作原理

3.1

事務

LMP根據事務(transaction)進行操作,事務是實現特定目的的一組連續的消息交換。構成同一事物的一部分的所有PDU的事務ID應該具有相同的值,如果事務是由central發起的,那么事務ID為0,如果是peripheral發起的,那么事務ID為1。

3.2

響應超時

ACL-C邏輯鏈路上傳輸的LMP PDU從被接收到回復之間的時間應該小于LMP響應超時時間(30秒),而在ASB-C邏輯鏈路上發送的LMP消息則不受LMP響應超時的約束。

3.3

錯誤處理

如果LM接收到一個操作碼未知的PDU,它會以包含錯誤碼Unknown LMP PDU(0x19)的LMP_NOT_ACCEPTED或LMP_NOT_ACCEPTED_EXT來響應,如果接收到的是參數無效的PDU則應以包含錯誤碼Invalid LMP Parameters(0x1E)的LMP_NOT_ACCEPTED或LMP_NOT_ACCEPTED_EXT來響應。如果超過了最大響應時間或者檢測到鏈路丟失,等待響應的一方應當斷定鏈路連接失敗,及時做出處理。如果收到錯誤消息的數量超過了閾值,則應該斷開連接。

3.4

沖突解決

由于LMP PDU不是及時傳遞的,因此可能會出現沖突的情況,即兩端都啟動了相同的程序,并且都無法完成。在這種情況下,central應該通過發送帶有錯誤代碼LMP Error Transaction Collision/LL Procedure Collision(0x23)的LMP_NOT_ACCEPTED或LMP_NOT_ACCEPTED_EXT來拒絕peripheral程序的啟動,從而完成central啟動的程序。

兩個LM啟動了不同的程序并且都無法完成的情況下也會產生沖突,這種情況下central應該通過發送帶有錯誤碼Different Transaction Collision(0x2A)的LMP_NOT_ACCEPTED或LMP_NOT_ACCEPTED_EXT來拒絕peripheral啟動的程序,從而完成central的程序。

3.5

設備特性

設備特性(device features)定義了很多的設備的特性,這些特性是可以用特定的LMP message來獲取的,為了表示和傳輸這些特性,定義了一些bit位來代表它們,當這些bit被置為1時說明該設備支持這個特性,如圖是一些常見的特征。

f9c7174c-2853-11ef-91d2-92fbcf53809c.png

圖4. 部分設備特征

每個LMP PDU都是強制性或者可選的,一些LMP PDU需要某些特征的支持,LM不得發送或接收與其對等設備的特征不兼容的任何PDU,LM可以獲取并緩存對等設備的特征掩碼,在連接期間,支持的特征集不應當被修改。

4

常用的LMP流程

LMP有很多基本流程,主要有Connection control、Information Requests、Role Switch、Modes of Operation、Logical Transports。每個流程都包含很多子流程,我們這里只簡單列舉幾個常用的進行講解,并使用泰凌微B91開發板配合抓包器對LMP流程進行深入了解。

f9d14280-2853-11ef-91d2-92fbcf53809c.png

圖5. B91開發板

5

連接建立

在page結束之后,我們使用該流程來建立Host之間的連接,在這個流程中,我們首先可以請求時鐘偏移、LMP版本、支持的特性、名稱以及可能的detach行為。之后如果要建立連接的話,Paging設備就會發送LMP_HOST_CONNECTION_REQ,對端如果同意建立連接就可以回復LMP_ACCEPTED PDU否則可以回復LMP_NOT_ACCEPTED PDU,如果peripheral需要進行角色切換的話,它會在收到LMP_HOST_CONNECTION_REQ之后發送LMP_SLOT_OFFSET和LMP_SWITCH_REQ,如果角色切換失敗,LM將繼續創建連接,除非由于資源有限無法支持,那么應以帶有錯誤碼Remote Device Terminated Connection due to Low Resources(0x14)的 LMP_DETACH PDU來中止連接。當切換成功時,舊的peripheral將回復LMP_ACCEPTED或LMP_NOT_ACCEPTED并且事務ID將會被設為0。

當連接被接收后,設備就可以調用LMP安全程序(paring,authentication和encryption),當設備在連接期間不會再啟動任何安全程序時它會發送LMP_SETUP_COMPLETE PDU。當兩個設備都發送LMP_SETUP_COMPLETE PDU時表示連接流程完成,數據流可以在BR/EDR ACL邏輯傳輸上傳輸。

fa0f72da-2853-11ef-91d2-92fbcf53809c.png

圖6. 連接建立流程圖

fa203246-2853-11ef-91d2-92fbcf53809c.png

圖7. 抓包器抓到的LMP Connection establishment流程

6

連接斷開

central和peripheral隨時都可以使用LMP_DETACH斷開兩者之間的連接,并在消息中包含錯誤碼,以通知對方斷開原因。而在收到LMP_DETACH后是不會用LMP進行回復的,只會回復一個ack并通知Host連接斷開。

fa23af34-2853-11ef-91d2-92fbcf53809c.png

圖8. Detach流程圖

fa2d7b54-2853-11ef-91d2-92fbcf53809c.png

圖9. 抓包器抓到的LMP Detach流程

總結

LMP是藍牙協議中重要的一環,用來管理所有的連接,目前泰凌微電子的TLSR951x和TLSR952x系列芯片均基于自研藍牙協議棧,支持標準LMP所有過程,且支持BR/EDR和LE雙模共存,多鏈路共存等方案,適合用于需求復雜的產品開發。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    185

    文章

    18365

    瀏覽量

    256234
  • 管理器
    +關注

    關注

    0

    文章

    254

    瀏覽量

    19049
  • 藍牙協議
    +關注

    關注

    1

    文章

    33

    瀏覽量

    11589
  • ACL
    ACL
    +關注

    關注

    0

    文章

    61

    瀏覽量

    12444

原文標題:【技術專欄】泰凌微電子經典藍牙 LMP 概述

文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    彩擴機工作原理解析 彩擴機進行工作時對溫度有什么要求?

    首先,我們會解析彩擴機工作原理;然后,我們根據它的工作原理探討其工作條件,對系統搭建設計初步方案。
    的頭像 發表于 05-21 07:28 ?6357次閱讀

    開關電源工作原理詳細解析

    本帖最后由 eehome 于 2013-1-5 10:10 編輯 這是一篇基楚教學[attach]開關電源工作原理詳細解析[/attach]
    發表于 09-21 05:09

    藍牙耳機的工作原理解析

    藍牙耳機的工作原理藍牙耳機聽個響?
    發表于 12-30 06:28

    S-function的工作原理解析

    S-function函數S-function工作原理
    發表于 12-31 06:17

    三極管開關電路工作原理解析

    三極管開關電路工作原理解析  圖一所示是NPN三極管的 共射極電路,圖二所示是它的特性
    發表于 11-24 10:50 ?27.2w次閱讀

    校驗碼工作原理解析

    校驗碼工作原理解析   元件故障噪聲干擾等各種因素常常導致計算機在處理信息過程中出現錯誤。為了防止錯誤,可將信號采用專門的邏輯線路進行編碼以檢測錯誤,甚
    發表于 04-13 14:16 ?2285次閱讀
    校驗碼<b class='flag-5'>工作原理解析</b>

    組合邏輯控制器組成結構及工作原理解析

    組合邏輯控制器組成結構及工作原理解析 按照控制信號產生的方式不同,控制器分為微程序控制器和組合邏輯控制器兩類 微程序控制器是
    發表于 04-15 11:20 ?1.3w次閱讀

    觸摸屏的應用與工作原理解析

    觸摸屏的應用與工作原理解析
    發表于 02-08 02:13 ?38次下載

    鋰電池工作原理:充電及放電機制原理解析資料下載

    電子發燒友網為你提供鋰電池工作原理:充電及放電機制原理解析資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-09 08:55 ?24次下載
    鋰電池<b class='flag-5'>工作原理</b>:充電及放電機制原<b class='flag-5'>理解析</b>資料下載

    什么是晶振 晶振工作原理解析

    什么是晶振 晶振工作原理解析
    的頭像 發表于 12-30 17:13 ?4872次閱讀
    什么是晶振 晶振<b class='flag-5'>工作原理解析</b>

    什么是安全光柵?工作原理及應用領域解析

    什么是安全光柵?工作原理及應用領域解析
    的頭像 發表于 06-24 10:19 ?2373次閱讀
    什么是安全光柵?<b class='flag-5'>工作原理</b>及應用領域<b class='flag-5'>解析</b>

    什么是安全光柵?工作原理及應用領域解析

    什么是安全光柵?工作原理及應用領域解析
    的頭像 發表于 06-29 09:45 ?3537次閱讀
    什么是安全光柵?<b class='flag-5'>工作原理</b>及應用領域<b class='flag-5'>解析</b>

    解析經典藍牙設備連接過程

    隨著越來越多的經典藍牙設備應用在我們的生活和工作中,該類設備的使用場景和相關設計也更加豐富。與此同時,泰凌微電子作為藍牙芯片的源頭廠商,在經典
    的頭像 發表于 06-05 09:11 ?4352次閱讀
    <b class='flag-5'>解析</b><b class='flag-5'>經典</b><b class='flag-5'>藍牙</b>設備連接過程

    藍牙模塊的工作原理與電路設計

    藍牙技術是一種短距離無線通信技術,廣泛應用于各種智能設備中,如手機、耳機、智能手表等。藍牙模塊作為實現藍牙通信的核心部件,其工作原理和電路設計對于
    的頭像 發表于 06-14 16:04 ?2805次閱讀

    藍牙隨機化RPA更新的重要性和工作原理

    藍牙?隨機可解析私有地址(Bluetooth? Randomized RPA)更新功能已推出,該更新通過優化可解析私有地址的管理,提高了低功耗藍牙設備的隱私性和能效。本文將介紹
    的頭像 發表于 07-10 09:36 ?131次閱讀
    <b class='flag-5'>藍牙</b>隨機化RPA更新的重要性和<b class='flag-5'>工作原理</b>
    主站蜘蛛池模板: 色婷婷色99国产综合精品 | 婷婷综合五月天 | 天天操天天插天天干 | 天天干夜夜躁 | 中文字幕亚洲一区二区三区 | 天天爽夜夜爽人人爽一区二区 | 性欧美丨18一19 | 黄色成人在线 | 黄免费视频 | 国产性做久久久久久 | 欧洲性freefree大白屁股 | 亚洲欧美成人综合久久久 | 最新国产在线播放 | 福利一区在线观看 | 真人实干一级毛片aa免费 | 手机在线黄色网址 | 日本免费一级视频 | 亚洲午夜久久久精品影院视色 | 免费精品视频在线 | 给我免费播放片黄色 | 欧美一级日韩一级亚洲一级 | 欧美一级在线免费观看 | 国产午夜精品久久久久九九 | 黄色免费网站在线观看 | 免费看美女午夜大片 | 免费观看老外特级毛片 | 国产精品色婷婷在线观看 | 韩国理论片在线看2828dy | 视频一区二区免费 | 色天使在线播放 | 中文字幕一区在线观看 | 精品久久看 | 国产青青草 | www.嫩草影院 | 亚洲欧美色一区二区三区 | 2021精品综合久久久久 | 色多多在线看 | 欧美成人午夜精品一区二区 | 久久久综合久久 | 亚洲色图综合 | 91av视频在线 |