ZHCSR44C November 2023 – May 2025 TMAG3001
PRODUCTION DATA
TMAG3001 通过 INT 或 SCL 引脚支持灵活且可配置的中断功能。INT 引脚提供开漏输出。即使 INT 引脚用于中断输出,INTB_POL 和 INT_POL_EN 位也会在中断期间选择输出电平。表 6-1 显示了该器件支持的不同中断模式。
| INT_MODE | 模式说明 | 输出引脚 |
|---|---|---|
| 0h | 无中断 | 无 |
| 1h | 通过 INT 实现中断 | INT |
| 2h | 通过 INT 实现中断 | INT |
| 3h | 通过 SCL 实现中断 | SCL |
| 4h | 通过 SCL 实现中断,I2C 繁忙时除外 | SCL |
| 5h | 通过 INT 实现单极开关模式 | INT |
| 6h | 通过 INT 实现全极开关模式 | INT |
表 6-1 展示了在不同转换完成事件下,结果寄存器和 SET_COUNT 位更新,以及结果寄存器和 SET_COUNT 位不更新的情况。用于创建中断事件的结果寄存器仅在 I2C 总线不忙时更新。
| 输出引脚 | INT_MODE | I2C 总线繁忙,未在与器件通信 | I2C 总线繁忙并正在与器件通信 | I2C 总线不忙 | |||
|---|---|---|---|---|---|---|---|
| 结果更新? | SET_COUNT 更新? | 结果更新? | SET_COUNT 更新? | 结果更新? | SET_COUNT 更新? | ||
| INT | 是 | 是 | 否 | 否 | 是 | 是 | |
| SCL | 通过 SCL 实现中断 | 是 | 是 | 否 | 否 | 是 | 是 |
| SCL | 通过 SCL 实现中断,I2C 繁忙时除外 | 否 | 否 | 否 | 否 | 是 | 是 |
当将 SCL 引脚用于中断功能时,TI 不建议与多个目标器件共用同一条 I2C 总线。如果同一 I2C 总线中存在其他目标器件,SCL 中断可能会破坏与其他目标器件的事务。
图 6-3 展示了通过 SCL 引脚实现中断功能的示例,其中器件编程为以预定义的间隔以唤醒和睡眠模式检测阈值交叉。唤醒间隔可以通过 SLEEPTIME 位进行设置。检测到磁性阈值交叉后,器件通过 SCL 引脚将一个固定宽度中断信号置为有效,接着保持低功耗等待状态达设定的时长,然后控制器才能处理中断事件。在下图显示的情况中,控制器在等待状态期间响应中断事件并将器件重新置于唤醒和睡眠模式。
图 6-4 展示了通过 INT 引脚实现固定宽度中断功能的示例。INT_STATE 寄存器位设置为 1b。在检测到磁性阈值交叉后,器件会通过 INT 引脚将一个固定宽度的中断信号置为有效。如果器件被编程为处于唤醒和睡眠模式以检测磁性阈值,则器件首先保持低功耗等待状态达设定的时长,然后控制器才能处理中断事件。最新结果将被保存,并可在等待状态下通过 I2C 总线进行访问。如果控制器在等待时间内没有读取结果寄存器,则器件进入低功耗状态并继续保持唤醒和睡眠模式。
图 6-5 展示了通过 INT 引脚实现锁存中断功能的示例。INT_STATE 寄存器位设置为 0b。在检测到磁性阈值交叉后,器件会通过 INT 引脚将一个锁存中断信号置为有效,然后返回配置模式。在总线上读取任何有效的标准 I2C 3 字节,或对特定器件地址进行任何有效的 I2C 写入或 1 字节 I2 、C 读取后,中断锁存被清除。如果器件被编程为处于唤醒和睡眠模式以检测磁性阈值,则器件首先保持低功耗等待状态达设定的时长,然后控制器才能处理中断事件。如果控制器进入等待状态,则器件保持等待状态,此时 I2C 保持有效。
TMAG3001 支持通过 INT 引脚实现开关模式,此时该器件充当可配置为对磁性或角度阈值交叉敏感的智能开关。将该器件可以在待机、工作或唤醒和睡眠模式下被置于此单极开关模式。如果该器件配置为开关并被置于低功耗唤醒和睡眠模式,则该器件保持低功耗唤醒和睡眠模式,以防检测到任何中断事件。图 6-6 显示了通过 INT 引脚实现开关模式中断功能的示例。在检测到磁性阈值交叉后,INT 引脚会更改状态。
TMAG3001 支持通过 INT 引脚实现全极开关模式,此时该器件充当可配置为对磁性阈值交叉敏感的智能开关。图 6-7 显示了通过 INT 引脚实现全极开关模式中断功能的示例。在检测到磁性阈值交叉后,INT 引脚会更改状态。如果该器件配置为全极开关,则该器件保持低功耗唤醒和睡眠模式,以防检测到任何中断事件。