传感器的中断 Latch、中断状态寄存器、中断读取与保持时间

下文都以加速计为例来看:

Latch 解决的是"信号保持"

Latch(锁存)的核心作用是:当传感器检测到事件后,把中断输出引脚(INT)的电平"锁住",不让它因为事件条件消失而自动复位。

  • 非锁存模式:事件条件一旦不满足,中断信号就自动撤销。比如"超过阈值才触发",那么加速度回落到阈值以下,信号就没了。

  • 锁存模式 :事件触发后,中断引脚持续保持有效电平 ,直到主机主动"清除"它。清除方式通常是读取某个特定寄存器(比如中断源寄存器)。

所以,Latch 决定的是**"中断引脚上的电平什么时候撤销"**。

中断状态寄存器解决的是"是什么触发了"

中断状态寄存器(常叫 INT_SRC 或 WAKE_UP_SRC、TAP_SRC 等)是传感器内部的一个只读/读取清零 的寄存器,它的每一位对应一个具体的中断事件。

  • 比如 WAKE_UP_SRC 里的 WU_IA 位,为 1 表示"发生了唤醒事件"。

  • 如果同时使能了多个中断到同一个 INT 引脚,读这个寄存器还能知道到底是哪一个事件触发的,因为引脚电平是多个事件的"或"逻辑。

中断引脚保持高电平的时间由谁决定

中断引脚上的高\低电平,通常来自传感器内部的一个 中断锁存/状态输出电路 。它保持多久,由传感器的配置决定,不是 MCU 决定的。MCU 只是被动地看这个引脚。

三种典型情况

情况 1:非锁存模式(透明/直通)

中断引脚的输出直接跟随内部中断条件。

  • 事件条件成立 → 引脚高

  • 事件条件消失 → 引脚自动变低

保持时间由谁决定:

由事件条件本身持续多久决定。

比如:

  • 配置成"加速度超过阈值触发中断"

  • 只要加速度还在阈值以上,引脚就一直高

  • 加速度回落到阈值以下,引脚立刻变低

这种情况下,MCU 不处理也没关系,引脚会自己跟着物理条件走。但缺点是:如果事件很短(比如一个脉冲),MCU 可能来不及看到。


情况 2:锁存模式(Latch)

事件一旦触发,内部锁存器置位 ,中断引脚被拉高并锁住。

  • 事件条件消失后,引脚仍然保持高

  • 只有满足清除条件时,才会变低

保持时间由谁决定:

由清除条件什么时候被满足决定。

清除条件通常是:

  • 读取某个寄存器 (最常见,比如读 INT_SRC / WAKE_UP_SRC)

  • 写某个寄存器(写 1 清除)

  • 读取数据寄存器

如果你 MCU 一直不去读,那么:

引脚会一直保持高电平,直到永远(或直到芯片复位/掉电)。

所以在这种情况下,"保持高电平的时间"实际上是由你 MCU 什么时候去读寄存器决定的。你不处理,它就不释放。


情况 3:锁存 + 自动复位 / 脉冲模式

有些传感器支持:

  • 脉冲模式(Pulse / One-shot) :事件触发后,引脚输出一个固定宽度的脉冲,比如 10µs、1ms,然后自动变低,不管你有没有读。

  • 锁存 + 自动超时:锁存一段时间后自动释放,比如 100ms。

保持时间由谁决定:

由传感器内部配置的定时参数决定。

这个时间在芯片手册里会写成类似:

  • INT_PULSE_DURATION

  • LATCH_DURATION

  • INT_AUTO_RESET

这是硬件定时器产生的,跟 MCU 无关。

相关推荐
碧海银沙音频科技研究院7 小时前
基于炬芯ATS308X 设计的上位机usb 串口音乐EQ调节工具
stm32·单片机·嵌入式硬件
三佛科技-1341638421210 小时前
过认证72W碳化硅方案(12V6A)主控HN1562+HN36228V 典型应用电路、变压器参数分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Zwawa12 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Brilliantwxx12 小时前
【STM32】 内部 Flash 详解:寄存器逐位拆解 + 工作流程顺序全讲 + EEPROM再实现
stm32·单片机·嵌入式硬件·1024程序员节
木子单片机12 小时前
基于单片机的DS18B20温度传感器测温系统设计
单片机·嵌入式硬件·51单片机·keil
华清远见IT开放实验室12 小时前
实验室建设案例 | 安徽三联学院物联网实验室
stm32·单片机·嵌入式硬件·物联网·华清远见
Zw-awa13 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
stm32
深圳光特通信豆子14 小时前
TTL 光模块在工业控制与串口通信中的应用指南(10M BIDI 单模系列)
单片机·嵌入式硬件
桀人14 小时前
SPI概念引入
stm32·单片机·嵌入式硬件
离凌寒15 小时前
一、基于stm32+freertos下LD2410D和R60ADB1两款雷达的使用效果
stm32·单片机·嵌入式硬件