摘要:在介绍MSP430F447单片机和LBMx-2002蓝牙模块的特点和功能的基础上,着重介绍了单片机和蓝牙系统的各种低功耗工作特性,并充分利用其节能特性实现MSP430F447单片机在便携式蓝牙产品中的应用。 关键词:MSP430 低功耗 蓝牙 LBMx-2002 蓝牙技术是一项新兴的计算机与通信方面的短距离(10m~100m)无线电信号传输标准,是一种面向低功耗的无线技术。在实际应用中,尽管蓝牙功耗很小,但是蓝牙在工作时天线发射所需要的功耗相对来说仍然较大,因此在小型便携式产品中为了实现小容量电池供电?熏需要考虑如何进一步降低功耗、延长电池的使用时间。 本文介绍TI公司MSP430系列中F447单片机以及LG Innotek公司Class 2蓝牙模块LBMx-2002的特点和使用,并介绍如何利用它们本身具有的各种低功耗运行方式最大限度地降低系统功耗,以较小的硬件尺寸、较好的便携性和移动性实现点对点或者一点对多点的无线数据和信息的传输。 1 系统结构 典型的蓝牙应用系统如图1所示。系统由多个可移动的蓝牙从设备(SLAVE)、一个负责与蓝牙从设备建立连接的蓝牙主设备(MASTER)以及一台管理计算机组成。蓝牙主设备可以通过RS-232、PCI或者USB与计算机连接起来。蓝牙从设备可以设计为各种便携和移动器件,例如车辆管理系统的车载装置、门禁系统的身份卡。蓝牙主设备不断查询是否有新的蓝牙设备,再将查询到的信息通过接口发送给计算机,由计算机决定是否对其进行连接,并建立数据链路,控制各个从设备与主设备的通信。计算机与各种蓝牙接入装置之间的各种信息通过蓝牙数据链路完成交换。
2 蓝牙接入装置硬件结构 以蓝牙从设备为例,蓝牙从设备的硬件结构如图2所示。系统由MSP430F447、LBMx-2002蓝牙模块、RS-232接口、串行存储器、LCD显示屏以及微带天线组成。单片机通过UART1控制蓝牙模块的工作。作为从设备需要主设备发起连接,未建立连接时,一直处在等待连接状态。数据链路建立后,单片机接收蓝牙模块返回的数据,并将数据通过LCD屏显示。RS-232接口用于配置从设备信息,如从设备的ID、安全连接PIN码等。从设备信息由计算机通过RS-232接口发送给单片机,单片机将其保存在内部的Flash或者扩展的串行存储器中。 2.1 MSP430F447单片机 MSP430F447工作电压范围1.8V~3.6V。在1MHz时,不同运行模式下的额定工作电流为0.1μA~400μA,具有五种节能工作方式,可以使系统在保证正常运行条件下最大限度地降低功耗。内部具有硬件乘法器、FLL+时钟系统、12位A/D、模拟比较器和定时器模块,还包括六个I/O端口以及两个硬件UART。另外,它还支持高达160段位的LCD驱动器,可以不另外增加液晶驱动模块而直接连接LCD显示屏。单片机内部具有电源电压管理单元,可以很方便地实现电池电压监测。
MSP430F447有六种运行模式,一种是AM正常运行模式,其余为低功耗运行模式: (1)LPM0(Low-power mode 0):CPU和MCLK主时钟关闭,ACLK辅助时钟、SMCLK子系统主时钟和FLL+锁频环保持活跃; (2)LPM1:CPU、MCLK和FLL+关闭,ACLK和SMCLK保持活跃; (3)LPM2:CPU、MCLK、FLL+和DCOCLK关闭,ACLK和数字时钟发生器保持活跃; (4)LPM3:CPU、MCLK、FLL+、DCOCLK和数字时钟发生器关闭,ACLK保持活跃; (5)LPM4:CPU、MCLK、ACLK、FLL+、DCOCLK和时钟发生器关闭,晶振停止振荡。 以f(ACLK)=32.768Hz,f(System)=1MHz,VCC=3V为例,单片机运行时,AM时消耗电流为420μA,LPM0时为55μA,LPM2时为17μA,LPM3时为1.6μA(25℃),LPM4时为0.1μA(25℃)。 2.2 蓝牙模块 本文使用LG Innotek公司Class 2 蓝牙模块LBMx-2002,内部结构如图3所示。其内核蓝牙模块采用CSR公司的BlueCore2-Ext单片蓝牙,通过对BlueCore2-Ext的进一步封装,极大地降低了电路设计的难度。
LBMx-2002提供完全兼容蓝牙系统的数据和语音通信,向主机提供UART和USB接口,支持723.2kbps/57.6kbps数据速率及A律、 μ律压缩,提供每秒8kHz采样率,双向同步串行音频接口。内部具有4MB/8MB的FLASH ROM。其协议栈采用BlueCore2-Ext HCIStack1.1v14.3,兼容蓝牙规范1.1版本。整个模块的尺寸相当小,只有12.5mm%26;#215;17.5mm。 它的供电电压为3.0V~3.6V,工作电流在ACL数据传输(UART/115.2kbps)是20mA,在只有Voice时(HV3 Packet)是33mA,具体如表1所示。 蓝牙支持三种节能工作模式:HOLD(保持)模式、SNIFF(呼吸)模式和PARK(暂停)模式。在HOLD模式下,只有一个内部计数器工作。当处于HOLD模式的单元被激活,数据传递立即重新开始。HOLD模式一般用于连接多个PICONET(微微网)的情况。在SNIFF模式下,从设备降低了从微微网“收听”消息的速率,“呼吸”间隔也可以适当调整。在PARK模式下,设备依然与微微网同步但没有数据传送。工作在PARK模式下的设备放弃了MAC地址,偶尔收听主设备的消息并恢复同步,检查广播消息。这三种工作模式以PARK模式节能效率最高,依次是HOLD模式和SNIFF模式。 图4 软件流程图 通过表1可以看出?熏蓝牙建立连接后在PARK模式条件下的消耗电流最低,通过控制蓝牙的工作状态与MSP430的低功耗模式相结合,可以极大地降低系统工作电流,延长电池的使用时间。在本文的蓝牙接入装置中,通过单片机外接高频晶振、关闭频率锁定环FLL+等内部模块,将单片机的节能模式设定到了LPM3,只要保持辅助时钟ACLK活跃,就可以响应蓝牙模块通过UART返回的数据和消息。蓝牙模块建立连接后,只要没有数据传输,就将其工作模式置为PARK模式。当主设备需要再次传输数据时,需要向从设备发送退出PARK命令。从设备退出PARK模式后,即可与主设备进行数据信息交换。 表1 LBMx-2002蓝牙模块的工作电流 Mode Average Peak SCO connection HV3(1s interval sniff mode)(Slave) SCO connection HV3(1s interval sniff mode)(Master) SCO connection HV1(Slave) SCO connection HV1(Master) ACL Data transfer,115.2kbps UART(Slave)master to Slave ACL Data transfer,115.2kbps UART(Slave)Slave (Master)Master to Slave ACL Data transfer,115.2kbps UART(Master) Slave to Master Deep Sleep Mode,Initial ACL connection ,Sniff Mode 40ms interval,57.6kbps UART ACL connection,Sniff Mode 1.28s interval,38.4kbps UART Park Mode Peak current during RF burst 32mA 33mA 67mA 67mA 60mA 56mA 63mA 20mA 50μA 4mA 1mA 0.6mA 80mA 3 蓝牙接入装置的软件实现 下面以从设备为例说明从设备的工作过程(不涉及存储器和LCD操作,主从设备之间只建立ACL数据链路)。首先单片机初始化,设置ACLK辅助时钟,设置UART0和UART1等内部模块时钟为ACLK,蓝牙模块复位;设置连接模式后,单片机进入LPM3休眠状态;当主设备通过Inquiry查询到从设备并建立连接后,单片机退出休眠模式,并修改蓝牙模块的被查询方式以及设置PARK模式的使能,随后主从设备进行数据信息交换;当没有数据交换时,蓝牙模块进入PARK模式,单片机随即进入LPM3休眠状态,以降低功耗;当数据的传输恢复时系统再退出休眠状态。图4为系统软件流程图。 该蓝牙接入装置通过改变单片机和蓝牙模块的运行方式,最大限度地降低了整个装置的功耗。实验证明,其节能效果非常显著,在小数据量业务下完全可以使用高容量的锂电池实现系统的便携性、可移动性和较长的使用时间,因此具有较好的实用价值。