在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

藍牙主控制器接口的基本特性及應(yīng)用研究

電子設(shè)計 ? 來源:半導(dǎo)體技術(shù) ? 作者:陸佳煒 ? 2021-05-21 11:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1藍牙技術(shù)的背景

藍牙是一種短距離的射頻通信連接,最初設(shè)計的目標(biāo)是代替用來連接固定或便攜電子設(shè)備的電纜。藍牙設(shè)備工作在不需要許可證2.4GHz的工業(yè)、科學(xué)和醫(yī)療(ISM)頻帶。藍牙基帶協(xié)議同時支持電路交換和分組交換通信,并采用跳頻擴展頻譜(FHSS)技術(shù)進行傳輸。在北美和歐洲的大部分地區(qū),藍牙設(shè)備工作于2.402~2.480GHz的頻帶,整個頻帶被分成 79.1MHz帶寬的子信道。

藍牙協(xié)議的體系結(jié)構(gòu)分底層硬件模塊、中間協(xié)議層和高層應(yīng)用三大部分。底層硬件部分包括無線跳頻(RF)、基帶(BB)和鏈路管理(LM)部分。它們分別定義了藍牙收發(fā)器在2.4GHz頻段上,以跳頻的方式傳輸信息幀和傳輸鏈路連接的建立或拆除以及鏈路的安全和控制所必須滿足的要求。中間協(xié)議層包括邏輯鏈路控制和適應(yīng)協(xié)議(L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串口仿真RFCOMM和電話通信協(xié)議(TCS)。它們分別完成數(shù)據(jù)的拆裝、服務(wù)質(zhì)量控制、協(xié)議復(fù)用、發(fā)現(xiàn)網(wǎng)絡(luò)中可用的服務(wù)及服務(wù)特性、仿真R-232串口、提供藍牙設(shè)備間話音和數(shù)據(jù)的呼叫控制信令等功能。在這兩層之間規(guī)定了一個主控制器接口(HCI)。這是協(xié)議中軟硬件之間的接口,該層以上的協(xié)議軟件實體運行在主機上,而HCI以下的功能由藍牙設(shè)備來完成。在協(xié)議體系結(jié)構(gòu)的最上部是高層應(yīng)用的框架(Profiles)。目前僅規(guī)定了撥號網(wǎng)絡(luò)、耳機、局域網(wǎng)訪問、文件傳輸?shù)瘸R?guī)應(yīng)用,將來還會不斷增加。各種應(yīng)用程序可以通過各自對應(yīng)的Profi1e實現(xiàn)無線通信

在這個標(biāo)準(zhǔn)的支持下,藍牙系統(tǒng)支持點對點和點對多點的連接,每個藍牙系統(tǒng)可以連接200個以上藍牙裝置。藍牙系統(tǒng)的傳輸特性是在供工業(yè)、科學(xué)和醫(yī)學(xué)領(lǐng)域自由使用的ISM 2.4GHz頻段內(nèi)用單工或全雙工的方式進行信息傳輸。每個藍牙信道的帶寬是1MHz,它支持三個同步數(shù)據(jù)信道或同時支持 一個同步數(shù)據(jù)信道和一個異步數(shù)據(jù)信道。每個同步數(shù)據(jù)信道的數(shù)據(jù)傳輸率是64kb/s,用于語音數(shù)據(jù)的傳輸;異步數(shù)據(jù)信道的傳輸率是下行721 kb/s和上行57.6 kb/s,用于數(shù)字?jǐn)?shù)據(jù)的傳輸。若設(shè)置為上下行對稱的傳輸方式,傳輸率上下行各是432.6 kb/s。一般情況下的傳輸距離是10m(30FEET),最大可達100m,自動調(diào)整。

2 HCI概述

主控制器接口(HCI)是藍牙協(xié)議中軟硬件之間的接口,它提供了一個調(diào)用基帶、鏈路管理、狀態(tài)和控制寄存器等硬件的統(tǒng)一命令接口。藍牙設(shè)備之間進行通信時,HCI以上的協(xié)議軟件實體在主機上運行,而HCI以下的功能由藍牙設(shè)備來完成,兩者之間通過一個對兩端透明的傳輸層進行交互。

如圖1所示,藍牙標(biāo)準(zhǔn)對機控制器接口(HCI)的定義如下:HCI提供了一個調(diào)用和訪問基帶控制器和鏈路控制器以及硬件狀態(tài)和控制寄存器的命令接口。這一接口提供了一個訪問藍牙基帶功能的統(tǒng)一方法。在主機端的HCI軟件和藍牙硬件的HCI固件之間存在著與藍牙協(xié)議關(guān)系并不密切的幾層中間層,我們稱之為機控制器傳輸層,它們提供數(shù)據(jù)的透明傳輸。

HCI由兩部分組成,實現(xiàn)命令接口的軟件和用來連接藍牙子系統(tǒng)和主機的物理硬件。HCI軟件的目的是使構(gòu)成接口的硬件對系統(tǒng)高層軟件來說看起來是透明的。

藍牙軟件結(jié)構(gòu)包括兩種類型的部件。數(shù)據(jù)相關(guān)部件負(fù)責(zé)數(shù)據(jù)通過鏈路的傳輸。控制相關(guān)部件則負(fù)責(zé)鏈路的控制和管理。圖2 示出了HCI軟件結(jié)構(gòu)以及與藍牙主機接口硬件的關(guān)系。

3 HCI流控制

流控制在主機到主控制器之間,用于防止將傳送到未應(yīng)答遠(yuǎn)程設(shè)備的ACL數(shù)據(jù)溢出主控制器的數(shù)據(jù)緩沖區(qū),由主機來管理主控制器的數(shù)據(jù)緩沖區(qū)。

主機通過發(fā)出Read_Buffer_Size命令進行初始化,這個命令的返回參數(shù)可以確定主機發(fā)向主控制器的HCI ACL和SCO數(shù)據(jù)包(不包括包頭)的最大長度。另有兩個返回參數(shù)表示主控制器為等待傳輸可以緩存的HCI ACL和SCO數(shù)據(jù)分組的數(shù)量。當(dāng)只有一個與其他設(shè)備的連接或者設(shè)備處于回環(huán)模式時,主控制器利用已完成數(shù)據(jù)分組事件來控制從主機發(fā)來的數(shù)據(jù)流。事件分組包括一個鏈接句柄列表以及對應(yīng)連接上自上一個此事件以來完成的HCI包的數(shù)目;完成指的是發(fā)送、清空或回環(huán)回主機。根據(jù)這一事件的返回參數(shù)以及讀緩沖區(qū)大小命令的返回參數(shù),主控制器可以進行流量控制。每當(dāng)主機發(fā)送一個ACL或SCO數(shù)據(jù)包,主機應(yīng)該記錄主控制器的相應(yīng)鏈路緩沖區(qū)中的剩余空間減少了一個包,當(dāng)主機收到完成包數(shù)目事件,主機知道了又有多少緩沖區(qū)空間得到釋放,主機可以算出現(xiàn)在主控制器可以接收的包數(shù)目。當(dāng)主控制器中有數(shù)據(jù)時,它必 須周期性的向主機發(fā)送完成包數(shù)目事件,直到向主機報告所有包都發(fā)送或清空,而發(fā)送的間隔由各廠家自行定義。注意,如果SCO流量控制失效,則已完成數(shù)據(jù)分組事件號就不能在SCO鏈接句柄中進行報告。

對應(yīng)于每一個鏈接句柄,數(shù)據(jù)必須依照他們在主機生成時的順序依此在HCI數(shù)據(jù)包中發(fā)往主控制器,主控制器也同樣按順序?qū)⑦@些數(shù)據(jù)發(fā)往空中,另一設(shè)備的主控制器收到后也必須按序發(fā)向它的主機,這意味著同一連接句柄上數(shù)據(jù)的順序自生成起不再改變。

在某些情況下,主控制器到主機方向的流量控制是必須的,一般采用Set_Host_Controller To_Host_Flow_Control命令來開關(guān)這個方向的流量控制。這個方向的流量控制方法類似于上述的方法。起初,主機發(fā)出Host_Buffer_Size命令,告知主控制器發(fā)向主機的ACL和SCO數(shù)據(jù)包的最大長度以及主機緩沖區(qū)可存放ACL和SCO數(shù)據(jù)包的數(shù)目。主機利用主機Host_Number_Of_Completed_ Packets命令類似于主控制器的完成包數(shù)目事件,主機完成包數(shù)目命令是不需要命令流量控制的特殊命令,在有連接或處于本地回環(huán)模式時可以隨時發(fā)送,這使得兩個方向的流量控制同樣的工作,正常的命令流也不被打斷。

當(dāng)主機收到拆鏈完成事件后,可以認(rèn)定該連接句柄上的所有發(fā)往主控制器的數(shù)據(jù)被清空,相應(yīng)數(shù)據(jù)緩沖區(qū)被釋放,主控制器不需要用完成包數(shù)目事件將這些告訴主機。如果也采用了主控制器到主機方向的流量控制,主控制器在發(fā)送了拆鏈完成事件后假設(shè)主機在收到這一事件后也清空了這一連接句柄上的所有數(shù)據(jù),主機也不需要用主機完成包數(shù)目命令將這些告訴主控制器。

4 HCI命令與事件

主機通過HCI驅(qū)動程序提供的一系列命令來控制藍牙網(wǎng)絡(luò)接口。除這些命令外,藍牙標(biāo)準(zhǔn)還定義了一級由藍牙網(wǎng)絡(luò)接口中的HCI固件產(chǎn)生的事件,用來指示接口的狀態(tài)變化。

HCI命令和事件與來自無連接和同步連接的數(shù)據(jù)一起通過HCI傳輸接口硬件進行傳輸。這些數(shù)據(jù)的復(fù)用方式對接口來說是確定的。圖3 示出了其工作情況。

HCI提供一種統(tǒng)一的方法訪問藍牙硬件。HCI 鏈路命令提供主機控制與其他藍牙設(shè)備鏈路層連接的能力,一般這些命令導(dǎo)致鏈路管理器與遠(yuǎn)端設(shè)備交換鏈路管理器協(xié)議命令。HCI策略命令用來影響本地或遠(yuǎn)端鏈路管理器的行為,這些命令提供主機影響鏈路管理器如何管理微微網(wǎng)的方法。主控制器和基帶命令、信息命令及狀態(tài)命令用于主機訪問主控制器上的不同的寄存器

HCI命令需要一定的時間完成,因此這些命令的處理結(jié)果將以事件的形式返回主機。如對于大部分的HCI命令主控制器完成后生成一個命令完成事件,這個事件包含了完成命令的返回參數(shù)。為了使主機具備發(fā)現(xiàn)HCI傳輸層差錯的能力,在主機發(fā)出命令和收到主控制器響應(yīng)之間我們判斷是否超時,由于不同HCI傳輸層的差異,建議采用一秒作為此定時器的默認(rèn)值。

HCI是通過包的方式來傳送數(shù)據(jù)、命令和事件的,所有在主機和主控制器之間的通信都以包的形式進行。包括每個命令的返回參數(shù)都通過特定的事件包來傳輸。HCI有數(shù)據(jù)、命令和事件三種包,其中數(shù)據(jù)包是雙向的,命令包只能從主機發(fā)往主控制器,而事件包始終是主控制器發(fā)向主機的。主機發(fā)出的大多數(shù)命令包都會觸發(fā)主控制器產(chǎn)生相應(yīng)的事件包作為響應(yīng)。包的格式如圖4所示。

(1)命令包分為六種類型:

● 鏈路控制命令;

● 鏈路政策和模式命令;

● 主機控制和基帶命令;

● 信息命令;

● 狀態(tài)命令;

● 測試命令。

(2)事件包可分為三種類型:

● 通用事件,包括命令完成包(Command Complete)和命令狀態(tài)包(Command Status);

● 測試事件;

● 出錯時發(fā)生的事件,如產(chǎn)生丟失(Flush Occured)和數(shù)據(jù)緩沖區(qū)溢出(Data Buffer Overflow)。

(3)數(shù)據(jù)包則可分為ACL和SCO的數(shù)據(jù)包。

5 HCI模塊結(jié)構(gòu)

HCI模塊根據(jù)協(xié)議規(guī)定,完成協(xié)議功能、封裝 HCI命令以及上層協(xié)議的數(shù)據(jù),處理下層事件。

HCI命令事件處理模塊完成命令的封裝和事件的解析,在收到上層協(xié)議或應(yīng)用的調(diào)用命令請求后,模塊完成命令包的封裝,而后調(diào)用發(fā)送函數(shù)將數(shù)據(jù)傳到數(shù)據(jù)收發(fā)模塊。當(dāng)接收函數(shù)收到HCI事件時,調(diào)用HCI命令事件處理模塊的事件處理函數(shù),處理完畢后依據(jù)事件的性質(zhì),將響應(yīng)傳到上層協(xié)議或應(yīng)用。

HCI數(shù)據(jù)處理模塊完成ACL和SCO數(shù)據(jù)的封裝處理,但對凈荷不作任何解析和處理。收發(fā)函數(shù)主要完成與數(shù)據(jù)收發(fā)模塊的通信,對收到的數(shù)據(jù)根據(jù)數(shù)據(jù)的類型,分別調(diào)用命令事件處理模塊或數(shù)據(jù)處理模塊予以處理。

6 HCI傳輸層

HCI的傳輸層定義了三類數(shù)據(jù)如何在藍牙網(wǎng)絡(luò)接口和藍牙主機間進行傳輸。HCI傳輸層定義了每一類數(shù)據(jù)如何封裝和通過接口硬件進行復(fù)用。目前藍牙規(guī)范定義了三個HCI傳輸層:UART傳輸層;RS232傳輸層;USB傳輸層。下面以RS232傳輸層為例對HCI傳輸層作具體的說明。

HCI RS232傳輸層的目標(biāo)是在藍牙主機和藍牙主控制器之間的物理RS232接口上使用藍牙HCI。通過RS232傳輸層可以發(fā)出四種HCI分組,但主控制器接口不能區(qū)分四種HCI類型。在分組之前必須加上8位的分組指示器以區(qū)分分組類型。0x01表示指令分組,0x02表示ACL數(shù)據(jù)分組,0x03表示SCO 數(shù)據(jù)分組,0x04表示事件分組,另外還有0x05表示錯誤消息分組,0x06表示協(xié)商分組。錯誤消息分組用于將錯誤報告給發(fā)送端;而協(xié)商分組用于協(xié)商通信設(shè)置和協(xié)議。在RS232鏈路上發(fā)送任何字節(jié)之前,都應(yīng)當(dāng)在主控制器和主機之間對波特率、奇偶校驗值類型、終止位和協(xié)議模式進行協(xié)商。每發(fā)送一個以上HCI分組時,一個8位序列號將加1,除非是重發(fā)一個錯誤的分組。

同步機制可以選擇RTS/CTS或分界符。在不能使用RTS/CTS時,將采用含16位CRC的幀和含COBS的分界符0x7e作為檢錯和重新同步的手段。 16位CRC應(yīng)附在分組末尾,結(jié)束分界符0x7e之前。起始分界符0x7e后緊跟著分組類型指示段。COBS 是PPP的改進,不考慮數(shù)據(jù)模式,它將產(chǎn)生低于5%的開銷。在此采用一種簡單糾錯方案,發(fā)送端將僅重發(fā)含有錯誤的分組。

責(zé)任編輯:gt

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

    關(guān)注

    114

    文章

    17059

    瀏覽量

    183662
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8974

    瀏覽量

    153502
  • 藍牙
    +關(guān)注

    關(guān)注

    116

    文章

    6058

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    可編程序控制器(plc)有哪些應(yīng)用

    高。本文綜述了可編程序控制器(PLC)在我國目前市場上的應(yīng)用。本文綜述了可編程邏輯控制器(PLCs)在能源研究、工程研究、工業(yè)控制應(yīng)用和工廠
    發(fā)表于 07-12 06:31

    基于模糊專家模型的神經(jīng)控制器應(yīng)用研究

    針對具有嚴(yán)重非線性特性的聲中和過程,提出了一種基于模糊專家模型的神經(jīng)控制策略,這種方法將神經(jīng)網(wǎng)絡(luò)逆控制器與神經(jīng)元PID控制器相結(jié)合,并利用模糊專家模型所得到的預(yù)報
    發(fā)表于 03-18 08:47 ?29次下載

    適用于多梯群控系統(tǒng)的主控制器設(shè)計與實現(xiàn)

    本文介紹了一種基于DSP TMS320LF2407A 的新型電梯群控系統(tǒng)主控制器的設(shè)計。其中該系統(tǒng)采用分布式多路CAN 總線網(wǎng)絡(luò)結(jié)構(gòu),主控制器擴展了三路獨立的CAN 網(wǎng)絡(luò)接口,并擴展有USB、以
    發(fā)表于 09-18 10:53 ?15次下載

    PFC與PWM控制器復(fù)合芯片ML4824及其應(yīng)用研究

    PFC與PWM控制器復(fù)合芯片ML4824及其應(yīng)用研究 摘要:傳統(tǒng)的兩級APFC采用兩套控制電路和至少兩個功率開關(guān)管,增加了電路復(fù)雜程度
    發(fā)表于 07-08 10:45 ?5324次閱讀
    PFC與PWM<b class='flag-5'>控制器</b>復(fù)合芯片ML4824及其<b class='flag-5'>應(yīng)用研究</b>

    CAN總線控制器與DSP的接口研究

    本文討論這些微處理與CAN控制器接口問題,重點介紹CAN控制器與TMS320系列DSP的接口方法和
    發(fā)表于 06-22 17:16 ?1477次閱讀

    新型移相控制器UCC3895的應(yīng)用研究

    新型移相控制器UCC3895的應(yīng)用研究基于PWM及UCC3895的移相控制技術(shù)
    發(fā)表于 02-23 16:43 ?55次下載

    PID控制器參數(shù)整定方法及其應(yīng)用研究

    PID控制器參數(shù)整定方法及其應(yīng)用研究-2005。
    發(fā)表于 03-31 17:05 ?20次下載

    高速液壓伺服控制器中的應(yīng)用研究

    模糊PID技術(shù)在高速液壓伺服控制器中的應(yīng)用研究
    發(fā)表于 04-06 11:21 ?18次下載

    基于Cortex-M4內(nèi)核的Kinetis微控制器應(yīng)用研究

    基于Cortex-M4內(nèi)核的Kinetis微控制器應(yīng)用研究,便于各位親盡快掌握這塊芯片的使用
    發(fā)表于 06-15 15:53 ?1次下載

    NAND Flash主機接口控制器技術(shù)研究

    NAND Flash主機接口控制器技術(shù)研究(嵌入式開發(fā)入門 csdn)-該文檔為NAND Flash主機接口控制器技術(shù)
    發(fā)表于 07-30 12:23 ?12次下載
    NAND Flash主機<b class='flag-5'>接口</b><b class='flag-5'>控制器</b>技術(shù)<b class='flag-5'>研究</b>

    低功耗控制器設(shè)計筆記(1)主控選型

    低功耗控制器設(shè)計筆記:主控選型
    發(fā)表于 11-23 18:06 ?0次下載
    低功耗<b class='flag-5'>控制器</b>設(shè)計筆記(1)<b class='flag-5'>主控</b>選型

    CAN控制器和收發(fā)

    SJA1000CAN控制器集成在微控制器中,如NXP半導(dǎo)體公司的Cortex-M0內(nèi)核LPC11Cxx系列微控制器、LPC2000系列32位ARM微控制器。CAN
    發(fā)表于 12-04 11:21 ?28次下載
    CAN<b class='flag-5'>控制器</b>和收發(fā)<b class='flag-5'>器</b>

    DALI 主控制器 GUI 用戶手冊

    DALI 主控制器 GUI 用戶手冊
    發(fā)表于 01-09 19:11 ?0次下載
    DALI <b class='flag-5'>主控制器</b> GUI 用戶手冊

    DALI 主控制器 GUI 用戶手冊

    DALI 主控制器 GUI 用戶手冊
    發(fā)表于 06-30 19:01 ?1次下載
    DALI <b class='flag-5'>主控制器</b> GUI 用戶手冊

    盤點芯邦科技存儲主控芯片 USB控制器芯片 SD卡控制器芯片

    。存儲主控芯片通常包括處理、內(nèi)存控制器接口控制器等功能模塊,以實現(xiàn)高效、可靠的數(shù)據(jù)傳輸和存儲管理。 存儲
    的頭像 發(fā)表于 10-25 12:43 ?3422次閱讀
    盤點芯邦科技存儲<b class='flag-5'>主控</b>芯片 USB<b class='flag-5'>控制器</b>芯片 SD卡<b class='flag-5'>控制器</b>芯片
    主站蜘蛛池模板: 成视频年人黄网站免费视频 | 国产成人三级视频在线观看播放 | 国产精品美女一区二区三区 | 四虎国产精品免费久久影院 | 女上男下边吃奶边做视频成都 | 一区二区视屏 | 欧美精品hdvideosex | 亚洲 欧美 自拍 卡通 综合 | 久久久久久国产精品免费免 | 国产nv精品你懂得 | 日本不卡视频在线播放 | 国产美女免费 | 亚洲福利一区福利三区 | 手机在线免费观看视频 | 黄色录像欧美 | 美女免费观看一区二区三区 | 天天射久久 | 综合天天 | 天天射色综合 | 不卡视频一区 | 手机看片神马午夜片 | 精品成人在线 | 日韩ab| 久久夜夜视频 | 欧美性第一页 | 成 人在线观看视频网站 | 人人插人人费 | 九九全国免费视频 | 欧美午夜性 | 狠狠色狠狠色综合久久一 | 青青草国产三级精品三级 | 中文一级黄色片 | 日韩网| 免费国产不卡午夜福在线观看 | 69japanese日本100 69ww免费视频播放器 | 97一本大道波多野吉衣 | 奇米四色777亚洲图 奇米影视四色首页手机在线 | 色综合天天综合网亚洲影院 | 久久艹影院 | 黄色视网站 | 视频三区 |