Linux藍牙系列(1) --- bluetooth基本概念

http://blog.chinaunix.net/uid-20587912-id-405132.html

 

Andrew Huang [email protected]
 
  爲了教學和未來匯森(huisen.cc)相關方案的推出,需要測試和應用大量藍牙外設。因此準備一系列相關文章來分析測試藍牙外設和應用。
 
  這一篇是解釋一些基礎性的概念方便後理解。而這一些概念在隨後的應用中大量出現。
 
一.藍牙是什麼?
--------------------------------------------------------------------------------
  藍牙是Nokia發明的短距無線通訊協議。具有體積小,低成本等特點,廣泛應用在手機,嵌入式設備之間的低速數據交換。
  藍牙原意是bluetooth.名字源於於統一北歐的瑞典國王的名字Harald Bluetooth,由愛立信(Ericsson)所研發的一種短距離無線傳輸介面,並在 1998 年聯合 IBM、Intel、Nokia、Toshiba 五家廠商成立 Bluetooth SIG 藍牙聯盟(Bluetooth Special Interest Group)。而藍牙技術最主要的三個特性分別爲:無方向性、語音和資料的傳輸、及可以同時連結多個裝置。 取這個名字有統一短距離無線通訊的野心。但是短距離無線通訊技術更新發展非常之快,WiFi,UWB以及較新的Zigbee等技術不斷應用,不過藍牙仍然算應用廣泛的嵌入式設備。在市場上有大量藍牙外設。
 
  藍牙採用2.4G 的FHSS頻段.使用2.402 GHz到2.480 GHz之中79個通道. , 最大是10米通訊矩離。藍牙的聯接分爲兩種類型異步無連接,(ACL) 和同步面向連接鏈路(SCO).其中sco針對音,視頻的數據。
 
  藍牙採用主從通訊模式.即通訊只能發生主設備與從設備之間。每個設備採用一個48bit全球唯一的藍牙地址(BT_ADDR).
 
在一個嵌入式設備中,藍牙設備(IC)與CPU之間,它們之間的接口稱爲 HCI(Host Controller Interface )
 
關於HCI有詳細解析
 
在host與bt device 的HCI主要三種數據包交互,分別command packet,event packet和data packet.
 
 
二.藍牙的協議
-------------------------------------------------------------------------------
 
在HCI接口之下,是傳輸層協議.由藍牙模塊實現。
   Radio層是物理層的通訊協議,它採用2.4Ghz 頻段.
   Baseband layer/Link Manager是藍牙鏈路層協議,
 
在HCI接口之上,是需要HOST來實現,它分別主要由嵌入式軟件實現.是我們後移植和開發的重點。
  L2CAP Logical Link Control and Adaptation Protocol 實現藍牙數據包分割和重組,信息傳遞服務質量,可以理解爲是藍牙的網絡層協議,主要在Linux主要由驅動來實現。
  RFCOMM (Radio Frenquency Communication protocol).在L2CAP提供的模擬串口接口。
  在串口之上都是一些標準應用
 
  OBEX是Object Exchange的簡稱,這個應用本來是IrDA?爲紅外傳輸制定的協議,但它並不限於特定的底層傳輸方式,可以運行於blueteeth、usb和tcp/ip其它多種協議之上。OBEX主要是會話層協議,同時也包括應用層部分功能。它可以傳輸任何對象,在手機中,通常用來傳輸文件、圖片、名片(Vcard)和日程(Vcal)等。
   Service Discovery Protocol (SDP) 提供服務協商協議。藍牙設備用SDP向其它設備宣告自己支持的服務。
 
HCI只是提出一個抽象的邏輯接口,具體藍牙設備與CPU互聯還是需要特定的硬件方式.
最常見的是USB聯接,市面常見USB藍牙棒即是此類接口。
還有UART串口形式的藍牙設備。
 
另外一種接口是BCSP,是BlueCore Serial Protocol的簡稱,是英國CSR公司的專用接口,相當於在HCI又增加一些控制命令,bluez中的bccmd就是用來調用其接口的。它的具體實現仍然是靠PCMIA和CF卡來實現。還有一般的串口也能支持BCSP接口,比如這一款。
 
PCMIA接口藍牙適配器
 
 
   
三.藍牙通訊過程
----------------------------------------------------------------- --------------
 
兩個藍牙設備正常通訊需要經歷如下完整的四個階段
1.發現(Discover)
    首先藍牙設備斷開聯絡進入搜索模式,它發送一個廣播信息給周圍10米的藍牙設備。
2.搜索(search)
    這一階段在搜索10米可用的藍牙設備。
3.配對(Pair)
    一但發現可用設備,則進入配對階段,雙方交換各自7個數字長的PIN碼(Personal Identification Number )。這樣一是爲安全,二是區別不同設備
4.聯接(connect)
  當配對成功後,通訊雙方進入聯接階段,兩個設備互相收發數據
 
這四個階段都需要軟硬件通力配合來完成。並按如下順序
 
 
 
四.常見的藍牙應用模式
---------------------------------------------------------------------------
 
 1.文件傳輸
 
通過SDP發送文件傳輸功能宣告,並通過OBEX來傳輸文件。
 
 
2.信息同步
 兩臺設備交換通訊錄,郵件,日程等信息,有一種標準協議IrMC,它是  Infrared Mobile Communications.它定義了利用Ir無線傳輸協議,最早用於紅外傳輸,因此而得名,後被移植到藍牙之上。
 
 
3.藍牙電話
 
撥號協議TCS-BIN通過L2CAP來完成,而音頻流繞開了L2CAP直接通訊
4.藍牙耳機
 
 
 
五.常見的藍牙設備
---------------------------------------
除手機外。常見的藍牙設備有
 
USB藍牙棒
  
PCMIA接口藍牙設備。
 
SDIO接口(即SD卡接口)藍牙設備
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章