藍牙技術(shù)與協(xié)議的開發(fā)應(yīng)用與實現(xiàn)

相關(guān)專題: 無線 芯片
彭麗 吳敘偉 郗亞平 程磊 楊曉麗

  摘要 圍繞最新的藍牙1.1版本規(guī)范,概括了藍牙的生產(chǎn)背景、技術(shù)特點和市場潛力、藍牙開發(fā)等方面,最后介紹了有關(guān)的產(chǎn)品


  關(guān)鍵詞 藍牙技術(shù) 藍牙規(guī)范



1 什么是藍牙技術(shù)


  所謂藍牙技術(shù),實際上是一種短距離無線電技術(shù),利用"藍牙技術(shù)"能夠有效地簡化掌上電腦、筆記本電腦和移動電話手機等移動通信終端設(shè)備,并且能夠成功地簡化以上這些設(shè)備與因特網(wǎng)之間的通信,從而使這些現(xiàn)代通信設(shè)備與因特網(wǎng)之間的數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。通俗地講,藍牙技術(shù)使得現(xiàn)代一些輕易攜帶的移動通信設(shè)備和電腦設(shè)備,不必借助電纜就能聯(lián)網(wǎng),并且能夠?qū)崿F(xiàn)無線上因特網(wǎng)。其實際應(yīng)用范圍還可以拓展到各種家電產(chǎn)品、消費電子產(chǎn)品和汽車等信息家電,組成一個巨大的無線通信網(wǎng)絡(luò)。



2 藍牙技術(shù)的特點


2.1 藍牙協(xié)議體系結(jié)構(gòu)


  整個藍牙協(xié)議體系結(jié)構(gòu)可分為底層硬件模塊、中間協(xié)議層和高端應(yīng)用層三大部分。鏈路管理層(LMP)、基帶層(BBP)和藍牙無線電信道構(gòu)成藍牙的底層模塊。BBP層負責(zé)跳頻和藍牙數(shù)據(jù)及信息幀的傳輸。LMP層負責(zé)連接的建立和拆除以及鏈路的安全和控制,它們?yōu)樯蠈榆浖K提供了不同的訪問人口,但是兩個模塊接口之間的消息和數(shù)據(jù)傳遞必須通過藍牙主機控制器接口的解釋才能進行。也就是說,中間協(xié)議層包括邏輯鏈路控制與適配協(xié)議(L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串口仿真協(xié)議(RFCOMM)和電話控制協(xié)議規(guī)范(TCS)。L2CAP完成數(shù)據(jù)拆裝、服務(wù)質(zhì)量控制、協(xié)議復(fù)用和組提取等功能,是其他上層協(xié)議實現(xiàn)的基礎(chǔ),因此也是藍牙協(xié)議棧的核心部分。SDP為上層應(yīng)用程序提供一種機制來發(fā)現(xiàn)網(wǎng)絡(luò)中可用的服務(wù)及其特性。在藍牙協(xié)議棧的最上部是高端應(yīng)用層,它對應(yīng)于各種應(yīng)用模型的剖面,是剖面的一部分。目前定義了13種剖面。


2.2 藍牙低層模塊


  藍牙的低層模塊是藍牙技術(shù)的核心,是任何藍牙設(shè)備都必須包括的部分。


  藍牙工作在2.4GHZ的ISM頻段。采用了藍牙結(jié)束的設(shè)備講能夠提供高達720kbit/s 的數(shù)據(jù)交換速率。


  藍牙支持電路交換和分組交換兩種技術(shù),分別定義了兩種鏈路類型,即面向連接的同步鏈路(SCO)和面向無連接的異步鏈路(ACL)。


  為了在很低的功率狀態(tài)下也能使藍牙設(shè)備處于連接狀態(tài),藍牙規(guī)定了三種節(jié)能狀態(tài),即停等(Park)狀態(tài)、保持(Hold)狀態(tài)和呼吸(Sniff)狀態(tài)。這幾種工作模式按照節(jié)能效率以升序排依次是:Sniff模式、Hold模式、Park模式。


  藍牙采用三種糾錯方案:1/3前向糾錯(FEC)、2/3前向糾錯和自動重發(fā)(ARQ)。前向糾錯的目的是減少重發(fā)的可能性,但同時也增加了額外開銷。然而在一個合理的無錯誤率環(huán)境中,多余的投標會減少輸出,故分組定義的本身也保持靈活的方式,因此,在軟件中可定義是否采用FEC。一般而言,在信道的噪聲干擾比較大時藍牙系統(tǒng)會使用前向糾錯方案,以保證通信質(zhì)量:對于SCO鏈路,使用1/3前向糾錯;對于ACL鏈路,使用2/3前向糾錯。在無編號的自動請求重發(fā)方案中,一個時隙傳送的數(shù)據(jù)必須在下一個時隙得到收到的確認。只有數(shù)據(jù)在收端通過了報頭錯誤檢測和循環(huán)冗余校驗(CRC)后認為無錯時,才向發(fā)端發(fā)回確認消息,否則返回一個錯誤消息。


  藍牙系統(tǒng)的移動性和開放性使得安全問題變得及其重要。雖然藍牙系統(tǒng)所采用的調(diào)頻技術(shù)就已經(jīng)提供了一定的安全保障,但是藍牙系統(tǒng)仍然需要鏈路層和應(yīng)用層的安全管理。在鏈路層中,藍牙系統(tǒng)提供了認證、加密和密鑰管理等功能。每個用戶都有一個個人標識碼(PIN),它會被譯成128bit的鏈路密鑰(Link Key)來進行單雙向認證。一旦認證完畢,鏈路就會以不同長度的密碼(Encryphon Key)來加密(此密碼以shit為單位增減,最大的長度為128bit)鏈路層安全機制提供了大量的認證方案和一個靈活的加密方案(即允許協(xié)商密碼的長度)。當(dāng)來自不同國家的設(shè)備互相通信時,這種機制是極其重要的,因為某些國家會指定最大密碼長度。藍牙系統(tǒng)會選取微微網(wǎng)中各個設(shè)備的最小的最大允許密碼長度。例如,美國允許128bit的密碼長度,而西班牙僅允許48bit,這樣當(dāng)兩國的設(shè)備互通時,將選擇48bit來加密。藍牙系統(tǒng)也支持高層協(xié)議棧的不同應(yīng)用體內(nèi)的特殊的安全機制。例如兩臺計算機在進行商業(yè)卡信息交流時,一臺計算機就只能訪問另一臺計算機的該項業(yè)務(wù),而無權(quán)訪問其他業(yè)務(wù)。藍牙安全機制依賴PIN在設(shè)備間建立信任關(guān)系,一旦這種關(guān)系建立起來了,這些PIN就可以存儲在設(shè)備中以便將來更快捷地連接。


2.3 軟件模塊


  L2CAP是數(shù)據(jù)鏈路層的一部分,位于基帶協(xié)議之上。L2CAP向上層提供面向連接的和無連接的數(shù)據(jù)服務(wù),它的功能包括:協(xié)議的復(fù)用能力、分組的分割和重新組裝(Segmentation And Reaassembly)以及提取(Group Abstraction)。L2CAP允許高層協(xié)議和應(yīng)用發(fā)送和接受高達64K Byte的數(shù)據(jù)分組。


  SDP為應(yīng)用提供了一個發(fā)現(xiàn)可用協(xié)議和決定這些可用協(xié)議的特性的方法。藍牙環(huán)境下的服務(wù)發(fā)現(xiàn)與傳統(tǒng)的網(wǎng)絡(luò)環(huán)境下的服務(wù)發(fā)現(xiàn)有很大的不同,在藍牙環(huán)境下,移動的RF環(huán)境變化很大,因此業(yè)務(wù)的參數(shù)也是不斷變換的。SDP將強調(diào)藍牙環(huán)境的獨特的特性。藍牙使用基于客戶/服務(wù)器機制定義了根據(jù)藍牙服務(wù)類型和屬性發(fā)現(xiàn)服務(wù)的方法,還提供了服務(wù)瀏覽的方法。


  RFCOMM是射頻通信協(xié)議,它可以仿真串行電纜接口協(xié)議,符合ETSI0710串口仿真協(xié)議。通過RFCOMM,藍牙可以在無線環(huán)境下實現(xiàn)對高層協(xié)議,如PPP、TCP/IP、WAP等的支持。另外,RFCOMM可以支持AT命令集,從而可以實現(xiàn)移動電話機和傳真機及調(diào)制解調(diào)器之間的無線連接。


  藍牙對語音的支持是它與WLAN相區(qū)別的一個重要的標志。藍牙電話控制規(guī)范是一個基于ITU-T建議Q.931的采用面向比特的洗衣,它定義了用于藍牙設(shè)備間建立語音和數(shù)據(jù)呼叫的呼叫控制信令以及用于處理藍牙TCS設(shè)備的移動性管理過程。



3 藍牙開發(fā)概述


3.1藍牙開發(fā)的意義


  鑒于藍牙再未來信息產(chǎn)品中的重要地位,開發(fā)具有我國自主只是產(chǎn)權(quán)的藍牙產(chǎn)品具有非常重要的意義。對一些信息家電廠家,其主要目的是將藍牙作為通信模塊集成到自己的產(chǎn)品中,它們可以使用其他廠家的藍牙產(chǎn)品,自己只需著力于開發(fā)應(yīng)用部分;而對那些專門從事藍牙研發(fā)生產(chǎn)的廠家,就需要進行從底層到高層的全面開發(fā),只有這樣才能掌握藍牙的核心技術(shù),才能生產(chǎn)出具有自主知識產(chǎn)權(quán)的產(chǎn)品。


3.1.1開發(fā)前的準備工作


(1)對藍牙相關(guān)的規(guī)范和協(xié)議有一個初步的了解,對要開發(fā)的部分進行細致的研究,協(xié)議的要求必須明確,對產(chǎn)品的應(yīng)用環(huán)境也必須非常清楚。


  藍牙的規(guī)范包括協(xié)議的核心部分和藍牙的應(yīng)用剖面(用戶模型),內(nèi)容應(yīng)該非常豐富,對整個協(xié)議進行全面地了解,但是由于客觀上難以實現(xiàn),因此,可以先從一些簡單的介紹開始,從整體上對藍牙的結(jié)構(gòu)體系有一個較為全面的了解,再從用戶的角度了解藍牙系統(tǒng)的概況,這樣,根據(jù)自己準備開發(fā)的產(chǎn)品,有目的地選擇相關(guān)的協(xié)議進行專門研究。


(2)對同類產(chǎn)品做細致的調(diào)研?梢愿鶕(jù)分類查看相關(guān)的產(chǎn)品,以及產(chǎn)品的性能和使用方法,還能夠得到有關(guān)廠商的信息。
(3)另外也可以申請加入藍牙SIG,成為SIG成員。


(4)制定一個詳盡的產(chǎn)品開發(fā)計劃,盡可能做到周全。


(5)建立一個開發(fā)工作平臺、開發(fā)環(huán)境,準備和選擇相應(yīng)的開發(fā)工具


  在藍牙開發(fā)工具中,應(yīng)包括一個藍牙硬件的接口部件和需要的軟件部分,至少要有一對節(jié)點,這樣,才能建立一條鏈路,如果要開發(fā)更為復(fù)雜的應(yīng)用,可能需要更多的節(jié)點。硬件可以是各種形式,像IC卡、USB dougle、開發(fā)工具、UART附件等,也可以是自己開發(fā)的或?qū)iT定制的硬件。


  在選擇硬件時需要注意,首先必須明確待開發(fā)的應(yīng)用是什么,是用于嵌入式系統(tǒng)還是用于計算機系統(tǒng)?如果是用于計算機系統(tǒng),使用PC卡或USB dougle就足夠了,這時選用簡單的開發(fā)工具。如果是用于嵌入式系統(tǒng),就需要更為復(fù)雜的開發(fā)工具,要求開發(fā)工具允許進行固件的開發(fā)和允許下載到開發(fā)工具中,或者如果希望能夠?qū)ξ⑻幚砥骰騀PGA進行直接的測試,可以制造一塊開發(fā)板,這需要購買一塊包括藍牙模塊和微處理器或FPGA的PCB板,同時還需要對微處理器/FPGA進行編程的外圍設(shè)備。其次,要注意的問題是應(yīng)用中是否包括語音?因為有一些開發(fā)系統(tǒng)不包括語音接口,如果應(yīng)用只有數(shù)據(jù)傳輸,應(yīng)該考慮數(shù)據(jù)的速率,可以使用UART連接器,對于全速率的數(shù)據(jù)應(yīng)用,需要使用USB。


  在決定了使用什么硬件之后需要考慮的就是軟件棧。如果要開發(fā)的應(yīng)用可以使用藍牙規(guī)范中某個剖面,那么就只需要實現(xiàn)與該剖面有關(guān)的軟件棧。這種情況往往要開發(fā)自己定制的棧,這樣更能符合應(yīng)用的要求。如果要開發(fā)的應(yīng)用不能使用現(xiàn)有的剖面結(jié)構(gòu),它就必須與屬于特定剖面的設(shè)備進行交互。再進行協(xié)議棧需求設(shè)計事必須牢記兼容性。在決定使用一個協(xié)議棧之前,還必須仔細地檢查協(xié)議棧能夠提供的能力,并不是所有的協(xié)議棧都實現(xiàn)了規(guī)范中所列出的所有功能,有一些功能可能還沒有實現(xiàn)。另外除了比較價格,文檔的質(zhì)量和公司的售后支持也是需要特別考慮的。


(6)開發(fā)之前還必須了解藍牙SIG規(guī)定的相關(guān)認證和測試規(guī)范,以及與之有關(guān)的程序,以便在開發(fā)過程中理出測試的接口。


3.1.2藍牙軟件與硬件的獨立實現(xiàn)


藍牙在實現(xiàn)的時候,一般分成兩部分實現(xiàn),一是硬件部分,它包括藍牙協(xié)議棧的下三個層次,即無線收發(fā)、基帶和鏈路管理層(LMP);是軟件部分,它包括藍牙協(xié)議棧的上層,包括L2CAP、RFCOMM、SDP和TCS以及一些藍牙應(yīng)用。


3.2藍牙硬件模塊開發(fā)


3.2.1硬件模塊設(shè)計的目標


  藍牙的硬件部分包括三個層次:無線層、基帶層和鏈路管理器層。無線層主要完成頻率的合成、比特到符號的轉(zhuǎn)換和過濾,以及符號和收發(fā)操作;基帶層主要完成編碼/解碼、加密/解密、分組處理和調(diào)頻頻率的生成和選擇;鍵路管理器層主要完成連接的建立和鏈路的管理。藍牙設(shè)計的初衷是實現(xiàn)所有電子產(chǎn)品之間的無線互連,這些設(shè)想中的設(shè)備大都是便攜的和移動的,因此在體積、重量、功耗和安全性方面具有較高的要求,這也成為對藍牙硬件設(shè)計的主要目標。


硬件設(shè)計的目標是:(1)最大限度地降低硬件實現(xiàn)模塊的體積;(2)實現(xiàn)的費用要低;(3)實現(xiàn)的功耗要低;(4)在開放的ISM頻段上實現(xiàn)安全性和頑健性。


需注意解決主要技術(shù)是:(1)快速調(diào)頻技術(shù);(2)單芯片集成技術(shù)


3.2.2模塊的構(gòu)成


在單個芯片中把藍牙低三層的功能都包括進去確實是一個困難,不過現(xiàn)在已經(jīng)有了一些現(xiàn)成的產(chǎn)品能。這些產(chǎn)品一般都是使用片上系統(tǒng)(OSC:System-On-Chip)技術(shù),把幾個功能模塊集成到一個芯片上。這樣的一個OSC一般包括幾個模塊: 藍牙基帶核心模塊、微處理器模塊、HCI模塊、語音處理模塊和一些可選的測試模塊,在這些模塊中,有些模塊可以比較獨立地開發(fā)實現(xiàn),也可以購買成熟的產(chǎn)品,例如藍牙基帶核心模塊和語音處理模塊。這樣有的開發(fā)者便可以利用獨立的模塊集成自己的藍牙硬件實現(xiàn)方案。


3.2.3高層協(xié)議棧開發(fā)


藍牙的SIG定義了藍牙的協(xié)議棧,但這是一個不可見的軟件,用戶是看不到的,必須開發(fā)一個可以為用戶使用的可見的用戶接口UI,用戶使用這個接口可以對藍牙進行配置,實現(xiàn)通信功能。藍牙的協(xié)議棧中沒有給出API,開發(fā)人員很難開發(fā)基于藍牙的應(yīng)用,所以協(xié)議棧必須提供相應(yīng)的API。開發(fā)人員使用這些API就可以開發(fā)基于藍牙的應(yīng)用,而不必對藍牙的具體技術(shù)進行深入的研究。


一般地,藍牙高層協(xié)議棧設(shè)計成一個軟件部件,由于是運行在主機設(shè)備上的,所以在很多場合是以主機棧(Host Stack)的名字出現(xiàn)的。作為主機應(yīng)用的一個部分,它依賴于使用的操作系統(tǒng)和硬件平臺。為了使設(shè)計的協(xié)議棧具有很好的可移植性,必須盡量減少它對平臺和操作系統(tǒng)的依賴。另外,雖然藍牙技術(shù)在一個實際系統(tǒng)中只是提供一個無線通信的功能,但是它也是一項非常復(fù)雜的技術(shù),對于應(yīng)用層的設(shè)計人員來說可能對藍牙了解的不是很清楚。為了使這些應(yīng)用開發(fā)人員也能夠開發(fā)基于藍牙的應(yīng)用,高層協(xié)議棧必須提供豐富的和詳細的API。目前的系統(tǒng)具有很多非藍牙的應(yīng)用,這些應(yīng)用使用非常廣泛,要把這些應(yīng)用統(tǒng)一地改成基于藍牙的應(yīng)用是非常困難的,所以需要提供一個與傳統(tǒng)應(yīng)用之間的接口。總的來說,高層協(xié)議棧的設(shè)計目標是(1)支持確定目標的用戶模型;(2)支持多種硬件平臺;(3)良好的用戶使用接口,能夠使用傳統(tǒng)的應(yīng)用,在可能的情況下使用現(xiàn)有的協(xié)議;(4)最小的源碼數(shù)量;(5)最大的重用;(6)可維護。


另外,在開發(fā)過程中還應(yīng)該盡量滿足如下的要求:(1)使用ANSIC進行編碼,實現(xiàn)編譯器的獨立性;(2)使用基于規(guī)范描述語言(SDL);(3)強化的檢查,在功能規(guī)范、結(jié)構(gòu)、設(shè)計、設(shè)計確認、編碼和模塊測試、主機集成和目標集成的各個環(huán)節(jié)都進行詳細的檢查;(4)使用文化檔的軟件。



4 結(jié)束語


近年來移動通信發(fā)展迅速,便攜式計算機如膝上型電腦、筆記本電腦、手持式電腦以及個人數(shù)字輔助器等也迅速發(fā)展起來,還有因特網(wǎng)的迅速發(fā)展,使人們對電話通信以外的各種數(shù)據(jù)信息傳遞的需求日益增長。"藍牙"技術(shù)把各種便攜式電腦與蜂窩移動電話用無線電鏈路連接起來,使計算機與通信更加密切結(jié)合起來,使人們能隨時進行數(shù)據(jù)信息交換與傳輸。因此計算機行業(yè)、移動通信行業(yè)都對"藍牙"技術(shù)很重視,認為將對未來的無線移動數(shù)據(jù)通信業(yè)務(wù)有巨大的促進作用,預(yù)計在最近幾年內(nèi)無線數(shù)據(jù)通信業(yè)務(wù)將迅速增長。"藍牙"技術(shù)被認為是無線數(shù)據(jù)通信最為重大的進展之一。




摘自《通信技術(shù)》

   

微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息