你好
我能够设置芯片以进行TAP或TAP-TAP检测,但我发现存在严重的误触发问题(仅通过摇动设备就会导致芯片产生点击或TAP事件)。
以下是我使用的寄存器配置:
此外,我还注意到
当 LNOISE=1 时,即使将 PULSE_THSZ 设置为 6.36g(规范),也很容易发生错误触发信号。提到的动态范围将减小到 4g)。
当 LNOISE=0 时,即使 PULSE_THSZ 设置为 7.938g,也很容易发生错误触发。
在我看来,脉冲检测算法中的 PULSE_THSZ 因子无法正常工作。
如果有人能帮助解决这个问题或给出任何建议,我将不胜感激。
谢谢!
约瑟夫
你好,乔希、
感谢您的回复,很抱歉回复晚了。
我现在正在准备 CES 样品,之后会再来评估您的建议。
为了便于您参考,我们想在手表中添加TAP/TAP感应功能,这将用作按键输入,因此我们只关心来自人类的TAP/TAP输入。
有一款iOS应用程序可以记录100Hz的acc数据,它用于捕获TAP-TAP模式。
所以我做了 tap-tap 模拟,我观察到了 3 件事:
1) 单次TAP的持续时间为 < 50ms
2) 2 个 TAP 之间的间隔约为 180 毫秒
3) 点击时跳跃的脉冲约为 1.5g
这就是选择这些值的原因。
你有没有试过自己,看看无论为 PULSE_THS 设置了什么值(必须低于 8g),单次 TAP 都很容易出现错误触发?
谢谢!
约瑟夫
你好,肖恩-吴、
您可以通过将 1 写入 PULSE_CFG 寄存器 (0x21) 的 DPA 位来暂时禁用双击检测,但不幸的是,您无法瞬时禁用单脉冲检测。
您可以将 xdpeFE(启用双脉冲事件标志)设置为检测双脉冲,_OR_ xSpefe(启用单脉冲事件标志),但不能同时设置两者。设置这两个位与只设置 xSPEFE 位的效果相同。也就是说,在给定的轴上,你必须事先决定你是在寻找单脉冲还是双脉冲。
如果您同时需要两者,则需要读取状态寄存器以确定是否设置了双脉冲状态寄存器,否则无法检测事件是单TAP还是双击。
希望对您有帮助!
乔希
亲爱的先生
我尝试了6.3配置,以启用单击和双击。当我双击时,它会检测到单点TAP然后检测到双击(SRC_PULSE 两次将是 1)。
当我只想检测双击时如何避免点击,而且我还需要单点点击功能。
谢谢。
BR、
肖恩-吴
你好,约瑟夫、
感谢您使用我们的社区。我注意到的问题是你在脉冲之间设置的时间间隔很短(125mS),而且 PULSE_WIND 非常短(150mS)而且阈值很小,这就是为什么很容易触发双击。你的应用程序是什么?这些时间需要吗?
我建议您尝试配置 6.2,如下文第 15 页所示:
http://cache.freescale.com/files/sensors/doc/app_note/AN4072.pdf
启用双击检测功能后,您可以对其进行自定义。
希望对你有所帮助。
乔希