国产cortex-m3核TS3F605芯片低功耗测试
1. 低功耗应用需求:
在电池供电的电子设备和车规产品上,都对产品有低功耗的需求。低功耗的设计主要有硬件低功耗和软件低功耗。
2. 低功耗模式选择:

如上图所示,该芯片有工作模式,休眠模式,低功耗休眠和standby模式,standby模式功耗最低,不过唤醒后会复位芯片,丢失RAM和寄存器的数据,所以应用不多。应用最广泛的是低功耗休眠+定时唤醒的方式。该芯片设计了低功耗稳压器在低功耗休眠模式对Core供电,降低了产品功耗。

图. 芯片休眠LDO设计
如上图所示,LPLDO_EN选择在低功耗模式下的Core电源选择,当LPLDO_EN=0时,低功耗稳压器(LPLDO)负责给Core供电,当LPLDO_EN=1时,主稳压器(LDO)负责给Core供电。
当选择LPLDO进入低功耗模式后,主LDO、m3内核、cdc、adc1、lvd、hrc和恒流源都自动关闭,5V和1.5V的BOR电路、LRC保持工作,外设需要手动关闭。LPLDO结构简单,反应慢,驱动能力弱(只有几个mA),所以只能用在睡眠模式。

图.LPLDO工作下的LDO电压切换图
当选择主LDO进入低功耗模式后,主LDO通过周期休眠唤醒输出锯齿波,主LDO、m3内核、cdc、adc1、lvd、hrc和恒流源周期打开关闭,5V和1.5V的BOR电路、LRC保持工作。当在耗电模块开启期间,片内LDO电路给LDO片外电容充电,在耗电模块关闭期间,依靠LDO片外电容来维持LDO的电压在1.35-1.65V间,此电压典型值是1.5V,其上的波动越小越好。注意此模式下LDO引脚需外接10uF以上电容,否则会造成LDO过低复位芯片。

图.主Ldo工作下的锯齿波充放电图
3.测试代码
- 进入低功耗模式,首先关闭不需要的外设,将时钟切换到32K低速时钟。
- LSLEEP_EN=1进入低功耗休眠,LPLDO_EN = 0打开LPLDO。
- 将SWD调试口设置为高阻态,
- 调用__WFI()函数即可以进入低功耗状态。
/*
函数名:Sleep_Init()
功能:休眠初始化
参数:无
返回值:无
*/
void Sleep_Init(void)
{
FLASHCTRL->INTR =0x340; //clear flash intr
SCU->CR_b.MSION = 0x0;//关闭中速时钟
SCU->CR_b.LSION = 1;//打开低速时钟
while(0==SCU->CR_b.LSIRDY) ;//等待lsi ready
//设置充放电模式
SYSCTRL->LVD_CTRL_b.LSLEEP_EN = 1;//使能深度睡眠,0为sleep 1为lsleep
SYSCTRL->RDN_CR0_b.LPLDO_EN = 0;//0打开LPldo 1关闭LPldo
SYSCTRL->BCLK_CFG_b.CHARGE_RATIO = 0;//如果关闭LPldo可以设置锯齿波充放电速率
SCU->PENR_b.GPIOAEN = 1;
GPIO->CR[29] = 0x0;//关闭调试口swd
GPIO->CR[30] = 0x0;//关闭调试口sck
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)