郭晓光 冯思奇
摘 要:针对国内外一些可穿戴式智能设备的无线传感节点的设计方案,有一些是基于集成了无线传输协议的控制器,它们有数字处理能力有限,硬件系统固定,缺乏单元灵活性,特别不利于多路参数并行处理的问题,设计了一种基于蓝牙4.0的低功耗无线传感器网络节点。使用了基于蓝牙4.0技术的CC2540芯片和Xilinx公司的低功耗FPGA芯片,并结合手机应用程序完成了系统设计。并且在硬件设计和软件设计上注意降低整个系统的功耗。测试结果表明,系统在低功耗设计的基础上,可以准确地将数据通过蓝牙发送出去。该系统具有低功耗、低成本、开发难度小等特点,可适用于可穿戴式智能设备等领域。
关键词:CC2540;蓝牙4.0;BLE;FPGA
引言
随着互联网的发展、技术进步和高性能低功耗处理芯片的推出等,一些穿戴式智能设备已经从概念化走向商用化[1],而一些穿戴式智能设备本质就是带三轴、六轴加速度传感器或心率传感器的无线传感器网络节点。微电子技术的快速发展,使FPGA芯片在成本、集成度和功耗等方面已能满足社会发展各个方面的需求。特别是基于FPGA的SOC概念,结合了硬件软件协同工作的优点,实现上层任务和底层硬件的有机融合。可以预见,在提高无线传感网络节点的智能程度和灵活程度上,FPGA拥有广阔应用场景。蓝牙无线技术[2]是使用范围最广泛的全球短距离无线标准之一。新的蓝牙4.0版本它在继承了蓝牙技术在无线连接上的固有优势的同时,增加了高速蓝牙和低功耗蓝牙的特点[3],并且随着支持蓝牙4.0的智能手机的不断推出,蓝牙4.0技术的优势使其能够很好的满足可穿戴式智能设备的应用要求。结合FPGA和蓝牙低功耗两种技术的优点,文章介绍了一种以FPGA为控制器的SOPC嵌入式系统,使用基于蓝牙4.0技术的CC2540芯片回传数据的无线传感器节点。该系统功耗低、使用方便、通用性强,能满足可穿戴式智能化设备和数据无线传输等广泛的应用要求。
1 系统总体方案设计
本设计选择了FPGA嵌入式系统驱动蓝牙协议栈芯片CC2540。不仅开发简单、开发成本低、通用性强,而且运用FPGA嵌入式开发系统可更多地节约FPGA中的工作资源,可适用于大多数无线传感器网络节点的接口模块。传感器节点的硬件结构框图如图1所示。
被采集物理量通过数字传感器或者模拟传感器和模数转换模块处理之后,转变为数字信号量,FPGA直接获取到这些数字信号量,并进行处理之后传输给蓝牙模块,蓝牙模块将这些数据发送至智能手机或带蓝牙接收端的接收设备。
2 硬件设计
2.1 总控芯片选型
本设计选用了Xilinx公司的第六代Spartan系列的XC6SLX9作为主控芯片。此系列FPGA是低风险、低成本和低功耗的最佳平衡,与前几代器件相比,不仅功耗降低42%,同时性能提高12%。XC6SLX9的工作电压为3.3V低电压,有9152个逻辑单元、集成式PCI Express模块、高级储存器支持250MHz DSP Slice和3.125Gbps低功耗收发器。它能够很好地满足本设计的要求。
2.2 无线传输模块设计
本设计的无线传输模块的电路设计使用基于蓝牙4.0技术的CC2540[4]芯片。CC2540是TI公司推出的完全兼容蓝牙4.0低功耗BLE协议栈的SOC芯片,CC2540有超低功耗的睡眠模式和运行模式,并且两种模式的互相转化可以进一步实现超低功耗,这使CC2540可以很好地适用于低功耗系统。它的工作电压为3.3V低电压,在发送模式下电流损耗为19.6mA,待机模式下电流仅为0.4μA。具体的无线传输模块原理图如图2所示。
在实际电路设计中可通过CC2540芯片管脚40连接一个1pF的电容实现。在两个时钟电路中,其中一个时钟电路用一个工作频率为32.768kHz的石英晶振和两个均为15pF的电容实现,石英晶振接芯片管脚33和32,另一个时钟电路由一个工作频率为32 MHz的石英晶振和两均为12pF的电容实现,32MHz的石英晶振接芯片管脚22和23。RF_N和RF_P这两个为射频天线接口,接天线及巴伦匹配电路。巴伦匹配电路能使得单极天线接收的信号转为双路差分信号时,维持天线的辐射效率,这部分的结构好坏对通信距离,系统功耗都有较大的影响。
3 软件设计
3.1 BLE协议栈
系统中的无线设备之间的互联和无線数据的传输是通过CC2540芯片所具有的蓝牙4.0 BLE协议实现的。蓝牙4.0 BLE协议栈包含了蓝牙4.0 BLE协议所规定的基本功能,协议栈是以函数形式来实现这些基本功能的,为了方便管理函数集,蓝牙4.0 BLE协议栈内加入了一个叫做OSAL(操作系统抽象层)的小操作系统。蓝牙4.0 BLE协议栈以及所有的应用程序都是建立在OSAL基础上的。OSAL是一种支持多任务运行的系统资源分配机制,OSAL负责调度各个任务的运行,如果有事件发生了,则会调用相应的事件处理函数来处理。
3.2 FPGA与CC2540
XC6SLX9作为主控芯片通过ISE14.2软件套装中的EDK软件完成了嵌入式系统外设的系统架构的设计,并且在ISE14.2软件套装中的SDK软件设计工具中完成了与CC2540的数据接收与发送的C语言编程。
在对芯片CC2540编程时,需要先使用IAR软件把程序烧录到CC2540芯片中。在程序烧入后,将蓝牙模块接到FPGA开发板的串口上。由于CC2540作为MCU和数据传输两个功能的使用对于状态的控制需要特别安排,以免出现错误。配置XC6SLX9和CC2540后得到状态转换方式,状态转换图如图3所示。
CC2540在接通电源后便处于待机状态,等待FPGA发送指令或者数据。接收到指令之后,CC2540执行相应的操作,便又返回待机状态,接收到数据之后,CC2540便将接收到的数据通过蓝牙发送出去。然后继续进入待机状态。总之,CC2540在非工作状态下一直处于超低功耗待机状态。
4 实验结果分析
目前有很多设备开始支持蓝牙4.0技术,如移动电话、PC、平板计算机等。本测试是以支持蓝牙4.0的iPhone 5s为例,通过在iPhone 5s上運行的lightblue APP,让手机能够接收到该节点采集到的MPU6050六轴加速度数字传感器的数据,lightblue软件可以接收数据并以十六进制,八进制,二进制以及UTF-8形式显示。图4中(a)图为数据显示选择界面,(b)图为数据的十六进制显示界面。
如图5所示为支持蓝牙4.0的安卓手机上运行的APP,测试过程是通过手机APP发送数据,然后蓝牙模块可以接受到数据并且通过串口工具在电脑的串口助手软件上显示出来。(a)图为安卓手机APP发送数据界面,(b)图为串口工具显示界面。
5 总结与展望
文章设计了一种以FPGA为控制器,以蓝牙4.0技术为无线通信方式的无线传感器网络节点,该设计具有低功耗、低成本、开发难度小、扩展性强、节点组网简单和适用范围广等特点。对整个节点的硬件和软件低功耗设计,使本设计有很好的低功耗特性,增强了节点的使用寿命。本设计在低功耗的特点下能够准确地发送数据。并且随着iPhone系列手机和各种国产智能手机以及平板电脑开始支持蓝牙4.0技术,使本设计有了更广泛的适用范围。
参考文献
[1]金纯,贾珍梅,刘鲁云,等.基于CC2540的超低功耗蓝牙模块的设计[J].电视技术,2014,39(1):60-64.
[2]孙利民,李建中,陈渝.无线传感网络[M].北京:清华大学出版社,2005.
[3]欧阳骏,陈子龙,黄宁淋.蓝牙4.0BLE开发完全手册[M].北京:化学工业出版社,2013.
[4]TI.2.4GHz Bluetooth low energy System-on-Chip[EB/OL].[2014-04-08].http//www.ci.com.En/produce/en/CC2540.
[5]卢浩昌.基于FPGA的无线传感器网络低功耗节点设计及实现[D].长沙:中南大学,2012.
作者简介:郭晓光(1990-),男,山西长治人,硕士研究生,研究方向为超声无损检测及信号与信息处理。