低功耗藍牙的體繫結構

来源:https://www.cnblogs.com/bill-liang/archive/2020/07/07/7942817.html
-Advertisement-
Play Games

低功耗藍牙的體繫結構比較簡單,從下到上分別為控制器、主機和應用層。 控制器主要包含物理層、直接測試模式、鏈路層和主機控制介面(HCI)的下半部分,能夠收發無線電信號,並將這些無線電信號翻譯成帶信息的數據包。 主機通常為協議棧,管理設備間如何通信以及如何提供服務。包含主機控制機介面的上半部分、邏輯鏈路 ...


  低功耗藍牙的體繫結構比較簡單,從下到上分別為控制器、主機和應用層。

    

  控制器主要包含物理層、直接測試模式、鏈路層和主機控制介面(HCI)的下半部分,能夠收發無線電信號,並將這些無線電信號翻譯成帶信息的數據包。

  主機通常為協議棧,管理設備間如何通信以及如何提供服務。包含主機控制機介面的上半部分、邏輯鏈路控制和適配協議、屬性協議、安全管理器、通用屬性規範和通用訪問規範。

  應用層就是我們嵌入式開發人員所做的各種應用。

  下麵概述下各個模塊的功能,在以後的章節中會詳細介紹各個模塊的具體功能和實現。

  物理層

  物理層採用2,4GH在無線電,完成接收和傳輸的工作。無線電傳輸信息主要是通過調製和解調來實現的,通過將0和1調製成不同的波形,發送出去,在接收端收到無線電信號後解調,就完成了信息的傳輸。當然,物理層還會包含濾波、放大等一系列的操作,但對於嵌入式軟體工程師來說,可以將這一部分當做一個黑盒子,只要知道物理層是用來收發數據的就可以。

  低功耗藍牙技術中,將2.4GHz劃分為40個RF通道,每個通道的寬度為2MHz。物理層每微妙傳輸1bit的數據。

  直接測試模式

  直接測試模式是一種測試物理層的新方法。它允許測試者控制物理層發送和接收一系列的數據包,而後測試者分析接收到的數據包,可以判斷出物理層是否遵循RF規範。

  鏈路層

  鏈路層是低功耗藍牙體系中最複雜的部分。它負責廣播、掃描、連接的建立和保持。確保數據按正確的方式組織,正確的計算校驗值和加密序列等。鏈路層有兩種通道和兩種報文。

  通道分為廣播通道和數據通道,報文分為廣播包和數據包。

  廣播通道有3個,設備利用該通道進行廣播,並且掃描和發起連接。數據通道有37個,由一個自適用調頻引擎控制以實現魯棒性。

  無論廣播包還是數據包,都是小包,這有助於降低功耗。廣播包和數據包的基本格式均相同。

  

  

  可以發送的最短的報文是空報文,總共80bit,時長為80us。

  主機/控制器介面

  主機/控制器介面提供了主機和控制器之間通信的標準介面。它允許主機將命令和數據發送給控制器,也允許控制器將事件和數據發送給主機。

  主機/控制器介面實際上分為物理介面和邏輯介面。邏輯介面主要定義事件和名利以及相關的行為,而物理介面指的就是USB、UART、SDIO的介面。

  另外,主機/控制器介面會將數據分割和重組。

  邏輯鏈路控制和適配協議

  L2CAP是低功耗藍牙的復用層,它定義里兩個基本的概念:L2CAP通道和L2CAP信令。

  低功耗藍牙中只使用固定通道:一個用於信令通道,一個用於屬性協議,一個用於安全管理器。

  安全管理器協議

  定義了配對和密匙分發協議。配對完成後,雙方就保存了密匙,當兩台設備下次重連時,可以迅速的認證彼此的身份。

  屬性協議

  定義了訪問對端設備數據的一組規則。所有的數據都存儲在屬性伺服器的屬性里,供客戶端執行讀寫操作。

  屬性是被編址並被打上標簽的一小塊數據。每個屬性包含一個唯一的句柄、一個表示存儲數據的類型以及一個值。

  屬性協議定義了6中類型的信息:

  客戶端到伺服器的請求;

  伺服器對客戶端請求的應答;

  客戶定對伺服器的命令;

  伺服器到客戶端的通知;

  伺服器到客戶端的指示;

  客戶端對伺服器指示的應答;

   通用屬性規範

  GATT位於屬性協議之上,定義了屬性的類型和使用方法。通用屬性規範引入了一些概念,包括“特性”、“服務”、服務之間的包含關係、特性描述符等。它還定義了一些規程用來發現服務、特性、服務之間的關係,以及用來讀取和寫入特性值。

  服務之間的關係是的低功耗藍牙體系具有巨大的靈活性和活力。

  通用訪問規範

  GAP定義了設備如何發現、連接。它還定義設備之間如何建立長久的聯繫——綁定。規範定義了設備如何實現可發現、可連接和可綁定。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 微服務之間的通信之gRPC 介紹 gRPC是一種與語言無關的高性能遠程過程調用 (RPC) 框架,gRPC是Google發佈的基於HTTP 2.0傳輸層協議承載的高性能開源軟體框架,提供了支持多種編程語言的、對網路設備進行配置和納管的方法。由於是開源框架,通信的雙方可以進行二次開發,所以客戶端和服務 ...
  • 本文是本系列的完結篇。本系列前面的文章: 邏輯式編程語言極簡實現(使用C#) - 1. 邏輯式編程語言介紹 邏輯式編程語言極簡實現(使用C#) - 2. 一道邏輯題:誰是凶手 邏輯式編程語言極簡實現(使用C#) - 3. 運行原理 下午,吃飽飯的老明和小皮,各拿著一杯剛買的咖啡回到會議室,開始了邏輯 ...
  • 前言 隨著近些年微服務的流行,有越來越多的開發者和團隊所採納和使用,它的確提供了很多的優勢也解決了很多的問題,但是我們也知道也並不是銀彈,提供優勢的同時它也給我們的開發人員和團隊也帶來了很多的挑戰。 為了迎接或者採用這些新技術,開發團隊需要更加註重一些流程或工具的使用,這樣才能更好的適應這些新技術所 ...
  • 在園子裡面有很多關於各種技術細節的研究文章,都是比較牛逼的框架研究;但是一直沒有看到關於怎麼樣提高開發效率的文章,大多提高開發效率的文章都是關於自動化等方面的輔助工具類型的,而不是開發中的一些小技巧;今天從編碼規範、編碼技巧、開發思想、設計模式等各方面的經驗來分享如何提高開發效率。 ...
  • ip.txt 192.168.0.105 123455 192.168.0.106 123456 192.168.0.107 123457 192.168.0.108 123458 passwd.sh #!/bin/bash for ip in `awk '{print $1}' ip.txt` d ...
  • Java工具類——包裝類 我們都知道,JDK 其實給我們提供了很多很多 Java 開發者已經寫好的現成的類,他們其實都可以理解成工具類,比如我們常見的集合類,日期相關的類,數學相關的類等等,有了這些工具類,你會發現它能很大程度的幫你節省時間,能很方便的實現你的需求。當然,沒有這些包,你也能實現你的需 ...
  • 添加相關串口(CH340 COM3) 全板數據一覽 成功建立與pc端通信 設備一覽 成功安裝驅動程式,impulse,測試元件 Addition T(temperature)目睹了空調室溫變化 K(keyboard)代表鍵值 進行改路,插拔跳線切換步進電機迴路 並download相關程式 步進電機( ...
  • 只記錄針對個人辦公時,提高辦公效率,且使用頻率較高的快捷鍵 以下只是個人覺得好用的快捷鍵,需要更多更完整的快捷鍵使用方法,參考文章末尾鏈接 Windows 1.Win+Shift+S //矩形+自由+全屏截圖 2.Win+L //鎖定電腦屏幕 結合windows自帶的"動態鎖" 可以將手機當成鎖屏密 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...