藍牙數據傳輸機理論文
時間:2022-06-25 03:19:00
導語:藍牙數據傳輸機理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:對藍牙協議體系中的基帶數據傳輸機理進行分析,為進一步對藍牙技術做全面深入的研究和開發應用奠定基礎。在介紹了基本概念的基礎上,重點對藍牙設備連接、數據傳輸和安全機制等內容做了分析和討論。
關鍵詞:藍牙基帶數據傳輸設備連接
藍牙(Bluetooth)是一種新型、開放、低成本、短距離的無線連接接技術,可取代短距離的電纜,實現話音和數據的無線傳輸。這種有效、廉價的無線連接技術可以方便地將計算機及外設、移動電話、掌上電腦、信息家電等設備連接起來,在它可達到的范圍內使各種信息化移動便攜設備都能實現無縫資源共享,還可通過無線局域網(WirelessLAN)與Internet連接,實現多媒體信息的無線傳輸。
藍牙系統采用分散式(Scatter)結構,設備間以及從方式構成微微網(Piconet),支持點對點和點對多點通信。它采用GFSK調制,抗干擾性能好,通過快速跳頻和短包技術來減少同頻干擾,保證傳輸的可靠性。使用的頻段為無需申請許可的2.4GHz的ISM頻段。
藍牙協議從協議來源大致分為四部分:核心協議、電纜替代協議(RECOMM)、電路控制協議和選用協議。其中核心協議是藍牙專利協議,完全由藍牙SIG開發,包括基帶協議(BB)、連接管理協議(LMP)、邏輯鏈路控制和適配協議(L2CAP)以及服務發現協議(SDP)。藍牙協議從體系結構又可分為底層硬件模塊、中間協議層和高端應用層三大部分,其中鏈路管理層(LM)、基帶(BB)和射頻層(RF)構成藍牙的底層模塊。由此可見,基帶層是藍牙協議的重要組成部分。本文主要對藍牙技術中最重要的基帶數據傳輸機理進行分析。
1基帶協議概述
圖1給出藍牙系統結構示意圖。在藍牙系統中,使用藍牙技術將設備連接起來的網絡稱作微微網(Piconet),它由一個主節點(MasterUnit)和多個從節點(SlaveUnit)構成。主節點是微微網中用來同步其他節點的藍牙設備,是連接過程的發起者,最多可與7個從節點同時維持連接。從節點是微微網中除主節點外的設備。兩個或多個微微網可以連接組成散射網(Scatternet)。
圖2給出藍牙協議結構示意圖。基帶層位于藍牙協議棧的藍牙射頻之上,并與射頻層一起構成藍牙的物理層。從本質上說,它作為一個鏈接控制器,描述了基帶鏈路控制器的數字信號處理規范,并與鏈路管理器協同工作,負責執行象連接建立和功率控制等鏈路層的,如圖3所示。基帶收發器在跳頻(頻分)的同時將時間劃分(時分),采用時分雙工(TDD)工作方式(交替發送和接收),基帶負責把數字信號寫入并從收發器中讀入數據。主要管理物理信道和鏈接,負責跳頻選擇和藍牙數據及信息幀的傳輸、象誤碼糾錯、數據白化、藍牙安全等。基帶也管理同步和異步鏈接,處理分組包,執行尋呼、查詢來訪及獲取藍牙設備等。
在藍牙基帶協議中規定,藍牙設備可以使用4種類型的地址用于同場合和狀態。其中,48位的藍牙設備地址BD_ADDR(IEEE802標準),是藍牙設備連接過程的唯一標準;3位的微微網激活節點地址AM_ADDR,用以標識微微網中激活成員,該地址3位全用作廣播信息;8位的微微網休眠節點地址PM_ADDR,用以標識微微網中休眠的從節點。微微網接入地址AR_ADDR,分配給微微網中要啟動喚醒過程的從節點。
當微微網主從節點通信時,彼此必須保持同步。同步所采用的時鐘包括自身不調整也不關閉的本地設備時鐘CLKN,微微網中主節點的系統時鐘CLK以及為主節點時鐘對從節點本地設備時鐘進行周期更新以保持主從同步的補償時鐘CLKE。
與其它無線技術一樣,藍牙技術中微微網通過使用各種信道來實現數據的無線傳輸。其中,物理信道表示在79個或者23個射頻信道上跳變的偽隨機跳頻序列,每個微微網的跳頻序列是唯一的,并且由主節點的藍牙設備地址決定;此外,藍牙有5種傳送不同類型信息的邏輯信道,它們分別為:
(1)LC信道:控制信道,用來傳送鏈路層控制信息;
(2)LMC信道:鏈接管理信道,用在鏈路層傳送鏈接管理信息;
(3)UA信道:用戶信道,用來傳送異步的用戶信息;
(4)UI信道:用戶信道,用來傳送等時的用戶信息;
(5)US信道:用戶信道,用來傳送同步的用戶信息。
在藍牙系統中,主從節點以時分雙工(TDD)機制輪流進行數據傳輸。因此,在信道上又可劃分為長度為625μs的時隙(TimeSlot),并以微微網主節點時鐘進行編號(0-227-1),主從節點分別在奇、偶時隙進行數據發送。
2藍牙數據傳輸
藍牙支持電路和分組交換,數據以分組形式在信道中傳輸,并使用流控制來避免分組丟失和擁塞。為確保分組包數據正確傳輸,還進行數據的白化和糾錯,下面分別對這些傳輸機制進行分析。
2.1藍牙分組
分組包數據可以包含話音、數據或兩者兼有。分組包可以占用多個時隙(多時隙分組)并且可以在下一個時隙繼續發送,凈荷(Payload)也帶有16位的錯誤校驗識別和校驗(CRC)。有5種普通的分組類型,4個SCO分組包和7個ACL分組包。一般分組包格式如圖4。
圖3基帶層抽象
其中,接入碼(Accesscode)用來定時同步、偏移補償、尋呼和查詢。藍牙中有三種不同類型的接入碼:
(1)信道接入碼(CAC):用來標識一個微微網;
(2)設備接入碼(DAC):用作設備尋呼和它的響應;
(3)查詢接入碼(IAC):用作設備查詢目的。
分組頭(Header)包含6個字段,用于鏈路控制。其中AM_ADDR是激活成員地址,TYPE指明分組類型,FLOW用于ACL流量控制位,ARQN是分組包確認標識,SEQN用于分組重排的分組編號,HEC對分組頭進行驗。藍牙使用快速、不編號的分組包確認方式,通過設置合適的ARQN值來區別確定是否接收到數據分組包。如果超時,則忽略這個分組包,繼續發送下一個。
2.2鏈接及流控制
藍牙定義了兩種鏈路類型,即面向連接的同步鏈路(SCO)和面向無連接的異步鏈路(ACL)。SCO鏈接是一個對稱的主從節點之間點對點的同步鏈接,在預留的時間里發送SCO分組,屬于電路交換,主要攜帶話音信息。主節點可同時支持3個SCO鏈接,從節點可同時支持2~3個鏈接SCO,SCO分組包不支持重傳。SCO鏈路通過主節點LMP發送一個SCO建立消息來建立,該消息包含定時參數(Tsco和Dsco)。
ACL鏈接是為匹克網主節點在沒有為SCO鏈接保留的時隙中,提供可以與任何從節點進行異步或同步數據交換的機制。一對主從節點只可以維持一個ACL鏈接。使用多個ACL分組時,藍牙采用分組包重發機制來保證數據的完整性。ACL分組不指定確定從節點時,被認為是廣播分組,每個從節點都接收這個分組。
藍牙建議使用FIFO(先進先出)隊列來實現ACL和SCO鏈接的發送和接收,鏈接管理器負責填充這些隊列,而鏈接控制器負責自動清空隊列。接收FIFO隊列已滿時則使用流控制來避免分組丟失和擁塞。如果不能接收到數據,接收者的鏈接控制器發送一個STOP指令,并插入到返回的分組頭(Header)中,并且FLOW位置1。當發送者接收到STOP指示,就凍結它的FIFO隊列停止發送。如果接收器已準備好,發送一個GO分組給發送方重新恢復數據傳輸,FLOW位置0。
2.3數據同步、擾碼和糾錯
由于藍牙設備發送器采用時分雙工(TDD)工作機制,它必須以一種同步的方式來交替發送和接收數據。微微網通過主節點的系統時鐘來實現同步,并決定其跳頻序列中的相位。在微微網建立時,主節點的時鐘傳送給從節點,每個從點節給自己的本地時鐘加上一個偏移量,實現與主節點的同步。在微微同生存期內,主節點不會調整自己的系統時鐘。為了與主節點的時鐘匹配,從節點會偏移量進行周期的更新。藍牙時鐘應該至少具有312μs的分首辨率。主節點分組發送的平均定時與理想的625ms時隙相比,偏移不不能超過20ppm,抖動(Jitter)應該少于1ms。
在分組數據送出去并且在FEC編碼之前,分組頭和凈荷要進行擾碼,使分組包隨機化。接收數據分組包時,使用盯同的白化字進行去擾處理。
為了提高數據傳輸可靠性及系統抗干擾性,藍牙數據傳輸機制采用三種糾錯方式:1/3率FEC編碼方式(即每一數據位重復3次)、冗余2/3率FEC編碼方式(即用一個多項式發生器把10位碼編碼成15位碼)以及數據自動請求重發方式(即發送方在收到接收方確認消息之前一直重發數據包,直到超時)。
圖4藍牙分組包格式
3藍牙設備連接
藍牙鏈接控制器工作在兩種主要狀態:待令(Standby)和連接(Connection)。在藍牙設備中,Standby是缺省的低功率狀態,只運行本地時鐘且不與任何其他設備交互。在連接狀態,主節點和從節點能交換分組包進行通信,所以要實現藍牙設備之間的互相,彼此必須先建立連接。由于藍牙使用的ISM頻帶是對所有無線電系統都開放的頻帶,會遇到各種各樣的干擾源,所以藍牙采用分組包快速確認技術和跳頻方案來確保鏈路和信道的穩定。在建立連接和通信過程中使用跳頻序列作為物理信道,跳頻選擇就是選擇通信的信道。
3.1跳頻選擇
跳頻技術把頻帶分成若干個跳頻信道(HopChannel)。無線電收發器按一定的碼序列(以產生隨機數的方式)不斷地從一個信道跳到另一個信道,并且收發雙方都按這個規律才能通信并同步。跳頻的瞬時帶寬很窄,通過擴頻技術展成寬頻帶,使干擾的影響最小。當一個設備被激活時,該設備被分配32個跳頻頻點,以后該設備就在這些跳頻點上接收和發送信息。通用跳頻選擇方案由兩部分組成,即選擇一個序列并在跳頻頻點上映射該序列。對于每一情況,都需要從-主和主-從兩種跳頻序列。藍牙系統中使用的跳頻序列有如下幾種:
(1)呼叫跳頻序列:在呼叫(Page)狀態使用;
(2)呼叫應答序列:在呼叫應答(PageResponse)狀態使用;
(3)查詢序列:在查詢(Inquiry)狀態使用;
(4)查詢應答序列:在查詢應答(InquiryResponse)狀態使用;
(5)信道跳頻序列:在連接(Connection)狀態使用。
3.2藍牙連接建立
從待令狀態到連接狀態的過程就是連接建立過程。通常來講,兩個設備的連接建立過程如下:
首先,主節點使用GIAC和DIAC來查詢范圍內的藍牙設備(查詢狀態)。如果任何附近的藍牙設備正在監聽這些查詢(查詢掃描狀態),就發送它的地址和時鐘信息后,從節點可以開始監聽來自主節點的尋呼消息(尋呼掃描),主節點在發現附近的設備之間可以尋呼這些設備(尋呼狀態),建立鏈接。在尋呼掃描的從設備被這個主節點尋呼后,就會以DAC(設備訪問碼)來響應(Slaveresponsesubstate)。主節點在接收到從節點的響應后,便可以以送主節點的實時時鐘、BD_ADDR、BCH奇偶位和設備類(FHS分組包),最后在從節點已經接收到這個FHS分組之后,進入連接狀態。具體過程如圖5。
由圖5可見,在藍牙連接建立的呼個不同階段,主節點和從節點分別處于不同的狀態,這些狀態包括:
查詢(Inquiry):查詢是主節點用來查找可監視區域中的藍牙設備,以便通過收集來自從節點響應查詢消息中得到該節點的設備地址和時鐘,查詢過程使用IAC;
查詢掃描(InquiryScan):藍牙設備周期地監聽來自其他設備的查詢消息,以便自己能被發現。掃描過程中,設備可以監聽普通查詢接入碼(GIAC)和特定查詢接入碼(DIAC);
查詢響應(Inquiryresponse):從節點以FHS分組響應查詢消息,它攜帶從節點的DAC、本地時鐘等信息;
尋呼(Page):主節點通過在不同的跳頻序列發送消息,來激活一個從節點并建立連接,尋呼過程使用DAC;
尋呼掃描(PageScan):從節點周期性地在掃描窗間隔時間內喚醒自己,并監聽自己的DAC,從節點每隔1.28s在這個掃描窗上根據尋呼跳頻序列選擇一個掃描頻率;
從節點響應(SlaveResponse):從節點在尋呼掃描狀態收到主節點對自己的尋呼消息即進入響應狀態,響應主設備的尋呼消息;
主節點響應(MasterResponse):主節點在接收到從節點對它的尋呼消息的響應后,主節點發送一個FHS分組給從節點,如果從節點響應回答,主節點就進入連接狀態。
3.3連接狀態
連接(connection)狀態以主節點發送一個POLL分組開始,表示連接已經建立,此時分組包可以在主從節點之間來回發送。連接兩端即主從節點都使用主節點的接入碼和時鐘,并且使用的跳頻為信道跳頻序列。即在連接建立后,主節點的藍牙設備地址(BD_ADDR)決定跳頻序列和信道接入碼。在連接狀態的藍牙設備,可以有以下幾個子狀態:
Active:在這個模式下,主從節點都分別在信道通過監聽,發送和接收分組包,并彼此保持同步;
Sniff:在這個模式下,從節點可以暫時不支持ACL分組,也就是ACL鏈路進入低能源sleep模式,空出資源,使得象尋呼、掃描等活動、信道仍可用;
Park:當從節點不必介入微微網信道,但仍想與信道維持同步,它能進入park(休眠)模式,此時具有很少的活動而處于低耗模式,從節點放棄AM_ADDR,而使用PM_ADDR。
4藍牙完全機制
如果允許利用藍牙技術來實現無鎖門或者在超市自動買單,則藍牙完全性非常重要。藍牙協議為用戶進行數據傳輸提供了一套可靠的安全機制。首先,藍牙基帶部分在物理層為用戶提供保護和信息加密機制,而在鏈路層通過同等鑒權并對用戶信息進行加密。藍牙設備在連接過程中采用查詢/應答方式進行鑒權。一個設備發送一個口令或查詢,而從設備則響應這個口令,這樣可以防止盜用和誤用。信息加密機制是在藍牙設備連接建立后,采用序列密碼加密算法對用戶數據或信息進行加密,從而增加系統安全性。鏈路層共有四種參數來保證通信的安全,分別是藍牙設備地址BD_ADDR、認證私鑰、加密私鑰和隨機碼RAND。如果用戶有更高級別的保密要求,則可采用更為有效的傳輸層和應用層完全機制。總之,藍牙完全機制的目的在于提供適當級別的完全保護。由于藍牙完全是藍牙一個非常復雜的問題,限于篇幅在此不做進一步的討論。
本文主要對藍牙技術中最基礎和最重要的基帶層進行了分析和討論,為進一步對藍牙技術進行全面深入的研究和開發應用奠定了基礎。藍牙技術主要應用于小范圍的家庭和辦公室信息傳輸系統和信息家電,因此對藍牙技術進行開發和應用,具有重要的現實意義。尤其我國人口密集,具有廣闊的應用前景,并將對我國國民經濟建設產生重大影響。
- 上一篇:糧食流通檢查規定
- 下一篇:糧食檢查監督證件管理規定
精品范文
1藍牙傳輸