藍牙系統一般由天線單元、鏈路控制(固件)單元、鏈路管理(軟件)單元和藍牙軟件(協議棧)單元四個功能單元組成。
天線單元
藍牙天線屬于微型天線。由于藍牙多用于移動便攜設備,因此要求其天線部分體積小、重量輕。藍牙空中接口是建立在天線電平微0dB的ISM頻段的標準。如果全球電平達到1000mW以上,可以使用擴展頻譜功能來增加一些補充業務。頻譜擴展功能是通過起始頻率為2.402GHz,終止頻率為2.480GHz,間隔為1MHz的79個跳頻頻點來實現的。由于某些本地規定的考慮,日本、法國和西班牙都縮減了帶寬。最大的跳頻速率為每秒1600跳。理想的連接范圍為100mm~10m,但是通過增大發送電平可以將距離延長至100m。
藍牙工作在全球通用的2.4GHz ISM(即工、科、醫)頻段。藍牙的數據速率為1Mbps。ISM頻帶是對所有無線電系統都開放的頻帶,因此使用其中的某個頻段都會遇到不可預測的干擾源。例如某些家電、無繩電話、汽車房開門器、微波爐等等,都可能是干擾源。為此,藍牙特別設計了快速確認和跳頻方案以確保鏈路穩定。與其它工作在相同頻段的系統相比,藍牙的跳頻更快,數據包更短,這使得它比其它系統都更穩定。FEC(前向糾錯)的使用抑制了長距離鏈路的隨機噪音;應用了GFSK(高斯頻移鍵控)技術的跳頻收發器被用來抑制干擾和防止衰落。
鏈路控制單元
基帶鏈路控制器(Link Controller—LC)負責處理基帶協議和其它一些低層常規協議。
1、網絡連接
在piconet內的連接被建立之前,所有的設備都處于Standby(待機)狀態。在這種模式下,未連接單元每隔1.28秒周期性地“監聽”一次信息。每當一個設備被激活,它就在規劃給該單元的32個跳頻點監聽。跳頻頻點的數目因地理區域的不同而異,32這個數字適用于除日本、法國和西班牙之外的大多數國家。作為主設備(master)的單元首先初始化連接程序,如果一個設備的地址已知,則通過尋呼(page)消息建立連接;如果地址未知,則通過一個后接尋呼消息的查詢(inquiry)消息建立連接。查詢消息主要用來尋找藍牙設備,如共享打印機、傳真機和其它一些地址未知的類似設備,它和尋呼消息很相像,但是查詢消息需要一個額外的數據串周期來收集所有的響應。在初始尋呼狀態,主單元將在分配給被尋呼單元的16哥跳頻頻點上發送一串16哥相同邪惡尋呼消息。如果沒有應答,主設備則按照激活次序在剩余的6個頻點上繼續尋呼。從設備(slave)收到從主設備發來的消息的最大的延遲時間為激活周期的2倍(2.56秒),平均延遲時間是激活周期的一半(0.64秒)。
如果piconet中已經處于連接的設備在較長一段時間內沒有數據傳輸,藍牙還支持節能工作模式。主設備可以把從設備設置為hold(保持)模式,在這種模式下,只有一個內部計數器在工作。從主設備也可以主動要求被設置為hold模式。設備由hold模式轉出后,可以立即恢復數據傳輸。hold模式一般被用于連接好幾個piconet的情況下或者耗能低的設備,如溫度傳感器時。除hold模式外,藍牙還支持另外兩種節能工作模式:sniff(偵聽)模式和park(暫停)模式。在sniff模式下,從設備降低了從piconet“監聽”消息的頻率,監聽間隔可以依應用要求做適當的調整。在park模式下,設備依然與piconet同步但沒有數據傳送。工作在park模式下的設備放棄了MAC地址,偶爾收聽master的消息并恢復同步、檢查廣播消息。各節能工作方式依電源能耗由低到高排列為;park模式—hold模式—sniff模式。
藍牙基帶技術支持兩種數據包連接類型:同步面向連接(SCO)類型,主要用于傳送話音:異步無連接(ACL)類型,主要用于傳送數據包。同一個piconet中不同的主/從對可以使用不同的連接類型,而且在一個階段內還可以任意該表連接類型。每種連接類型最多可以支持16種不同類型的數據包,其中包括4個控制分組,這一點對SCO和ACL來說都是相同的。兩種連接類型都使用TDD(時分雙工)實現全雙工傳輸。SCO連接為對稱連接,利用保留時隙傳送數據包。連接建立后,master和slave可以不被選中就發送SCO數據。SCO數據包既可以傳送話音,也可以傳送數據,但在傳送數據時,只用于重發被損壞的那部分的數據。ACL鏈路就是定向發送數據包,它既支持對稱連接,也支持不對稱連接。Master負責控制鏈路帶寬,并決定piconet中的每個Slave可以占用多少帶寬和連接的對稱性。slave只有被選中時才能傳送數據。ACL鏈路也支持接受master發給piconet中所有slave的廣播消息。
2.差錯控制
基帶控制器采用了3種糾錯方案:1/3比列前向糾錯(FEC)編碼、2/3比列前向糾錯編碼和數據自動重發請求(ARQ)方案。采用FEC(前向糾錯)方案的目的是為了減少數據重發的次數,降低數據傳輸負載。但是,要實現數據的無差錯傳輸,FEC就必然要生成一些不必要的開銷比特而降低數據的傳送效率。這是因為數據包對于是否使用FEC是彈性定義的。在無編號的ARQ方案中,在一個時隙中傳送的數據必須在下一個時隙得到“收到”的確認。只有數據在收端通過了報頭錯誤檢測和循環冗余檢測后認為無措才向發端發回確認消息,否則返回一個錯誤消息。
3.鑒權與加密
藍牙基帶部分在物理層為用戶提供保護和信息保密機制。鑒權基于“請求一響應”運算法則。鑒權是藍牙系統中的關鍵部分,它允許用戶為個人的藍牙設備建立一個信任域,比如只允許主任自己的筆記本電腦通過主人自己的移動電話通信。在連接過程中,可能需要一次或兩次鑒權,或無需鑒權。加密被用來保護連接的個人信息。藍牙系統采用流密碼加密技術,適于硬件實現,密匙長度可以是64位或128位,密匙由高層軟件來管理。藍牙安全機制的目的在于為客戶提供適當級別的保護,如果要求更高級別的保密機制,可以使用傳輸層和應用層的安全機制來實現。
鏈路管理單元
鏈路管理(Link—Manager——LM)軟件模塊包括鏈路的數據設置、鑒權、鏈路配置和其它一些協議。鏈路管理器能夠發現其它遠端鏈路管理器并通過LMP(鏈路管理協議)與之通信。鏈路管理器利用鏈路控制器提供的服務來實現上訴功能。在實際中一般以固件的形式是實現。其服務項目包括:
1.接受和發送數據
2.請求設備名稱
3.鏈路地址查詢
4.建立連接
5.鑒權
6.鏈路模式的協商和建立
7.確定分組的幀類型
8.設置設備進入hold/sniff/park模式
藍牙軟件單元
藍牙軟件單元以協議棧的形式位于藍牙主機中,它包括藍牙核心協議及其他可選協議。