CH579M芯片复位状态的确认问题。

目前使用CH579M芯片,需求是让芯片进入掉电状态且RTC时钟的运行即可。目前通过GPIO引脚+RTC结合使用。

具体方法是:VBAT引脚加入一个1.5F的法拉电容,通过PA5引脚判断外部是否断电,断电后引脚电平为低,软件判断并进入掉电状态,外部上电后,引脚变高,唤醒系统,进入复位状态,此时需要判断是上电还是唤醒状态,如果是上电状态,则需要初始化RTC时钟,如果是唤醒状态,则不用初始化RTC时钟。目前遇到的问题是,复位后,通过判断R8_RESET_STATUS寄存器的0-2bit来判断复位状态,不论是唤醒还是重新上电,读取的数据都是0x05,在使用SWD仿真的情况下,读取的数据是0x00。请问是那里出了问题?

有开启看门狗吗?如果开启了开门狗,需要在睡眠前关闭看门狗才可以。

RB_WDOG_RST_EN寄存器的这个位对复位状态标志有影响。


image.png


没有开启看门狗,用了官方资料的PM工程修改测试的。刚看了手册有这样的说明:


image.png

0x05表示的是GRWSM复位,难道需要结合2KB的SRAM区域来判断是否是RPOR复位还是GRWSM复位吗?


代码发到lb@wch.cn ,我看一下。


邮件已发送,感谢协助。


我测了一下,复位状态是正常的。
如果是在睡眠状态下,因为本身功耗很低,你板子上可能有电容之类 的器件会储存电,所以立即开关电,芯片是可能就没有产生上电复位状态,所以睡眠状态下开关电,需要等一下或者手动对板子进行放电。
image.png


我目前做的测试,没有任何一次能获得返回数据是1的情况,不论断电多久,甚至手动给板载电容放电。另外,我看到您提供的打印截图中,应该是和我提供的代码少有差别,能提供下修改的代码截图吗?我对比查看下。

另外,不知道是否是芯片存在版本更迭遗留的问题,顺带发下我目前使用芯片的丝印信息:

CH579M

06935B01


icon_rar.gifEXAM-FW.zip

你看下吧,基本没改,就是你的IO滤波给屏蔽掉了。


今天做了各种测试,更换USB转接串口的工具,修改供电方式,直接采用纽扣电池供电,采用的是最小的核心板来做的测试,结果是没有一次的打印信息是1的情况。image.png

另外,

CH579M

06935B01

尾缀数字代表的是什么意思?


只有登录才能回复,可以选择微信账号登录