深圳市穩能科技有限公司
无限法则第三赛季皮肤烂大街 關于穩能 產品展示 新聞中心 資料下載 技術支持 人才招聘 在線留言 聯系我們
產品分類
 
新聞動態
您現在的位置: 網站首頁 >> 新聞動態

藍牙技術的開發和應用

發布時間:2011-3-10 點擊:10982 字體大?。?span onClick="javascript:fontSize('news_content','12px')">小 返回
1 什么是藍牙技術

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

2 藍牙技術的特點

2.1 藍牙協議體系結構

  整個藍牙協議體系結構可分為底層硬件???、中間協議層和高端應用層三大部分。鏈路管理層(LMP)、基帶層(BBP)和藍牙無線電信道構成藍牙的底層???。BBP層負責跳頻和藍牙數據及信息幀的傳輸。LMP層負責連接的建立和拆除以及鏈路的安全和控制,它們為上層軟件??樘峁┝瞬煌姆夢嗜絲?,但是兩個??榻涌謚淶南⒑褪荽荼匭臚ü堆樂骰刂破鶻涌詰慕饈筒拍芙?。也就是說,中間協議層包括邏輯鏈路控制與適配協議(L2CAP)、服務發現協議(SDP)、串口仿真協議(RFCOMM)和電話控制協議規范(TCS)。L2CAP完成數據拆裝、服務質量控制、協議復用和組提取等功能,是其他上層協議實現的基礎,因此也是藍牙協議棧的核心部分。SDP為上層應用程序提供一種機制來發現網絡中可用的服務及其特性。在藍牙協議棧的最上部是高端應用層,它對應于各種應用模型的剖面,是剖面的一部分。目前定義了13種剖面。

2.2 藍牙低層???BR>
  藍牙的低層??槭搶堆蘭際醯暮誦?,是任何藍牙設備都必須包括的部分。

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

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

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

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

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

2.3 軟件???BR>
  L2CAP是數據鏈路層的一部分,位于基帶協議之上。L2CAP向上層提供面向連接的和無連接的數據服務,它的功能包括:協議的復用能力、分組的分割和重新組裝(Segmentation And Reaassembly)以及提取(Group Abstraction)。L2CAP允許高層協議和應用發送和接受高達64K Byte的數據分組。

  SDP為應用提供了一個發現可用協議和決定這些可用協議的特性的方法。藍牙環境下的服務發現與傳統的網絡環境下的服務發現有很大的不同,在藍牙環境下,移動的RF環境變化很大,因此業務的參數也是不斷變換的。SDP將強調藍牙環境的獨特的特性。藍牙使用基于客戶/服務器機制定義了根據藍牙服務類型和屬性發現服務的方法,還提供了服務瀏覽的方法。

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

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

3 藍牙開發概述

3.1藍牙開發的意義

  鑒于藍牙再未來信息產品中的重要地位,開發具有我國自主只是產權的藍牙產品具有非常重要的意義。對一些信息家電廠家,其主要目的是將藍牙作為通信??榧傻階約旱牟分?,它們可以使用其他廠家的藍牙產品,自己只需著力于開發應用部分;而對那些專門從事藍牙研發生產的廠家,就需要進行從底層到高層的全面開發,只有這樣才能掌握藍牙的核心技術,才能生產出具有自主知識產權的產品。

3.1.1開發前的準備工作

(1)對藍牙相關的規范和協議有一個初步的了解,對要開發的部分進行細致的研究,協議的要求必須明確,對產品的應用環境也必須非常清楚。

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

(2)對同類產品做細致的調研??梢愿莘擲嗖榭聰喙氐牟?,以及產品的性能和使用方法,還能夠得到有關廠商的信息。 (3)另外也可以申請加入藍牙SIG,成為SIG成員。

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

(5)建立一個開發工作平臺、開發環境,準備和選擇相應的開發工具

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

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

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

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

3.1.2藍牙軟件與硬件的獨立實現

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

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

硬件設計的目標是:(1)最大限度地降低硬件實現??櫚奶寤?;(2)實現的費用要低;(3)實現的功耗要低;(4)在開放的ISM頻段上實現安全性和頑健性。

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

3.2.2??櫚墓鉤?BR>
在單個芯片中把藍牙低三層的功能都包括進去確實是一個困難,不過現在已經有了一些現成的產品能。這些產品一般都是使用片上系統(OSC:System-On-Chip)技術,把幾個功能??榧傻揭桓魴酒?。這樣的一個OSC一般包括幾個??? 藍牙基帶核心???、微處理器???、HCI???、語音處理??楹鴕恍┛裳〉牟饈閱??,在這些??櫓?,有些??榭梢員冉隙懶⒌乜⑹迪?,也可以購買成熟的產品,例如藍牙基帶核心??楹陀鏌舸砟??。這樣有的開發者便可以利用獨立的??榧勺約旱睦堆烙布迪址槳?。

3.2.3高層協議棧開發

藍牙的SIG定義了藍牙的協議棧,但這是一個不可見的軟件,用戶是看不到的,必須開發一個可以為用戶使用的可見的用戶接口UI,用戶使用這個接口可以對藍牙進行配置,實現通信功能。藍牙的協議棧中沒有給出API,開發人員很難開發基于藍牙的應用,所以協議棧必須提供相應的API??⑷嗽筆褂謎廡〢PI就可以開發基于藍牙的應用,而不必對藍牙的具體技術進行深入的研究。

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

另外,在開發過程中還應該盡量滿足如下的要求:(1)使用ANSIC進行編碼,實現編譯器的獨立性;(2)使用基于規范描述語言(SDL);(3)強化的檢查,在功能規范、結構、設計、設計確認、編碼和??椴饈?、主機集成和目標集成的各個環節都進行詳細的檢查;(4)使用文化檔的軟件。

4 結束語

近年來移動通信發展迅速,便攜式計算機如膝上型電腦、筆記本電腦、手持式電腦以及個人數字輔助器等也迅速發展起來,還有因特網的迅速發展,使人們對電話通信以外的各種數據信息傳遞的需求日益增長。"藍牙"技術把各種便攜式電腦與蜂窩移動電話用無線電鏈路連接起來,使計算機與通信更加密切結合起來,使人們能隨時進行數據信息交換與傳輸。因此計算機行業、移動通信行業都對"藍牙"技術很重視,認為將對未來的無線移動數據通信業務有巨大的促進作用,預計在最近幾年內無線數據通信業務將迅速增長。"藍牙"技術被認為是無線數據通信最為重大的進展之一。
上一條: Linux 啟動的理解
下一條: 藍牙v4.0 閃亮登場
熱點新聞
 藍牙技術的開發和應用
 Linux 啟動的理解
 无限法则第三赛季皮肤烂大街
Copyright ? 深圳市穩能科技有限公司 All rights reserved
電話:0755-33557789 傳真:0755-23002601 網址:无限法则第三赛季皮肤烂大街 www.nhzjp.icu E-mail:[email protected]
地址:深圳市光明新區公明街道紅花北路社保大樓417-418 穩能科技 - 藍牙技術應用解決方案的專業供應商