當前位置:學問君>學習教育>畢業論文>

基於HCI協議層的藍牙通用外接模組的研究開發

學問君 人氣:5.88K

摘要:藍牙是一種短距離無線通信技術。本文從藍牙協議棧中的HCI層入手,對該層的主要功能和工作機制進行了剖析,進而闡述了基於HCI層的藍牙應用開發方案,並設計了一個基於藍牙技術開發的產品實例——藍牙通用外接模組,最後,還對基於此模組的擴展應用——無線裁判打分系統進行了說明。

關鍵詞:HCI;藍牙技術;無線通信


1 引言
藍牙(Bluetooth),是一種短距離無線通信技術,用於替代數字設備牙設備執行在和計算機外設間的電纜連接以及實現數字設備間的無線組網。1998年5月由愛立信、IBM、英特爾、諾基亞、東芝等5家公司成立了藍牙特殊利益小組(SIG),負責聯合制定藍牙規範。藍牙工作在向全球統一開放的2.4GHz工業、科學、醫學(Industrial Scientific Medical)頻段,可以同時傳輸數據和語音,至多8個活動的藍牙設備可以共享信道帶寬,形成所謂的匹克網()、服務發現協議(SDP)、電話控制協議(TCS)及其它應用協議所構成。在藍牙協議堆棧模型中的虛線部分爲對本文中HCI協議層軟件的具體劃分。

2 HCI協議剖析
在藍牙協議模型中,HCI軟件驅動程序與HCI固件統一歸爲HCI(主機控制接口),所以要基於HCI進行開發,首先必須瞭解HCI涉及的具體內容。主機控制接口爲藍牙硬件中基帶控制器和鏈路管理器提供了命令接口,從而實現對硬件狀態寄存器和控制寄存器的訪問,特別是該接口提供了對藍牙基帶的統一訪問模式。HCI分爲主機、傳輸層、主控制器三部分,並在每一層爲HCI系統提供不同的功能。本文把HCI協議層劃爲HCI軟件和HCI硬件兩部分來加以討論。
2.1 HCI軟件
HCI軟件部分可分爲HCI固件和HCI驅動兩個部分。
HCI固件位於主控制器。HCI固件透過對基帶命令、鏈路管理器命令、硬件狀態寄存器、控制寄存器和事件寄存器的訪問,實現藍牙硬件HCI指令。主控制器(Host Controller)意味着具有主控制接口功能的藍牙器件。
與HCI固件不同,HCI驅動位於主機,即協議模型中的HCI軟件驅動部分。若某事件發生,用HCI事件通知主機,而主機將收到HCI事件的異步通知。當主機發現有事件發生時,它將分析收到的事件包並決定何種事件發生。主機端的HCI驅動程序,一方面透過接口被藍牙應用程序調用(本文所提到的藍牙應用程序是相對於HCI層而言的,指的是構建於通用外接模組上的擴展應用程序),實現對上層應用的承載;另一方面實現了協議中的HCI功能集,使主機可以向藍牙子系統發送HCI指令,或接收子系統返回的HCI事件。
2.2 HCI的硬件
  HCI驅動和HCI固件是透過主控制器傳輸層(位於主控制器與主機之間的中間層)進行通信的,這些中間層和主控制傳輸層提供了在沒有數據描述資訊情況下傳輸數據的能力。在藍牙規範的描述中,藍牙子系統與主機之間共有3類數據轉移的方式、每一種數據在硬件接口均具有一定的封裝格式,分別是由3種傳輸層支援,分別爲UART/RS232和USB。採用不同的主控制器傳輸層對主機所接收的HCI事件異步通知不會產生影響。