Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1675033
  • 博文数量: 311
  • 博客积分: 7778
  • 博客等级: 少将
  • 技术积分: 4186
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 19:59
个人简介

蓝点工坊(http://www.bluedrum.cn) 创始人,App和嵌入式产品开发。同时也做相应培训和外包工作。 详细介绍 http://pan.baidu.com/s/1y2g88

文章存档

2012年(3)

2011年(115)

2010年(170)

2009年(23)

分类: 系统运维

2010-09-27 22:18:35

Andrew Huang
 
  为了教学和未来汇森(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无线传输协议,最早用于红外传输,因此而得名,后被移植到蓝牙之上。
 
  关于IrMC参见
 
3.蓝牙电话
 
拨号协议TCS-BIN通过L2CAP来完成,而音频流绕开了L2CAP直接通讯
4.蓝牙耳机
 
 
 
五.常见的蓝牙设备
---------------------------------------
除手机外。常见的蓝牙设备有
 
USB蓝牙棒
  
PCMIA接口蓝牙设备。
 
SDIO接口(即SD卡接口)蓝牙设备
 
阅读(5345) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~