12
返回列表 发新帖
楼主: 326623

[已解决] KEAZ64进入stop模式后电流偏大

[复制链接]

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-12-14 17:07:36 | 显示全部楼层
326623 发表于 2017-12-14 14:44
感谢回复!
除了晶振的两个管脚、SWDIO、SWCLK和RESET,没有使用任何管脚。软件上也没有对任何管脚进行初 ...

回头等我空点,我会在我的TRK-KEA128上测试试试。
你把你的测试工程直接发出来,我拿你的工程直接测试,顺便看看有没有哪里还需要修改的。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2017-12-14 17:31:38 | 显示全部楼层
小恩GG 发表于 2017-12-14 17:07
回头等我空点,我会在我的TRK-KEA128上测试试试。
你把你的测试工程直接发出来,我拿你的工程直接测试, ...

我使用的是keil开发的,另外整个工程涉及到项目部分代码,不方便提供。我就把我目前使用到的代码给你吧,其他的我也没有用上,测试的时候屏蔽了。程序的流程是上电时钟初始化->PMC初始化->进入STOP3模式。

上电时钟初始化,使用外部晶振
// 系统时钟初始化,使用外部晶振,总线频率20MHz
void SysClockInit(void)
{
        #if USEINTERCLOCK_EN
        ICS_C1|=ICS_C1_IRCLKEN_MASK;                 /* Enable the internal reference clock*/
        ICS_C3= 0x90;                                                /* Reference clock frequency = 31.25 KHz*/
        while(!(ICS_S & ICS_S_LOCK_MASK));   /* Wait for PLL lock, now running at 40 MHz (1280 * 31.25Khz) */
        ICS_C2|=ICS_C2_BDIV(1);                         /*BDIV=2, Bus clock = 20 MHz*/
        ICS_S |= ICS_S_LOCK_MASK;                         /* Clear Loss of lock sticky bit */
        #else
        // 使用外部晶振,总线20MHz
        ICS_ConfigType ICS_set={0};                /* Declaration of ICS_setup structure */
        ICS_set.u8ClkMode=ICS_CLK_MODE_FEE;
        ICS_set.bdiv = 0;// 1分频
       
        ICS_set.oscConfig.bRange = 1;     // high range
        ICS_set.oscConfig.bGain = 0;      // 高增益
        ICS_set.oscConfig.bEnable = 1;    // 使能
        ICS_set.oscConfig.bStopEnable = 0;// 停止模式下失能
        ICS_set.oscConfig.bIsCryst = 1;//  晶振输入
        ICS_set.oscConfig.bWaitInit = 1;// 等待晶振初始化完成
        ICS_set.oscConfig.u32OscFreq = EXTERNAL_CRYSTAL;
       
        ICS_Init(&ICS_set);           
       
        #endif
}

PMC初始化
/* PMC Initialization */
    PMC_ConfigType  PMC_Config={{0}};

    PMC_Config.sCtrlstatus.bits.bBandgapEn = 0;        /* Enable Bandgap buffer */
    PMC_Config.sCtrlstatus.bits.bLvdStopEn = 0;        /* Disable Low-Voltage Detect(LVD) in Stop mode */
    PMC_Config.sCtrlstatus.bits.bLvdRstEn = 0;        /* LVD events do not generate hardware resets. */

    PMC_Init(PMC, &PMC_Config);                                        /* Initialization of PMC */
    PMC_DisableLVWInterrupt(PMC);                                /* Disable hardware interrupt requests for LVWF */
    uint8_t Ch = PMC_GetLVWFlag(PMC);                                        /* Get the lvw warning flag */

进入stop3
void PMC_SetMode(PMC_Type *pPMC,uint8_t u8PmcMode)
{
    switch(u8PmcMode & 0x3)
    {
        case PmcModeRun:   
            break;
        case PmcModeWait:
                /* Clear the SLEEPDEEP bit to make sure we go into WAIT (sleep) mode instead
                 * of deep sleep.
                 */
                SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
            /* Not using KEIL's uVision, so use the standard assembly command */
                //asm("WFI");
                                  __asm("WFI");
            break;
        case PmcModeStop4:
            /* enable LVD in stop mode */
            pPMC->SPMSC1 |= (PMC_SPMSC1_LVDE_MASK | PMC_SPMSC1_LVDSE_MASK);
                /* Set the SLEEPDEEP bit to enable deep sleep mode (STOP) */
                SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
                /* Not using KEIL's uVision, so use the standard assembly command */
                //asm("WFI");
                                  __asm("WFI");                               
                break;
        case PmcModeStop3:
            /* disable LVD in stop mode */
            pPMC->SPMSC1 &= ~(PMC_SPMSC1_LVDE_MASK | PMC_SPMSC1_LVDRE_MASK | PMC_SPMSC1_LVDSE_MASK);
                /* Set the SLEEPDEEP bit to enable deep sleep mode (STOP) */
                SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
                /* Not using KEIL's uVision, so use the standard assembly command */
                //asm("WFI");
                                  __asm("WFI");               
                break;
        default:
            break;
    }

}

回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-12-18 09:27:50 | 显示全部楼层
326623 发表于 2017-12-14 17:31
我使用的是keil开发的,另外整个工程涉及到项目部分代码,不方便提供。我就把我目前使用到的代码给你吧, ...

把你keil工程直接上传,你可以把你其他的代码都删掉,工程给我测试下。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2017-12-20 09:15:02 | 显示全部楼层
小恩GG 发表于 2017-12-18 09:27
把你keil工程直接上传,你可以把你其他的代码都删掉,工程给我测试下。

你好,已经上传了,麻烦看看,多谢!

example_project-功耗测试.zip

3.25 MB, 下载次数: 30, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2017-12-25 11:45:53 | 显示全部楼层
小恩GG 发表于 2017-12-18 09:27
把你keil工程直接上传,你可以把你其他的代码都删掉,工程给我测试下。

版主,你好,有空测过没?
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-12-25 14:54:17 | 显示全部楼层
326623 发表于 2017-12-25 11:45
版主,你好,有空测过没?

真不好意思,立刻就测试。
刚刚下载你代码打开之后,不知道为啥这边不能看源文件的,都是十六进制的
你看下图片:
55.jpg
你把你代码打包的时候,中文名字去掉试试。
还是你那边就特意做了.C代码的打开限制呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2017-12-26 10:50:31 | 显示全部楼层
小恩GG 发表于 2017-12-25 14:54
真不好意思,立刻就测试。
刚刚下载你代码打开之后,不知道为啥这边不能看源文件的,都是十六进制的
你看 ...

抱歉,公司电脑有加密软件。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2018-2-5 16:08:07 | 显示全部楼层
小恩GG 发表于 2017-12-25 14:54
真不好意思,立刻就测试。
刚刚下载你代码打开之后,不知道为啥这边不能看源文件的,都是十六进制的
你看 ...

版主,您好。您可以用官方的例程测试。多谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-3-13
 楼主| 发表于 2018-2-26 14:02:53 | 显示全部楼层
顶一个!!
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2018-2-27 13:25:27 | 显示全部楼层

https://www.nxpic.org.cn/module/forum/thread-611689-1-1.html
这个帖子是另外一个网友的功耗验证,你可以参考下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 16:13 , Processed in 0.111330 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表