我们正在将模拟比较器配置为 LPC5528 中掉电模式的唤醒源,它在某些单元中始终如一地工作,但在其他一些单元中根本不起作用。
软件代码是一样的,到目前为止我们找不到任何硬件原因导致它们不起作用。
- 比较器配置(COMP 寄存器):滞后启用,VDDA 作为输入电压(2.8V),低功耗启用,PMUX 设置为 VREF,NMUX 设置为引脚 PIO0_0,VREF 设置为 1(~100mV)和默认过滤。
- 比较器中断配置 (COMP_INT_CTRL):上升沿。
- 掉电配置: WAKEUP_ACMP_CAPT 被选为唤醒源, kPDRUNCFG_PD_COMP 被排除在掉电之外(以及其他)。
我们已经使用 SEGGER Ozone 验证寄存器设置是否正确。 我们还验证了掉电模式下 VREF 为 2.8V,并且 PIO0_0 从 0V 变为 ~200mV。这会触发某些单元的唤醒,但不会触发其他单元。
在比较器中断时未唤醒的单元可以使用我们配置的其他唤醒源唤醒,因此这似乎只是模拟比较器的问题。