基于蓝牙协议的低功耗技术研究


  摘 要:文章介绍了一种基于蓝牙协议的低功耗技术的设计与实现。在短距离无线传输领域,蓝牙技术的地位已经毋庸置疑,但功耗成为蓝牙技术发展的最大障碍。互操作的远端蓝牙设备需要使用相同的蓝牙协议栈,不同的应用需要不同的蓝牙协议栈,蓝牙设备之间的通信主要依靠蓝牙协议栈。文章主要是在协议的基础上进行一些改进,使各设备之间通信时能够降低功耗。
  关键词:蓝牙;协议;协议栈; 低功耗
  中图分类号:TN925文献标识码:A 文章编号:1006-8937(2010)08-0012-02
  
  短距离无线数据传输是一种线缆替代技术,在当前很多领域(如工业生产、医疗监护、科学研究等)都得到了广泛的应用。它的出现,解决了因环境和条件限制而不利于有线布线的问题,同时具有低成本、方便携带等优点。然而由于存在高功耗的缺点,使得这项技术在很多供电受限的工业现场应用中受到了很大的限制。在短距离低功率无线领域,蓝牙技术的地位已经不容置疑。但功耗和成本成为蓝牙的主要约束,使应用受到了限制,较高的功耗使其应用不能使用功率极小的钮扣电池。此外,人们希望,使用普通的钮扣电池的装置可运行几个月甚至几年。因此,蓝牙低功耗标准将成为蓝牙发展的重要方向。
  蓝牙技术发展到今天已经有十二年的时间了,并且在某些方面已经取得了一些成果,并且技术也相当的成熟了,只是在功耗方面还不能充分体现它优越性。蓝牙设备不仅可以使居家办公更加轻松,还能使家庭娱乐更加方便。蓝牙技术还可以用在适配器中,允许人们从相机、手机、膝上型计算机向电视发送照片以与朋友共享。同时,蓝牙在医疗方面的应用使可穿戴技术的应用更加广泛,使更多的人感受到蓝牙的作用。
  1 蓝牙通信协议
  1.1 蓝牙协议栈
  蓝牙技术规范的目的是符合该规范的各种应用之间能够实现互通信和操作。设计协议和协议栈的主要原则是尽可能利用现有的各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互操作,充分利用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的开放性保证了设备制造商可以自由地选用其专用协议或习惯使用的公共协议,在蓝牙技术规范基础上开发新的应用。互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层,可以说是蓝牙技术的底层和基本层。
  完整的蓝牙协议栈如图1所示,不是任何应用都必须使用全部协议,而是可以只使用其中的一列或多列。图1显示了所有协议之间的相互关系,但这种关系在某些应用中是有变化的。
  在蓝牙协议体系中的协议按SIG的关注程度分为四层:
  核心协议:BaseBand、LMP、L2CAP、SDP;电缆替代协议:RFCOMM;电话传送控制协议:TCS-Binary、AT命令集;选用协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。
  除上述协议层外,规范还定义了主机控制器接口(HCI),它为基带控制器、连接管理器、硬件状态和控制寄存器提供命令接口。
  蓝牙核心协议由SIG制定的蓝牙专用协议组成。绝大部分蓝牙设备都需要核心协议(加上无线部分),而其他协议则根据需要而定。总之,这些协议根据设计的需要进行选取,不一定要求每种都协议都要有,但可以根据需要选取所有的协议。这样做出来的东西功能比较全面,内存比较大,成本也相对较高,并且它的功耗也会很大,因此功耗是制约蓝牙技术发展的一个瓶颈。
  1.2 蓝牙用户模式
  目前蓝牙的主要用户传输模式主要有以下几种。
  ①文件传输模式。文件传输模式提供两终端间的数据通信功能,可传输格式为.xls、.ppt、.wav、.jpg和.doc的文件(但并不限于这几种),以及完整的文件夹、目录或多媒体数据流等,提供远端文件夹浏览功能。②因特网网桥模式。这种用户模式可通过手机或无线调制解调器向PC提供拨号入网和收发传真的功能,而不必与PC有物理上的连接。③局域网访问模式。该用户模式下,多功能数据终端(DTs)经局域网访问点(LAP)无线接入局域网,然后,DTs的操作与通过拨号方式接入局域网的设备的操作一样。④同步模式。同步用户模式提供设备到设备的个人资料管理(PIM)的同步更新功能,其典型应用如电话簿、日历、通知和记录等。⑤一机三用电话模式。手持电话机有三种使用方法:第一,接入公用电话网,作为普通电话使用;第二,作为不计费的内部电话使用;第三,作为蜂窝移动电话使用。无线电话和内部电话使用相同的协议栈;语音数据流直接与基带协议接口,不经过L2CAP层。⑥头戴式设备模式。使用该模式,用户打电话时可自由移动。语音数据流不经过L2CAP层而直接接入基带协议层。头戴式设备必须能收发并处理AT命令。
  2 低功耗技术研究
  文章基于CSR公司的casira硬件平台对短距离无线数据的低功耗传输协议进行了研究,在保证数据可靠传输的同时,极大地降低了设备的功耗。主要采用CSR公司推出的一款BC3模块,它主要由微处理器和射频模块两部分组成。其主要特点有:
  采用2.4 GHz频段,其设计构架符合IEEE 802.15.4协议;接收灵敏度<-92 dBm,发送功率为-28.7~+3.4 dBm可调;拥有0~15(共16)个可选工作信道;采用跳频的二进制编码方式,增强了抗干扰能力。
  一方面,PC/仪器仪表通过RS232/485总线将数据传送给MCU处理器,处理器将数据包进行适当处理后送给射频模块发送出去;另一方面,射频模块将接收到的数据送给MCU处理器,处理器经过解包处理后再通过RS232/485总线将数据送给PC/仪器仪表。工业中的仪器仪表大多都采用RS485总线通信方式,因此无线数据传输设备提供RS232/485可选通信接口,既方便连接PC机,又满足了一般仪器仪表的要求,串口波特率为1 200~115 200 bps可调。
  软件设计和低功耗通信协议研究无线数据传输设备的一般工作流程如图2所示。进行相关初始化之后进入主循环,对射频模块和串口进行轮询,这种轮询的方式结构简单,实现方便。
  然而,在这种工作方式下,射频模块就必须时刻监听信道。在 2.7 V工作电压、处理器时钟频率为2 mHz时,BC3的射频模块接收工作电流IRF(Rx)≈37 mA,处理器以及外围器件的工作电流Imcu≈2 mA,因此设备的正常工作电流I≈39 mA,这个电流对于一些供电受限的工业应用显然是不能够接受的。为了降低无线传输设备的功耗,需要对设备之间的传输协议作适当的改进。
  由于大部分的时间里设备之间没有进行数据传输,因此射频模块一直处于接收状态是一种资源浪费。而设备本身不知道对方何时有数据传输过来,因此设备之间约定在特定的时间段内进行数据传输,而其余时间休眠。这样一种约定需要一种同步机制。因此,我们采用信标同步机制:一个设备定时发送一个称为“信标(Beacon)”的数据包,即信标帧。另一个设备通过接收该信标帧来实现同步。我们将发送信标帧的设备称为“主设备”,接收信标帧的设备称为“从设备”。通过信标帧,即可实现从设备和主设备之间的同步。在该协议中,有3种类型的数据包:信标帧、数据请求帧和数据帧。信标帧和数据帧的帧头包含有是否有数据待传的信息。实现同步之后,主设备和从设备之间就约定进入休眠时间(Tsleep)。