随着苹果iPhone和任天堂Wii游戏机的流行,加速度传感器在消费类电子设备中得到了广泛的应用。例如,笔记本中的跌落保护、MP4/手机中的屏幕自动翻转、轻敲手机挂断电话以及手机“翻转静音”等等。这些应用改变了传统设备与用户之间的交互方式,使产品有了更好的用户体验。作为这场变革的领导者,意法半导体(ST)的微机械加速度传感器不仅能够输出加速度的数值,同时集成了很多的功能模块,可以实现上述的应用。我们将以LIS35DE和LIS331DLH芯片内部的功能模块作为线索,介绍意法半导体加速度传感器的性能特点,并介绍如何配置传感器的功能模块来实现特定的应用。
双中断配置
跌落保护对于配置了硬盘的便携式设备来说非常重要。该功能在高档笔记本电脑中的应用已经非常普遍。三轴加速度传感器LIS35DE、LIS33DE和LIS331DLH/M/F均能通过中断管脚并对加速度门槛寄存器进行设置来实现跌落保护功能。其中,加速度门槛寄存器是用来设置门槛加速度的寄存器,而中断设置寄存器是用来设置中断输出的条件和中断源判定的寄存器。下面以自由落体检测为例说明检测原理和中断配置方法。
物体如果处于静止状态,就只受重力加速度的影响,而且物体三个轴上的重力加速度矢量和为1g.
物体如果处于自由落体状态,理论上在物体的X轴、Y轴和Z轴三个轴上的加速度均为零。而在实际情况中,由于空气阻力和下落旋转时产生的离心力,三个轴上的加速度矢量和应是某一个较小的数值。
静止时,物体在三个轴上的加速度不可能同时小于577mg.当然,这是一个理论上的上限参考值。考虑到加速度传感器在0g时的误差和温度变化对测量精度的影响,为防止误触发,可以将这个门槛值设定为360mg.如果三个轴上的加速度同时小于360mg,我们就可以认为物体处于自由落体状态,可以触发中断。需要注意的是,这个门槛值是一个绝对值,并且门槛值对X轴、Y轴和Z轴三个轴都是有效的,因此,我们可以设置加速度在某一轴上超过门槛值就产生中断(“或”的关系)或者加速度在三个轴上都超过门槛值才产生中断(“与”的关系)。这样,在做跌落保护时,应该选择“与”的关系作为跌落的判定条件。
LIS35DE和LIS331DLH/M/F能够提供两个中断配置寄存器以及互相独立的中断配置寄存器与加速度门槛寄存器。一个中断信号用于跌落检测的同时,另一个中断可以用来设置为唤醒,即当加速度大于设定的门槛值时,就会产生唤醒中断。除了上述两个功能外,还可以把中断设定为数据更新通知和敲击检测等功能。
高通滤波器
iPhone3.0集成了一个新的功能,即只需要晃动手机就可以取消刚才的操作。如果通过这样一些简单的动作来代替按键甚至做一些新应用,例如摇色子游戏、切换音乐等,就可以使一些常用的功能变得有趣起来。如果采用上述中断管脚寄存器实现这样的功能,就会遇到一个问题---重力。由于重力的存在,用户不能简单地在FF_WU_TSH1寄存器中设置统一的门槛值来作为晃动或者唤醒中断的判定条件。为此,LIS35DE集成了高通滤波器,能够滤除缓慢变化或不变的加速度(如重力加速度),并且可以选择截止频率,如表1所示。只有变化频率高于截止频率的加速度才能通过。
有了高通滤波器以后,通过晃动来切换手机播放的音乐就变得比较简单了。具体的原理是,检测手机向左、向右晃动时加速度的变化轨迹,以此来定义切换歌曲的顺序。当向左晃动手机时(切换至上一首歌),在Y轴上会产生一个较大的加速度,并且加速度的方向是先负后正。反之,如果向右晃动手机(切换至下一首歌),在Y轴上的加速度是先正后负。在这个应用中,高通滤波器去除了重力加速度的影响。在一次有效晃动的时间范围内(如200ms),正向和负向的加速度都触发了中断,我们即可判定为一次有效晃动;再通过判断正向加速度和负向加速度出现的先后顺序,我们就可以确定晃动的方向。
6D检测
在3维空间中,根据3个轴上正负方向的不同可以将物体的位置分为6种状态,分别是上下、左右、前后。如图1所示。这种空间位置信息对于手持式设备是很有用的。它不仅能让使用者了解当前设备的空间状态,还能在此基础上开发出一些新的应用,如“翻转静音”等等。
LIS331DLF/M/H系列加速度传感器集成6D检测功能模块。如果设备的空间位置发生了变化,它能够以中断的形式通知系统。
这种功能是靠检测静止时重力加速度在各个轴上的分量是否超过一定门槛值来实现的。它允许用户自己设定这个门槛值,给用户很大的灵活性。XH/YH/ZH分别代表X/Y/Z轴的正方向。XL/YL/ZL分别代表X/Y/Z轴的负方向。当检测到的加速度在正方向大于门槛值的时候,XH/YH/ZH为1;当检测到的加速度在负方向小于门槛值的时候,XL/YL/ZL为1.通过读取中断状态寄存器INTx_SRC,我们可以判定此时设备的状态。
根据门槛值的不同,用户可以更精确地定义某些状态。以X轴/Y轴为例,为了较为精确地定义位置,可以将门槛值设置得高一些,这样在X和Y轴之间会留下一些“死区”.在“死区”范围内,传感器不会触发6D中断。只有物体的实际位置更接近用户定义的区域时,才会触发中断。这一功能在一些应用中可以避免用户的误操作。
下面以翻转手机实现静音为例,说明检测原理和6D检测功能的设置。由于重力加速度始终存在,平放在桌子上的手机在Z轴负方向的(指向地心)加速度为1g,X轴和Y轴上没有加速度(为零或者很小)。
当需要静音时,将手机翻转过来,背面朝上放置于桌上。此时X轴和Y轴上仍然没有加速度,但是重力加速度加在了Z轴的正方向上。通过检测Z轴正负方向上的重力加速度,就可以知道手机当前的状态。这种方案需要不断地检测加速度值,因此占用系统的大量资源。
如果使用6D检测功能,只需要等待来自Z轴正方向上的中断就可以识别手机是否翻转,这极大地节约了系统资源。
单/双击识别
诺基亚8800CA手机除了有“翻转静音”的功能外,还有双击手机显示时钟的功能。其中敲击的识别可以通过加速度传感器来实现。LIS35DE集成了识别单击或双击的功能模块,通过寄存器设计就可以识别出单击以及两次单击是否符合双击的条件。LIS35DE的单双击功能由地址为38h~3Fh的寄存器控制,如表2所示。
单击识别的过程需要满足两个条件。一是敲击产生的加速度值高于门槛值,二是加速度的值高于门槛值,小于CLICK_TimeLimit的数值要求。当敲击同时满足这两个条件时,就可以判定为一次单击。而大于CLICK_TimeLimit的数值要求时,则不会有中断产生。
在检测出第一次单击的基础上,第二次单击的识别必须满足CLICK_Latency和CLICK_Windows设定的条件。只有第二次单击落在CLICK_Windows时间段内,才是一次有效的双击,否则只能判定为两次单击。CLICK_Latency是用来设定第一次单击被识别后的功能关闭时间的,它用来消除噪声加速度,防止误触发。
而配合CTRL_REG3(22h)寄存器来设定中断信号,是通过中断管脚1或2的输出,通过中断通知的方式实现单双击功能的。
休眠模式
便携类电子设备对电子元器件的功耗有比较高的要求,因此,意法半导体的LIS35DE可以设置两种模式:正常工作模式(《0.5mA)和掉电模式(《1μA)。尽管LIS35DE在正常工作模式下只有小于0.5mA的消耗电流,但是为了获得更长的待机时间,可以使LIS35DE进入掉电模式来降低功耗。
这两种工作模式对于大多数的应用已经足够了,但是对于采用加速度传感器实现唤醒的功能来说,这两个工作模式就稍显不足了。因为唤醒功能需要主处理器配置相应的寄存器,把LIS35DE从掉电模式唤醒,并且还需要几十毫秒的等待时间;与此同时,在待机时0.5mA的电流还是有些大。例如,在使用加速度传感器唤醒GPS(全球定位系统)时,如果GPS处于静止状态,没有加速度变化,GPS的主处理器就进入待机模式;一旦有运动发生,加速度传感器感知到加速度的变化,就可发出中断信号来唤醒主处理器和LNA.在GPS待机时,加速度传感器一直处于工作状态,不能进入掉电模式,否则,加速度传感器就需要其他器件将其唤醒。
在LIS331DLH/M/F加速度传感器中,不但具有上述两种模式,还具有低功耗模式。在该模式下,数据的输出更新频率可以设置为0.5Hz/1Hz/2Hz/5Hz,此时消耗电流仅为10μA~60μA,远远小于LIS35DE正常工作时0.5mA的电流。
在低功耗模式下,加速度传感器仍然处于工作状态,但消耗很低的功耗。它不需要被其他器件唤醒。相反,还可以检测设备的运动状态并在特定条件下唤醒主处理器。这就极大地降低了系统待机功耗。该器件不但可用于PNS(便携导航系统)的智能运动检测,还可用于手机屏幕的动态点亮应用以及一些手机宠物游戏中。
总体说来,意法半导体在加速度传感器上有广泛的产品组合,为不同的应用集成了方便易用的功能模块。每个功能模块不仅针对特定的应用简化了软件设计,而且功能模块之间协调工作可以完成更复杂的应用。