MSOF系统时钟与控制_第1页
MSOF系统时钟与控制_第2页
MSOF系统时钟与控制_第3页
MSOF系统时钟与控制_第4页
MSOF系统时钟与控制_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2、系统时钟与控制(3.1) 复位系统 基础时钟系统2 Copyright 2009 Texas Instruments All Rights Reservedwww.msp430.ubi.pt 1. MSP430 CPU有多少种类型的指令 :(a) 27种内核指令(b) 20种内核指令和14种仿真指令(c) 27种内核指令和24种仿真指令(d) 24种内核指令 2. MSP430 RISC型CPU是指:(a) 基于精简指令集(b) 基于纯模式匹配和指令的缺省(c) 基于复杂指令集(d) 不需要外设连接的CPU3.1.1 系统复位复位信号: 掉电复位信号(BOR) 上电复位信号(PUR) 上电

2、清零信号(PUC)每个复位信号将产生不同的系统初始状态掉电复位信号(BOR) 引起的原因: 监测电压,当超出范围,则引起BOR为高 当此信号为高时,进行复位操作:状态寄存器复位,PC=0 xfffe,全部外设有关的寄存器复位。上电复位信号(POR):又称硬件复位信号又称硬件复位信号 引起的原因:引起的原因: 1、单片机上电、单片机上电 2、RST/NMI管脚上产生低电平时系统复位(由管脚上产生低电平时系统复位(由BOR复位引起)复位引起)系统复位系统复位(指指POR)后的状态为:后的状态为: (1)RST/NMI管脚功能被设置为复位功能管脚功能被设置为复位功能; (2)所有所有I/O管脚被设置

3、为输入管脚被设置为输入; (3)外围模块被初始化,其寄存器值为相关手册上外围模块被初始化,其寄存器值为相关手册上的默认值的默认值; (4)状态寄存器状态寄存器SR复位复位; (5)看门狗激活,进入工作模式看门狗激活,进入工作模式(注意和其它单片(注意和其它单片机区别,其它是默认看门狗关闭状态)机区别,其它是默认看门狗关闭状态); (6)程序计数器程序计数器PC载入载入0 xFFFE处的地址,微处理处的地址,微处理器从此地址开始执行程序。器从此地址开始执行程序。上电清除信号(PUC) 引起的原因: 1、软件操作 2、由POR复位引起 当此信号为高时,进行复位操作:状态寄存器复位,PC=0 xff

4、fe,部分外设有关的寄存器复位。3.1.2 MSP430基础时钟模块 时钟系统模块设计要求时钟系统模块设计要求 MSP430X5XX / 6XX系列时钟系统模块系列时钟系统模块 五个时钟输入源振荡器模块五个时钟输入源振荡器模块 外设模块请求时钟系统(低功耗运行模式下)外设模块请求时钟系统(低功耗运行模式下) 模块振荡器(模块振荡器(MODOSC) 故障安全逻辑操作故障安全逻辑操作 时钟模块应用举例(时钟模块应用举例(MSP430F5XX / 6XX) 时钟模块库函数时钟模块库函数9 Copyright 2009 Texas Instruments All Rights Reservedwww.

5、msp430.ubi.pt 1. MSP430 CPU有多少种类型的指令 :(a) 27种内核指令(b) 20种内核指令和14种仿真指令(c) 27种内核指令和24种仿真指令(d) 24种内核指令 2. MSP430 RISC型CPU是指:(a) 基于精简指令集(b) 基于纯模式匹配和指令的缺省(c) 基于复杂指令集(d) 不需要外设连接的CPU时钟系统模块设计要求(1/1) 为适应系统和具体应用需求,单片机的系统时钟必须满足以下不同要求:高频率。用于对系统硬件需求和外部事件快速反应;低频率。用于降低电流消耗;稳定的频率。以满足定时应用,如实时时钟RTC;低Q值振荡器。用于保证开始及停止操作最

6、小时间延迟。 数字控制RC 振荡器(DCO)外部低频 (LFXT1)外部高频(XT2)MSP430X5XX / 6XX系列时钟系统模块五个时钟输入源振荡器模块,包括:XT1 振荡器XT2 振荡器(由具体器件决定,不是所有MSP430单片机都有的)低功耗低频内部振荡器(VLO)低频修整内部参考振荡器(REFO)片内数字控制振荡器(DCO)一、一、XT1 振荡器振荡器XT1工作在低频(LF)模式时(XTS=0),提供支持32768HZ时钟的超低功耗模式。晶振只需经过XIN和XOUT两个引脚连接,不需要其他外部器件,所有保证工作稳定的元件和移相电容都集成在芯片中。在一些设备中当XT1选择高频(HF)

7、模式时(XTS=1)也支持高频晶振或者振荡器。高频晶振或谐振器连接到XIN和XOUT引脚,需要在两个端口配置电容。二、二、XT2 振荡器振荡器(由具体器件决定,不是所有MSP430单片机都有的)一般称之为第二振荡器XT2,它产生时钟信号XT2CLK,它的工作特性与XTl振荡器工作在高频模式时类似。系统频率和系统的工作电压密切相关,某些应用需要较高的工作电压,所以也需要系统提供相应较高的频率。三、低功耗低频内部振荡器(三、低功耗低频内部振荡器(VLO)低频低功耗内部振荡器 (VLO)能够提供典型10kHz的振荡频率(具体参数见数据手册),而不需要外接任何晶振。VLO可以对时钟精确要求不高的的应用

8、提供低成本和超低功耗的时钟源。四、低频修整内部参考振荡器(四、低频修整内部参考振荡器(REFO)REFO可以产生一个比较稳定的频率,其典型值为32768Hz,它可以用作FLLREFCLK。低频修整内部参考振荡器(REFO)可以在没有外部晶振,对成本又比较敏感的场合得到很好的应用。五、片内数字控制振荡器(五、片内数字控制振荡器(DCO)DCO振荡器是一个可数字控制的RC振荡器,它的频率随供电电压、环境温度变化而具有一定的不稳定性。DCO频率可以通过选择FLL的频率(FLLRENCLK/n)来增强振荡频率的稳定性。 从上图可以看出,MSP430F5XX / 6XX时钟模块有 5 个时钟输入源:XT

9、1CLK 低频或高频时钟源:可以使用标准晶振,振荡器或者外部时钟源输入4MHz32MHz。XT1CLK可以作为内部FLL模块的参考时钟。XT2CLK 高频时钟源:可以使用标准晶振,振荡器或者外部时钟源输入4MHz32MHz。VLOCLK 低功耗低频内部时钟源:典型值为10KHZ;REFOCLK 低频修整内部参考时钟源:典型值为32768Hz,作为FLL基准时钟源;DCOCLK 片内数字控制时钟源:通过FLL模块来稳定。基础时钟模块可提供3种时钟信号:ACLK 辅助时钟:ACLK可由软件选择来自XT1CLK、REFOCLK、VLOCLK、DCOCLK、DCOCLKDIV、XT2CLK(由具体器件

10、决定,不是所有MSP430单片机都有的)这几个时钟源之一。然后经1、2、4、8、16、32分频得到。ACLK可由软件选作各个外设模块的时钟信号,一般用于低速外设模块。MCLK 系统主时钟: MCLK可由软件选择来自上述5种时钟源,同样可经过分频得到。MCLK主要用于CPU和系统。SMCLK 子系统时钟:可由软件选择来自上述5种时钟源,同样可经过分频得到。 SMCLK可由软件选作各个外设模块的时钟信号,主要用于高速外设模块。模块振荡器(MODOSC)UCS模块还有一个内部的振荡器(MODOSC)。它主要给FLASH模块控制器或其他任意需要的模块提供时钟。MODOSC产生时钟信号MODCLK。 例

11、:ADC12_A可以选择使用MODOSC作为转换时钟源,用户选择ADC12OSC作为转换时钟源时,ADC12OSC就来自MODOSC。故障安全逻辑操作(1/2)时钟系统模块包含有晶振故障保护的功能。这个功能可以检测XT1、XT2、DCO的振荡器故障。当晶体振荡器启用后,没有正常工作时,则相应的故障标志位XT1LFOFFG、XT1HFOFFG、XT2OFFG将被置位。如下图所示,可检测的故障有:XT1的LF模式下低频晶振故障(XT1LFOFFG)XT1的HF模式下高频晶振故障(XT1HFOFFG)XT2高频晶振故障(XT2OFFG)DCO故障标志(DCOFFG)UCSCTL7 标准时钟系统控制寄

12、存器715141312111098保留76543210 保留 保留XT2OFFGXT1LFOFFGXT1HFOFFGDCOFFG XT2晶振失效标志位。如果该位置位,那么OFIFG也置位。只要XT2失效条件存在,XT2OFFG标志位就会置位。XT2OFFG可以通过软件清零。 0: 最近一次复位后没有失效条件产生; 1: XT2失效。最近一次复位之后出现失效条件。UCSCTL7 标准时钟系统控制寄存器715141312111098保留76543210 保留 保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFG XT1晶振失效标志位。如果该位置位晶振失效标志位。如果该位置位(高频模式

13、),那么高频模式),那么OFIFG也置位。只要也置位。只要XT1失效条件存在,失效条件存在,XT1HFOFFG标志位就会置位。标志位就会置位。XT1HFOFFG可以通过软件清零。可以通过软件清零。 0: 最近一次复位后没有失效条件产生; 1: XT1失效。最近一次复位之后出现失效条件。UCSCTL7 标准时钟系统控制寄存器715141312111098保留76543210 保留 保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFG XT1晶振失效标志位。如果该位置位晶振失效标志位。如果该位置位(低频模式),那么低频模式),那么OFIFG也置位。只要也置位。只要XT1失效条件存在,

14、失效条件存在,XT1LFOFFG标志位就会置位。标志位就会置位。XT1LFOFFG可以通过软件清零。可以通过软件清零。 0: 最近一次复位后没有失效条件产生; 1: XT1失效。最近一次复位之后出现失效条件。UCSCTL7 标准时钟系统控制寄存器715141312111098保留76543210 保留 保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFG DCO失效标志位。如果该位置位,那么失效标志位。如果该位置位,那么OFIFG也置位。如果也置位。如果DCO=0或者或者DCO=31,DCOFFG标志位就会置位。标志位就会置位。DCOFFG可以通过软件清零。可以通过软件清零。 0

15、: 最近一次复位后没有失效条件产生; 1: DCO失效。最近一次复位之后出现失效条件。故障安全逻辑操作(1/2)时钟系统模块包含有晶振故障保护的功能。这个功能可以检测XT1、XT2、DCO的振荡器故障。当晶体振荡器启用后,没有正常工作时,则相应的故障标志位XT1LFOFFG、XT1HFOFFG、XT2OFFG将被置位。如下图所示,可检测的故障有:XT1的LF模式下低频晶振故障(XT1LFOFFG)XT1的HF模式下高频晶振故障(XT1HFOFFG)XT2高频晶振故障(XT2OFFG)DCO故障标志(DCOFFG) 上述任何一个失效标志位置位,都会引起晶振失效中断标志位OFIFG置位。SFRIF

16、G1寄存器1514131211109876543210 OFIFG 晶振失效标志位故障安全逻辑操作故障安全逻辑操作(2/2)晶振故障逻辑MSP430X5XX / 6XX时钟模块寄存器时钟模块寄存器1、UCSCTL0标准时钟系统控制寄存器02、UCSCTL1标准时钟系统控制寄存器13、UCSCTL2标准时钟系统控制寄存器24、UCSCTL3标准时钟系统控制寄存器35、UCSCTL4标准时钟系统控制寄存器46、UCSCTL5标准时钟系统控制寄存器57、UCSCTL6标准时钟系统控制寄存器68、UCSCTL7标准时钟系统控制寄存器79、UCSCTL8标准时钟系统控制寄存器810、UCSCTL9标准时

17、钟系统控制寄存器91、UCSCTL0标准时钟系统控制寄存器0各位定义如下:15141312111098 保留 DCO76543210 MOD 保留DCO: Bits 128,DCO 频率阶梯选择,确定DCO频率的大致范围。 注意:在锁相环(FLL)工作时,这些位自动修正。2、UCSCTL0标准时钟系统控制寄存器1各位定义如下:15141312111098 保留76543210 保留 DCORSEL保留保留保留DISMODDCORSEL: Bits 64,DCO 频率范围选择,可以调整频率的大致范围。 DCO模块操作模块操作DCO频率的调节5、UCSCTL4标准时钟系统控制寄存器4各位定义如下:

18、15141312111098保留SELA76543210保留SELS保留SELMSELA:bits108,选择ACLK的时钟源。000 XT1CLK001 VLOCLK010 REFOCLK011 DCOCLK100 DCOCLKDIV101 XT2CLK 如果XT2CLK不可用,默认DCOCLKDIV110 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV111 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV5、UCSCTL4标准时钟系统控制寄存器4各位定义如下:15141312111098保留SELA76543210保留SELS保留SELMSELS:bits6

19、4,选择SMCLK的时钟源。000 XT1CLK001 VLOCLK010 REFOCLK011 DCOCLK100 DCOCLKDIV101 XT2CLK 如果XT2CLK不可用,默认DCOCLKDIV110 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV111 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV5、UCSCTL4标准时钟系统控制寄存器4各位定义如下:15141312111098保留SELA76543210保留SELS保留SELMSELM:bits20,选择MCLK的时钟源。000 XT1CLK001 VLOCLK010 REFOCLK011 DC

20、OCLK100 DCOCLKDIV101 XT2CLK 如果XT2CLK不可用,默认DCOCLKDIV110 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV111 保留,默认XT2CLK(如果可用),否则默认DCOCLKDIV7、UCSCTL6标准时钟系统控制寄存器615141312111098XT2DRIVE保留XT2BYPASS保留XT2OFF76543210XT1DRIVEXTSXT1BYPASSXCAPSMCLKOFFXT1OFFXT2OFF bit8,关闭XT2晶振0 假如XT2已经通过端口选择,并且非旁路模式,那么XT2被打开1假如XT2没有被用作ACLK、MCLK

21、及SMCLK的时钟源,或者没有用作FLL的校准源,XT2关闭XT1OFF bit0,关闭XT1晶振0 假如XT1已经通过端口选择,并且非旁路模式,那么XT1被打开1假如XT1没有被用作ACLK、MCLK及SMCLK的时钟源,或者没有用作FLL的校准源,XT1关闭时钟模块应用举例(时钟模块应用举例(MSP430F5XX / 6XX)(1/2)SMCLKACLK例1,MSP430 x66xx演示例程:设ACLK = XT1 = 32768Hz,令SMCLK = XT2CLK,MCLK = DCO(默认) = 32 x ACLK = 1048576Hz,ACLK和SMCLK分别通过P1.0和P3.4

22、输出。程序代码如下:#include void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗关闭看门狗 P1DIR |= BIT0; / ACLK 通过通过 P1.0输出输出 P1SEL |= BIT0; P3DIR |= BIT4; / SMCLK分别通过分别通过 P3.4输出。输出。 P3SEL |= BIT4; while(BAKCTL & LOCKIO) / 解锁解锁XT1引脚引脚 BAKCTL &= (LOCKIO); P7SEL |= BIT2+BIT3; / 选择端口功能为选择端口功能为 XT2 UCSCTL6 &

23、;= XT2OFF; / 使能使能 XT2 UCSCTL6 &= (XT1OFF); / 使能使能 XT1 UCSCTL6 |= XCAP_3; / 配置内接电容值,配置内接电容值, / 若使输出为若使输出为32.768KHz,则需要选择,则需要选择XCAP_3 do UCSCTL7 &= (XT2OFFG + XT1LFOFFG + DCOFFG); / 清零清零XT1、XT2、DCO故障标志位故障标志位 SFRIFG1 &= OFIFG; / 清零清零SFR中的故障标志位中的故障标志位 while (SFRIFG1&OFIFG); / 检测振荡器故障标志位检

24、测振荡器故障标志位 UCSCTL6 &= XT2DRIVE0; / 根据预期的频率,减小根据预期的频率,减小XT2的驱动的驱动 UCSCTL4 |= SELA_0 + SELS_5; / 选择选择 SMCLK和和ACLK的时钟源的时钟源 while(1); / 循环等待循环等待 时钟模块应用举例(时钟模块应用举例(MSP430F5XX / 6XX)(2/2)3.2 低功耗模式低功耗结构 (LPM) 主要内容 低功耗结构 (LPM)概述 低功耗工作模式 进入和退出低功耗模式(LPM0LPM4) 进入和退出低功耗模式(LPMx.5) 低功耗应用原则 低功耗应用举例低功耗结构 (LPM)概述

25、(1/1)TI的MSP430是一个特别强调低功耗的单片机系列,尤其适合应用于采用电池供电的长时间工作场合。MSP430系统使用不同的时钟信号:ACLK、MCLK和SMCLK。这3种不同频率的时钟输出给不同的模块,从而更合理地利用系统的电源,实现整个系统的超低功耗。MSP430的瞬间响应特性是系统超低功耗事件驱动方式的重要保证。如下图所示:低功耗工作模式(1/2)用户可通过软件配置成8种不同工作模式:1种活动模式和7种低功耗模式(LPM0到LPM4、LPM3.5和LPM4.5)。通过设置控制位MSP430可以从活动模式进入到相应的低功耗模式;而各种低功耗模式又可通过中断方式回到活动模式。如下图,

26、显示了各种模式之间的关系。低功耗工作模式(2/2) 状态寄存器状态寄存器(SR):(SR):1514131211109876543210Reserved for CG1VSCG1SCG0OSCOFFCPUOFFGIENZCBitDescription8V溢出位溢出位. V = 1 运算结果超出有符号范围运算结果超出有符号范围7SCG1系统时钟发生器系统时钟发生器0. SCG1 = 1 当当DCO未被用作未被用作MCLK或或SMCLK时,时,关闭关闭DCO发生器发生器 6SCG0系统时钟发生器系统时钟发生器1. SCG0 = 1 关闭关闭FLL和循环控制和循环控制5OSCOFF关闭振荡器关闭振荡

27、器. OSCOFF = 1 当当LFXT1未被用作未被用作 MCLK or SMCLK时,关闭时,关闭LFXT1 4CPUOFF关闭关闭CPU. CPUOFF = 1 禁止禁止CPU核核3GIE使能通用中断使能通用中断. GIE = 1 使能中断屏蔽使能中断屏蔽2N负标志负标志. N = 1 运算结果为负运算结果为负1Z零标志零标志. Z = 1 运算结果为零运算结果为零0C进位标志进位标志. C = 1 运算结果产生进位运算结果产生进位MSP430 CPU寄存器在低功耗模式下,所有的I/O引脚和RAM寄存器将保持不变。 可以通过开中断后用中断事件来唤醒LMP0到LMP4。系统响应中断的过程:

28、硬件自动中断服务PC入栈SR入栈中断向量赋给PCGIE、CPUOFF、OSCOFF和SCG1清除IFG标志位清除(单源中断标志)执行中断处理子程序执行RETI指令(中断返回)SR出栈(恢复原来的标志)PC出栈进入和退出低功耗模式(LPM0LPM4)(1/4)进入和退出低功耗模式(LPM0LPM4)(2/4)系统响应中断时的堆栈情况,如下图所示:堆栈初始状态 入栈时PC和SR 出栈前PC和SR例:系统初始化完毕之后工作于低功耗模式0,中断事件触发到活动模式,中断处理结束后进入到低功耗模式3。;主程序.;初始化操作开始;初始化完毕BIS #GIE+CPUOFF,SR ; 主程序中设置低功耗模式0;

29、.; 程序在这里停止;;中断子程序;中断处理开始;中断处理结束BIS #GIE+CPUOFF+SCG1+SCG0,0(SP);设置SR为低功耗模式3RETI;中断返回;系统进入低功耗模式3。 进入和退出低功耗模式(LPM0LPM4)(3/4)在上述处理过程中,堆栈的变化情况,如下图所示:堆栈初始状态 入栈时PC和SR 出栈前PC和SR进入和退出低功耗模式(LPM0LPM4)(4/4)进入和退出低功耗模式(LPMx.5)(1/1)低功耗模式 LPMx.5 的进入和退出与其他低功耗模式不同。恰当的使用 LPMx.5 模式,可以获得更低的功耗。当进入LPMx.5(LPM3.5和LPM4.5)模式时,

30、电源管理模块(PMM)的电压调节器也停止工作。所有的RAM、寄存器及IO口的配置数据都将丢失,所有的IO口被锁定在当前状态。LMP4.5可以通过上电、复位或具体的IO口来唤醒。在LPM3.5模式下,除了可以用LPM4.5模式下的唤醒事件外,还可用RTC唤醒事件来唤醒。 从LPMx.5模式下退出都会产生一次BOR事件。因此,在退出LPMx.5模式后,IO口的状态将一直保持锁定状态直到应用程序解除锁定,用户应根据需要重新配置芯片。低功耗应用原则(1/2) 一般的低功耗原则:最大化延长其在LPM3或LPM4模式下的时间,用32KHz晶振作为ACLK时钟,DCO用于CPU激活后的突发短暂运行。如果在应

31、用中有短暂性的周期工作并对反应速度不敏感的场合,可以最大化的利用 LPMx.5 模式来降低功耗。用接口模块代替软件驱动功能。例如Timer_A 和 Timer_B 可以自动产生 PWM和捕获外部时序,而不占用 CPU 资源。用中断控制程序运行。用可计算的分支代替标志位测试产生的分支。用快速查表代替冗长的软件计算。在冗长的软件计算中使用单周期的CPU寄存器。避免频繁的子程序和函数调用。尽可能直接用电池供电。低功耗应用原则(2/2) 在设计外设时还有一些常规原则:将不用的FETI输入端连接到VSS。JTAG端口TMS、TCK和TDI不要连接到VSS。CMOS输入端不能有浮空节点,将所有输入端接适当

32、的电平。不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机。低功耗应用举例(1/3)例1,MSP430 x66xx演示例程:配置ACLK = LFXT1 = 32kHz, MCLK = SMCLK = DCO(默认值),禁用REF0、VUSB LDO、SLDO和SLDO。进入LPM3。程序代码如下:#include void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 / 使能 XT1 UCSCTL6 &= (XT1OFF); / 使能 XT1 UCSCTL6 |= XCAP_3; / 配置内接电容值,/ 若使输出为32.768KHz,则需要选择XCAP_3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论