<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 藍(lán)牙HCI-UART主控制接口的FPGA設(shè)計(jì)與實(shí)現(xiàn)

          藍(lán)牙HCI-UART主控制接口的FPGA設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2010-12-08 來源:網(wǎng)絡(luò) 收藏

            2.2 HCI 基本原理

            2.2.1 HCI 傳輸層的比較

            HCI 層位于高層協(xié)議和低層協(xié)議之間,其目的是實(shí)現(xiàn)主機(jī)設(shè)備與模塊之間的互操作,即HCI 是主機(jī)與主機(jī)控制器間軟硬件接口。HCI 為藍(lán)牙硬件中基帶控制器和鏈接管理器提供了命令接口,從 而實(shí)現(xiàn)對(duì)硬件狀態(tài)注冊(cè)器和控制寄存器的訪問,提供了對(duì)藍(lán)牙基帶的統(tǒng)一訪問模式。目前,HCI 的傳輸層主要有三種:USB,RS-232,UART。此外,還有一種PC 卡傳輸層,其沒有定義在藍(lán)牙標(biāo)準(zhǔn)中,而是在藍(lán)牙SIG 于1999 年8 月發(fā)表的藍(lán)牙PC 卡傳輸層1.0 版白皮書中描述的。藍(lán)牙沒有規(guī) 定PC 卡傳輸層實(shí)現(xiàn)的具體細(xì)節(jié),而是要求制造商提供傳輸驅(qū)動(dòng)程序,以配合主機(jī)上的HCI 驅(qū)動(dòng)程序[5]。不 同傳輸層對(duì)HCI 事件處理沒有影響。

           ?。?)USB 傳輸層在藍(lán)牙硬件上使用USB 硬件接口(該硬件接口有兩種嵌入方式:一種是作為USB 加/ 解密芯片,另一種是集成到PC 機(jī)主板上)[6]。這一種類編碼要求不管使用哪一廠商生產(chǎn)的設(shè)備,都能加載 合適的驅(qū)動(dòng)程序棧;同時(shí)它還保證了通過控制終端的HCI 指令和USB 指令有所區(qū)別。其缺點(diǎn)是軟件協(xié)議復(fù) 雜,軟件開銷巨大。

           ?。?)RS-232 傳輸層:通過位于主機(jī)和主控制器之間的物理RS-232 接口實(shí)現(xiàn)。事件包和數(shù)據(jù)包通過該層,但該層并不對(duì)它們進(jìn)行解碼。該傳輸層支持的是主機(jī)控制器和不同實(shí)體中的主機(jī)的情況,距離較遠(yuǎn),傳輸層特別規(guī)定了電氣特性,并采用了更為精細(xì)的鏈路協(xié)議以應(yīng)對(duì)較高的線路誤碼率,但在硬件 上需要增加電平轉(zhuǎn)換電路。

            (3)UART 傳輸層跟RS-232 傳輸層類似,也是采用一個(gè)UART 的串行方式在主控制器與主機(jī)之間進(jìn)行數(shù)據(jù)傳輸。應(yīng)用環(huán)境主要是針對(duì)主控制器和主機(jī)位于同一個(gè)電路板上,傳輸層假定UART 通信無線性 錯(cuò)誤。與其它的相比,UART 傳輸層方式比較靈活,其應(yīng)用環(huán)境決定其連接錯(cuò)誤相對(duì)較少,可以采用簡單的復(fù)位恢復(fù)機(jī)制實(shí)現(xiàn)失步時(shí)的復(fù)步。由于主機(jī)和主控制器都處于同一塊電路板上,因而傳輸層不需要規(guī)定電氣信號(hào),可以直接采用TTL、LV-CMOS 等IC 端電壓,應(yīng)用較多。同時(shí),UART 傳輸層避開了RS-232 傳輸層所要求的較繁瑣的協(xié)商和同步機(jī)制。UART 性能和數(shù)據(jù)吞吐率水平與USB 接口相當(dāng),而傳輸協(xié)議卻較為簡單,減少了軟件開銷,是一種更為經(jīng)濟(jì)高效的全硬件解決方案。

            2.2.2 HCI 分組

            兩個(gè)藍(lán)牙設(shè)備間進(jìn)行數(shù)據(jù)通信是通過HCI 分組實(shí)現(xiàn)的,HCI 是通過分組的方式來進(jìn)行信息交換的。HCI 分組有三種類型:指令分組(Command Packet)、事件分組(Event Packet)和數(shù)據(jù)分組(Data Packet)[7]。

           ?。?)指令分組

            只從主機(jī)發(fā)向主機(jī)控制器,分為鏈路控制指令、鏈路策略指令、主機(jī)控制指令與基帶指令、信息參數(shù)指令、狀態(tài)參數(shù)指令和測(cè)試指令。HCI 指令分組由操作碼(OpCode)、參數(shù)總長(Parameter Total Length) 和參數(shù)列表(Parameters)三部分組成[8]。

            (2)事件分組

            只從主機(jī)控制器發(fā)向主機(jī),用以說明指令分組的執(zhí)行情況,是主機(jī)控制器向主機(jī)報(bào)告各種事件的分組。包括通用事件(包括指令完成事件和指令狀態(tài)事件)、測(cè)試事件、出錯(cuò)事件三種。

           ?。?)數(shù)據(jù)分組

            它是在主機(jī)和主機(jī)控制器間雙向傳輸,一般分為ACL(Asynchronization Connectionless)數(shù)據(jù)分組和 SCO (Synchronization Connection Oriented)數(shù)據(jù)分組兩種[9]。二者之間的區(qū)別在于:ACL 鏈路支持對(duì)稱和非對(duì)稱傳輸,分組交換和多點(diǎn)連接,適用于傳送數(shù)據(jù);SCO 鏈路支持對(duì)稱傳輸,電路交換和點(diǎn)到點(diǎn)連接, 適用于傳輸語音。



          關(guān)鍵詞: 藍(lán)牙 HCI-UART FPGA Verilog 通信

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();