MSP430和CC1101的电磁波唤醒功能设计
扫描二维码
随时随地手机看文章
摘要:为了实现在低功耗前提下将有效数据以无线方式进行传输,设计了一种基于超低功耗MSP430微控制器和无线收发模块CC1101的无线传输系统,该系统利用MSP430灵活的定时器和CC1101特有的电磁波唤醒Wake On Radi,WOR)功能,最终实现了单片机在超低功耗前提下将数据在电脑上显示出来。其中,WOR实现的难点是对CC1101寄存器的配置,以及其从深度睡眠模式唤醒时间和开始接收数据模式的时间的计算。
引言
随着计算机通信技术的迅速发展和因特网的广泛应用,尤其是工业控制领域的应用越来越广泛,物与物之间能够直接通信就变得愈加重要。特别是在仓储系统中,目前主要使用无源RFID(Radio Frequency Identifcation)电子标签,因为受到识别距离和识别条件的影响(例如,必须使标签离阅读器很近并且要正对着阅读器),使用起来会比较麻烦。有源RFID虽然能够克服这个缺点,但是因为需要电源,所以必须保证通信的低功耗,才能使有源RFID得到广泛地应用。而MSP430 MCU专门为超低功耗应用而特别设计,其具有高度灵活的定时系统、多种低功耗模式、即时唤醒以及智能化自主型外设,不仅可以实现真正的超低功耗优化,而且还能大幅延长电池的使用寿命。CC1101的WOR功能可以使芯片在无需MCU干预下周期性地从深度睡眠模式醒来侦听潜在的数据包,同时在深度睡眠模式下,CC1101的功耗几乎为0。
正是出于这种考虑,本文提出了一种基于MSP430和CC1101的无线唤醒数据传输系统,并且能将被唤醒的ED(Ending Device)的MAC(Media Access Control)地址通过串口显示在电脑上。
1 系统的总体结构
图1为电磁波唤醒总体设计方案。它主要由3部分组成:多个被唤醒对象即ED、用于数据传递的AP(Access Point)、用于数据采集或者发送命令的终端设备(如电脑)或者手持设备等。
终端设备通过UART(Universal Asynchronous Receiver/Transmitter)向AP发送指令,AP根据指令向ED发送命令,ED接收到AP发送的命令后,立即从深度睡眠状态被唤醒进入到工作状态,然后将自己的MAC地址通过CC1101发送给AP,AP对收到的MAC信息进行处理后通过UART发送给终端设备显示出来。整个过程实现的是AP发送数据,ED接收数据,然后ED发送数据,AP接收数据,进而实现最终的显示。
2 系统的硬件设计与实现
图2为电磁波唤醒的部分硬件结构。MCU采用的是TI公司的MSP430系列单片机,通过CC1101无线射频收发芯片实现无线数据的接收和发送,然后通过有线或者无线方式与终端设备进行连接。
3 系统的软件设计与实现
智能终端ED和AP是以无线射频信号方式进行数据通信的。AP先发送包含MAC信息的WOR指令,当收到AP发送过来的指令时,ED被唤醒,发送自己的MAC地址给AP,然后AP判断接收到的MAC是否符合要求。如果符合,那么就让相应的ED闪灯,如果不符合要求,则AP发送使ED继续进入睡眠状态的指令,即进入低功耗模式。图3和图4分别是AP和ED的软件流程图。
4 系统的低功耗设计
本系统的MCU采用MSP430,当其处于等待指令的LPM3低功耗模式时,此时ED的电流大约是10μA,因此整个系统低功耗设计的关键是对CC1101的WOR的使用。当它处于接收状态时,其工作电流为12.5 mA左右;如果始终处于接收状态,整个系统的供电电池会很快耗尽。为了解决这个问题,可以将系统的工作模式设置为定时工作模式,在持定的工作时间段内,启用WOR,系统会自动处于侦听状态(即接收状态)。这样,就需要两个时间参数T0(最长工作周期)和T1(最长接收时间)以及接收的占空比d(Duty Cycle)。降低功耗的关键就是降低占空比。设定每2 s醒一次,每次持续3.5 ms。唤醒ED时要先发送前导字,时长要保证唤醒终端CC1101的时间周期2 s,并且,在连续两个周期(7 ms)内没有收到同步字和帧起始码,则认为是无效的数据,重新进入WOR状态。如此设定后,整个系统的平均工作电流为35μA左右。这样一来普通的500mAh纽扣电池就能使用很长时间。
结语
经过实验验证,本文设计的基于MSP430和CC1101的电磁波唤醒系统能够保证在低功耗下进行数据的无线传输。结合实际需要对该系统进行改造,在仓储及寻货等方面有重要的现实意义。