国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

GAP層和GATT層,SM層完成應用層數據交互和加密解密!

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-09-20 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

實驗用到的工具:

藍牙主機:TI BTool + CC2540 dongle

藍牙從機:CC2541模塊

抓包工具:TI Sniffer + CC2540 dongle

手機工具:BLE調試工具箱 (無線技術聯盟微信公眾號關聯的藍牙測試工具)

01

連接請求

TI的Btool是個非常好用的PC主機小工具,其部分界面如下所示,在Discover/Connect界面,可以配置不同的連接參數,選擇掃描以及根據掃描到的廣播設備有選擇性的進行連接。多說一句whitelist,什么是whitelist?這個和微信公眾號的白名單一樣,是得到主機授權的從機設備,當選擇只掃描whitelist的設備時(前提是已經在主機上添加了whitelist設備),主機只會掃描過濾在whitelist里面的設備。

從下圖截獲的控制數據包可以看到,主機端在廣播掃描之后發出一條CONNECT_REQ的指令,附帶LL data,開啟了主從設備連接的過程的第一步。TI的工具做的比較人性化,可以從該條語句的注釋可以看到

Adv PDU Header Type的值為5,對應Spec的值是CONNECT_REQ。

在指令后面標注出發起端(主機)和從機端的Mac地址,然后是LL data。

這一條指令嚴格來說也是屬于廣播范疇,其數據格式說明可以參考上一篇文章。

展開CONNECT_REQ包,其數據包格式可分為前導,接入地址,數據包,CRC效驗,詳細規范如下:

PDU數據包分可分為兩個部分,Header部分是指令(CONNECT_REQ),payload是詳細LL data,拉出LL Data來看,如下圖所示:

下面對LL Data格式詳細說明:

AA:連接中的兩設備的接入地址,如下圖所示,

CRCInit:CRC 初始化

WinSize:主機發送第一包數據的時間窗口

Winoffset:主機發送第一包數據的偏移時間

WinSize和Winoffset是配和使用,主機在發起CONNECT_REQ開始的Winoffset+1.25ms內準備和從機建立連接,這段時間被稱為連接建立準備時間,WinSize是主機第一包數據發送的時間窗口范圍。

Interval:藍牙連接間隔時間。

Latency:連接延遲,主多次請求才喚醒從機交互一次數據。

Timeout:超時斷開連接。

ChM:跳頻表,主機根據信道情況給出一張跳頻表,約定和從機可用的信道(0-36信道),0表示該信道不可用,1表示該信道可用。

Hop:跳頻階躍,hop是一個5~16的值。

SCA:休眠時鐘校正范圍。

跳頻算法介紹:

跳頻算法用于數據連接時候,數據信道為37個,跳頻公式如下: unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37

fn+1=(fn+hop) mod 37

hop是一個5~16的值,每次調頻之后中心頻率加hop值 mod 37。因為都是正整數,這個表達式在軟件中非常容易實現,軟件中通過求余運算便能完成運算,協議規定第一次連接事件中fn=0,fn+1=(0+hop) mod 37,也就是hop信道編號。

02

連接事件

連接請求發出之后,開始進入連接狀態,空中數據包如下所示,由綠色部分轉變為黃色部分。

進入藍牙連接狀態,連接狀態的數據包格式如下所示,PUD數據包包含兩個部分,頭字說明和數據包,頭字說明里面有幾種類型,分別在LLID里面詳細規定,NESN和SN控制主從發送的數據包是否被正確接收。

LLID:數據包類型格式

NESN:下一個數據包序列

SN:數據包序列

NESN和SN是配合使用,他們的作用是來標識主從是否正確交互。如主從交互所示,主發心跳包或者數據時,標記NESN和SN給從機,從機在接收到主機標識的NESN和SN之后,回傳NESN和SN+1給主,主接收到和之前發送的相差1表示之前數據正確傳輸,如果主機接收到的回傳值是非(NESN和SN+1),表示數據可能在空中存在都是,此時需要重傳。

03

數據交互

從機發起了MTU更新:

可以發現該LL Data出現橙黃色部分,抓包工具對數據進行的解析,橙黃部分表示從機要求更新MTU的大小,然后和主機相互約束一個MTU的值,后面數據包的格式及按照新約定的MTU大小來傳輸數據。

總結

用一張圖作為總結,整個鏈路層的連接的流程圖如下所示:

所以要想連接一個藍牙設備,主設備只需要做幾個動作,自身初始化,掃描周邊設備,對特點設備發出連接請求,開始交換數據。

到此低功耗藍牙就相互連接上了,后面應用層數據交互和加密解密就要交給GAP層和GATT層,SM層來完成,我們下次再講解。

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

    關注

    0

    文章

    80

    瀏覽量

    29455
  • GAP
    GAP
    +關注

    關注

    0

    文章

    15

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    從8到30:AI服務器PCB層數進階,PCle 5.0高速傳輸需求成關鍵

    行業深度分析報告顯示,當前 AI 服務器 PCB 層數已實現大幅跨越,普遍達到 16-40 ,勝宏科技針對下一代服務器研發的 10 階 30 PCB 已進入關鍵階段。要知道,傳統服務器 PCB
    的頭像 發表于 02-26 17:02 ?526次閱讀

    PCB阻焊與助焊的本質區別

    在Altium Designer(AD)中設計PCB時,我們經常在層疊管理器里看到 Solder Mask 和 Paste Mask 這兩。它們到底是什么?為什么總是成對出現?簡單來說,可以把它們理解為PCB在生產和組裝過程中,為了完成不同任務而穿的 “兩件不同的衣服”
    的頭像 發表于 01-06 18:50 ?2364次閱讀
    PCB阻焊<b class='flag-5'>層</b>與助焊<b class='flag-5'>層</b>的本質區別

    基于以太網芯片的應用層方案

    聚焦于以沁恒微電子以太網芯片(如CH394/CH395及集成型MCU CH32V317等)為基礎構建的多種高效應用層方案,闡述其如何以簡化的硬件與低成本,實現豐富的網絡功能。
    的頭像 發表于 12-09 14:47 ?514次閱讀
    基于以太網芯片的<b class='flag-5'>應用層</b>方案

    不止于4!華秋PCB 6板爆款重磅上線

    4之后,再看6上月,華秋PCB推出了4板爆款,以“真香”價格引爆市場。今天,華秋PCB懷著更大的誠意,為您帶來承諾中的下一站——「華秋PCB6板爆款」正式登場!不止于降價,我們
    的頭像 發表于 11-12 07:33 ?486次閱讀
    不止于4<b class='flag-5'>層</b>!華秋PCB 6<b class='flag-5'>層</b>板爆款重磅上線

    應用層外設進行數據傳輸,是否應該調用rt_device_create,rt_device_register等函數呢?

    假如我要在應用層用一個新的usart2串口傳輸數據,那我應該是怎么做? 1.在工程未編譯前將usart2加上,即定義宏BSP_USING_UART2,利用RT-Thread在硬件初始化
    發表于 10-11 06:29

    使用羅德與施瓦茨CMX500的吞吐量應用層測試方案

    5G NR(New Radio)吞吐量應用層測試是評估5G網絡性能的一個重要方面,它主要關注的是在實際應用條件下,用戶能夠體驗到的數據傳輸速率。這種測試通常包括了對下行鏈路和上行鏈路的吞吐量進行測量,以確保網絡可以滿足各種應用場景的需求,比如高清視頻流、虛擬現實、增強現實
    的頭像 發表于 09-02 13:56 ?7953次閱讀
    使用羅德與施瓦茨CMX500的吞吐量<b class='flag-5'>應用層</b>測試方案

    多層板的歷史、特點和關鍵技術

    多層板的制作方式是在絕緣基板或傳統板件(雙面板、多層板)表面交替制作絕緣、導電間連接孔,通過多次疊加形成所需層數的多層印制板。
    的頭像 發表于 08-15 16:38 ?1670次閱讀

    混合壓PCB板的成本如何控制?

    RO4350B),非關鍵區域使用FR-4,可降低40%材料成本6。 ? 銅箔厚度動態調整 ? 電源局部使用2oz厚銅,其他區域保持1oz,節省銅材用量50%的同時確保性能6。 二、設計階段降本 ? 層數精簡 ? 通過優化布線將8
    的頭像 發表于 08-15 11:33 ?890次閱讀

    如何從PCB焊盤移除阻焊和錫膏

    使用焊盤屬性中 Solder Mask Expansion 的 “ Tented ” 選項:該選項會移除所有阻焊,導致焊盤頂層 / 底層的阻焊無開口(即完全覆蓋)。阻焊擴展值為正值時表示向外擴展,若需要阻焊
    的頭像 發表于 07-22 18:07 ?5207次閱讀
    如何從PCB焊盤移除阻焊<b class='flag-5'>層</b>和錫膏<b class='flag-5'>層</b>

    基于SM4的文件加密解密功能實現(ECB模式)

    : ?? 相關技術實現思路如下: 一、SM4加密解密 大部分的代碼官網都有,我這里先介紹一下我的開發中踩坑的記錄 如果看官方文檔里的代碼,你會發現,他對于加密
    發表于 06-29 13:21

    PCB疊設計避坑指南

    至目標厚度 設計完成關鍵步驟:用工具驗證疊設計完成后,如何驗證?傳統方法依賴工程師經驗,現在 華秋DFM軟件提供了一站式解決方案 。 1、阻抗神器 結合各種生產因素,自動計算或
    發表于 06-24 20:09

    核心揭密 | 動態性能:Samtec Nitrowave?電纜的關鍵構成

    前 言 Samtec始終致力于開發新技術以改進其產品。但我們的客戶可能會對技術的海量信息感到困惑。有時,客戶其實只需要對比自己的需求,清晰了解我們的產品和技術即可,并了解其對自身應用的支撐和加
    發表于 06-18 17:51 ?1382次閱讀
    核心揭密 | 動態性能<b class='flag-5'>層</b>:Samtec Nitrowave?電纜的關鍵構成

    和七負載均衡的核心區別

    在現代分布式系統和云計算架構中,負載均衡(Load Balancing, LB)是確保高可用性、可擴展性和性能優化的關鍵技術。負載均衡器根據不同的OSI模型層級工作,主要分為四(L4)和七(L7)兩種類型。它們各自適用于不同的場景,并在性能、功能和實現方式上存在顯著差
    的頭像 發表于 05-29 17:42 ?1306次閱讀

    感知、傳輸應用層一體化:工控一體機廠家聚徽詳解集成技術方案

    過程的全面智能化與高效化。本文將深入探討工控一體機中感知、傳輸應用層一體化的集成技術方案,剖析其工作原理、技術優勢以及實際應用案例。 一、工控一體機概述 工控一體機是一種專為工業環境設計的計算機設備,具備高可
    的頭像 發表于 05-27 14:35 ?1217次閱讀

    PCB的EMC設計(一):的設置與排布原則

    PCB的電磁兼容性(EMC)設計首先要考慮的設置,這是因為單板層數的組成、電源和地層的分布位置以及平面的分割方式對EMC性能有著決定性的影響。為昕MarsPCBlayerstack層數
    的頭像 發表于 05-17 16:17 ?1296次閱讀
    PCB的EMC設計(一):<b class='flag-5'>層</b>的設置與排布原則