中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

藍(lan)牙(ya)協議棧概覽(lan)

//www.jianshu.com/p/29af94dc518c
//wlink.blog.csdn.net/article/details/107727900
 

藍牙底層結構

HW層:藍牙芯片層

RF(RADIO):射頻(pin)層,本地(di)藍牙數(shu)據(ju)通過(guo)射頻(pin)信號發送給空中設備,并通過(guo)射頻(pin)接(jie)收來自空中的藍牙信號和數(shu)據(ju)

BB(BASEBAND):基帶層,射頻信號和(he)數字(音(yin)頻)信號轉(zhuan)換,實現(xian)基帶協議和(he)其(qi)他底(di)層連(lian)接規程

LMP(LINK MANAGER PROTOCOL):鏈路(lu)(lu)管(guan)理層,負責管(guan)理藍牙設備之(zhi)間的通(tong)信,實現鏈路(lu)(lu)建(jian)立、驗證(zheng)、鏈路(lu)(lu)配(pei)置(zhi)等操作

HCI(HOST CONTROLLER INTERFACE):主機控(kong)制(zhi)器(qi)接口層,HCI層在芯片(pian)以及協議(yi)棧(zhan)都有,芯片(pian)層HCI負(fu)責將協議(yi)棧(zhan)數(shu)據(ju)處理,轉換為芯片(pian)內部動(dong)作,并(bing)受到(dao)遠(yuan)端數(shu)據(ju),通過HCI上報給協議(yi)棧(zhan);

BLE PHY:BLE物(wu)理層

BLE LL:BLE鏈路層

TRANSPORT層:在硬件(jian)接(jie)口(kou)(UART/USB/SDIO)實現HOST跟CONTROLLER的(de)交互

H2: USB的transport

H4:UART的transport(是UART傳輸種最簡的一個Transport,只是在HCI raw data的前面加一個type就行,如下HCI一共有五種HCI data)
        * HCI COMMAND:由藍牙協議棧發送給芯片的命令
        * HCI EVENT:由藍牙芯片上報給藍牙協議棧的事件
        * HCI ACL:藍牙協議棧跟藍牙芯片雙向交互的普通數據
        * HCI SCO:藍牙芯片跟藍牙協議棧雙向交互的通話/語音識別等音頻數據
      ;  * HCI ISO(這部分是在core5.2才(cai)添加):LE audio用的數據包格式

HCI藍牙架構
 

BT Controller:指(zhi)藍(lan)牙(ya)芯(xin)片(pian),包括BR/EDR芯(xin)片(pian)(藍(lan)牙(ya)2.1),AMP芯(xin)片(pian)(藍(lan)牙(ya)3.0),LE芯(xin)片(pian)(藍(lan)牙(ya)4.0)

BT Host:指藍(lan)牙協(xie)議(yi)棧

 

HCI架構協議簡要介紹
 

圖中內容簡介:

HW層:藍牙芯片
RF:射頻
BB:基帶
LMP:鏈路管理
HCI:主控制器接口
AUDIO:音頻
BLE PHY:低功耗藍牙物理層
BLE LL:低(di)功耗藍牙鏈(lian)路層

TRANSPORT層:在硬件接口(UART/USB/SDIO)實現HOST跟CONTROLLER的交互
H2:USB的transport
H4:UART的transport(是UART傳輸種最簡的一個Transport,只是在HCI raw data的前面加一個type就行,如下HCI一共有五種HCI data)       
        * HCI COMMAND:由藍牙協議棧發送給芯片的命令       
        * HCI EVENT:由藍牙芯片上報給藍牙協議棧的事件       
        * HCI ACL:藍牙協議棧跟藍牙芯片雙向交互的普通數據       
        * HCI SCO:藍牙芯片跟藍牙協議棧雙向交互的通話/語音識別等音頻數據       
        * HCI ISO(這部分是在core5.2才添加):LE audio用的數據包格式
交互數據格式:
|- 1    byte - | ---- N byte HCI raw data ----|
|- H4 byte - | ---- HCI RAW DATA ----------|
其中H4 type定義如下:
|          HCI packet type               |               HCI packet indicator           |
|          HCI ACLpacket                |               0x01                                   |
|          HCI Event packet             |               0x02                                   |
|          HCI ISO Data packet       |               0x03                                   |
H5:UART的transport
BCSP:UART的transport
SDIO Transport:
注意:其中2,3,4的主要差別在于H4需要BT CHIP UART_TX/UART_RX/UART_CTS/UART_RTS/VCC/GND接到MCU,而H5,BCSP只需要BT CHIP的UART_TX/UART_RX/VCC/GND接到MCU就可以通信

HOST層:

HOST層:藍牙(ya)協議(yi)棧(zhan)HCI(HOST CONTROLLER INTERFACE):主機控制層接(jie)口,主要(yao)負責(ze)透(tou)過(guo)transport把協議(yi)棧(zhan)的(de)數(shu)據發送(song)給藍牙(ya)芯(xin)片,并且接(jie)受來自藍牙(ya)芯(xin)片的(de)數(shu)據,數(shu)據主要(yao)分為HCI COMMAND(HOST->CONTROLLER),HCI EVENT(HOST-CONTROLLER),HCI ACL(HOSTCONTROLLER),HCI SCO(這個有(you)點些微差異,因為部分芯(xin)片的(de)SCO數(shu)據不是透(tou)過(guo)TRANSPORT直接(jie)跟HOST溝通(tong),而是通(tong)過(guo)特殊的(de)引(yin)腳,PCM IN/OUT/SYNC/CLK腳來傳輸數(shu)據),core文(wen)檔HCI的(de)架構如上;

 

Overview of the lower software layer

端對端傳輸示意

 

L2CAP(Logical Link Control and Adaptation Protocol):邏(luo)輯鏈路(lu)控制(zhi)與適配協(xie)(xie)議(yi)(yi)(yi),將ACL數(shu)據分組(zu)(zu)交換(huan)為便于高層(ceng)(ceng)應用(yong)的(de)數(shu)據分組(zu)(zu)格式,并提供協(xie)(xie)議(yi)(yi)(yi)復用(yong)和(he)服務質量交換(huan)等功能。通過協(xie)(xie)議(yi)(yi)(yi)多路(lu)復用(yong)、分段重組(zu)(zu)操作和(he)組(zu)(zu)概念,向高層(ceng)(ceng)提供面向連(lian)接的(de)和(he)無連(lian)接的(de)數(shu)據服務,L2CAP還(huan)屏蔽(bi)了(le)低層(ceng)(ceng)傳輸協(xie)(xie)議(yi)(yi)(yi)中的(de)很多特性,使得高層(ceng)(ceng)協(xie)(xie)議(yi)(yi)(yi)應用(yong)開(kai)發人員可以不必了(le)解基層(ceng)(ceng)協(xie)(xie)議(yi)(yi)(yi)而進行開(kai)發。架構(gou)如(ru)下:

 

L2CAP architectural blocks

SDP(SERVICE DISCOVERY PROTOCOL):服(fu)(fu)務(wu)(wu)發現協議,服(fu)(fu)務(wu)(wu)發現協議(SDP)為(wei)應用程(cheng)序提供(gong)了一種方法來(lai)發現哪些(xie)服(fu)(fu)務(wu)(wu)可用,并確定(ding)這些(xie)可用服(fu)(fu)務(wu)(wu)的(de)特征(zheng)

 

服務發現流程
 

PDU Format:
Header:               |  PDU ID  |  Transaction ID  |  ParameterLength   |
                                1 byte          2 bytes               2 bytes
Parameters:        |  Parameter 1   |   Parameter 2  | --- |   Parameter N   |
                                                    Parameter Length bytes

PDU ID:
|  Value                             |     Parameter Description                                              |
| 0x01                               |      SDP_ERROR_RSP                                                 |
| 0x02                               |      SDP_SERVICE_SEARCH_REP                             |
| 0x03                               |      SDP_SERVICE_SEARCH_RSP                             |
| 0x04                               |      SDP_SERVICE_ATTR_REP                                   |
| 0x05                               |      SDP_SERVICE_ATTR_RSP                                   |
| 0x06                               |      SDP_SERVICE_ATTR_SEARCH_REP                  |
| 0x07                               |      SDP_SERVICE_ATTR_SEARCH_RSP                  |
| 0x08                               |      Reserved for future use                                           |
| 0x09                               |      Reserved for future use                                           |

RFCOMM(Serial Port Emulation):串口(kou)仿真協議,上層(ceng)協議藍(lan)(lan)牙(ya)電話,藍(lan)(lan)牙(ya)透傳SPP等(deng)協議都(dou)是(shi)直接走的RFCOMM

 

串口模擬流程
 

Frame Structure:
 |   Address   |   Control       |   Length Indicator    |  Information   |  FCS      | 
 |    1 octet    |  1 octet         |   1 or 2 octets          |   整數倍octet  |  1 octet  | 
Address Field:
0           1           2           3           4           5           6           7           8
|  EA-1   |    CR   |     D     |       server channel                                 |
Control Field:
|   幀類型                                                          |    1   |    2   |    3   |    4   |    5   |    6   |    7   |    8   |  標注   |
|  SABM (SetAsyncronousBalancedModel)|  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   |            |
|  UA(Unnumbered Acknowledgement)      |  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   |            |
|  DM (Disconnected Mode                              |  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   |            |
|  DISC (Disconnect)                                        |  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   |            |
|  UIH (UnnumberedInformationWithHcheck   |  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   |            |
|  UI (Unnubered Information)                          |  1     |  1     |  1     |  1     |  P/F  |  1     |    0   |    0   | 可選    |

 

OBEX:對象交換協(xie)議(yi),藍牙電(dian)話本,藍牙短信,文件傳輸等協(xie)議(yi)都是走的(de)OBEX

 

對象交換協議
 

HFP(Hands-Free):藍牙免提(ti)協議

Hand-Free Protocol
 

Audio Gateway:比(bi)如(ru)手機,作為手機提(ti)供發現(xian)外設(she),連接(jie)外設(she),和雙向傳輸能力(li);

Hands-Free unit(HF):比(bi)如耳機(ji)(ji),手表,車(che)載(zai)設備,具備廣播能力,被(bei)手機(ji)(ji)連接后和手機(ji)(ji)通信(xin);

 

HSP:藍(lan)牙(ya)耳(er)(er)機協(xie)議,最開(kai)始的(de)藍(lan)牙(ya)耳(er)(er)機協(xie)議,目前(qian)已經沒有(you)產品在用這個了(le)吧(ba),至(zhi)少我沒有(you)看到了(le)。算是一(yi)個簡化版(ban)的(de)HFP。

SPP(SERIAL PORT PROFILE):藍牙串口協議,架構如下(xia):

藍牙串口協議
 

IAP:蘋果的特有協議,分為IAP1/IAP2,一般做Carplay或者iPod功能的人肯定接觸過這塊,有需要這塊的私下聯系我10)
PBAP(Phone Book Access):藍牙電話本訪(fang)問(wen)協議,架(jia)構如下:

藍牙電話本協議
 

PCE->PSE:藍牙電話本(ben)客(ke)戶端通(tong)過服(fu)務(wu)端設備查看電話本(ben)內容

MAP(MESSAGE ACCESS PROFILE):藍牙短信訪問(wen)協議,架構如(ru)下:

 

藍牙短信訪問協議
 

OPP(OBJECT PUSH PROFILE):對(dui)象(xiang)推(tui)送協議(yi),架構如下

OPP(對象推送協議)
 

AVCTP(AUDIO/VIDEO CONTROL TRANSPORT PROTOCOL):音視頻控制傳輸(shu)協議(yi),是AVRCP的(de)地方,架(jia)構(gou)如下

AVDTP(AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL):音(yin)視頻(pin)分布傳輸協議(yi),是(shi)A2DP的底層,架構如下

藍牙音頻控制(傳輸)協議
 

HID(HUMAN INTERFACE DEVICE):人機(ji)接口(kou)協(xie)議,架構(gou)如下:

 
HID協議
 

A2DP(Advanced Audio Distribution): 藍牙音樂協議
AVRCP(AUDIO/VIDEO REMOTE CONTROL PROFILE):藍(lan)牙(ya)音樂控制協議

Advanced Audio Distribution
 

Audio/Video Remote Control Profile
 

ATT:藍牙屬性協議
GATT:藍牙通用屬性協議
SM: 藍牙安全管理協議

參考鏈接:

//pianyifa.com/index.php/en/business-news/104-2020-08-10-02-52-40
//www.crifan.com/files/doc/docbook/bluetooth_intro/release/pdf/bluetooth_intro.pdf
//github.com/sj15712795029/bluetooth_stack/blob/master/README_English.md

posted @ 2024-07-22 16:01  petercao  閱讀(794)  評論(1)    收藏  舉報