藍牙局域網(wǎng)接入點(diǎn)的嵌入式實(shí)現
一. 引言
本文引用地址:http://dyxdggzs.com/article/150436.htm藍牙技術(shù)將計算和通訊很好地結合起來(lái),根據網(wǎng)絡(luò )的概念提供點(diǎn)對點(diǎn)和點(diǎn)對多點(diǎn)的無(wú)線(xiàn)鏈接,使人們能隨時(shí)隨地地進(jìn)行數據信息的交換與傳輸。隨著(zhù)各種藍牙終端設備的普及,為它們提供局域網(wǎng)訪(fǎng)問(wèn)的嵌入式局域網(wǎng)接入點(diǎn)會(huì )有廣泛的應用場(chǎng)合。使用籃牙無(wú)線(xiàn)通信的直接網(wǎng)絡(luò )接入要優(yōu)于同等條件下的有線(xiàn)接入,隨著(zhù)各種藍牙終端設備的普及,為它們提供局域網(wǎng)訪(fǎng)問(wèn)的嵌入式接入點(diǎn)會(huì )有廣泛的應用場(chǎng)合。
本文所介紹的局域網(wǎng)接入點(diǎn) LAP(LAN Access Point)解決了藍牙設備對有線(xiàn)網(wǎng)絡(luò )的訪(fǎng)問(wèn)問(wèn)題,它不同于目前基于Windows開(kāi)發(fā)平臺的藍牙網(wǎng)關(guān)。如圖一所示,本嵌入式局域網(wǎng)接入點(diǎn)類(lèi)似于一個(gè)小小插件,直接插在現有的有線(xiàn)網(wǎng)絡(luò )拓撲結構里,只是在最后一步才是無(wú)線(xiàn)的,這樣就有效地利用了已有網(wǎng)絡(luò )資源,需要更少的配制和干預,也更接近人們的使用習慣,讓各種藍牙終端設備便利的接入現有的局域網(wǎng),給藍牙技術(shù)的推廣應用帶來(lái)極大的方便。藍牙局域網(wǎng)接入點(diǎn)實(shí)現了藍牙協(xié)議子集中的LAN Access Profile,對于已經(jīng)實(shí)現TCP/IP協(xié)議的藍牙設備,藍牙局域網(wǎng)接入點(diǎn)可以運行PPP 協(xié)議與該類(lèi)藍牙設備實(shí)現通訊,從而達到將該類(lèi)藍牙設備接入到Ethernet及Internet的目的。
二. 系統硬件結構
本系統的硬件主要由兩大部分組成:藍牙模塊和嵌入式微處理器,另外還有電源、鍵盤(pán)、顯示等輔助電路。圖二給出了籃牙局域網(wǎng)接入點(diǎn)LAP (LAN Access Point)的硬件框圖。藍牙模塊采用愛(ài)立信的 BOM4E,它將無(wú)線(xiàn)射頻、基帶、鏈路控制器和管理器封裝在一起。在模塊中,無(wú)線(xiàn)層和鏈路控制器通過(guò)硬件來(lái)實(shí)現,而鏈路管理器在固件中實(shí)現,將該模塊附著(zhù)在一個(gè)主機設備上后,該設備就具有了藍牙無(wú)線(xiàn)通信的功能。藍牙模塊的射頻單元功率也符合FCC關(guān)于ISM頻段的要求,采用時(shí)分雙工(TDD)方案來(lái)實(shí)現全雙工傳輸。藍牙模塊通過(guò)UART接口同微處理器通訊,它提供了標準的主機控制器接口(Host Control Interface), 允許包括應用在內的高層協(xié)議訪(fǎng)問(wèn)基帶層、鏈路管理層以及其他的硬件寄存器,主機發(fā)射和接受數據時(shí),無(wú)論是同步業(yè)務(wù)還是異步業(yè)務(wù)都是通過(guò)HCI來(lái)傳送。當接收到來(lái)自微處理器的HCI命令后,模塊可以進(jìn)入某一種給定的操作模式,比如,完成一種鑒權操作,或者執行一個(gè)設備的尋呼狀態(tài)。反之,模塊可以通過(guò)HCI事件向高層協(xié)議傳送一個(gè)設備請求操作結果等。
微處理器是本系統的核心部分,負責藍牙中間層協(xié)議的處理、網(wǎng)絡(luò )協(xié)議的實(shí)現以及整個(gè)系統的控制功能。IP2022是一款高性能的微處理器,它有兩個(gè)全雙工串化解串接口(Ser/Des),能方便地同藍牙模塊以及網(wǎng)絡(luò )接口相連。它包含64K FLASH數據存儲器,20K SRAM程序存儲器。內置三個(gè)定時(shí)器和一個(gè)硬件看門(mén)狗。微處理器的網(wǎng)絡(luò )處理功能通過(guò)以太網(wǎng)接口RJ45直接將藍牙無(wú)線(xiàn)網(wǎng)絡(luò )接入到局域網(wǎng)絡(luò )(LAN)中。它能進(jìn)行數據的上傳和下行,既能將無(wú)線(xiàn)接收到的數據打包為標準的TCP/IP包上傳到局域網(wǎng),也能接受來(lái)自局域網(wǎng)上的數據。用戶(hù)可以使用預創(chuàng )建軟件模塊和配置工具,對IP2022進(jìn)行編程和重編程,為各種設備間通信和人機通信創(chuàng )建真正的單片式網(wǎng)絡(luò )應用方案。在模塊內部實(shí)現了物理層、鏈路層、網(wǎng)絡(luò )層協(xié)議及部分應用層協(xié)議,在網(wǎng)絡(luò )傳輸層,可以進(jìn)行TCP、UDP傳輸,在應用層,有FTP文件傳輸等服務(wù)。
三. 軟件協(xié)議棧
藍牙的核心部分是協(xié)議棧,藍牙協(xié)議棧允許多個(gè)設備進(jìn)行相互的定位、連接和交換數據,并能實(shí)現互操作和交互式的應用。藍牙的協(xié)議棧分別運行在藍牙模塊及微處理器上面,是管理系統資源、控制硬件、通過(guò)HCI對來(lái)自主機的命令進(jìn)行處理、完成藍牙功能的嵌入式軟件。由于本系統的藍牙模塊提供了基帶的功能和實(shí)現鏈路管理器協(xié)議,主機是通過(guò)HCI層來(lái)控制藍牙的,所以系統要做的工作就是要給主機提供HCI的接口,并在HCI接口上開(kāi)發(fā)中間層協(xié)議以及為應用提供應用接口。在藍牙的協(xié)議中,藍牙主機軟件實(shí)現L2CAP功能和上層HCI的驅動(dòng)程序;PPP、IP、TCP/UDP等協(xié)議歸屬于TCP/IP協(xié)議,已經(jīng)相當成熟,并且被絕大多數操作系統實(shí)現,在本系統中由微處理器IP2022來(lái)完成。設計協(xié)議和協(xié)議棧的主要原則是盡可能利用現有的各種高層協(xié)議,保證現有協(xié)議與藍牙技術(shù)的融合以及各種應用之間的互通性,充分利用兼容藍牙技術(shù)規范的軟硬件系統。協(xié)議棧(如圖三)的各種單元在邏輯上可以被分為三組:底層協(xié)議組、中間件協(xié)議組、應用協(xié)議組。
1) 底層協(xié)議組:這個(gè)協(xié)議組包含的協(xié)議主要用于使籃牙設備能確認彼此的相互位置,并且能夠創(chuàng )建、配置和管理物理以及邏輯的鏈路,以便使高層協(xié)議和上層應用經(jīng)這些鏈路利用傳輸協(xié)議來(lái)傳輸數據。這個(gè)協(xié)議組包括無(wú)線(xiàn)、基帶、鏈路控制器和管理器協(xié)議。本系統采用的藍牙模塊已經(jīng)固化有藍牙的底層協(xié)議,并且提供了標準的訪(fǎng)問(wèn)接口(HCI),不再這里討論。
2) 中間協(xié)議組:這是本系統需要開(kāi)發(fā)的核心部分,包括有邏輯鏈路控制及適配協(xié)議(L2CAP)、服務(wù)搜索協(xié)議(SDP)、基于TS07.10的串口仿真協(xié)議(RFCOMM)。
3) 應用協(xié)議組:本系統實(shí)現了籃牙的協(xié)議子集LAN Access Point(LAP),這種應用模式在藍牙連接上使用IETF的點(diǎn)到點(diǎn)協(xié)議(PPP),PPP是一種廣泛使用的Internet標準,為IP通訊提供了主機配置和準備,PPP是為在同等單元之間傳輸數據包這樣的簡(jiǎn)單的鏈路而設計的。這種鏈路提供全雙工操作,并按照順序傳遞數據包。PPP為基于各種主機、網(wǎng)橋和路由器的簡(jiǎn)單連接提供一種共通的解決方案。使用PPP是LAP的關(guān)鍵,PPP適用于數據接入點(diǎn)和數據終端間的連接。IP網(wǎng)絡(luò )業(yè)務(wù)能夠在PPP鏈路上傳輸,PPP在設計時(shí)已經(jīng)考慮到了要在串行連接上使用,因此在LAP中PPP可以運行在串口仿真協(xié)議RFCOMM之上。UDP、TCPIP是由IETF定義,主要用于Internet上的通訊。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論