工具/软件:
您好、
我使用连接到主机 MCU 的 TMAG5273霍尔传感器。
为了降低功耗、我将主机 MCU 置于睡眠模式、并打算使用 TMAG5273的 INT 引脚来唤醒它。
然而、尽管尝试了许多不同的寄存器设置、但我仍然无法实现所需的行为。
我尝试轮询主机 MCU 侧的 INT 引脚、并在改变 TMAG5273磁场时监控其状态。
但是、我看不到 INT 引脚状态有任何变化。
我已导出 下图中的寄存器设置。
您能帮助我配置它们以满足我需要的场景吗?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
我使用连接到主机 MCU 的 TMAG5273霍尔传感器。
为了降低功耗、我将主机 MCU 置于睡眠模式、并打算使用 TMAG5273的 INT 引脚来唤醒它。
然而、尽管尝试了许多不同的寄存器设置、但我仍然无法实现所需的行为。
我尝试轮询主机 MCU 侧的 INT 引脚、并在改变 TMAG5273磁场时监控其状态。
但是、我看不到 INT 引脚状态有任何变化。
我已导出 下图中的寄存器设置。
您能帮助我配置它们以满足我需要的场景吗?
谢谢。
尊敬的 Adam:
感谢您发布到传感器论坛!
对于 INT_CONFIG_1寄存器、您还需要将 RSLT_INT 设置为1b 并将 INT_MODE 设置为1b。 需要注意的是、GUI 不支持低功耗模式(W&S 睡眠模式)。 因此、要触发转换、您需要将器件置于连续转换模式、或者使器件处于待机模式、并确保 GUI 的 Auto Read 未关闭(看起来您已经关闭)。
此致、
~Alicia
尊敬的 Adam:
对于 INT_STATE 位、请尝试将其设置为1h、以便中断只是快速脉冲、而不是被锁存。 锁存中断仅通过 I2C 通信清除、因此它会在很长的时间内保持低电平。
关于 W&S 模式、 需要注意的是 ANGLE_EN 需要设置为0h。 如果需要角度计算、在器件处于唤醒状态后、您可以重新启用 ANGLE_EN 位并触发另一次转换、或使用 XY 数据结果来计算角度。
对于待机模式、将"自动读取"设置为"每1秒"以及您的当前配置、我确实会看到 INT 引脚拉至低电平。 需要注意的是、在待机模式下、需要触发转换(每次 GUI 读取其中一个寄存器时都会发生转换)。
请参阅下图、了解当前配置(INT_STATE 设置为1h 且 OPERATING_MODE 设置为待机模式)下 I2C/INT 引脚的外观截图:
I2C 和 INT 引脚的缩小屏幕截图:
每次读取后触发 INT 的放大图像:
以下代码片段是 GUI 配置的"Register Map"页面:
此致、
~Alicia
尊敬的 Alicia:
感谢您的帮助。
我按照您的寄存器映射页面来配置 TMAG5273并观察到与您相同的结果。
但是、这种行为不符合我的预期用例的要求。
目前、仅在实现 I2C 通信后 INT 引脚才拉至低电平、
而非以前。
我需要的是、TMAG5273先将 INT 信号置为有效、
以唤醒主机 MCU (处于睡眠模式、禁用 I2C)。
只有在唤醒主机 MCU 后、才应启动 I2C 通信。
最重要的是在 I2C 通信之前需要 INT 拉低。
INT 在 I2C 无意义后拉至低电平、主机 MCU 已被唤醒。
尊敬的 Adam:
如果您希望该器件能够自行采样、我建议使用连续测量模式(由 DEVICE_CONFIG_1中的 OPERATING_MODE 设置)。 这样、器件将自动触发、无需 MCU 提供 I2C。
或者、为了省电、您可以使用 W&S 模式(由 OPERATING_MODE 设置)、这也会定期触发转换。 但是、 正如我之前提到的、GUI 不支持此模式、因此您需要使用一些外部器件发送 I2C 命令以进入 W&S 模式。
此致、
~Alicia