摘 要: 以51單片機P89V51RD2為主控制器,、ROK101008為藍牙模塊、W3100A為TCP/IP硬件協(xié)議棧,、以太網(wǎng)網(wǎng)卡芯片RTL8201為網(wǎng)絡(luò)接口,,介紹了一種基于藍牙的無線接入點的硬件結(jié)構(gòu)和軟件流程。該設(shè)計支持TCP/IP協(xié)議和藍牙協(xié)議,,具備藍牙設(shè)備的無線上網(wǎng)功能,,通過Internet實現(xiàn)數(shù)據(jù)的遠程傳輸。
關(guān)鍵詞: 藍牙技術(shù),;無線接入技術(shù),;以太網(wǎng);互聯(lián)網(wǎng)
無線接入技術(shù)是實現(xiàn)無線網(wǎng)接入有線網(wǎng)的網(wǎng)絡(luò)通信技術(shù),,其典型應(yīng)用就是無線接入點,。無線接入點是一個用于將無線網(wǎng)與有線網(wǎng)連接到一起,使無線客戶端和有線網(wǎng)絡(luò)之間能夠相互發(fā)送和接收數(shù)據(jù)的裝置,,是無線移動終端設(shè)備接入到Internet的網(wǎng)絡(luò)接口,。無線移動終端可通過無線接入點訪問Internet資源[1]。
基于藍牙的無線接入點就是實現(xiàn)藍牙無線移動終端接入Internet的網(wǎng)絡(luò)接口,,其主要功能是通過藍牙無線傳輸技術(shù),,使藍牙設(shè)備接入Internet網(wǎng),實現(xiàn)一個或數(shù)個藍牙設(shè)備的無線上網(wǎng)功能,。
1 藍牙接入點的組成
藍牙接入點的結(jié)構(gòu)框圖如圖1所示,。它由前端和后端兩部分組成,前端部分由藍牙模塊和單片機組成,,構(gòu)成藍牙收/發(fā)模塊,,主要功能是通過藍牙協(xié)議,與其他藍牙設(shè)備建立無線鏈接,實現(xiàn)藍牙設(shè)備間的無線通信,;后端則由單片機和TCP/IP協(xié)議棧芯片,、以太網(wǎng)網(wǎng)卡芯片組成,構(gòu)成單片機網(wǎng)絡(luò)接口模塊,,主要功能是通過TCP/IP協(xié)議棧芯片,、網(wǎng)卡芯片,再經(jīng)RJ45接入Internet,,根據(jù)TCP/IP協(xié)議,,與Internet上的服務(wù)器進行通信,實現(xiàn)數(shù)據(jù)的遠程傳輸,。這樣,,通過藍牙接入點就可實現(xiàn)從藍牙網(wǎng)接入到Internet網(wǎng),完成藍牙協(xié)議與TCP/IP協(xié)議的轉(zhuǎn)換,。藍牙接入點為其他藍牙設(shè)備提供了無線上網(wǎng)途徑,。
2 藍牙接入點的設(shè)計
由圖1可知,藍牙接入點的設(shè)計包括藍牙收/發(fā)模塊的設(shè)計和單片機網(wǎng)絡(luò)接口模塊的設(shè)計,,每個模塊又包括硬件設(shè)計和軟體設(shè)計兩部分,。
2.1 藍牙收/發(fā)模塊設(shè)計
2.1.1 硬件設(shè)計
藍牙收/發(fā)模塊主要由單片機通過異步串行通信接口與藍牙模塊連接而成。由于單片機與藍牙模塊的工作電壓不一定相同,,不僅需要考慮電源變換問題,,還需要考慮邏輯電平的轉(zhuǎn)換問題。若所選單片機與藍牙模塊都是+3.3 V供電,,則可把單片機的UART串口與藍牙模塊的UART串口直接相連接,。
在本設(shè)計中,所選用的單片機P89V51RD2是+5 V供電,,ROK101008是+3.3 V供電,,需要進行電源變換。電源變換電路比較簡單,,采用電源變換芯片AMS1117-3.3即可,。至于邏輯電平轉(zhuǎn)換,可在P89V51RD2與ROK101008之間接入IDT公司的電平轉(zhuǎn)換芯片IDT74FCT164245T,,其連接示意圖如圖2所示,。
2.1.2 軟體設(shè)計
藍牙收/發(fā)模塊的軟體設(shè)計包括藍牙鏈接和數(shù)據(jù)的收/發(fā)兩部分。藍牙設(shè)備間的通信主要是通過單片機向藍牙模塊發(fā)送HCI指令,、接收HCI事件的形式實現(xiàn)[2-3],。當兩個藍牙模塊鏈接成功后,就可以按照藍牙規(guī)范規(guī)定的ACL數(shù)據(jù)包格式收/發(fā)數(shù)據(jù),。
本系統(tǒng)設(shè)計的是藍牙終端點對點的鏈接,,其通信流程如圖3所示,。由圖可知,藍牙通信過程主要有藍牙模塊的初始化,、查詢,、鏈接、數(shù)據(jù)通信和鏈接斷開等幾個過程,。實現(xiàn)時,,可以將藍牙指令以函數(shù)的形式封裝成一個HCI指令接口函數(shù)庫。編寫HCI驅(qū)動程序時,,可直接從函數(shù)庫中調(diào)用HCI指令函數(shù),,對藍牙設(shè)備進行基本操作,如對藍牙設(shè)備進行復(fù)位,、讀取藍牙設(shè)備的地址,、初始化、查詢,、建立鏈接,、收發(fā)數(shù)據(jù)和斷開鏈接等[4],。
2.2 單片機網(wǎng)絡(luò)接口模塊設(shè)計
2.2.1 硬件設(shè)計
單片機網(wǎng)絡(luò)接口模塊主要由單片機P89V51RD2,、TCP/IP硬件協(xié)議棧芯片W3100A及物理收發(fā)芯片RTL8201BL組成,完成單片機與Internet間的通信,。
W3100A芯片提供了直接總線模式(Direct Bus I/F),、間接總線模式(Indirect Bus I/F)和I2C總線模式(I2C Bus I/F)三種不同的接口模式與MCU相連接。為了提高數(shù)據(jù)的網(wǎng)絡(luò)傳輸速率,,本設(shè)計采用直接總線模式和時鐘工作模式,。單片機與W3100A的硬件連接示意圖如圖4所示。
W3100A是韓國Wiznet公司專門為以太網(wǎng)互聯(lián)和嵌入式設(shè)備推出的一款硬件TCP/IP協(xié)議棧芯片,。在芯片硬件中安裝了簡單的TCP/IP協(xié)議棧,,實現(xiàn)了軟件硬化,降低了軟件開發(fā)的開銷及難度,。W3100A提供MII接口與PHY芯片RTL8201BL相連,。
2.2.2 軟體設(shè)計
對于W3100A,可配置成客戶端,,也可配置成服務(wù)器端,。W3100A的客戶端工作模式與服務(wù)器端工作模式基本相同,不同的地方是,,只要把客戶端工作流程中發(fā)起鏈接請求處改成偵聽鏈接請求,,則客戶端工作模式就變成了服務(wù)器端工作模式。本設(shè)計中把W3100A配置成客戶端,,在建立起與PC服務(wù)器的連接后,,就可實現(xiàn)數(shù)據(jù)的發(fā)送和接收,。整個過程的建立基于TCP協(xié)議??蛻舳酥鞒绦虻牧鞒倘鐖D5所示,。從客戶端主程序的流程可以看出,客戶端的工作過程包括初始化,、建立鏈接,、收發(fā)數(shù)據(jù)和終止鏈接四個步驟。在所有初始化及參數(shù)設(shè)置完成以后,,就可發(fā)起鏈接請求,。若鏈接失敗,則返回重新執(zhí)行SOCKET初始化程序,。若鏈接成功,,程序?qū)⒆x取SOCKET狀態(tài)寄存器的內(nèi)容,判斷SOCKET所處的狀態(tài),,然后,,根據(jù)SOCKET所處狀態(tài)的不同進行相應(yīng)的處理。整個TCP/IP的工作過程都是建立在W3100A的中斷機制基礎(chǔ)之上,。
W3100A芯片的工作方式類似于Windows的Socket API,,WIZnet公司為W3100A提供了專門的Socket API軟件包,只要調(diào)用Socket API函數(shù),,就可很方便地用單片機C語言來編寫單片機的網(wǎng)絡(luò)通信接口程序,。
藍牙技術(shù)以其成本低、組網(wǎng)靈活等優(yōu)點正成為當今世界的一個研究熱點,,是下一代無線個人區(qū)域網(wǎng)(WPAN)的理想實現(xiàn)技術(shù),。與目前的IEEE802.11以太網(wǎng)無線接入技術(shù)相比,基于藍牙的無線接入技術(shù)在小區(qū)域組網(wǎng)中更具優(yōu)勢,。作為藍牙無線接入技術(shù)的典型應(yīng)用,,藍牙接入點具有廣泛的應(yīng)用前景,如機器人,、遠程監(jiān)控,、數(shù)據(jù)遠程傳輸及無線上網(wǎng)等??梢灶A(yù)見,,在不久的將來,基于藍牙技術(shù)的移動通信產(chǎn)品及移動互聯(lián)網(wǎng)必將在工農(nóng)業(yè)生產(chǎn)和人們的生活中應(yīng)用越來越廣泛,。
參考文獻
[1] 黎連業(yè),,郭春芳,向東明.無線網(wǎng)絡(luò)及其應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,,2004.
[2] 何國泉,,李躍忠,,黃志紅.基于HCI層的單片機對藍牙模塊的控制[J].科技廣場,2005(1):43-46.
[3] 金純,,許光辰.藍牙技術(shù)[M].北京:電子工業(yè)出版社,,2001.
[4] 王瀾.藍牙技術(shù)及其在測試與監(jiān)控系統(tǒng)中的應(yīng)用探討[J].中國鐵道科學(xué),2002,,23(6):24-29.