3897|9

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

【把玩LPC810 mini】关于systick的疑问 [复制链接]

本帖最后由 johnrey 于 2015-7-15 21:56 编辑

前提条件:
1、systick属于arm0+ core的一部分
2、sleep 模式下,arm0+ core是down的 ​
3、__WFI会进入至少sleep 模式

问题:
为什么低功耗模式下,systick还能通过中断唤醒core呢?难道arm core sleep的时候,systick还是可以用的?也就是说core不是整个都sleep了?不过也是啊,NVIC也是core的一部分。貌似sleep的时候NVIC也是工作的。这方面好像UM文档里面说的不是很详细哇。有了解的大侠解释一下吗?




核心代码大致如此
  1. void SysTick_Handler(void)
  2. {
  3.         LPC_GPIO_PORT->NOT[0] = (1 << 2);
  4. }

  5.   main()
  6. {......

  7.   SysTick_Config(2000000UL);

  8.     // Enter an infinite loop, just incrementing a counter
  9.     while(1) {
  10.             __WFI();
  11.     }
  12.     return 0 ;
  13. }
复制代码


此帖出自NXP MCU论坛

最新回复

MCU内部有各种时钟配置,不同休眠模式下,关闭的时钟不同。  详情 回复 发表于 2015-7-16 13:08
点赞 关注
 

回复
举报

7608

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 
SYSTICK的实现是厂家相关的,你可以看 SYST_CSR:CLKSOURCE 可以选择 IMPLEMENTATION DEFINED
此帖出自NXP MCU论坛

点评

LPC810的systick source就两个,system clock和system clock/2,是不是可以认为只要system clock在,systick就会运行?  详情 回复 发表于 2015-7-16 12:31
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

6040

帖子

196

TA的资源

版主

板凳
 
如果只是单纯__WFI()的话,那么仅仅是CPU停止执行指令,时钟和其他模块都是正常工作的。
如果需要进入深度休眠的话,需要把有个叫DEEPSLEEP还是SLEEPDEEP位我记不清了,置位。此时时钟就停了,时钟一停,数字电路没有了心跳,自然就休息了。
此帖出自NXP MCU论坛

点评

deep sleep或者power down或者deep power down,sys osc会off,我回头试试。  详情 回复 发表于 2015-7-16 12:35
 
 
 

回复

420

帖子

0

TA的资源

一粒金砂(高级)

4
 
这个芯片没有使用过。不过SYSTICK其中的一个时钟源的实现是厂家自己决定的,如果他使用的是在低功耗模式下仍然可以工作的时钟就可以唤醒
此帖出自NXP MCU论坛
 
 
 

回复

195

帖子

0

TA的资源

一粒金砂(中级)

5
 
仔细看文档说明
省电模式也是有多种的,不同种类的处理是不同的
此帖出自NXP MCU论坛

点评

user manual只说sleep会影响core,不影响外设,但是没说对core的影响程度。不知道应该去看哪个文档  详情 回复 发表于 2015-7-16 12:36
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

6
 
freebsder 发表于 2015-7-15 23:06
SYSTICK的实现是厂家相关的,你可以看 SYST_CSR:CLKSOURCE 可以选择 IMPLEMENTATION DEFINED

LPC810的systick source就两个,system clock和system clock/2,是不是可以认为只要system clock在,systick就会运行?
此帖出自NXP MCU论坛

点评

mcu里面有很多时钟,包括核里面也有好几个时钟包括HCLK,FCLK等还有我们不知道的时钟。在设计cortex的时候会有ARM的授权文档,里面很多可以选择的内容,并不像我们可以看到的文档那样简单,但是这种资料外面看不到。  详情 回复 发表于 2015-7-16 12:45
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

7
 
lcofjp 发表于 2015-7-16 10:18
如果只是单纯__WFI()的话,那么仅仅是CPU停止执行指令,时钟和其他模块都是正常工作的。
如果需要进入深度 ...

deep sleep或者power down或者deep power down,sys osc会off,我回头试试。
此帖出自NXP MCU论坛
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

8
 
jplzl10000 发表于 2015-7-16 12:07
仔细看文档说明
省电模式也是有多种的,不同种类的处理是不同的

user manual只说sleep会影响core,不影响外设,但是没说对core的影响程度。不知道应该去看哪个文档
此帖出自NXP MCU论坛
 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

9
 
johnrey 发表于 2015-7-16 12:31
LPC810的systick source就两个,system clock和system clock/2,是不是可以认为只要system clock在,syst ...

mcu里面有很多时钟,包括核里面也有好几个时钟包括HCLK,FCLK等还有我们不知道的时钟。在设计cortex的时候会有ARM的授权文档,里面很多可以选择的内容,并不像我们可以看到的文档那样简单,但是这种资料外面看不到。
这颗料的system clock接到内部的哪个时钟我们不得而知,nxp也没告诉我们。sleep关闭的是cpu核时钟,所以如果810不是连接到cpu clock(这个时钟好像就是HCLK),那么sleep就对systick没用,同样deep sleep又会关掉一批时钟。freescale的一些系列deep sleep都可以允许systick。
毕竟systick这个外设特殊在于它是属于ARM的组成,大部分物料手册不会告诉你它的内部处理,这种情况下也就只能自己测试配置systick哪些在你的休眠状态可以满足你的预期。
此帖出自NXP MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

10
 
MCU内部有各种时钟配置,不同休眠模式下,关闭的时钟不同。
此帖出自NXP MCU论坛
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表