华大单片机深度休眠时RTC与LPUART同时工作设置方法
华大单片机L系列为其超低功耗(LOW POWER)系列单片机,可以做到低功耗为0.5uA以内,唤醒时间4us。其低功耗性能在行业内也是可圈可点。有个别模块可以工作在深度休眠模式中,如RTC、LPTIMER、LPUART和比较器等。
有工程师反应RTC与LPUART一起用时会出问题,其它这是因为模块的时钟没有配置好造成的。首先看下RTC的时钟配置如下:
RTC_CR1寄存器的CKSEL位为RTC时钟选择,对应的选项为:
00x: XTL 32.768K
01x: RCL 32K
100: XTH/128 (晶振为 4M 时选择此项)
101: XTH/256 (晶振为 8M 时选择此项)
110: XTH/512 (晶振为 16M 时选择此项)
111: XTH/1024 (晶振为 32M 时选择此项)
当进入深度休眠后只有低速时钟可以工作,因此只能选XTL32768或RCL32K。
再看下LPUART的时钟配置如下:
LPUARTx_SCON寄存器的SCLKSEL位为传输时钟选择位,对就应的选项为:
00,01:PCLK;
10:XTL;
11:RCL;
再结合波特率的计算和RCL的设置可以知道,当选择为RCL38.4K时可以产生常用的9600波特率。
由上面知道因为38.4K这个时钟比较特殊,所以先要确定LPUART的时钟为RCL,并把RCL的TRIM设置为38.4K。当RCL为38.4K时是不能为RTC时钟,因些RTC的时钟只能使用外接的XTL32.768K时钟。这样就可以解决RTC和LPUART两个模块在深度休眠模式下同时工作的问题。
赞 (0)