藍牙HCI控制器

 HCI協議剖析
在藍牙協議模型中,HCI軟件驅動程序與HCI固件統一歸爲HCI(主機控制接口),因此要基於HCI進行開發,首先必須瞭解HCI涉及的具體內容。主機 控制接口爲藍牙硬件中基帶控制器和鏈路管理器提供了命令接口,從而實現對硬件狀態寄存器和控制寄存器的訪問,特別是該接口提供了對藍牙基帶的統一訪問模 式。HCI分爲主機、傳輸層、主控制器三部分,並在每一層爲HCI系統提供不一樣的功能。本文把HCI協議層劃爲HCI軟件和HCI硬件兩部分來加以討論。異步

HCI軟件
HCI軟件部分可分爲HCI固件和HCI驅動兩個部分。
HCI固件位於主控制器。HCI固件經過對基帶命令、鏈路管理器命令、硬件狀態寄存器、控制寄存器和事件寄存器的訪問,實現藍牙硬件HCI指令。主控制器(Host Controller)意味着具備主控制接口功能的藍牙器件。
與HCI固件不一樣,HCI驅動位於主機,即協議模型中的HCI軟件驅動部分。若某事件發生,用HCI事件通知主機,而主機將收到HCI事件的異步通知。當 主機發現有事件發生時,它將分析收到的事件包並決定何種事件發生。主機端的HCI驅動程序,一方面經過接口被藍牙應用程序調用(本文所提到的藍牙應用程序 是相對於HCI層而言的,指的是構建於通用外接模塊上的擴展應用程序),實現對上層應用的承載;另外一方面實現了協議中的HCI功能集,使主機能夠向藍牙子 系統發送HCI指令,或接收子系統返回的HCI事件。接口

HCI的硬件
  HCI驅動和HCI固件是經過主控制器傳輸層(位於主控制器與主機之間的中間層)進行通訊的,這些中間層和主控制傳輸層提供了在沒有數據描述信息狀況下傳 輸數據的能力。在藍牙規範的描述中,藍牙子系統與主機之間共有3類數據轉移的方式、每一種數據在硬件接口均具備必定的封裝格式,分別是由3種傳輸層支持, 分別爲UART/RS232和USB。採用不一樣的主控制器傳輸層對主機所接收的HCI事件異步通知不會產生影響。
主機控制接口層(HCI)是藍牙協議中軟硬件之間的接口,它提供了一個調用基帶、鏈路管理、狀態和控制寄存器
等硬件的統一命令接口.事件

相關文章
相關標籤/搜索