huzhen816 发表于 2014-1-3 10:33:48

请教关于飞思卡尔KL系列低功耗启动时间问题(已解决)

本帖最后由 FSL_TICS_ZJJ 于 2014-1-28 11:28 编辑

请教各位:

      本人评测KL16/KL25芯片的低功耗启动时间,过程为,上电后单片机配置时钟模块MCG,使系统时钟运行在PEE状态,后处于低功耗VLLS3状态,通过外部中断LLWU_P7唤醒,使芯片重新回到PEE状态
      测试的时间,就是从外部中断触发开始--------系统完成PEE状态完成,需要多少微秒。
      本人测试的时间为276us,下图
   
      为了缩短这个启动时间,我将例程中的pll_init()函数配置修改了一下,只配置时钟到FBE状态,没有执行到PEE状态,就是说,唤醒后没有经过PLL倍频,我以为测试的启动时间会缩短,但是测试结果还是276us,这有点说不通啊,因为这种方式是没有经过PLL倍频,怎么时间没有变呢,是不是芯片本身内部做了什么处理,将这个时间固定了,请各位高人指导!!

    PS:上图我修改了一下,本人想测试的唤醒时间,就是说,先将单片机处于低功耗状态,测试的时间从按键开始,到程序执行的下一条命令为止
    例程我用的是low_power_demo这个例程,测试的结束时间就是
             LowPowerModes_test()
             {
             ...........
            case 4://VLLS3
                printf("Press any key to enter VLLS3\n\r ");
                //uart0_getchar(UART0_BASE_PTR);
                printf("Press SW4 to wake up from VLLS3\n\r ");
                clockMonitor(OFF);
               //UART(OFF);
                enter_vlls3();                            //系统处于VLLS3模式   此时在外部中断触发,按键按下,计时开始
               
                GPIOE_PTOR |= (1<<29);         //系统运行到这,计时结束
               
                break;
             .....................
         }
      

condor 发表于 2014-1-3 10:50:24

我个人认为系统在pll时钟初始化的时候,对pll倍频做了判断,无论你是否倍频,芯片都对pll做判断。

FSL_TICS_ZJJ 发表于 2014-1-3 16:31:51

你好,请问你示波器的波形分别测的是什么?
我这边会测试一下。

huzhen816 发表于 2014-1-3 17:31:58

FSL_TICS_ZJJ 发表于 2014-1-3 16:31
你好,请问你示波器的波形分别测的是什么?
我这边会测试一下。

波形我已经修改过了,开始:低功耗状态下按键按下       结束:程序执行到IO口翻转

FSL_TICS_ZJJ 发表于 2014-1-6 20:14:57

huzhen816 发表于 2014-1-3 17:31
波形我已经修改过了,开始:低功耗状态下按键按下       结束:程序执行到IO口翻转 ...

不好意思,刚看到,明天我测试一下给你回复!

huzhen816 发表于 2014-1-7 17:43:02

FSL_TICS_ZJJ 发表于 2014-1-6 20:14
不好意思,刚看到,明天我测试一下给你回复!

谢谢 FSL_TICS_ZJJ 期待你的解答!!

FSL_TICS_ZJJ 发表于 2014-1-7 19:46:04

huzhen816 发表于 2014-1-7 17:43
谢谢 FSL_TICS_ZJJ 期待你的解答!!

楼主,你的唤醒时间测试方法还是有点问题。
按照datasheet, 48M主频,24MBUS, FEI模式,VLLS3到RUN的唤醒只有大概42us。
而且,这个唤醒时间和频率时钟模式有怎样的关系,还不知道。
建议楼主可以将时钟模式换到FEI模式,然后配置为48M主频,24Mbus,再和datasheet比较一下。

FSL_TICS_ZJJ 发表于 2014-1-8 17:34:50

楼主,VLLS唤醒后,其实芯片就复位了。所以,你在进入VLLS之后加语句,等唤醒,下面的一句话并不会跑。
你所测试的IO置位应该是复位产生的。
这样测试是不对的。

huzhen816 发表于 2014-1-9 14:49:18

FSL_TICS_ZJJ 发表于 2014-1-8 17:34
楼主,VLLS唤醒后,其实芯片就复位了。所以,你在进入VLLS之后加语句,等唤醒,下面的一句话并不会跑。
你 ...

请教版主,我测试了,确实是芯片复位了,为什么LLWU唤醒后芯片会复位呢,我想要的结果是按键中断后能返回程序继续执行。
我用什么方法能达到我的目的呢,是改唤醒源么?

FSL_TICS_ZJJ 发表于 2014-1-9 15:52:09

huzhen816 发表于 2014-1-9 14:49
请教版主,我测试了,确实是芯片复位了,为什么LLWU唤醒后芯片会复位呢,我想要的结果是按键中断后能返回 ...

你好,这点在我们的reference manual中有讲,各个模式唤醒后是什么状态。
这里我贴出VLLS,和LLS的情况,如下图“:


所以,楼主你可以选择程序中的case 3,进入LLS状态,这样也可以用按键唤醒,就可以接着程序往下跑了。

huzhen816 发表于 2014-1-13 10:54:31

FSL_TICS_ZJJ 发表于 2014-1-9 15:52
你好,这点在我们的reference manual中有讲,各个模式唤醒后是什么状态。
这里我贴出VLLS,和LLS的情况, ...

版主,您好

      我手上测试的开发板为FREEDOM-KL25Z,外部晶振为8M
      按照你说的,我的测试结果是,在FEI模式下,由VLLS到RUN的唤醒时间为21us,
                                                在FBE模式下,由VLLS到RUN的唤醒时间为960us,
                                                在PEE模式下,PLL到48M,由VLLS到RUN的唤醒时间也为960us,

      首先我说一下我应用的场合,ETC项目,就是不停车收费系统。从目前来看,需要满足以下几点:
      1、低功耗3uA以下
          这点从测试情况看,VLLS模式1.7uA满足功耗要求。VLLS3模式2.5uA虽也满足条件,但是它的recovery method为 wakeup reset。
      2、低功耗模式转换为RUN模式的时间小于500us,且RUN模式的系统时钟不小于16M
          这点尚不满足,如果低功耗选FEI模式,转换时间21us能满足要求,但是系统频率不够
                               如果低功耗选FBE或PEE模式,转换时间太长

   请问版主,在保证系统主频的情况下啊,转换时间缩短还有什么办法呢?   我测试过其他厂家如新唐的M0芯片,它的芯片是可以达到要求的,还是我的配置有问题。

FSL_TICS_ZJJ 发表于 2014-1-13 17:42:16

huzhen816 发表于 2014-1-13 10:54
版主,您好

      我手上测试的开发板为FREEDOM-KL25Z,外部晶振为8M


你好,应该测试方法还是有点问题,
datasheet中run模式是48M主频,
最大唤醒时间也就115us。

FSL_FAE_JiCheng 发表于 2014-1-14 23:17:08

本帖最后由 FSL_FAE_JiCheng 于 2014-1-14 23:19 编辑

你好楼主,由于锁相环锁定的时间相比于锁频环要长,所以建议你使用FEI模式或者FEE模式(FEE模式需要将外部8M晶振换成32.768K),我在FEE模式下测的数据是LLS电流为2.1uA,LLS-RUN唤醒时间为12us,完全满足ETC的需求。另外您说的FEI模式,可以通过相应配置将内部32K时钟倍到48Mhz的。
页: [1]
查看完整版本: 请教关于飞思卡尔KL系列低功耗启动时间问题(已解决)