© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 在DAC速度满足要求的前提下,考虑实际应用和输出滤波器的非理想特性,一般采用:
f0max=fc
×40%
而在本设计中系统所能提供的最高时钟为40MHz,于是理论上产生载波的最高频率为40×40%=16MHz。这样DDS的相对带宽为f0max
f0min
=M×40%
这是一个极大的数字,是传统的频率合成技术无法实现的。
参考文献:
[1] 樊昌信,张甫翊.通信原理[M].北京:国防工业出版社,2003:9,163~165.
[2] 张厥盛,曹丽娜.锁相与频率合成技术[M].成都:电子科技大学出版社,1995.
[3] 潘 松.VHDL实用教程[M].西安:西安电子科技大学出版社,2000.
[4] 潘祖善,何绍雄.滤波技术[M].上海:上海交通大学出版社,1997.
[5] 丁玉美,高西全.数字信号处理[M].2版.西安:西安电子科技大学出版社,2001:154~170.
第4期 2007年8月
工矿自动化
IndustryandMineAutomation
No.4
Aug.2007
文章编号:1671-251X(2007)04-0072-03
低功耗无线温度传感器的设计与实现3
刘国巍(安徽理工大学电气工程系,安徽淮南 232001) 摘要:利用凌阳单片机SPCE061A强大的数据处理能力和低功耗优势,结合蓝牙模块的嵌入式应用,实现了一种无线温度传感器的设计。该传感器可将采集到的温度数据实时可靠地传输给控制终端,有效地克服有线传感器在测量中的局限性。还针对蓝牙技术的特点,探讨了无线温度传感器的低功耗设计方法。关键词:无线温度传感器;低功耗;蓝牙技术;SPCE061A
中图分类号:TP212.11 文献标识码:B
0 引言温度是一种最常用的控制参数,在各种生产现场都需要温度传感器实现温度的检测,但在一些危险的场合或物体移动的情况下,有线的温度传感器不仅布线复杂而且容易造成线缆脱落影响数据的可靠性。近年来,蓝牙技术作为一种较成熟的短距离无线通信技术,将它和单片机技术相融合设计无线温度传感器,可以方便、实时、可靠地将采集到的温度数据传输给控制终端,保证了生产的顺利进行。而且,经过功能扩展建立的无线传感器网络,能够适应更加复杂的测量现场。收稿日期:2007-04-053基金项目:安徽省高校青年教师科研资助计划项目(2005jq1106)作者简介:刘国巍(1975-),男,安徽寿县人,讲师,现主要从事信号与信息处理、电子技术等方面的教学与科研工作,研究方向为个人通信、信号与信息处理。1 蓝牙技术简介蓝牙技术是一种无线的数据与语音通信的开放性标准,工作在2.4GHz的ISM频段上,采用跳频扩谱技术。蓝牙设备的最大发射功率可分为3级:
100mW(20dB/m)、2.5mW(4dB/m)、1mW(0dB/m)。当蓝牙设备功率为1mW时,其传输距
离一般为0.1~10m。当发射源接近或是远离而使蓝牙设备接收到的电波强度改变时,蓝牙设备会自动地调整发射功率。当发射功率提高到100mW
时,其传输距离可以扩大到100m。蓝牙支持点对点和点对多点的通信方式,在非对称连接时,主设备到从设备的传输速率为721kbps,从设备到主设备的传输速率为57.6kbps;对称连接时,主从设备之间的传输速率各为432.6kbps。蓝牙标准中规定了在连接状态下有保持模式(HoldMode)、呼吸模式(SniffMode)和休眠模式(ParkMode)3种电源节
能模式,再加上正常的活动模式(ActiveMode),© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
一个使用电源管理的蓝牙设备可以处于这4种状态并进行切换,按照电能损耗由高到低的排列顺序为:活动模式、呼吸模式、保持模式、休眠模式,其中,休眠模式节能效率最高。蓝牙技术的出现,为各种移动设备和外围设备之间的低功耗、低成本、短距离的无线连接提供了有效途径。2 系统硬件结构无线温度传感器主要由单片机控制单元、蓝牙模块、温度检测单元、接口电路及其它辅助电路组成,系统结构如图1所示。控制单元凌阳单片机为整个系统的核心,对检测到的温度数据进行转换、显示、传输,外扩4MBFLASH用于存储程序和温度数据。蓝牙模块包括蓝牙芯片、放大器、非平衡变压器(Balun)等,负责与蓝牙控制终端进行无线连接和数据传输,按键完成系统设置、复位等信息输入,测量的温度数据在传输到控制终端的同时在LED上显示,并通过扬声器定时语音播报当前温度数据和超限报警。图1 无线温度传感器系统结构框图2.1 单片机控制单元控制单元采用SPCE061A单片机,这是凌阳公司开发的一种性价比非常高的以μ′nSPTM微处理器为内核的16位单片机,工作电压为2.6~3.6V,工作频率为0.32~49.152MHz,较高的处理速度使其能够非常容易、快速地处理复杂的数字信号。该芯片内包括ADC、DAC、定时器/计数器、RAM、FLASH、ROM等器件[1],具有一套高效率的指令系统和集成开发环境,并且支持标准C语言,可以实现C语言与凌阳汇编语言的相互调用,为硬件设计和软件开发提供了便利条件。另外,芯片内置的2路10位精度的DAC,再配合丰富的语音函数库,可方便地完成语音的播放,非常适合于语音应用的开发。2.2 温度检测单元温度检测单元采用DS18B20型传感器,是美国DALLAS公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式。DS18B20与SPCE061A单片机的接口电路如图2所示,由于DS18B20传感器支持“一线总线”接口[2],因此只需将DS18B20信
号线接到单片机的1位I/O线上即可,而且在1根I/O线上可以挂接多个传感器实现多点温度测量。为了提高抗干扰性能,采用外加电源方式对传感器供电。
图2 DS18B20与SPCE061A接口电路图2.3 无线传输控制单元随着蓝牙芯片单芯片的集成度越来越高和集成了芯片、Balun、晶振等各种蓝牙模块的面世,将蓝牙嵌入到其它数字化设备中也越来越容易实现。本系统无线传输由蓝牙模块BCM02实现,BCM02核心采用CSR(CambridgeSiliconRadio)公司的BlueCore2-External蓝牙芯片,外围扩展了晶振、FLASH、Balun、带通滤波器(BPF)、1.8V稳压电路,可以根据不同的应用场合快速开发,模块符合蓝牙V1.1标准,最大发射功率设计为2.5mW
(4dB/m),是一个二级蓝牙芯片,工作电压为
3±0.3V。BCM02通过UART口与单片机相连,为简化设计,将所需的蓝牙协议栈和无线传输应用程序直接固化在蓝牙模块中,利用蓝牙提供一个透明的无线数据传输,而单片机只要设置好波特率等参数即可进行通信,传输控制由单片机完成。
3 软件设计及流程3.1 单片机软件设计单片机软件部分主要包括主程序、中断子程序、测温子程序、转换显示及存储子程序、UART通信子程序、语音播放子程序等,为了降低功耗,使用中断来唤醒单片机进行测温等工作,因此主程序部分比较简单,主要负责系统各部分初始化和中断的调
・37・2007年第4期刘国巍:
低功耗无线温度传感器的设计与实现 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net用,在系统初始化完成后就直接进入睡眠模式,当中断到来时单片机退出睡眠模式,调用中断子程序实现测温、转换显示、温度数据的传输以及语音的播报和报警等功能。3.2 蓝牙应用程序设计本系统是基于蓝牙的串口应用模型SPP(SerialPortProfile)实现无线数据的透明传输,在核心协议栈之上编写自己的上层应用程序。CSR的蓝牙核心协议栈包括HCI、L2CAP、SDP、RFCOMM等,以固件的形式提供给开发人员,用户编写的应用程序和协议栈一起运行在CSR嵌入式环境中。在CSR程序中,不同任务之间可以异步地发送消息,每一个任务在创建的时候可以让其中一个拥有消息队列,其它的就把发给任务的消息提交给该消息队列,由任务调度程序自动运行获得任务的消息。蓝牙模块上层应用程序流程如图3所示。图3 蓝牙模块上层应用程序流程图4 低功耗设计作为无线传感器,低功耗运行可以最大限度地延长设备的有效使用时间,为了获得最佳性能,设计时在电源损耗和可用性方面必须根据情况权衡使用,除了选用低功耗器件外,笔者从以下几个方面设计了电源管理程序以尽量减少无线温度传感器的功耗。 (1)由于无线温度传感器负责向控制终端传输数据,因此何时进行数据采集、何时进行数据传输可以由控制终端决定,非常适合使用休眠模式和呼吸模式,通过减少蓝牙设备在微微网中的活动达到节电的目的,并且控制终端一般接有持久的电源,所以电源管理的开销由终端来负责比较合适。把控制终端作为主设备,将电源管理程序设计在终端的应用控制层中,并由控制终端完成设备的查询、配对、建链等工作,当无线传感器与控制终端配对成功并建立RFCOMM连接后进入休眠模式,此时主从设备仍然保持着RFCOMM信道,只是不能发送和接收数据,休眠模式下信标间隔可设为1s,电流大概在1mA左右。当需要进行数据传输时,退出休眠模式进入呼吸模式,通过呼吸时隙发送数据,呼吸间隔可设为20~40ms,间隔过大会带来明显延迟,当数据传输结束后再次进入休眠模式,从而尽可能地降低能耗。 (2)CSR的BlueCore芯片提供了独特的硬件节能方法———深度睡眠(DeepSleep)模式,进入和退出深度睡眠模式至少需要10ms,通过按钮或事件进入深度睡眠模式很大程度上降低了损耗。当用户确定将有较长时间不使用无线温度传感器时,可通过控制终端发送事件消息进入深度睡眠模式,需要使用时再通过消息快速退出。在深度睡眠模式下电流一般可控制在50μA左右。(3)凌阳单片机SPCE061A也可以应用
CPU
的睡眠模式,且A口具有键唤醒功能,将BCM02的PIO5与单片机的IOA7相连接,当蓝牙模块退出休眠模式,发送指令进行数据采集时,PIO5输出高电平,通过IOA7电平的变化产生中断来唤醒CPU进入工作状态。