www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]藍(lán)牙局域網(wǎng)接入點(diǎn)的嵌入式實(shí)現(xiàn)

一. 引言

  藍(lán)牙技術(shù)將計(jì)算和通訊很好地結(jié)合起來(lái),根據(jù)網(wǎng)絡(luò)的概念提供點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)的無(wú)線鏈接,使人們能隨時(shí)隨地地進(jìn)行數(shù)據(jù)信息的交換與傳輸。隨著各種藍(lán)牙終端設(shè)備的普及,為它們提供局域網(wǎng)訪問(wèn)的嵌入式局域網(wǎng)接入點(diǎn)會(huì)有廣泛的應(yīng)用場(chǎng)合。使用籃牙無(wú)線通信的直接網(wǎng)絡(luò)接入要優(yōu)于同等條件下的有線接入,隨著各種藍(lán)牙終端設(shè)備的普及,為它們提供局域網(wǎng)訪問(wèn)的嵌入式接入點(diǎn)會(huì)有廣泛的應(yīng)用場(chǎng)合。

  本文所介紹的局域網(wǎng)接入點(diǎn) LAP(LAN Access Point)解決了藍(lán)牙設(shè)備對(duì)有線網(wǎng)絡(luò)的訪問(wèn)問(wèn)題,它不同于目前基于Windows開(kāi)發(fā)平臺(tái)的藍(lán)牙網(wǎng)關(guān)。如圖一所示,本嵌入式局域網(wǎng)接入點(diǎn)類似于一個(gè)小小插件,直接插在現(xiàn)有的有線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)里,只是在最后一步才是無(wú)線的,這樣就有效地利用了已有網(wǎng)絡(luò)資源,需要更少的配制和干預(yù),也更接近人們的使用習(xí)慣,讓各種藍(lán)牙終端設(shè)備便利的接入現(xiàn)有的局域網(wǎng),給藍(lán)牙技術(shù)的推廣應(yīng)用帶來(lái)極大的方便。藍(lán)牙局域網(wǎng)接入點(diǎn)實(shí)現(xiàn)了藍(lán)牙協(xié)議子集中的LAN Access Profile,對(duì)于已經(jīng)實(shí)現(xiàn)TCP/IP協(xié)議的藍(lán)牙設(shè)備,藍(lán)牙局域網(wǎng)接入點(diǎn)可以運(yùn)行PPP 協(xié)議與該類藍(lán)牙設(shè)備實(shí)現(xiàn)通訊,從而達(dá)到將該類藍(lán)牙設(shè)備接入到Ethernet及Internet的目的。

  二. 系統(tǒng)硬件結(jié)構(gòu)

  本系統(tǒng)的硬件主要由兩大部分組成:藍(lán)牙模塊和嵌入式微處理器,另外還有電源、鍵盤、顯示等輔助電路。圖二給出了籃牙局域網(wǎng)接入點(diǎn)LAP (LAN Access Point)的硬件框圖。藍(lán)牙模塊采用愛(ài)立信的 BOM4E,它將無(wú)線射頻、基帶、鏈路控制器和管理器封裝在一起。在模塊中,無(wú)線層和鏈路控制器通過(guò)硬件來(lái)實(shí)現(xiàn),而鏈路管理器在固件中實(shí)現(xiàn),將該模塊附著在一個(gè)主機(jī)設(shè)備上后,該設(shè)備就具有了藍(lán)牙無(wú)線通信的功能。藍(lán)牙模塊的射頻單元功率也符合FCC關(guān)于ISM頻段的要求,采用時(shí)分雙工(TDD)方案來(lái)實(shí)現(xiàn)全雙工傳輸。藍(lán)牙模塊通過(guò)UART接口同微處理器通訊,它提供了標(biāo)準(zhǔn)的主機(jī)控制器接口(Host Control Interface), 允許包括應(yīng)用在內(nèi)的高層協(xié)議訪問(wèn)基帶層、鏈路管理層以及其他的硬件寄存器,主機(jī)發(fā)射和接受數(shù)據(jù)時(shí),無(wú)論是同步業(yè)務(wù)還是異步業(yè)務(wù)都是通過(guò)HCI來(lái)傳送。當(dāng)接收到來(lái)自微處理器的HCI命令后,模塊可以進(jìn)入某一種給定的操作模式,比如,完成一種鑒權(quán)操作,或者執(zhí)行一個(gè)設(shè)備的尋呼狀態(tài)。反之,模塊可以通過(guò)HCI事件向高層協(xié)議傳送一個(gè)設(shè)備請(qǐng)求操作結(jié)果等。

  微處理器是本系統(tǒng)的核心部分,負(fù)責(zé)藍(lán)牙中間層協(xié)議的處理、網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)以及整個(gè)系統(tǒng)的控制功能。IP2022是一款高性能的微處理器,它有兩個(gè)全雙工串化解串接口(Ser/Des),能方便地同藍(lán)牙模塊以及網(wǎng)絡(luò)接口相連。它包含64K FLASH數(shù)據(jù)存儲(chǔ)器,20K SRAM程序存儲(chǔ)器。內(nèi)置三個(gè)定時(shí)器和一個(gè)硬件看門狗。微處理器的網(wǎng)絡(luò)處理功能通過(guò)以太網(wǎng)接口RJ45直接將藍(lán)牙無(wú)線網(wǎng)絡(luò)接入到局域網(wǎng)絡(luò)(LAN)中。它能進(jìn)行數(shù)據(jù)的上傳和下行,既能將無(wú)線接收到的數(shù)據(jù)打包為標(biāo)準(zhǔn)的TCP/IP包上傳到局域網(wǎng),也能接受來(lái)自局域網(wǎng)上的數(shù)據(jù)。用戶可以使用預(yù)創(chuàng)建軟件模塊和配置工具,對(duì)IP2022進(jìn)行編程和重編程,為各種設(shè)備間通信和人機(jī)通信創(chuàng)建真正的單片式網(wǎng)絡(luò)應(yīng)用方案。在模塊內(nèi)部實(shí)現(xiàn)了物理層、鏈路層、網(wǎng)絡(luò)層協(xié)議及部分應(yīng)用層協(xié)議,在網(wǎng)絡(luò)傳輸層,可以進(jìn)行TCP、UDP傳輸,在應(yīng)用層,有FTP文件傳輸?shù)确?wù)。

  三. 軟件協(xié)議棧

  藍(lán)牙的核心部分是協(xié)議棧,藍(lán)牙協(xié)議棧允許多個(gè)設(shè)備進(jìn)行相互的定位、連接和交換數(shù)據(jù),并能實(shí)現(xiàn)互操作和交互式的應(yīng)用。藍(lán)牙的協(xié)議棧分別運(yùn)行在藍(lán)牙模塊及微處理器上面,是管理系統(tǒng)資源、控制硬件、通過(guò)HCI對(duì)來(lái)自主機(jī)的命令進(jìn)行處理、完成藍(lán)牙功能的嵌入式軟件。由于本系統(tǒng)的藍(lán)牙模塊提供了基帶的功能和實(shí)現(xiàn)鏈路管理器協(xié)議,主機(jī)是通過(guò)HCI層來(lái)控制藍(lán)牙的,所以系統(tǒng)要做的工作就是要給主機(jī)提供HCI的接口,并在HCI接口上開(kāi)發(fā)中間層協(xié)議以及為應(yīng)用提供應(yīng)用接口。在藍(lán)牙的協(xié)議中,藍(lán)牙主機(jī)軟件實(shí)現(xiàn)L2CAP功能和上層HCI的驅(qū)動(dòng)程序;PPP、IP、TCP/UDP等協(xié)議歸屬于TCP/IP協(xié)議,已經(jīng)相當(dāng)成熟,并且被絕大多數(shù)操作系統(tǒng)實(shí)現(xiàn),在本系統(tǒng)中由微處理器IP2022來(lái)完成。設(shè)計(jì)協(xié)議和協(xié)議棧的主要原則是盡可能利用現(xiàn)有的各種高層協(xié)議,保證現(xiàn)有協(xié)議與藍(lán)牙技術(shù)的融合以及各種應(yīng)用之間的互通性,充分利用兼容藍(lán)牙技術(shù)規(guī)范的軟硬件系統(tǒng)。協(xié)議棧(如圖三)的各種單元在邏輯上可以被分為三組:底層協(xié)議組、中間件協(xié)議組、應(yīng)用協(xié)議組。

  1) 底層協(xié)議組:這個(gè)協(xié)議組包含的協(xié)議主要用于使籃牙設(shè)備能確認(rèn)彼此的相互位置,并且能夠創(chuàng)建、配置和管理物理以及邏輯的鏈路,以便使高層協(xié)議和上層應(yīng)用經(jīng)這些鏈路利用傳輸協(xié)議來(lái)傳輸數(shù)據(jù)。這個(gè)協(xié)議組包括無(wú)線、基帶、鏈路控制器和管理器協(xié)議。本系統(tǒng)采用的藍(lán)牙模塊已經(jīng)固化有藍(lán)牙的底層協(xié)議,并且提供了標(biāo)準(zhǔn)的訪問(wèn)接口(HCI),不再這里討論。

  2) 中間協(xié)議組:這是本系統(tǒng)需要開(kāi)發(fā)的核心部分,包括有邏輯鏈路控制及適配協(xié)議(L2CAP)、服務(wù)搜索協(xié)議(SDP)、基于TS07.10的串口仿真協(xié)議(RFCOMM)。

  3) 應(yīng)用協(xié)議組:本系統(tǒng)實(shí)現(xiàn)了籃牙的協(xié)議子集LAN Access Point(LAP),這種應(yīng)用模式在藍(lán)牙連接上使用IETF的點(diǎn)到點(diǎn)協(xié)議(PPP),PPP是一種廣泛使用的Internet標(biāo)準(zhǔn),為IP通訊提供了主機(jī)配置和準(zhǔn)備,PPP是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡(jiǎn)單的鏈路而設(shè)計(jì)的。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包。PPP為基于各種主機(jī)、網(wǎng)橋和路由器的簡(jiǎn)單連接提供一種共通的解決方案。使用PPP是LAP的關(guān)鍵,PPP適用于數(shù)據(jù)接入點(diǎn)和數(shù)據(jù)終端間的連接。IP網(wǎng)絡(luò)業(yè)務(wù)能夠在PPP鏈路上傳輸,PPP在設(shè)計(jì)時(shí)已經(jīng)考慮到了要在串行連接上使用,因此在LAP中PPP可以運(yùn)行在串口仿真協(xié)議RFCOMM之上。UDP、TCP&IP是由IETF定義,主要用于Internet上的通訊。[!--empirenews.page--]四. 協(xié)議棧的實(shí)現(xiàn)

 

  籃牙協(xié)議棧的設(shè)計(jì)主要包括:結(jié)構(gòu)設(shè)計(jì),重要數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),任務(wù)的管理,內(nèi)存的管理等等。

  1) 結(jié)構(gòu)設(shè)計(jì):系統(tǒng)采用單進(jìn)程的結(jié)構(gòu),由主程序循環(huán)的調(diào)用幾個(gè)任務(wù)。當(dāng)一個(gè)任務(wù)執(zhí)行完之后,才會(huì)進(jìn)入對(duì)下一個(gè)任務(wù)的執(zhí)行。任務(wù)的執(zhí)行不影響中斷的產(chǎn)生和中斷服務(wù)程序的調(diào)用,可以保證系統(tǒng)對(duì)外部事件的響應(yīng),構(gòu)成典型地前后臺(tái)系統(tǒng)。

  2) 重要數(shù)據(jù)結(jié)構(gòu)的確定:根據(jù)對(duì)藍(lán)牙協(xié)議的分析可知,協(xié)議的中心任務(wù)是建立和管理幾個(gè)藍(lán)牙設(shè)備之間的連接,建立通訊鏈路,并借此傳輸數(shù)據(jù)。因此對(duì)這種連接的建立,維護(hù)和參數(shù)管理是軟件最基本的功能。根據(jù)藍(lán)牙規(guī)范中連接的屬性和各種協(xié)議數(shù)據(jù)包的定義,可以確定對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。例如可以用結(jié)構(gòu)l2cap_con來(lái)描述邏輯鏈路控制和適配協(xié)議層的對(duì)等層間的連接通道。

  struct l2cap_con {

  BD_ADDR remote_bd; /* 6 bytes */

  unsigned short local_cid;

  unsigned short remote_cid;

  int current_state;

  unsigned short psm;

  unsigned short remote_mtu;

  unsigned short flush_timeout;

  …

  };

  其中BD_ADDR是一個(gè)6字節(jié)的結(jié)構(gòu),記錄連接中另一方的藍(lán)牙地址,local_cid是邏輯信道本地端設(shè)備信道標(biāo)示符,remote_con是遠(yuǎn)端信道標(biāo)示符,current_state表示目前的連接狀態(tài),psm是協(xié)議/服務(wù)復(fù)用段,remote_mtu是遠(yuǎn)端最大傳輸單位等等。還有其他一些變量用來(lái)說(shuō)明這個(gè)連接的一些屬性和狀態(tài)。通過(guò)這個(gè)數(shù)據(jù)結(jié)構(gòu),可以描述在L2CAP 對(duì)等層間的數(shù)據(jù)通道。除了結(jié)構(gòu)l2cap_con之外,還有許多用來(lái)描述各層協(xié)議數(shù)據(jù)包屬性的結(jié)構(gòu)也都是系統(tǒng)的核心結(jié)構(gòu),這里不再詳細(xì)列出。

  3) 任務(wù)管理:針對(duì)協(xié)議任務(wù)和事件數(shù)量多,并且之間相關(guān)性大的特點(diǎn),使用有限狀態(tài)機(jī)的方法來(lái)處理,并采用過(guò)程驅(qū)動(dòng)方案來(lái)實(shí)現(xiàn)有限狀態(tài)機(jī),為每個(gè)輸入狀態(tài)啟動(dòng)一個(gè)過(guò)程。當(dāng)某一個(gè)事件發(fā)生時(shí),系統(tǒng)利用當(dāng)前狀態(tài)來(lái)選取一個(gè)適當(dāng)?shù)膭?dòng)作,該動(dòng)作處理輸入事件并更新當(dāng)前狀態(tài)變量值。如圖四所示是L2CAP的面向連接信道的狀態(tài)機(jī),顯示了由哪一個(gè)事件導(dǎo)致?tīng)顟B(tài)轉(zhuǎn)換,以及在狀態(tài)轉(zhuǎn)換時(shí)采取哪一個(gè)動(dòng)作。信道的操作共有七個(gè)狀態(tài):關(guān)閉、高層連接請(qǐng)求、L2CAP層連接請(qǐng)求、配置、打開(kāi)、高層斷開(kāi)連接請(qǐng)求、L2CAP層斷開(kāi)連接請(qǐng)求。

  4) 內(nèi)存管理:內(nèi)存管理通常是操作系統(tǒng)的核心任務(wù)之一,由于本系統(tǒng)沒(méi)有使用操作系統(tǒng),所以這部分任務(wù)是系統(tǒng)必需而重要的任務(wù)。輸入的數(shù)據(jù)包必須被保存在內(nèi)存中,并將其傳遞給適當(dāng)?shù)娜蝿?wù)作進(jìn)一步的處理。同時(shí),應(yīng)用程序產(chǎn)生的輸出數(shù)據(jù)也必須以數(shù)據(jù)包的形式存儲(chǔ)在內(nèi)存中,并將其傳遞給硬件設(shè)備傳送出去。設(shè)計(jì)要做到快速分配存儲(chǔ)空間,并且避免數(shù)據(jù)包在各層協(xié)議之間移動(dòng)時(shí)的數(shù)據(jù)復(fù)制。針對(duì)本系統(tǒng)處理的實(shí)際情況:藍(lán)牙協(xié)議數(shù)據(jù)報(bào)只有一些固定的大小的包類型,因此采用系統(tǒng)分配大小固定的緩沖區(qū)的方案。這樣作可以杜絕內(nèi)存碎片。需要緩沖區(qū)的時(shí)候,系統(tǒng)調(diào)用allot_bt_buffer函數(shù)。只要緩沖區(qū)分配完成,需要保存的僅僅是指向緩沖區(qū)的指針,所以歸還緩沖區(qū)到空閑緩沖區(qū)列表的時(shí)候,系統(tǒng)調(diào)用unallot_bt_buffer,將被釋放的緩沖區(qū)的指針交還給它。采用這種方法,協(xié)議軟件只需傳遞指向該緩沖區(qū)的指針,處理過(guò)程統(tǒng)一,并且避免了處理過(guò)程中數(shù)據(jù)的移動(dòng)。

  從一般軟件設(shè)計(jì)分類的角度來(lái)看,設(shè)備管理和系統(tǒng)資源管理是操作系統(tǒng)的任務(wù)。在綜合考慮系統(tǒng)簡(jiǎn)單性和成本等因素之后,本系統(tǒng)中沒(méi)有使用獨(dú)立的實(shí)時(shí)操作系統(tǒng),而是由嵌入式軟件完成部分應(yīng)該由操作系統(tǒng)完成的功能。

  五. 結(jié)束語(yǔ)

  本嵌入式局域網(wǎng)訪問(wèn)點(diǎn)已可以應(yīng)用于對(duì)機(jī)器人的遠(yuǎn)程訪問(wèn)上。如果將現(xiàn)有接入點(diǎn)進(jìn)行適當(dāng)改動(dòng)和擴(kuò)展,就能實(shí)現(xiàn)其他功能,例如給它擴(kuò)展上一個(gè)語(yǔ)音解碼芯片后很容易擴(kuò)展到語(yǔ)言信號(hào)的傳輸。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉