<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 藍牙HCI-UART主控制接口的FPGA設計與實(shí)現

藍牙HCI-UART主控制接口的FPGA設計與實(shí)現

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

  2.2 HCI 基本原理

  2.2.1 HCI 傳輸層的比較

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

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

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

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

  2.2.2 HCI 分組

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

 ?。?)指令分組

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

 ?。?)事件分組

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

 ?。?)數據分組

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>