传感器的一个挑战是,在最基本的层面上,它们所做的只是提供一些反映它们所感知的东西的值。如果你想知道这个值,你必须得到这个值。“您”通常是系统中的主处理器。
如果这是在程序的指导下偶尔做的事情,那就很容易了,但如果你想让传感器在发生事情时提醒你,那么你必须不断地轮询,这样你就知道什么时候发生了变化。这可能会从处理器中窃取很多周期,对于有很多传感器的智能手机来说,这可能是一个特别的问题。
在最近的MEMS执行大会上,我与Bosch Sensortec的Leopold Beer讨论了这个问题。他说,在他们的imu中,轮询仍然占主导地位,但他们有一个状态机,可以被编程来触发中断;它们的接口同时支持轮询和中断。
例如,该设备具有自动睡眠模式,可以通过编程自行唤醒。您可以在阈值和时间中进行编程。你可以让它在纵向和横向模式之间切换时触发中断;角度和滞后水平是可编程的。这减轻了应用程序处理器的一些更普通的轮询职责。
对于更复杂的任务,比如计算运行时走了多少步,需要更多的处理,所以对于这些任务,处理器仍然需要轮询传感器并自己进行数据处理。
一种解决方案是有一个单独的传感器微控制器,可以管理多个传感器,以可编程的方式减轻一些应用程序处理器的职责。
与传感器相同的芯片上的专用微控制器可能对所谓的“传感器融合”应用有意义——“感知”状态不仅仅是单个传感器或传感器类型的结果,而是从众多传感器合成成单个更“智能”的状态的数据积累。从技术的角度来看,这当然是可能的;唯一的问题是这笔费用是否合理。
随着传感器继续遍布世界,一些值得关注的事情……