我有一个Digi ConnectCore6 SBC,它使用DA9063 PMIC。我已成功设置Linux内核和看门狗守护程序以使用DA9063看门狗。但是,DA9063关闭而不是重置DA9063。
我遵循了建议
https://support.dialog-semicondiondiondum/forums/post/pmic-audio-and-hapt ...
但没有变化。有一次我观察到DA9063看门狗确实按预期重置了,但是在下一次引导期间PMIC掉电了。
有什么建议吗?
一个电源周期后的寄存器值被附加,这可能是从OTP加载的寄存器(假设u-boot没有改变任何一个)。
通过将寄存器0x11设置为0x02从启用看门狗时,我也经历了相同的行为。
设备:
你好,
你能发布你使用的完整.ini文件吗?
我想,你是通过I2C而不是硬件触发看门狗?
您需要将它放在文件夹中并zip zip。
谨致问候,
艾略特
你好,艾略特,
我是一名消费者,拥有Digi现成的SBC,https://www.digi.com/雷电竞官网登录products/embedded-systems/single-board-computers/connectcore-6-sbc。
linuxda9063看门狗驱动程序正在通过i2c触发看门狗,我观察到PMIC已经关机。为了调试,我在uboot中直接设置TWDSCALE,将0x2写入0x11寄存器(CONTROL\ud),从而启用了看门狗。4秒后,看门狗超时,应断言TWD\ U错误。现在,我预计PMIC将关闭到重置模式并再次通电,但我观察到PMIC关闭。我假设有一个或多个寄存器设置没有正确配置。
我觉得看门狗应该是0。我试着将重置时间增加到500毫秒,以确保所有调节器在再次通电前都已放电,但没有改变。
你好,
你能执行完整的注册转储吗?
我想是PMIC掉电了吗?
你能测量一下VDDCORE吗?
亲切的问候,
艾略特
>你能执行一个完整的寄存器转储吗?
附加到原始邮件的寄存器转储
>我把它带到了PMIC电源,仍然是powerdown?
是的
>你能衡量VDDCORE吗?
我会尽快完成。在我进行测量的同时,您可以查看寄存器吗?由于PMIC安装在由穿孔金属盒盖上的SOM上,因此可能很困难。我可以测量我认为是VDDCORE的DC-DC降压转换器的电压。
你好,
我会检查寄存器,但我不确定这是一个完整的寄存器转储。
我需要从OTP搜索。潜在的,未设置autoboot,因此PMIC正在等待唤醒事件。
在VDDCORE上,此电压将告诉我们PMIC所在的状态:重置,活动,RTC ...等。它没有连接到降压,这是对内部核心电压的引用。
>我会检查寄存器,但我不确定这是一个完整的寄存器转储。
我只能得到u-boot可以读取的寄存器。我在数据表中记录了除0x1A8(PMIC\u状态)之外的所有寄存器。
>我需要从检察官办公室搜索。可能没有设置Autoboot,因此PMIC正在等待唤醒事件。
>在VDDCORE上,这个电压将告诉我们PMIC处于什么状态:复位、激活、RTC…等等。它没有连接到巴克,这是内部核心电压的参考。
你是对的。我现在可用的设备不够灵敏,无法测量掉电、复位或RTC模式下的电流。我认为PMIC会断电复位,然后再断电,然后等待唤醒事件。如果自动启动被断言,它应该继续通电。
我发现断言Auto_Boot或断言Tick_on(RTC将定期生成RTC勾唤醒事件)如果在重置PMIC后的第一个〜15秒内被置位或关闭寄存器在第一个〜15秒内被断言,则PMIC将上电至活动模式。如果在〜15秒后的看门狗超时,则PMIC不会进入活动模式。我假设它保持在等待唤醒事件的掉电模式。
进一步调查发出了有趣的结果。如果断言Auto_Boot或Tick_On并且通过写回读取值清除Event_A寄存器。然后通过在〜15秒内断言关闭寄存器PMIC始终从复位模式向上源于活动模式。断言迟于〜15秒,它没有。看门狗的行为相同。
我是缺少一个寄存器设置,还是这是一个错误?
你好,
因此,要查看设备是否存在哪些状态,我们不需要对当前进行系统,只是volatge。VDDCORE:0V:RTC模式或电源问题,2.2V:复位,2.5V:有效或更高的状态,2.5V +损坏核心。
我认为这取决于OTP的配置。如果你能看到这个装置,请把标记读给我听。
谨致问候。
艾略特
你好,
我相信我有你正在使用的OTP,而且看起来Autoboot没有设置。因此,当看门狗超时时,如果没有唤醒,设备将无法启动备份。
我不太明白你所说的15秒后停止是什么意思。所以,如果你通过I2C进行切换,然后在15秒内按下nSHUTDOWN,它会重新启动,15秒后是等待唤醒?
谨致问候,
艾略特
抱歉说不清楚。在u-boot中,我断言关闭寄存器(0x13位1)关闭PMIC以复位,因为看门狗也关闭PMIC以复位。当PMIC达到复位模式时,它读取OTP寄存器并进入掉电模式。正如您所说,由于没有设置自动启动,PMIC需要一个唤醒事件来继续通电。通过启用RTC tick,PMIC在设置关闭寄存器后将通电到活动域。如果自上次清除事件寄存器后的16秒之后设置关机,并且RTC勾选间隔为1秒,则PMIC不会通电。
通过启用RTC勾选,看门狗有效。但有时系统无法启动。GPIO7用于控制LED,根据DIGI文档电源可以点亮。LED不会点亮,在这种状态下,我已经测量了一些电压。PMIC V_SYS电源电压为5V,VDDCORE为2.5V。通过给出PMIC唤醒事件,无法唤醒系统。
PMIC上的标记是:
DA9063,56,1817ECAA
你好,
我成功地复制了你所看到的。
我启动了设备,然后我可以通过NSHutdown寄存器导致关闭事件,该设备通过重置并进入Poctwod并等待唤醒事件。然后我将stick_wake设置为1,tick_type设置为1,这应该导致唤醒事件在一分钟勾号上(在返回rick_on被置位的第二个)上,我然后设置tick_on。当一分钟到期时,设备靴子。
该设备现在在事件页面中设置了滴答位置。因此,当您触发关闭时,设备会通过重置并达到POLTDOW,但是已设置唤醒刻度,因此设备再次启动,因为这是其唤醒事件。
但是,如果在导致下一次关机之前清除IRQ,设备将在关机时等待下一个勾号事件,然后再重新启动。由于设置了一分钟的TICK\u WAKE,您必须等待1分钟才能过期,但是此函数在RTC中当前的一分钟内工作。因此,当设备断电时,RTC可能会开启30秒,当设备达到从这一点开始的分钟数时,它将重新启动。所以你有1-59秒的等待时间。
谨致问候,
艾略特
这是对的。这是一个解决方法,用于启用PMIC的看门狗功能,其中Auto_boot未在OTP中设置,因为从重置模式到掉电时读取OTP寄存器。Tick_wake和tick_type不会从OTP读取。不幸的是,这并不总是有效。至少,当看门狗超时时,不是我的SBC。对我来说不清楚是否是DA9063或SBC的问题。
请注意,如果将Tick_Wake设置为0(每秒勾选)并在设置关闭寄存器之前等待16秒钟,则PMIC不会对RTC唤醒事件作出反应。这必须是DA9063问题。
你好,
好的,我在1分钟模式下测试设置。我在1s中重新测试了,我可以复制你所看到的东西,清除IRQ触发器在PD中陷入困境后启动。
我需要进一步调查这一点。
谨致问候,
艾略特
你好,
抱歉耽搁了。所以我们认为这不是PMIC的问题。在16S之后的设备未自动启动是设备的正确操作,16S与VDD_Start保护有关。概述设备将出现自动启动的原因是设备在关闭后,设备还没有时间完成某些方法。
我需要更多地挖掘更多,看看我可以分享哪些其他信息。
谨致问候,
艾略特
谢谢您的帮助!
结论如果在OTP中未设置Autoboot,则无法使用DA9032看门狗。
但是,可以启用看门狗。当看门狗定时器经过时,DA9063向下推动重置模式,然后向下电以供电模式,因为未设置自动传导以来,因此将永远等待唤醒事件。
你好,
我需要更深入看看是否有另一种方法。
在这种情况下,如果无法访问非键和其他唤醒功能,那么使用看门狗可能不是最好的方法。
在这个OTP上,GPIO5和GPIO6有一个与GPIO状态相关联的唤醒事件。
谨致问候,
艾略特