




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于HCI協(xié)議層的藍(lán)牙通用外接模塊的研究開發(fā) 05-12-23 10:26:00 作者:佚名編輯:studa9ngns摘要:藍(lán)牙是一種短距離無(wú)線通信技術(shù)。本文從藍(lán)牙協(xié)議棧中的HCI層入手,對(duì)該層的主要功能和工作機(jī)制進(jìn)行了剖析,進(jìn)而闡述了基于HCI層的藍(lán)牙應(yīng)用開發(fā)方案,并設(shè)計(jì)了一個(gè)基于藍(lán)牙技術(shù)開發(fā)的產(chǎn)品實(shí)例藍(lán)牙通用外接模塊,最后,還對(duì)基于此模塊的擴(kuò)展應(yīng)用無(wú)線裁判打分系統(tǒng)進(jìn)行了說(shuō)明。關(guān)鍵詞:HCI;藍(lán)牙技術(shù);無(wú)線通信 1 引言 藍(lán)牙(Bluetooth),是一種短距離無(wú)線通信技術(shù),用于替代數(shù)字設(shè)備牙設(shè)備運(yùn)行在和計(jì)算機(jī)外設(shè)間的電纜連接以及實(shí)現(xiàn)數(shù)字設(shè)備間的無(wú)線組網(wǎng)。1998年5月由愛立信、IBM、英特
2、爾、諾基亞、東芝等5家公司成立了藍(lán)牙特殊利益小組(SIG),負(fù)責(zé)聯(lián)合制定藍(lán)牙規(guī)范。藍(lán)牙工作在向全球統(tǒng)一開放的2.4GHz工業(yè)、科學(xué)、醫(yī)學(xué)(Industrial Scientific Medical)頻段,可以同時(shí)傳輸數(shù)據(jù)和語(yǔ)音,至多8個(gè)活動(dòng)的藍(lán)牙設(shè)備可以共享信道帶寬,形成所謂的匹克網(wǎng)(piconet)。在每一個(gè)piconet中,有1個(gè)為藍(lán)牙主設(shè)備,其余7個(gè)為從設(shè)備,同時(shí)可容許有更多的從設(shè)備以暫停(park)的方式鎖定到主設(shè)備。多個(gè)picon-et可以相互重疊。形成散射網(wǎng)(scattern-et)。SIG所頒布的藍(lán)牙規(guī)范就是藍(lán)牙無(wú)線通信協(xié)議標(biāo)準(zhǔn),它規(guī)定了藍(lán)牙應(yīng)用應(yīng)遵循的標(biāo)準(zhǔn)和需要達(dá)到的要求,包括
3、核心協(xié)議(Core)與應(yīng)用框架(Profiles)兩部分。協(xié)議規(guī)范部分定義了藍(lán)牙的各層通信協(xié)議,遵循開放系統(tǒng)互連參考模型,從低到高地定義了藍(lán)牙協(xié)議堆棧的各個(gè)層次,如圖1所示。按照藍(lán)牙協(xié)議的邏輯功能,協(xié)議堆棧由下至上分為三個(gè)部分:傳輸協(xié)議、中介協(xié)議和應(yīng)用協(xié)議。本文中主機(jī)控制接口(HCI)位于傳輸協(xié)議之中,它并不是嚴(yán)格意義上的通信協(xié)議,它僅為應(yīng)用協(xié)議堆棧的高層部分提供了一個(gè)訪問(wèn)低層傳輸協(xié)議的指令接口。如果我們從HCI層出發(fā),可以將藍(lán)牙協(xié)議堆棧分為硬件與軟件2個(gè)協(xié)議塊。硬件部分由射頻部分(RF)、基帶部分(BB)、鏈路管理器部分(LM)和HCI固件構(gòu)成,我們也可以把硬件部分稱為藍(lán)牙子系統(tǒng)。軟件部分由
4、HCI主機(jī)驅(qū)動(dòng)程序、邏輯鏈路控制適配協(xié)議(L2CAP)、串口仿真協(xié)議(RFCOMM)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、電話控制協(xié)議(TCS)及其它應(yīng)用協(xié)議所構(gòu)成。在藍(lán)牙協(xié)議堆棧模型中的虛線部分為對(duì)本文中HCI協(xié)議層軟件的具體劃分。2 HCI協(xié)議剖析 在藍(lán)牙協(xié)議模型中,HCI軟件驅(qū)動(dòng)程序與HCI固件統(tǒng)一歸為HCI(主機(jī)控制接口),所以要基于HCI進(jìn)行開發(fā),首先必須了解HCI涉及的具體內(nèi)容。主機(jī)控制接口為藍(lán)牙硬件中基帶控制器和鏈路管理器提供了命令接口,從而實(shí)現(xiàn)對(duì)硬件狀態(tài)寄存器和控制寄存器的訪問(wèn),特別是該接口提供了對(duì)藍(lán)牙基帶的統(tǒng)一訪問(wèn)模式。HCI分為主機(jī)、傳輸層、主控制器三部分,并在每一層為HCI系統(tǒng)提供不
5、同的功能。本文把HCI協(xié)議層劃為HCI軟件和HCI硬件兩部分來(lái)加以討論。2.1 HCI軟件HCI軟件部分可分為HCI固件和HCI驅(qū)動(dòng)兩個(gè)部分。HCI固件位于主控制器。HCI固件通過(guò)對(duì)基帶命令、鏈路管理器命令、硬件狀態(tài)寄存器、控制寄存器和事件寄存器的訪問(wèn),實(shí)現(xiàn)藍(lán)牙硬件HCI指令。主控制器(Host Controller)意味著具有主控制接口功能的藍(lán)牙器件。與HCI固件不同,HCI驅(qū)動(dòng)位于主機(jī),即協(xié)議模型中的HCI軟件驅(qū)動(dòng)部分。若某事件發(fā)生,用HCI事件通知主機(jī),而主機(jī)將收到HCI事件的異步通知。當(dāng)主機(jī)發(fā)現(xiàn)有事件發(fā)生時(shí),它將分析收到的事件包并決定何種事件發(fā)生。主機(jī)端的HCI驅(qū)動(dòng)程序,一方面通過(guò)接口
6、被藍(lán)牙應(yīng)用程序調(diào)用(本文所提到的藍(lán)牙應(yīng)用程序是相對(duì)于HCI層而言的,指的是構(gòu)建于通用外接模塊上的擴(kuò)展應(yīng)用程序),實(shí)現(xiàn)對(duì)上層應(yīng)用的承載;另一方面實(shí)現(xiàn)了協(xié)議中的HCI功能集,使主機(jī)可以向藍(lán)牙子系統(tǒng)發(fā)送HCI指令,或接收子系統(tǒng)返回的HCI事件。 2.2 HCI的硬件 HCI驅(qū)動(dòng)和HCI固件是通過(guò)主控制器傳輸層(位于主控制器與主機(jī)之間的中間層)進(jìn)行通信的,這些中間層和主控制傳輸層提供了在沒(méi)有數(shù)據(jù)描述信息情況下傳輸數(shù)據(jù)的能力。在藍(lán)牙規(guī)范的描述中,藍(lán)牙子系統(tǒng)與主機(jī)之間共有3類數(shù)據(jù)轉(zhuǎn)移的方式、每一種數(shù)據(jù)在硬件接口均具有一定的封裝格式,分別是由3種傳輸層支持,分別為UART/RS232和USB。采用不同的主控
7、制器傳輸層對(duì)主機(jī)所接收的HCI事件異步通知不會(huì)產(chǎn)生影響。3 藍(lán)牙應(yīng)用開發(fā)方案在圖1中所提到的主機(jī)是一個(gè)廣義的概念,可以是以MPU為核心的計(jì)算機(jī)、也可以是以MCU為核心的控制電路,二者用途各異。其中以MCU為核心的控制電路適用于嵌入式應(yīng)用開發(fā),而以MPU為核心的計(jì)算機(jī)則適合于人機(jī)接口的軟件開發(fā)。藍(lán)牙協(xié)議為建立于藍(lán)牙技術(shù)之上的多種應(yīng)用提供了完整的解決辦法,但對(duì)于不同應(yīng)用一般只用到藍(lán)牙協(xié)議中的某幾個(gè),而且對(duì)于每部分協(xié)議也不用它所提供的全部功能。進(jìn)而,在藍(lán)牙應(yīng)用開發(fā)中可以從不同的協(xié)議層入手。在開發(fā)藍(lán)牙系統(tǒng)時(shí),一般采用兩種方式進(jìn)行開發(fā),一種是采用只提供無(wú)線接口的簡(jiǎn)單模塊,從藍(lán)牙子系統(tǒng)做起,再針對(duì)應(yīng)用自行
8、開發(fā)主芯片,該主芯片包括從基帶層到應(yīng)用層的完整藍(lán)牙協(xié)議棧,這種開發(fā)方式較為復(fù)雜,但不一定需要HCI層;另一種方法是購(gòu)買由供應(yīng)商提供的完整的藍(lán)牙模塊,這些模塊實(shí)現(xiàn)了藍(lán)牙子系統(tǒng)的全部或部分功能,屏蔽了射頻和基帶兩個(gè)硬件協(xié)議層,可以直接在HCI基礎(chǔ)上進(jìn)行開發(fā)。目前供應(yīng)商提供的藍(lán)牙模塊大致可分為2類,第1類為只實(shí)現(xiàn)了藍(lán)牙鏈路控制功能的模塊,第2類為藍(lán)牙鏈路控制與嵌入式HCI驅(qū)動(dòng)功能均已實(shí)現(xiàn)的模塊。這2類模塊的主要不同之處在于第2類包括一個(gè)RISC(精簡(jiǎn)指令集計(jì)算機(jī))處理器,實(shí)現(xiàn)鏈路控制和HCI功能,而第1類的RISC則不具有HCI功能。在實(shí)際應(yīng)用中,要根據(jù)實(shí)際情況而選擇不同類型的模塊。如果選用集成了鏈
9、路控制與HCI驅(qū)動(dòng)功能的藍(lán)牙模塊,那么就可以在一個(gè)比較完整的平臺(tái)上進(jìn)行開發(fā)。如果主機(jī)具有USB或UART接口,在藍(lán)牙模塊與主機(jī)信號(hào)電平兼容的情況下,接口連接可以不需要其它輔助硬件電路。許多情況下,USB或UART接口集成在主機(jī)的核心芯片上,所以可以實(shí)現(xiàn)藍(lán)牙模塊與主機(jī)的無(wú)縫接口。這種模型下的藍(lán)牙技術(shù)應(yīng)用開發(fā),主要工作集中在藍(lán)牙主機(jī)端軟件的實(shí)現(xiàn)上,包括HCI驅(qū)動(dòng)程序與傳輸層驅(qū)動(dòng)程序。正是由于這種藍(lán)牙模塊實(shí)現(xiàn)了嵌入式HCI協(xié)議,所以應(yīng)用開發(fā)可以直接從HCI層開始,避免了基帶與射頻的硬件實(shí)現(xiàn),是一種全軟件式的開發(fā)模式,開發(fā)成果具有很好的可移植性。本文中正是采用了這一開發(fā)方案進(jìn)行的藍(lán)牙通用外接模塊的開發(fā)
10、。通過(guò)封裝HCI協(xié)議層,可以生成標(biāo)準(zhǔn)的HCI接口函數(shù),為上層的應(yīng)用開發(fā)(在本文指的是藍(lán)牙通用模塊)提供一個(gè)完整的平臺(tái)。 制功能的藍(lán)牙模塊,由于它不提供HCI傳輸層接口和嵌入式HCI驅(qū)動(dòng)程序。此時(shí),嵌入式HCI驅(qū)動(dòng)程序的功能將轉(zhuǎn)嫁給主機(jī)來(lái)實(shí)現(xiàn)。這樣,與前一種開發(fā)模式相比,主機(jī)的HCI層驅(qū)動(dòng)程序?qū)⒆兊檬謴?fù)雜,開發(fā)周期也將是比較長(zhǎng)的。藍(lán)牙通用外接模塊設(shè)計(jì)開發(fā)實(shí)例筆者基于HCI成功地開發(fā)了一種在現(xiàn)有的供應(yīng)商提供的藍(lán)牙模塊基礎(chǔ)上進(jìn)行指令重新解釋與結(jié)構(gòu)封裝的通用外接模塊。本模塊最終面向基于此通用模塊的擴(kuò)展應(yīng)用,提供了USB接口、UART/RS232接口、耳機(jī)接口、麥克MIC接口、鍵盤等多種接口,可同時(shí)進(jìn)
11、行數(shù)據(jù)和語(yǔ)音信息的傳輸。該通用外接模塊既可以單獨(dú)構(gòu)成藍(lán)牙應(yīng)用系統(tǒng)使用,也可以與主機(jī)連接使用,使用應(yīng)用者很方便地借助于藍(lán)牙技術(shù)來(lái)實(shí)現(xiàn)應(yīng)用產(chǎn)品的無(wú)線通訊。為了對(duì)此通用外接模塊進(jìn)行功能測(cè)試,在實(shí)驗(yàn)開發(fā)階段(本文中對(duì)此通用模塊說(shuō)明均是針對(duì)開發(fā)階段的),筆者使用了兩臺(tái)PC作為通用外接模塊之上的擴(kuò)展應(yīng)用的主體,2個(gè)通用外接模塊分別作為藍(lán)牙piconet中的主、從設(shè)備,藍(lán)牙設(shè)備通過(guò)UART或USB口由PC處接收命令和數(shù)據(jù)信息,通用外接模塊對(duì)此信息進(jìn)行處理后,以無(wú)線傳輸方式將信息發(fā)至另一藍(lán)牙設(shè)備的應(yīng)用主體PC處。下面從硬件和軟件兩個(gè)方面加以介紹,本文論及的設(shè)計(jì)主要包括藍(lán)牙通用模塊及作為擴(kuò)展應(yīng)用主體的PC兩大部
12、分。4.1 硬件設(shè)計(jì)藍(lán)牙通用模塊部分硬件電路主要由語(yǔ)音芯片、微控制器部分(即藍(lán)牙主機(jī)部分)及藍(lán)牙模塊等組成。硬件結(jié)構(gòu)如圖2所示:其中采用了支持雙串口的DALLAS公司生產(chǎn)的DS89C420微控制器作為藍(lán)牙主機(jī),兩串口分別與藍(lán)牙模塊及構(gòu)建于通用模塊之上的擴(kuò)展應(yīng)用的主體進(jìn)行通信;使用MSM7560L語(yǔ)音芯片;藍(lán)牙模塊采用的是Ericsson公司生產(chǎn)的模塊,型號(hào)為ROK 101 007,屬于本文提到的第2類模塊,采用ARM7芯片作為RISC處理器。在硬件實(shí)現(xiàn)上,微控制器部分主要由DS89C420微控制器、電源系統(tǒng)、振蕩電路、復(fù)位電路、接口電平轉(zhuǎn)換電路等幾部分組成,微控制單元是核心部分。電平轉(zhuǎn)換電路用
13、于在藍(lán)牙模塊與PC通信接口之間進(jìn)行電平的轉(zhuǎn)換。另外還包括一些不同類型的接口電路、跳線開關(guān)電路以及若干狀態(tài)LED等外圍器件,以備建立于通用外接模塊之上的擴(kuò)展應(yīng)用及通訊狀態(tài)監(jiān)測(cè)的需要。 4.2 軟件設(shè)計(jì)4.2.1 PC部分軟件設(shè)計(jì)PC部分測(cè)試程序主要是開發(fā)藍(lán)牙應(yīng)用組件,測(cè)試程序運(yùn)行于Windows操作系統(tǒng)之上,提供了USB和串口驅(qū)動(dòng)程序,應(yīng)用程序函數(shù)接口(API)等,具體可分為PC串口初始化、藍(lán)牙通信參數(shù)設(shè)定、藍(lán)牙通用外接模塊控制、HCI指令封裝、數(shù)據(jù)信息處理等幾個(gè)部分。 其中第一步要做的工作是初始化計(jì)算機(jī)串口,串口參數(shù)可以根據(jù)實(shí)際需要進(jìn)行選擇。第二步要進(jìn)行的是藍(lán)牙模塊參數(shù)的設(shè)定,其中包括藍(lán)牙設(shè)備
14、主從設(shè)定、藍(lán)牙模塊初始化參數(shù)的設(shè)定、程序監(jiān)測(cè)設(shè)定等幾部分。以上所有這些動(dòng)態(tài)設(shè)定,是通過(guò)擴(kuò)展應(yīng)用主體(此外為PC)往通用外接模塊串口發(fā)送公共變量而實(shí)現(xiàn)的。當(dāng)收到參數(shù)設(shè)定成功消息后,進(jìn)行下一步,即向通用外接模塊串口發(fā)送命令消息來(lái)實(shí)現(xiàn)藍(lán)牙設(shè)備的初始化、查詢、鏈接建立過(guò)程,在收到通用模塊發(fā)回的鏈接建立完成的反饋信息后,即可按一定的格式將數(shù)據(jù)信息發(fā)往通用外接模塊接口,完成數(shù)據(jù)信息的無(wú)線傳輸。4.2.2 通用外接模塊軟件設(shè)計(jì) 通用外接模塊一方面從PC方的RS-232串口接收PC端的公共參數(shù)信息(用于串口初始化及藍(lán)牙模塊參數(shù)設(shè)定)、命令信息及數(shù)據(jù)信息,另一方面發(fā)送相應(yīng)的 HCI指令給藍(lán)牙模塊ROK 101
15、007,然后將返回的事件進(jìn)行分析處理,最終將有關(guān)程序狀態(tài)、通訊數(shù)據(jù)信息返回給本地PC。軟件實(shí)現(xiàn)的全部功能是通過(guò)C51語(yǔ)言進(jìn)行開發(fā)的,由專用寄存器設(shè)置子程序、中斷處理程序、定時(shí)器中斷程序、看門狗程序、鏈路初始化子程序、鏈路建立子程序、通信數(shù)據(jù)處理子程序、斷開鏈路子程序、藍(lán)牙測(cè)試子程序等功能塊來(lái)完成。所有程序信息對(duì)于通用外接模塊以外的擴(kuò)展應(yīng)用主體而言都是不可見的,擴(kuò)展應(yīng)用只需按一定的格式發(fā)送相應(yīng)的信息給通用外接模塊即可完成整個(gè)通信過(guò)程,在此就不對(duì)程序進(jìn)行具體的說(shuō)明了。 至此,通用外接模塊開發(fā)實(shí)驗(yàn)階段軟件設(shè)計(jì)完成,通過(guò)測(cè)試本模塊完全達(dá)到了預(yù)期的要求,數(shù)據(jù)傳輸正常,性能良好。 本封裝模塊之所以被加以“
16、通用”二字來(lái)界定,是因?yàn)楸灸K在功能上很好地做到了以下幾點(diǎn):(1)本模塊提供了對(duì)多種擴(kuò)展應(yīng)用接口的支持,包括UART/USB以及語(yǔ)音傳輸接口。 (2)本模塊既支持以MPC為擴(kuò)展應(yīng)用主體的計(jì)算機(jī)上的擴(kuò)展應(yīng)用,又支持以MCU為擴(kuò)展主體的控制器件上的擴(kuò)展應(yīng)用;(3)本模塊提供對(duì)多種操作系統(tǒng)的支持,目前為止,支持Windows95/98/2000/xp及Linux操作系統(tǒng)。5 一種構(gòu)建于通用外接模塊之上無(wú)線通訊擴(kuò)展應(yīng)用裁判系統(tǒng) 目前,在很多大型賽事中比賽所采用的裁判打分系統(tǒng)大都是采用有纜連接的方式進(jìn)行的,各位裁判將各自的評(píng)定的比賽成績(jī)通過(guò)有線的電纜傳輸?shù)街骺貦C(jī)上進(jìn)行綜合評(píng)定,然后產(chǎn)生最終的結(jié)果。但這一系統(tǒng)存在著一個(gè)很明顯的不足之外,就是有纜連接所帶來(lái)的不便性,而通過(guò)采用筆者所設(shè)計(jì)的通用外接模塊后, 通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 19790:2025 FR Information security,cybersecurity and privacy protection - Security requirements for cryptographic modules
- 【正版授權(quán)】 ISO 4211-1:2025 EN Furniture - Tests for surface finishes - Part 1: Assessment of resistance to cold liquids
- 【正版授權(quán)】 ISO 20579-2:2025 EN Surface chemical analysis - Sample handling,preparation and mounting - Part 2: Documenting and reporting the preparation and mounting of specimens for a
- 【正版授權(quán)】 IEC TS 62271-316:2024 EN High-voltage switchgear and controlgear - Part 316: Direct current by-pass switches and paralleling switches
- 【正版授權(quán)】 IEC 60071-1:2006 EN-D Insulation co-ordination - Part 1: Definitions,principles and rules
- 護(hù)理部副主任競(jìng)聘
- 思想政治教育前沿
- 控?zé)熤R(shí)講座2
- 管理體系審核首次會(huì)議
- 給綠植澆水課件
- 期中檢測(cè)卷2023-2024學(xué)年人教版數(shù)學(xué)八年級(jí)下冊(cè)
- 耳部常用治療方法培訓(xùn)課件
- 井工煤礦地質(zhì)類型劃分報(bào)告編制細(xì)則
- 包頭鑄膠滾筒工藝
- 2024年山東春季高考數(shù)學(xué)試題word版(含答案解析)
- 神經(jīng)內(nèi)科腦卒中康復(fù)PDCA循環(huán)案例
- (完整版)東南大學(xué)工程項(xiàng)目管理陸惠民第二章工程項(xiàng)目策劃和決策(課后習(xí)題答案)
- 護(hù)士禮儀培訓(xùn)教程
- 醫(yī)美整形美容的植發(fā)技術(shù)解析
- 訴訟復(fù)審申請(qǐng)
- 鹽的銷售與市場(chǎng)拓展
評(píng)論
0/150
提交評(píng)論