Chapter3 中断、时钟和低功耗

1、中断

①轮询方式和中断方式

  轮询(Polling)方式:CPU主动对外设进行查询,外设处于被动地位,执行效率低下,等待时间长。

  中断(Interrupt)方式:CPU通过响应中断请求为外设提供服务,外设处于主动地位,CPU在外设没有发起中断时可以专心执行其他程序或进入休眠,执行效率高。

②430中断系统

  三种中断:系统中断(System reset)

   非可屏蔽中断(Nonmaskable)

   可屏蔽中断(Maskable)

  中断优先级(Priority)

  

Warning:此处的可屏蔽与非可屏蔽指GIE对中断触发的影响,NMI和MI都有可能被自身独立的中断开关关闭。

③中断响应过程

  1、完成当前指令

  2、将PC入栈

  3、将SR入栈

  4、当有多个中断请求时,响应高优先级中断,GIE清零,屏蔽其他中断发生

  5、清零单源中断的中断请求标志位,多源终端不会自动清除标志位

  6、除了SCG0外,SR的其他位都被初始化,使单片机从低功耗模式进入活动模式。

  7、将中断向量注入PC,转入中断服务子程序

④中断返回过程

  when RETI

  1、SR出栈

  2、PC出栈

⑤C430中断服务子程序书写格式

  #pragma vector=中断矢量向量

  __interrupt void 函数名(void)

  {...}

2、MSP430时钟系统(UCS)

  UCS->Unified Clock System 统一时钟系统

  ①三种时钟类型

    ACLK:辅助时钟Auxiliary clock

    MCLK:主时钟Masker clock

    SMCLK:子系统时钟Subsystem masker clock

  ②五种时钟源

    XT1CLK:低频或高频通用时钟源(32768Hz or 4MHz~32MHz)。

    Low-freq or High-freq oscillator, can be used with 32768Hz watch

    crystals, standard crystals, resonators, or external clock sources in the 4MHz

    to 32MHz.

    VLOCLK:内部超低功耗低频振荡器(10kHz)->RC振荡器,稳定性较差。

    Internal very low power, low frequency oscillator with 10 kHz

    typical frequency.

    REFOCLK:内部低频振荡器(32768Hz),用作参考时钟源。

    Internal, trimmed, low-freq oscillator with 32768 Hz typical

    frequency, with the ability to be used as a clock reference into the FLL.

    DCOCLK:数控振荡器输出时钟,可用锁频环(FLL)设置批量,DCOCLKDIV为DCOCLK的1,2,4,8,16,32分频输出。

    Internal digitally-controlled oscillator(DCO) that can be stabilized by

    the FLL.

    XT2CLK:可选高频振荡器(4MHz~32MHz)

    Optional high-freq oscillator that can be used with standard crystals,

    resonators, or external clock sources in the 4MHz to 32MHz range.XT2CLK

    can be used as a clock reference into the FLL.

  ③数控振荡器输出频率设定

    

    FLL参考时钟进入FLL后,通过FLLREFDIV分频后输入10位频率计数器的正端,计数器输出计数值控制DCO频率发生器,产生DCOCLK,DCOCLK经FLLD分频得到

    DCOCLKDIV,再经FLLN分频后输入频率计数器的负端,当正负端频率一致时,计数器输出值不变,FLL稳定输出DCOCLK和DCOCLKDIV。

    计算公式:FLLREFCLK/n=DCOCLKDIV/(N+1)

  ④UCS初始配置情况

    XT1CLK处于Low-freq模式,ACLK选用XT1CLK,若XT1CLK出错,则自动切换至REFOCLK。

    MCLK和SMCLK选用DCOCLKDIV。

    FLLREFCLK选用XT1CLK。

    XT2CLK默认不使能。

3、低功耗

  

时间: 2024-08-27 11:01:58

Chapter3 中断、时钟和低功耗的相关文章

contiki系统分析:时钟

contiki系统提供了一系列的时钟库,可以供contiki系统或者用户态的程序调用. 时钟库包括时钟到期检查.在调度时钟时低功耗的模块被唤醒,实时的任务调度. 定时器也可以让执行具体的事情过程中进入休眼状态. contiki的定时器的种类 contiki包抱一个时钟模块,但是有多个时钟模型:timer, stimer, ctimer, etimer, rtimer.不同的时钟有不同的作用.有的定时器运行时间长,但是间隔时间短,有的间隔时间长,但是运行时间短.有些能用于中断的上下文中(rtime

数字设计中的时钟与约束

最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字中的时钟(与建模)吧.主要内容如下所示: ·同步电路与异步电路: ·时钟/时钟树的属性:偏移(skew)与时钟的抖动(jitter).延时(latency).转换(transition)时间: ·内部时钟: ·多路复用时钟: ·门控时钟: ·行波时钟: ·双沿时钟: ·Design Compiler中的时钟约束. 1.同步电路与异步电路 首先来谈谈同步电路与异步电路.那么首先就要知道什么是同步电路.什么是

(转)FPGA异步时序和多时钟模块

http://bbs.ednchina.com/BLOG_ARTICLE_3019907.HTM   第六章   时钟域 有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域.换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口.虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPG**外各种系统限制,只使用一个时钟常常又不现实.FPGA时常需要在两个不同时钟频率系统之间交换数据,在系统之间通过多I/O接口接收和发送

时钟域译文转载

第六章   时钟域 有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域.换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口.虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPG**外各种系统限制,只使用一个时钟常常又不现实.FPGA时常需要在两个不同时钟频率系统之间交换数据,在系统之间通过多I/O接口接收和发送数据,处理异步信号,以及为带门控时钟的低功耗ASIC进行原型验证.本章讨论一下在FPGA设计中多时钟域

基于STM32F0的GPIO外部中断

背景:项目中需要使用hall传感器检测门锁状态,触发中断,发送门锁状态信息.(这儿中断服务中只是点了led灯说明了状况) 硬件情况:采用PB3管脚,因而使用中断线:EXTI_Line3和中断服务函数:EXTI2_3_IRQn. 具体过程: 1.设置中断时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); 2.配置GPIO GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCm

5、中断

一.中断 1.ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置. STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级 的设置,仅使用中断优先级设置8bit中的高4位. 2.STM32可支持68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节(8位,但是STM32中只使用4位,高4位有效), 每4个通道的8位中断优先级控制字构成一个32位的优先级寄存器.

(三) UART 串口通讯

UART  : university asynchronous receiver and transmitter UART  // 通用异步接收器和发送器 为什么要有串口:因为许多嵌入式设备没有显示屏,无法获得设备的实事数据信息,所以可以通过 UART 串口和超级终端相连,打印嵌入式设备输出信息.也可以通过串口跟踪和调试. 比如设备: 网络路由器.交换机通过串口配置, GPS接收器通过串口输出GPS接收的数据. 1.异步通信技术:发送和接收方没有同步时钟,只有数据线,但是协商好了协议,(固定频率

uCOS-ii笔记

ucos ii system 文件结构 上层: 应用软件,用户代码 中层: 与处理器无关代码 与应用程序相关配置文件 与处理器有关代码 下层: 硬件(cpu,interupt,timer,gpio,iis-) 内核结构 ucos的内核机构可以从以下的代码可以看出,应用支持10个事件控制块,5个事件标志组,5个内存区块,4个队列控制块和20个任务,最低优先级为63,任务堆栈大小都为128等等,这些都是可以在OS_CFG.H中自行定义的. 临界段 处理器处理临界代码都必须先关中断,再处理临界代码,然

sensor BMA250源代码执行分析

重力传感器是根据压电效应的原理来工作的. 所谓的压电效应就是 “对于不存在对称中心的异极晶体加在晶体上的外力除了使晶体发生形变以外,还将改变晶体的极化状态,在晶体内部建立电场,这种由于机械力作用使介质发生极化的现象称为正压电效应 ”. 重力传感器就是利用了其内部的由于加速度造成的晶体变形这个特性.由于这个变形会产生电压,只要计算出产生电压和所施加的加速度之间的关系,就可以将加速度转化成电压输出.当然,还有很多其它方法来制作加速度传感器,比如电容效应,热气泡效应,光效应,但是其最基本的原理都是由于