查看: 3200|回复: 7

[原创] 【智能生活-KL25Z】实验三 改变系统时钟的功耗测试

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-9-2 09:50:19 | 显示全部楼层 |阅读模式
    FRDM_KL25Z 实验三 改变系统时钟的功耗测试
    增加了UART0的输出和1路16位ADC0的采样,操作如下:
    将uart0.c和uart0.h以及MKL_adc.c和MKLadc.h分别include和add到项目中,由于这两个模块都带有基本的功能,因此只需要在主函数中添加:
    adcInit();
    uart0Init(115200,0,0,8,1);
    即可。查看这两个模块,adcInit()实现从PTE20口输入模拟信号,由UART0触发采样;UART0Init()函数直接实现PTA1,2口的输入和输出[但如果采用OpenSDA,则默认从虚拟串口出入],如果不用PC窗口读取数据,将PTA1,2口短路即可自动触发ADC采样;用虚拟窗口只能打开PC的模拟串口软件了。
    1. 先说说16位ADC的效果,单次采样直接输出后3位一直蹦,4次平均后100左右蹦,8次后2位数蹦,16次平均则是在+-12个字之间也就输说24/65536的精度了,优于千分之一的精度,也就是说采样为12位时,误差在2个bit以内。
    2. 系统时钟,想将系统时钟设定在标准的48MHz,此时UART0的输出设定在155200波特率,PC端口的接收也是这个数值,连接下载后一切正常。测试功耗为19.5mA;之后将系统时钟改为6MHz,测试功耗为14.5mA;呜呼才减少了5mA——真够抠门的,当然此次测试没有用LP模式。
    3. 系统时钟对UART0波特率的影响。48MHz时,初始化UART0为115200:uart0Init(115200,0,0,8,1);当系统时钟降低到6MHz时,比标准的低了8倍,因此对应的波特率也需要改,也就是说初始化语句不变,还是uart0Init(115200,0,0,8,1)C端的接收速率需要降低8倍:115200/8=11400,结果却是如此,在14400下可以正常获得数据。
    4. 系统时钟的改变是早先本站点网友的一个模块改的,如下:
    void SysClockSet(void){
    //使用外部8M时钟源
    SIM->SCGC5 |= (uint32_t)0x0200UL;//开启时钟门
    SIM->CLKDIV1 = (uint32_t)0x10010000UL; //内核/系统2分频;Flash和总线2分频
    PORTA->CR[18] &= (uint32_t)~0x01000700UL;
    PORTA->CR[19] &= (uint32_t)~0x01000700UL;
    //Switch to FBE Mode
    OSC0->CR = (uint8_t)0x89U;//外部参考使能;
    MCG->C2 = (uint8_t)0x24U; //选择使用外部参考源;板上8Mhz有源晶振
    MCG->C1 = (uint8_t)0x9AU; //FLL外部参考,256分频
    MCG->C4 &= (uint8_t)~(uint8_t)0xE0U;
    MCG->C5 = MCG_C5_PRDIV0(31);//括号的数值1~31均可,实际为晶振/()+1,本例8/(31+1)=0.25MHz
    MCG->C6 = MCG_C6_VDIV0(0);//()为倍率,0=24;本例为0:0.25M*(24+0)=6MHz
    SIM->CLKDIV1 = (SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV4(1));
    SystemCoreClock = 6000000;
    while((MCG->S & MCG_S_IREFST_MASK) != 0x00U) {};
    while((MCG->S & 0x0CU) != 0x08U) {};   
    //现在已经进入了 FBE模式
    MCG->C6 |= (uint8_t)0x40U;
    while((MCG->S & 0x0CU) != 0x08U) {};
    while((MCG->S & MCG_S_LOCK0_MASK) == 0x00U) {};
    MCG->C1 = (uint8_t)0x1AU;
    while((MCG->S & 0x0CU) != 0x0CU) {};
    }
    只需要改变12,13行括号的数值就可以实现超频或降频。
    5. 测试小结,改变系统时钟可以有限降低功耗,算起来频率降低8倍,功耗才才下降了1/4。因此LP模式才是正选。照片如下:

    48MHz下的电流

    48MHz下的电流

    6MHz下的电流

    6MHz下的电流
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-9-2 10:17:54 | 显示全部楼层
    自己回复自己是因为漏说了1个关键点,由于KS0713很省电,加上此板的电源插针少的可怜,需要重新设计焊接几组,所以将KS0713的电源+接到PTD5上,初始化IO口时将PTD5设为高即可,而后在初始化LCD。
    上述的测试都是在此情况下进行的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7519
    最后登录
    2021-8-30
    发表于 2016-9-2 11:59:23 | 显示全部楼层
    JLINK V7你自己做的吗
    nxp.png

    nxpp.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-9-2 16:44:07 | 显示全部楼层
    anny 发表于 2016-9-2 11:59
    JLINK V7你自己做的吗

    不是,淘宝上买的。卖家称是V8,结果测出是V7的。很便宜好用,好像低于50元
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7519
    最后登录
    2021-8-30
    发表于 2016-9-2 20:38:50 | 显示全部楼层
    zhjb1 发表于 2016-9-2 16:44
    不是,淘宝上买的。卖家称是V8,结果测出是V7的。很便宜好用,好像低于50元 ...

    我买了JLINK-OB
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-9-2 21:32:34 | 显示全部楼层

    这玩意很好用,我在K64F,所有KL上都能通过。包括自己设计的板子KL46、MK60、等,只需要4根线
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-27 20:36
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    47

    帖子

    0

    注册会员

    Rank: 2

    积分
    102
    最后登录
    2016-12-4
    发表于 2016-10-20 20:18:30 | 显示全部楼层
    支持!谢谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-10-20 21:11:57 | 显示全部楼层
    Lemon柠檬C 发表于 2016-10-20 20:18
    **** 作者被禁止或删除 内容自动屏蔽 ****

    看不到你的内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-3 01:23 , Processed in 0.092462 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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