




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于HCI協(xié)議層的藍(lán)牙通用外接模塊的研究開發(fā).txt大悲無淚,大悟無言,大笑無聲。我們手里的金錢是保持自由的一種工具。女人在約會前,一定先去美容院;男人約會前,一定先去銀行。基于HCI協(xié)議層的藍(lán)牙通用外接模塊的研究開發(fā)摘要:藍(lán)牙是一種短距離無線通信技術(shù)。本文從藍(lán)牙協(xié)議棧中的HCI層入手,對該層的主要功能和工作機(jī)制進(jìn)行了剖析,進(jìn)而闡述了基于HCI層的藍(lán)牙應(yīng)用開發(fā)方案,并設(shè)計了一個基于藍(lán)牙技術(shù)開發(fā)的產(chǎn)品實例藍(lán)牙通用外接模塊,最后,還對基于此模塊的擴(kuò)展應(yīng)用無線裁判打分系統(tǒng)進(jìn)行了說明。關(guān)鍵詞:HCI;藍(lán)牙技術(shù);無線通信 1 引言藍(lán)牙(Bluetooth),是一種短距離無線通信技術(shù),用于替代數(shù)字設(shè)備牙設(shè)備運行在和計算機(jī)外設(shè)間的電纜連接以及實現(xiàn)數(shù)字設(shè)備間的無線組網(wǎng)。1998年5月由愛立信、IBM、英特爾、諾基亞、東芝等5家公司成立了藍(lán)牙特殊利益小組(SIG),負(fù)責(zé)聯(lián)合制定藍(lán)牙規(guī)范。藍(lán)牙工作在向全球統(tǒng)一開放的2.4GHz工業(yè)、科學(xué)、醫(yī)學(xué)(IndustrialScientificMedical)頻段,可以同時傳輸數(shù)據(jù)和語音,至多8個活動的藍(lán)牙設(shè)備可以共享信道帶寬,形成所謂的匹克網(wǎng)(piconet)。在每一個piconet中,有1個為藍(lán)牙主設(shè)備,其余7個為從設(shè)備,同時可容許有更多的從設(shè)備以暫停(park)的方式鎖定到主設(shè)備。多個picon-et可以相互重疊。形成散射網(wǎng)(scattern-et)。SIG所頒布的藍(lán)牙規(guī)范就是藍(lán)牙無線通信協(xié)議標(biāo)準(zhǔn),它規(guī)定了藍(lán)牙應(yīng)用應(yīng)遵循的標(biāo)準(zhǔn)和需要達(dá)到的要求,包括核心協(xié)議(Core)與應(yīng)用框架(Profiles)兩部分。協(xié)議規(guī)范部分定義了藍(lán)牙的各層通信協(xié)議,遵循開放系統(tǒng)互連參考模型,從低到高地定義了藍(lán)牙協(xié)議堆棧的各個層次,如圖1所示。按照藍(lán)牙協(xié)議的邏輯功能,協(xié)議堆棧由下至上分為三個部分:傳輸協(xié)議、中介協(xié)議和應(yīng)用協(xié)議。本文中主機(jī)控制接口(HCI)位于傳輸協(xié)議之中,它并不是嚴(yán)格意義上的通信協(xié)議,它僅為應(yīng)用協(xié)議堆棧的高層部分提供了一個訪問低層傳輸協(xié)議的指令接口。如果我們從HCI層出發(fā),可以將藍(lán)牙協(xié)議堆棧分為硬件與軟件2個協(xié)議塊。硬件部分由射頻部分(RF)、基帶部分(BB)、鏈路管理器部分(LM)和HCI固件構(gòu)成,我們也可以把硬件部分稱為藍(lán)牙子系統(tǒng)。軟件部分由HCI主機(jī)驅(qū)動程序、邏輯鏈路控制適配協(xié)議(L2CAP)、串口仿真協(xié)議(RFCOMM)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、電話控制協(xié)議(TCS)及其它應(yīng)用協(xié)議所構(gòu)成。在藍(lán)牙協(xié)議堆棧模型中的虛線部分為對本文中HCI協(xié)議層軟件的具體劃分。 2 HCI協(xié)議剖析 在藍(lán)牙協(xié)議模型中,HCI軟件驅(qū)動程序與HCI固件統(tǒng)一歸為HCI(主機(jī)控制接口),所以要基于HCI進(jìn)行開發(fā),首先必須了解HCI涉及的具體內(nèi)容。主機(jī)控制接口為藍(lán)牙硬件中基帶控制器和鏈路管理器提供了命令接口,從而實現(xiàn)對硬件狀態(tài)寄存器和控制寄存器的訪問,特別是該接口提供了對藍(lán)牙基帶的統(tǒng)一訪問模式。HCI分為主機(jī)、傳輸層、主控制器三部分,并在每一層為HCI系統(tǒng)提供不同的功能。本文把HCI協(xié)議層劃為HCI軟件和HCI硬件兩部分來加以討論。2.1HCI軟件HCI軟件部分可分為HCI固件和HCI驅(qū)動兩個部分。HCI固件位于主控制器。HCI固件通過對基帶命令、鏈路管理器命令、硬件狀態(tài)寄存器、控制寄存器和事件寄存器的訪問,實現(xiàn)藍(lán)牙硬件HCI指令。主控制器(HostController)意味著具有主控制接口功能的藍(lán)牙器件。與HCI固件不同,HCI驅(qū)動位于主機(jī),即協(xié)議模型中的HCI軟件驅(qū)動部分。若某事件發(fā)生,用HCI事件通知主機(jī),而主機(jī)將收到HCI事件的異步通知。當(dāng)主機(jī)發(fā)現(xiàn)有事件發(fā)生時,它將分析收到的事件包并決定何種事件發(fā)生。主機(jī)端的HCI驅(qū)動程序,一方面通過接口被藍(lán)牙應(yīng)用程序調(diào)用(本文所提到的藍(lán)牙應(yīng)用程序是相對于HCI層而言的,指的是構(gòu)建于通用外接模塊上的擴(kuò)展應(yīng)用程序),實現(xiàn)對上層應(yīng)用的承載;另一方面實現(xiàn)了協(xié)議中的HCI功能集,使主機(jī)可以向藍(lán)牙子系統(tǒng)發(fā)送HCI指令,或接收子系統(tǒng)返回的HCI事件。2.2HCI的硬件 HCI驅(qū)動和HCI固件是通過主控制器傳輸層(位于主控制器與主機(jī)之間的中間層)進(jìn)行通信的,這些中間層和主控制傳輸層提供了在沒有數(shù)據(jù)描述信息情況下傳輸數(shù)據(jù)的能力。在藍(lán)牙規(guī)范的描述中,藍(lán)牙子系統(tǒng)與主機(jī)之間共有3類數(shù)據(jù)轉(zhuǎn)移的方式、每一種數(shù)據(jù)在硬件接口均具有一定的封裝格式,分別是由3種傳輸層支持,分別為UART/RS232和USB。采用不同的主控制器傳輸層對主機(jī)所接收的HCI事件異步通知不會產(chǎn)生影響。3 藍(lán)牙應(yīng)用開發(fā)方案在圖1中所提到的主機(jī)是一個廣義的概念,可以是以MPU為核心的計算機(jī)、也可以是以MCU為核心的控制電路,二者用途各異。其中以MCU為核心的控制電路適用于嵌入式應(yīng)用開發(fā),而以MPU為核心的計算機(jī)則適合于人機(jī)接口的軟件開發(fā)。藍(lán)牙協(xié)議為建立于藍(lán)牙技術(shù)之上的多種應(yīng)用提供了完整的解決辦法,但對于不同應(yīng)用一般只用到藍(lán)牙協(xié)議中的某幾個,而且對于每部分協(xié)議也不用它所提供的全部功能。進(jìn)而,在藍(lán)牙應(yīng)用開發(fā)中可以從不同的協(xié)議層入手。在開發(fā)藍(lán)牙系統(tǒng)時,一般采用兩種方式進(jìn)行開發(fā),一種是采用只提供無線接口的簡單模塊,從藍(lán)牙子系統(tǒng)做起,再針對應(yīng)用自行開發(fā)主芯片,該主芯片包括從基帶層到應(yīng)用層的完整藍(lán)牙協(xié)議棧,這種開發(fā)方式較為復(fù)雜,但不一定需要HCI層;另一種方法是購買由供應(yīng)商提供的完整的藍(lán)牙模塊,這些模塊實現(xiàn)了藍(lán)牙子系統(tǒng)的全部或部分功能,屏蔽了射頻和基帶兩個硬件協(xié)議層,可以直接在HCI基礎(chǔ)上進(jìn)行開發(fā)。目前供應(yīng)商提供的藍(lán)牙模塊大致可分為2類,第1類為只實現(xiàn)了藍(lán)牙鏈路控制功能的模塊,第2類為藍(lán)牙鏈路控制與嵌入式HCI驅(qū)動功能均已實現(xiàn)的模塊。這2類模塊的主要不同之處在于第2類包括一個RISC(精簡指令集計算機(jī))處理器,實現(xiàn)鏈路控制和HCI功能,而第1類的RISC則不具有HCI功能。在實際應(yīng)用中,要根據(jù)實際情況而選擇不同類型的模塊。如果選用集成了鏈路控制與HCI驅(qū)動功能的藍(lán)牙模塊,那么就可以在一個比較完整的平臺上進(jìn)行開發(fā)。如果主機(jī)具有USB或UART接口,在藍(lán)牙模塊與主機(jī)信號電平兼容的情況下,接口連接可以不需要其它輔助硬件電路。許多情況下,USB或UART接口集成在主機(jī)的核心芯片上,所以可以實現(xiàn)藍(lán)牙模塊與主機(jī)的無縫接口。這種模型下的藍(lán)牙技術(shù)應(yīng)用開發(fā),主要工作集中在藍(lán)牙主機(jī)端軟件的實現(xiàn)上,包括HCI驅(qū)動程序與傳輸層驅(qū)動程序。正是由于這種藍(lán)牙模塊實現(xiàn)了嵌入式HCI協(xié)議,所以應(yīng)用開發(fā)可以直接從HCI層開始,避免了基帶與射頻的硬件實現(xiàn),是一種全軟件式的開發(fā)模式,開發(fā)成果具有很好的可移植性。本文中正是采用了這一開發(fā)方案進(jìn)行的藍(lán)牙通用外接模塊的開發(fā)。通過封裝HCI協(xié)議層,可以生成標(biāo)準(zhǔn)的HCI接口函數(shù),為上層的應(yīng)用開發(fā)(在本文指的是藍(lán)牙通用模塊)提供一個完整的平臺。 制功能的藍(lán)牙模塊,由于它不提供HCI傳輸層接口和嵌入式HCI驅(qū)動程序。此時,嵌入式HCI驅(qū)動程序的功能將轉(zhuǎn)嫁給主機(jī)來實現(xiàn)。這樣,與前一種開發(fā)模式相比,主機(jī)的HCI層驅(qū)動程序?qū)⒆兊檬謴?fù)雜,開發(fā)周期也將是比較長的。藍(lán)牙通用外接模塊設(shè)計開發(fā)實例筆者基于HCI成功地開發(fā)了一種在現(xiàn)有的供應(yīng)商提供的藍(lán)牙模塊基礎(chǔ)上進(jìn)行指令重新解釋與結(jié)構(gòu)封裝的通用外接模塊。本模塊最終面向基于此通用模塊的擴(kuò)展應(yīng)用,提供了USB接口、UART/RS232接口、耳機(jī)接口、麥克MIC接口、鍵盤等多種接口,可同時進(jìn)行數(shù)據(jù)和語音信息的傳輸。該通用外接模塊既可以單獨構(gòu)成藍(lán)牙應(yīng)用系統(tǒng)使用,也可以與主機(jī)連接使用,使用應(yīng)用者很方便地借助于藍(lán)牙技術(shù)來實現(xiàn)應(yīng)用產(chǎn)品的無線通訊。為了對此通用外接模塊進(jìn)行功能測試,在實驗開發(fā)階段(本文中對此通用模塊說明均是針對開發(fā)階段的),筆者使用了兩臺PC作為通用外接模塊之上的擴(kuò)展應(yīng)用的主體,2個通用外接模塊分別作為藍(lán)牙piconet中的主、從設(shè)備,藍(lán)牙設(shè)備通過UART或USB口由PC處接收命令和數(shù)據(jù)信息,通用外接模塊對此信息進(jìn)行處理后,以無線傳輸方式將信息發(fā)至另一藍(lán)牙設(shè)備的應(yīng)用主體PC處。下面從硬件和軟件兩個方面加以介紹,本文論及的設(shè)計主要包括藍(lán)牙通用模塊及作為擴(kuò)展應(yīng)用主體的PC兩大部分。4.1硬件設(shè)計藍(lán)牙通用模塊部分硬件電路主要由語音芯片、微控制器部分(即藍(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語音芯片;藍(lán)牙模塊采用的是Ericsson公司生產(chǎn)的模塊,型號為ROK101007,屬于本文提到的第2類模塊,采用ARM7芯片作為RISC處理器。 在硬件實現(xiàn)上,微控制器部分主要由DS89C420微控制器、電源系統(tǒng)、振蕩電路、復(fù)位電路、接口電平轉(zhuǎn)換電路等幾部分組成,微控制單元是核心部分。電平轉(zhuǎn)換電路用于在藍(lán)牙模塊與PC通信接口之間進(jìn)行電平的轉(zhuǎn)換。另外還包括一些不同類型的接口電路、跳線開關(guān)電路以及若干狀態(tài)LED等外圍器件,以備建立于通用外接模塊之上的擴(kuò)展應(yīng)用及通訊狀態(tài)監(jiān)測的需要。 4.2軟件設(shè)計4.2.1PC部分軟件設(shè)計PC部分測試程序主要是開發(fā)藍(lán)牙應(yīng)用組件,測試程序運行于Windows操作系統(tǒng)之上,提供了USB和串口驅(qū)動程序,應(yīng)用程序函數(shù)接口(API)等,具體可分為PC串口初始化、藍(lán)牙通信參數(shù)設(shè)定、藍(lán)牙通用外接模塊控制、HCI指令封裝、數(shù)據(jù)信息處理等幾個部分。 其中第一步要做的工作是初始化計算機(jī)串口,串口參數(shù)可以根據(jù)實際需要進(jìn)行選擇。第二步要進(jìn)行的是藍(lán)牙模塊參數(shù)的設(shè)定,其中包括藍(lán)牙設(shè)備主從設(shè)定、藍(lán)牙模塊初始化參數(shù)的設(shè)定、程序監(jiān)測設(shè)定等幾部分。以上所有這些動態(tài)設(shè)定,是通過擴(kuò)展應(yīng)用主體(此外為PC)往通用外接模塊串口發(fā)送公共變量而實現(xiàn)的。當(dāng)收到參數(shù)設(shè)定成功消息后,進(jìn)行下一步,即向通用外接模塊串口發(fā)送命令消息來實現(xiàn)藍(lán)牙設(shè)備的初始化、查詢、鏈接建立過程,在收到通用模塊發(fā)回的鏈接建立完成的反饋信息后,即可按一定的格式將數(shù)據(jù)信息發(fā)往通用外接模塊接口,完成數(shù)據(jù)信息的無線傳輸。4.2.2通用外接模塊軟件設(shè)計 通用外接模塊一方面從PC方的RS-232串口接收PC端的公共參數(shù)信息(用于串口初始化及藍(lán)牙模塊參數(shù)設(shè)定)、命令信息及數(shù)據(jù)信息,另一方面發(fā)送相應(yīng)的HCI指令給藍(lán)牙模塊ROK101007,然后將返回的事件進(jìn)行分析處理,最終將有關(guān)程序狀態(tài)、通訊數(shù)據(jù)信息返回給本地PC。軟件實現(xiàn)的全部功能是通過C51語言進(jìn)行開發(fā)的,由專用寄存器設(shè)置子程序、中斷處理程序、定時器中斷程序、看門狗程序、鏈路初始化子程序、鏈路建立子程序、通信數(shù)據(jù)處理子程序、斷開鏈路子程序、藍(lán)牙測試子程序等功能塊來完成。所有程序信息對于通用外接模塊以外的擴(kuò)展應(yīng)用主體而言都是不可見的,擴(kuò)展應(yīng)用只需按一定的格式發(fā)送相應(yīng)的信息給通用外接模塊即可完成整個通信過程,在此就不對程序進(jìn)行具體的說明了。 至此,通用外接模塊開發(fā)實驗階段軟件設(shè)計完成,通過測試本模塊完全達(dá)到了預(yù)期的要求,數(shù)據(jù)傳輸正常,性能良好。 本封裝模塊之所以被加以“通用”二字來界定,是因為本模塊在功能上很好地做到了以下幾點:本模塊提供了對多種擴(kuò)展應(yīng)用接口的支持,包括UART/USB以及語音傳輸接口。 (2)本模塊既支持以MPC為擴(kuò)展應(yīng)用主體的計算機(jī)上的擴(kuò)展應(yīng)用,又支持以MCU為擴(kuò)展主體的控制器件上的擴(kuò)展應(yīng)用;(3)本模塊提供對多種操作系統(tǒng)的支持,目前為止,支持Windows95/98/2000/xp及Linux操作系統(tǒng)。5 一種構(gòu)建于通用外接模塊之上無線通訊擴(kuò)展應(yīng)用裁判系統(tǒng) 目前,在很多大型賽事中比賽所采用的裁判打分系統(tǒng)大都是采用有纜連接的方式進(jìn)行的,各位裁判將各自的評定的比賽成績通過有線的電纜傳輸?shù)街骺貦C(jī)上進(jìn)行綜合評定,然后產(chǎn)生最終的結(jié)果。但這一系統(tǒng)存在著一個很明顯的不足之外,就是有纜連接所帶來的不便性,而通過采用筆者所設(shè)計的通用外接模塊后,通過在通用外接模塊的基礎(chǔ)上相應(yīng)地增加LCD、鍵盤和MCU后,只要對外加的MCU進(jìn)行簡單的編程既可實現(xiàn)裁判打分系統(tǒng)的無線通訊化。 日前,筆者參與設(shè)計的藍(lán)牙無線打分系統(tǒng)已被成功地用于很多大型比賽之中。6 結(jié)束語藍(lán)牙產(chǎn)品的開發(fā)重在有特色的應(yīng)用,在通用模塊的基礎(chǔ)上進(jìn)行外圍設(shè)備的開發(fā)和上層軟件的編寫,可以大大地縮短產(chǎn)品的開發(fā)周期,為各種藍(lán)牙應(yīng)用奠定了基礎(chǔ),從而方便地實現(xiàn)產(chǎn)品的藍(lán)牙無線通訊,使人們擺脫各種線纜的束縛。目前基于藍(lán)牙技術(shù)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校散裝油管理制度
- 學(xué)校移動化管理制度
- 學(xué)校車安全管理制度
- 安全同質(zhì)化管理制度
- 完善團(tuán)支部管理制度
- 寶安局車輛管理制度
- 實驗室保養(yǎng)管理制度
- 審計網(wǎng)格化管理制度
- 宣傳處經(jīng)費管理制度
- 家具廠財務(wù)管理制度
- 2025年江蘇高考?xì)v史真題(解析版)
- 廣西來賓市2023-2024學(xué)年高二下學(xué)期7月期末考試物理試題(含答案)
- 2026屆高考議論文寫作專題:議論文基礎(chǔ)寫作結(jié)構(gòu)
- 2025家庭裝飾裝修合同范本
- 農(nóng)村自建房流程
- 醫(yī)生護(hù)士家長進(jìn)課堂助教兒童醫(yī)學(xué)小常識課件
- DLT 572-2021 電力變壓器運行規(guī)程
- 內(nèi)科常見病、多發(fā)病的急診處理、診療規(guī)范及轉(zhuǎn)診要求
- 高級會計師考試試題及答案解析
- 路基土石方填筑首件工程總結(jié)
- 干式變壓器原理和故障排除
評論
0/150
提交評論