chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

經(jīng)典藍牙協(xié)議PAN詳解

泰凌微電子 ? 來源:泰凌微電子 ? 作者:泰凌微電子 ? 2024-07-17 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

藍牙 Profile定義了藍牙設備之間如何進行通信以及實現(xiàn)特定的功能和應用場景。正是由于各種Profile的存在拓展出了藍牙豐富的應用場景,例如A2DP、HFP、HID等。PAN Profile便提供了藍牙設備接入以太網(wǎng)絡的能力。

PAN(Personal Area Networking)Profile即個人局域網(wǎng)協(xié)議。它描述了兩臺或多臺支持藍牙的設備如何組成一個自組網(wǎng)絡,以及如何使用相同的機制通過網(wǎng)絡接入點訪問遠程網(wǎng)絡。PAN Profile中主要包含的角色是網(wǎng)絡接入點(Network Access Point)、組自組網(wǎng)絡(Group Ad-hoc Network)和個人局域網(wǎng)用戶(Personal Area Network User)。網(wǎng)絡接入點可以是傳統(tǒng)的局域網(wǎng)數(shù)據(jù)接入點,而組自組織網(wǎng)絡則代表一組只相互連接的設備,個人局域網(wǎng)用戶代表通過PAN協(xié)議上網(wǎng)的用戶。本文將基于泰凌 BTBLE Dual Mode SDK以個人局域網(wǎng)用戶(PANU)的角度講述PAN在經(jīng)典藍牙協(xié)議棧中的層級結構、SDP服務發(fā)現(xiàn)、BNEP數(shù)據(jù)交互、PAN Profile連接以及通過HTTP訪問網(wǎng)頁并獲取網(wǎng)頁數(shù)據(jù)的流程。

BNEP(Bluetooth Network Encapsulation Protocol)即藍牙網(wǎng)絡封裝協(xié)議規(guī)范。它描述了PAN 使用的協(xié)議,定義了藍牙網(wǎng)絡封裝的數(shù)據(jù)包格式,用于在藍牙媒體上傳輸常用網(wǎng)絡協(xié)議。藍牙網(wǎng)絡封裝支持與 IEEE 802.3/以太網(wǎng)封裝相同的網(wǎng)絡協(xié)議。支持的網(wǎng)絡協(xié)議數(shù)據(jù)包包含在藍牙網(wǎng)絡封裝數(shù)據(jù)包中,直接通過藍牙L2CAP協(xié)議傳輸。簡而言之PAN負責處理收/發(fā)的網(wǎng)絡數(shù)據(jù),BNEP負責將網(wǎng)絡數(shù)據(jù)封裝上藍牙協(xié)議的包頭。

1層級結構

類似A2DP和AVDTP,PAN是建立在BNEP之上的,而BNEP又直接建立在L2CAP上。從NAP發(fā)送的網(wǎng)絡數(shù)據(jù)經(jīng)過PANU端的Baseband再到L2CAP經(jīng)過BENP解析最終到達PANU。

804e1414-43d4-11ef-b8af-92fbcf53809c.png

BNEP協(xié)議棧層級

80588f8e-43d4-11ef-b8af-92fbcf53809c.png

PANU和NAP實體之間的協(xié)議交互

2SDP服務發(fā)現(xiàn)

為了確保PAN能正常連接,需要在手機上打開藍牙網(wǎng)絡共享功能。AndroidiOS操作系統(tǒng)的開啟路徑分別如下圖所示(不同Android機型略有差異):

8066a8a8-43d4-11ef-b8af-92fbcf53809c.png

Android 藍牙共享網(wǎng)絡開啟路徑

8075d77e-43d4-11ef-b8af-92fbcf53809c.png

iOS藍牙共享網(wǎng)絡開啟路徑

在SDP服務發(fā)現(xiàn)階段手機會主動查詢我們可用的服務并作出響應,下圖為PANU角色時手機查詢到的服務信息。

分配給PAN Profile的Record Handle為0x0010001a,service class ID表明當前角色是PANU,BNEP對應的PSM為0x000F,當前BNEP協(xié)議版本為v1.0,支持的以太網(wǎng)絡類型有IPv4(0x0800)和ARP(0x0806)。在Profile描述列表中表明PAN當前版本為v1.0,服務名稱為Personal Ad-hoc User Service,對該服務的描述為泰凌。

808c75f6-43d4-11ef-b8af-92fbcf53809c.png

PANU 服務查詢表

3BNEP數(shù)據(jù)交互

BNEP建立在L2CAP之上,因此需要根據(jù)BNEP的PSM在L2CAP上創(chuàng)建對應的通道。根據(jù)BNEP Specification規(guī)定,BNEP對應的PSM為0x000F(SDP就是根據(jù)PSM來識別是哪一個Profile),BNEP的MTU SIZE最小值為1691。在L2CACP_CONFIGURATION階段如果MTU SIZE小于1691則會導致通道創(chuàng)建失敗。

80b15e5c-43d4-11ef-b8af-92fbcf53809c.png

創(chuàng)建L2CAP通道

BNEP主要有五種類型的數(shù)據(jù)包,分別是BNEP_GENERAL_ETHERNET、BNEP_CONTROL、BNEP_COMPRESSED_ETHERNET、BNEP_COMPRESSED_ETHERNET_SOURCE_ONLY、BNEP_COMPRESSED_ETHERNET_DEST_ONLY。BNEP_CONTROL提供了兩臺藍牙設備PANU與NAP之間交換控制信息的能力,其中包括發(fā)起B(yǎng)NEP連接請求/響應、設置網(wǎng)絡類型過濾器、設置MAC/網(wǎng)卡地址過濾器和響應未知控制命令的能力。除BNEP_CONTROL之外的其他四種數(shù)據(jù)包都用于兩臺藍牙設備之間傳輸網(wǎng)絡數(shù)據(jù)。

BNEP_GENERAL_ETHERNET:該類型數(shù)據(jù)包的包頭中會攜帶自身藍牙MAC地址/IP網(wǎng)卡地址以及對端藍牙MAC地址/IP網(wǎng)卡地址,這種包適合在多連接情況下進行數(shù)據(jù)交互。

BNEP_COMPRESSED_ETHERNET:該類型數(shù)據(jù)包省略了對端和自身的藍牙MAC地址/IP網(wǎng)卡地址,這種包適合在一對一連接情況下PANU與PANU之間數(shù)據(jù)交互。

BNEP_COMPRESSED_ETHERNET_DEST_ONLY:該類型數(shù)據(jù)包的包頭中僅攜帶對端的網(wǎng)絡包類型和對端的藍牙MAC地址/IP網(wǎng)卡地址,省略了自身的藍牙MAC地址/IP網(wǎng)卡地址,這種包適合在一對多連接情況下進行數(shù)據(jù)交互。

BNEP_COMPRESSED_ETHERNET_SOURCE_ONLY:該類型數(shù)據(jù)包的包頭中僅攜帶自身的藍牙MAC地址/IP網(wǎng)卡地址,省略了對端的藍牙MAC地址/IP網(wǎng)卡地址,這種包適合在一對多連接情況下進行數(shù)據(jù)交互。

任意一端發(fā)起B(yǎng)NEP連接時需要發(fā)送BNEP_SETUP_CONNECTION_REQUEST_MSG,對端藍牙設備在接收到該CONTROL包時需要回復BNEP_SETUP_CONNECTION_RESPONSE_MSG,若Response Message字段的值為0x0000( Operation Successful)則表示BNEP連接成功。

811bd2b4-43d4-11ef-b8af-92fbcf53809c.png

BNEP的連接與網(wǎng)絡數(shù)據(jù)包交互

BNEP成功連接后隨即會收到來自手機的網(wǎng)絡包,主要的網(wǎng)絡協(xié)議包有IPv4、IPv6、ARP。至此PAN Profile建立成功,接下來需要結合TCP/IP協(xié)議棧(lwIP、uIP)去解析/封裝網(wǎng)絡數(shù)據(jù)。

4uIP協(xié)議棧與網(wǎng)絡幀收發(fā)邏輯

uIP協(xié)議棧(Micro IP)是一個相較于lwIP更加輕量級的嵌入式TCP/IP協(xié)議棧,特別適用于低內存、低帶寬的嵌入式設備。我們將uIP協(xié)議棧與BTBLE Dual Mode SDK做了適配,通過軟件的方式使用兩組環(huán)形隊列模擬了uIP協(xié)議中所需要的網(wǎng)卡驅動設備。

81200b5e-43d4-11ef-b8af-92fbcf53809c.png

uIP協(xié)議棧封包格式

uip_buf用于保存接收和發(fā)送網(wǎng)絡數(shù)據(jù)包。接收的網(wǎng)絡數(shù)據(jù)和發(fā)送的網(wǎng)絡數(shù)據(jù)都應該放入該緩沖區(qū)。

在接收到手機的網(wǎng)絡數(shù)據(jù)時會把BNEP格式的網(wǎng)絡幀數(shù)據(jù)包按照uIP協(xié)議棧的包格式組包好后拷貝到模擬網(wǎng)卡RX FIFO(sTlkTapDevRxFifo)環(huán)形隊列中。main_loop將接收到的網(wǎng)絡幀數(shù)據(jù)包從模擬網(wǎng)卡RX FIFO環(huán)形隊列中取出并拷貝到uip_buffer中。

在發(fā)送網(wǎng)絡數(shù)據(jù)時將uip_buffer中的網(wǎng)絡幀數(shù)據(jù)包拷貝到模擬網(wǎng)卡TX FIFO(sTlkTapDevTxFifo)環(huán)形隊列中。main_loop將需要發(fā)送的網(wǎng)絡幀數(shù)據(jù)包從模擬網(wǎng)卡TX FIFO環(huán)形隊列中取出并將包格式從uIP協(xié)議棧的包格式包轉換成BNEP格式的網(wǎng)絡幀數(shù)據(jù)包,然后調用BNEP發(fā)送函數(shù)將網(wǎng)絡包數(shù)據(jù)發(fā)送給對端藍牙設備。

當BNEP連接完成后會先進行DHCP_DISCOVER、DHCP_OFFER、DHCP_REQUEST、DHCP_ACK四階段交互,完成手機分配IP地址給PANU。

81241cb2-43d4-11ef-b8af-92fbcf53809c.png

DHCP IP地址分配

ARP階段完成網(wǎng)卡地址和IP地址的轉換與綁定,設備可以直接通過IP地址向對端發(fā)送數(shù)據(jù)。

8128cc30-43d4-11ef-b8af-92fbcf53809c.png

ARP網(wǎng)絡地址轉換

接下來以訪問https://zongxiaodong.cn/image_test/images為例,下載該網(wǎng)站中名為1.png的圖片。在DNS解析階段會將zongxiaodong.cn轉換為對應的IP地址60.205.46.170。

8137d3d8-43d4-11ef-b8af-92fbcf53809c.png

uIP DNS域名解析

緊接著將1.png下載到本地。uIP web client用例主要是實現(xiàn)接入互聯(lián)網(wǎng)的功能,并通過HTTP協(xié)議訪問指定的網(wǎng)站。其功能主要包括建立網(wǎng)絡連接,構建HTTP請求,發(fā)送HTTP請求,接受HTTP響應,解析HTTP響應。如圖示,等待網(wǎng)站響應后1.png的圖片數(shù)據(jù)就通過網(wǎng)絡下載到PANU本地了。

8156da8a-43d4-11ef-b8af-92fbcf53809c.png

HTTP訪問網(wǎng)站并下載圖片數(shù)據(jù)

5結束語

泰凌 BTBLE Dual Mode SDK集成了PAN網(wǎng)絡服務功能,這使得采用泰凌TLSR951x/952x藍牙芯片的模塊和產(chǎn)品能夠通過標準協(xié)議,輕松連接至支持NAP藍牙網(wǎng)絡熱點的智能手機等主設備。這種連接提供了網(wǎng)絡訪問和數(shù)據(jù)下載服務,而且整個過程無需在手機上安裝任何APP,極大地簡化了設備間的互聯(lián)互通和數(shù)據(jù)共享過程。

泰凌TLSR951x是一款高性能的藍牙雙模SoC,它巧妙地將經(jīng)典藍牙與低功耗藍牙技術集成在單一芯片之中。這款芯片搭載了一個32位RISC-V MCU,具備強大的內核功能和一系列先進的外設模塊,為高端耳戴式和可穿戴設備的創(chuàng)新設計和開發(fā)提供了堅實的基礎。其多級電源管理設計使得TLSR951x在實現(xiàn)超低功耗運行的同時,也滿足了對功耗極為敏感的應用需求,而高集成度則進一步幫助客戶優(yōu)化了系統(tǒng)總成本。

TLSR952x則是泰凌微電子推出的一款集成了先進音頻子系統(tǒng)的SoC,它包含了FastDSP單元、帶加速器的音頻編解碼器電源管理單元,特別適合于ANC(主動降噪)和ENC(環(huán)境降噪)等高端音頻應用。TLSR952x全面支持藍牙5.3標準,包括基本速率(BR)、增強數(shù)據(jù)速率(EDR)、低功耗(LE)、藍牙低功耗 Mesh以及2.4 GHz專有標準,將無線音頻設備所需的所有特性和功能集于一身,為客戶提供了一個全面而高效的音頻解決方案。

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

    關注

    116

    文章

    6163

    瀏覽量

    176418
  • 網(wǎng)絡
    +關注

    關注

    14

    文章

    8019

    瀏覽量

    92166
  • 局域網(wǎng)

    關注

    6

    文章

    790

    瀏覽量

    47986
  • PAN
    PAN
    +關注

    關注

    1

    文章

    20

    瀏覽量

    14477

原文標題:【技術專欄】經(jīng)典藍牙協(xié)議PAN概述

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何使用HCI log調試經(jīng)典藍牙

    泰凌TLSR9系列芯片支持經(jīng)典藍牙和低功耗藍牙5.3 各項核心規(guī)范 ,目前開發(fā)者可以基于泰凌提供的協(xié)議棧和參考設計,開發(fā)各種音頻相關產(chǎn)品,其中包括:雙模低延時TWS耳機、雙模低延時頭戴
    的頭像 發(fā)表于 03-22 10:24 ?4184次閱讀
    如何使用HCI log調試<b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>?

    藍牙個人局域網(wǎng)的應用測試步驟詳解

    本文以藍牙PAN的互操作性測試模型為例,從工程實際需求出發(fā),運用軟件測試的自動化技術,結合協(xié)議一致性測試的一般理論和方法說明藍牙應用的互操作性測試的特點,并總結出一種適用于
    發(fā)表于 10-08 10:44 ?4245次閱讀
    <b class='flag-5'>藍牙</b>個人局域網(wǎng)的應用測試步驟<b class='flag-5'>詳解</b>

    EVAL_PAN1026EMK,PAN1026EMK基于PAN1026系列藍牙射頻模塊的實驗套件

    由外部處理器控制,該環(huán)境可縮短軟件和硬件開發(fā)時間。該套件適用于使用PAN1026藍牙智能就緒RF模塊的設計工程師,該模塊具有嵌入式藍牙經(jīng)典藍牙
    發(fā)表于 08-14 08:46

    BLE藍牙相比經(jīng)典藍牙區(qū)別是什么

    藍牙模塊也按照應用和支持協(xié)議分為主要兩種,不同類型的價格、定位、功能各有不同?! ?b class='flag-5'>經(jīng)典藍牙(BT):泛指支持藍牙
    發(fā)表于 11-06 16:36

    藍牙協(xié)議棧初始化和調度機制資料?

    青云NRF51822/NRF52832藍牙4.x詳解第二講:藍牙協(xié)議棧初始化和調度機制對應藍牙協(xié)議
    發(fā)表于 06-19 09:00

    藍牙GAP詳解

    藍牙基礎按照下面的大綱安排發(fā)布:前面的內容:第一講:藍牙樣例的解析第二講:藍牙協(xié)議棧初始化和調度機制 第三講:藍牙廣播初始化
    發(fā)表于 07-08 09:25

    基于PAN1026系列布局和播放藍牙模塊的評估套件

    和集成天線。這種成本設計的解決方案基于單芯片解決方案,該解決方案將ARM處理器與藍牙控制器集成在一起。藍牙4.0結合了藍牙經(jīng)典(3Mb / s)的數(shù)據(jù)速率和
    發(fā)表于 08-20 07:59

    C指針詳解-經(jīng)典-非常詳細

    C指針詳解-經(jīng)典-非常詳細
    發(fā)表于 10-23 17:39 ?79次下載
    C指針<b class='flag-5'>詳解</b>-<b class='flag-5'>經(jīng)典</b>-非常詳細

    簡述低功耗藍牙經(jīng)典藍牙的區(qū)別

    經(jīng)典藍牙(classic Bluetooth)和低功耗藍牙(Bluetooth low energy,簡稱BLE或者LE),兩者有什么區(qū)別?為什么他們都叫“藍牙”?Bluetooth
    發(fā)表于 06-05 20:11 ?2.6w次閱讀

    python經(jīng)典實例詳解

    python經(jīng)典實例詳解說明。
    發(fā)表于 04-26 10:14 ?32次下載

    藍牙協(xié)議版本解析:不同類型的藍牙協(xié)議及其作用

    到2.1:經(jīng)典藍牙協(xié)議 藍牙1.0: 首次引入藍牙技術,支持數(shù)據(jù)傳輸速率為1 Mbps,主要應用在耳機和手機等簡單設備的連接。
    的頭像 發(fā)表于 12-28 11:17 ?4477次閱讀

    藍牙模塊選經(jīng)典藍牙還是低功耗藍牙

    ? 經(jīng)典藍牙(classic Bluetooth)和低功耗藍牙(Bluetooth low energy,簡稱BLE或者LE),兩者有什么區(qū)別?為什么他們都叫“藍牙”?Bluetoot
    的頭像 發(fā)表于 05-23 17:57 ?2418次閱讀
    <b class='flag-5'>藍牙</b>模塊選<b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>還是低功耗<b class='flag-5'>藍牙</b>?

    什么是經(jīng)典藍牙模塊?

    ? 什么是經(jīng)典藍牙模塊? 前面我們已經(jīng)就藍牙模塊的概念做了了解,隨著時間的推移,產(chǎn)品越來越智能,需要的藍牙模塊也就越來越廣泛,本篇文章我們就一起了解下什么是
    的頭像 發(fā)表于 05-24 14:52 ?1249次閱讀
    什么是<b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>模塊?

    經(jīng)典藍牙的LMP的工作原理解析

    藍牙協(xié)議中,為了更加靈活以及容易實現(xiàn)多種特性,使用了多協(xié)議,多層級的設計,LMP即link manager protocol(鏈路管理器協(xié)議)就是
    的頭像 發(fā)表于 06-12 09:01 ?4948次閱讀
    <b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>的LMP的工作原理解析

    低功耗藍牙經(jīng)典藍牙,到底怎么選?

    經(jīng)典藍牙(Bluetooth Classic)和低功耗藍牙(Bluetooth Low Energy),兩者有什么區(qū)別?為什么他們都叫“藍牙”?Bluetooth Low Energy
    的頭像 發(fā)表于 04-07 16:01 ?987次閱讀
    低功耗<b class='flag-5'>藍牙</b>和<b class='flag-5'>經(jīng)典</b><b class='flag-5'>藍牙</b>,到底怎么選?