近期,手势识别已经越来越多的受到手机和智能穿戴设备厂商的重视,其中抬手亮屏和翻腕亮屏功能正在逐渐变为很多手机和手表产品的基本功能。毫无疑问,使用sensor数据和软件算法可以实现类似功能,但是这需要sensor hub持续工作(alwayson),从而带来额外的功耗,对一些智能穿戴产品而言,受到电池容量限制,这是很难接受的。
ST在LSM6DSL/M上加入了AWT(AbsoluteWrist Tilt)功能,从而可以通过简单的硬件寄存器配置实现抬手亮屏和翻腕亮屏功能,而整体功耗仅仅20-30微安,这相对于sensor hub类似功能几毫安的功耗相比基本可以忽略。
AWT功能使用加速计数据,其采样率为26HZ。用户可以自己定义一个半轴阀值(可转化为角度)和持续时间,当加速计旋转其输出持续大于阀值并超过指定时间,则输出中断以唤醒host,host可以根据自己的定义实现亮灭屏等不同操作。由于不同产品定义和贴片方向不一样,AWT允许用户自行选择检测某个半轴的信号,或同时监测多个半轴。
更具体一些说,使用AWT功能非常简单,仅需6步,1)打开加速计,2)始能AWT,3)配置AWT中断引脚,4)配置检测轴向,5)配置阀值,6)配置持续时间。 其中,由于加速度的单位是g或mg,所以需要以下公式将其转换为角度,具体方法如下: 例如:LSM6DSL的默认初始阀值为20h,即500mg,它对应的角度即为30度。 上图是AWT功能的使用实例,该实例配置检测X轴正方向旋转,可以看到每次满足触发条件,即当X轴正方向倾斜角超过30度并持续一段时间后,sensor会产生中断,而其他干扰信号出现时没有中断信号产生。
最后,目前ST支持AWT功能的6轴传感器共有三颗,即LSM6DSL,LSM6DSM和LSM6DS3-C。此外,对于仅需要加速计的用户,可以考虑使用LIS3DSH实现类似功能。虽然LIS3DSH本身不具有AWT功能,但是具备两个可编程状态机,通过配置硬件状态机,也可以实现这一功能。
|