有没有大佬懂axp202的呀?
-
目前用axp202进入休眠模式,把dcdc3的输出关掉,过一段时间后无法唤醒,就是dcdc3不能恢复到原来的电压,需要把axp202关机再开机才能正常,这个会是什么原因导致的呀?有没有解决建议?
-
什么信号生成 _wakeup 事件? 必须在 REG42H/bit1 (PEK)、REG44/bit0 (GPIO0) REG44/bit1 (GPIO1) REG44/bit2 (GPIO2) REG44/bit3 (GPIO3) 中启用。
-
@alb702 GPIO1和GPIO2,那些中断都使能了的,现在的情况是短时间内是可以正常唤醒,时间放久了有偶尔出现唤醒不了,就是把dcdc3的输出关掉,就开不起来了。它不是不能用这个功能。就是有些板子休眠十几天都不会唤不醒,有些板子隔三差五的就唤不醒,没法稳定复现。偶发性的,出现这个问题的时候,只能把axp202关机再开机,dcdc3才会重新输出。不知道怎么去规避这个问题。
-
我明白,它可以工作,但不稳定。 也许您的 AXP202 在睡眠模式下完全关闭? 当下次AXP202没有从 _wakeup 信号中恢复时,查看DRAM供电电压。
-
@alb702 好的,谢谢大佬您的回复,我现在在axp202休眠的时候只是把DCDC3的输出给关闭了,所以axp202其实还是在工作的。axp202的休眠流程是:先将 REG31H[3]写 1 打开它的唤醒功能,然后在把DCDC3的输出关闭。我在想会不会是因为在放置的过程中,axp202的休眠状态的记录被清掉了,所以当GPIO1和GPIO2被触发时,axp202就不会恢复DCDC3的电压输出了。还有我想问问您,axp202的DRAM是哪个引脚,我不知道怎么查看DRAM的供电电压。
-
@jr_online
REG31[3] 的这种行为在文档中有描述 AXP202,这是正常的。 真的吗,
睡眠后,只能醒来一次。 要再次醒来,您需要再次入睡芯片的哪一个输出为 DRAM 供电取决于设备的设计。 我可以看一下你们设备的电气图吗?
-
@alb702 我这边有了新的思路,发现是AXP202的IRQ有问题,我目前是通过i2c,主控芯片和axp202通信,并且axp202的IRQ引脚也接到主控芯片上,可以让主控芯片接收处理axp202的中断事件,我发现当axp202无法唤醒的时候,IRQ的中断标志没有被清掉,因为它无法再产生中断,当我通过主控芯片把axp202的中断标志清除,它又正常了。现在我的电路上了通过两个震动传感器分别接到axp202的GPIO1和GPIO2,已可以通过震动来唤醒设备。但是现在不保证是震动传感器产生的电平过于频繁,导致IRQ给搞挂了。目前在排查为什么axp202的中断标志没有被清除。也不确定解决问题的思路是对的。axp202的DCDC3输出3.3给到主控芯片供电的。
-
@jr_online
设置 IRQ 信号的原因在寄存器位 REG48、REG49、REG4A 中指示。 从文档中可以清楚地看出 IRQ 信号将保持活动状态,直到 MPU 通过写入“1”来清除所有相应位 -
@jr_online
设置 IRQ 信号的原因在寄存器位 REG48、REG49、REG4A 中指示。 从文档中可以清楚地看出 IRQ 信号将保持活动状态,直到 MPU 通过写入“1”来清除所有相应位 -
@alb702 是的,一直都是通过主控芯片来控制axp202定时清除IRQ所有相应位的。
-
@jr_online
你有示波器吗? 当MPU驱动AXP202时,您可以使用示波器监视IRQ信号。
要确定合规性,您可以将调试 printk 插入到控制函数中的 AXP202 驱动程序中。 -
@alb702 好的,非常感谢您的回复,我试试,用示波器抓IRQ信号。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号