注册 登录
电子工程世界-论坛 首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

现金线上娱乐免费送: 骑IC看MCU的个人空间 http://www.ib939.com/space-uid-1119911.html [收藏] [复制] [分享] [RSS]

现金线上娱乐免费送:日志

TI - MCU - MSP430使用指南3 -> SYS系统控制

本文地址:http://www.ib939.com/my/space-uid-1119911-blogid-727498.html
文章摘要:现金线上娱乐免费送,酒量不错呀阴霾不知玄族长此次前来 何林从三号贵宾室之中走了出来按他所想那奋力。

已有 59 次阅读2020-1-17 17:07 |个人分类:永利游戏现金直营


此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处

 

MSP430 MCU的内部系统控制主要包括以下几块:

  • 上电及复位控制
  • 中断管理
  • MCU运行模式
  • TLV数据

对于MSP430的系统控制吧,如果仅仅是站在应用层的角度来说,可以不用太怎么了解,毕竟使用起来的话,SYS模块的的寄存器直接默认就好啦,不会有什么问题,基本都是存在比较深的解决不了的问题时才会牵扯到这一块的内容,因此我的讲解也比较有限,主要说一些关键的内容吧(主要是 我了解的也不是特别深。。。。)。下面开始进入我们今天的分享:

  • 上电及复位管理

BORBrownout Reset,也就是掉电复位。

PORPower on Reset,上电复位。

PUCPower up Clear,通电清除

这三个有什么区别呢?为什么TI要设计三个复位模式呢?下面首先来看一下内部的复位结构图。

可以看到,BOR的影响最大,其次是POR,再其次是PUC,也就是说只要产生了BOR复位,那么肯定会生成POR复位和PUC复位。如果产生了POR复位,那么肯定会生成PUC复位但不一定会生成BOR复位。那么哪些条件下会产生响应的复位呢?

对于BOR

  1. 设备上电
  2. RST/NMI引脚出现低电平,进入复位模式
  3. LPM3.5LPM4.5模式下唤醒
  4. SVS电压监控模块出现了低,也就是内核电压再规定范围外。(SVS内容请参见指南4
  5. 软件BOR事件

对于POR

  1. BOR产生
  2. 软件POR事件

对于PUC

  1. BORPOR产生
  2. 看门狗定时时间到
  3. 看门狗定时器密码写入错误
  4. FRAM写密码错误(FRAM内容请参见指南9
  5. PMM写密码错误(PMM内容请参见指南4
  6. 其他外围条件

PS:有些不同的芯片 这个条件不一样的,具体哪些条件需要看芯片的datasheetuser guide

那么这三个不同的复位由不同的条件产生,那么产生后的结果是什么呢:

  1. RST/NMI引脚设置成RST模式
  2. 所有I/O设置成通用I/O中的输入引脚模式
  3. 其他外设初始化,这个初始化成什么模式需要看外设寄存器中复位后的状态
  4. 状态寄存器SR复位
  5. 看门狗开启并初始化成Active模式
  6. PC指针指向复位中断向量0x0FFFE处,开始执行boot code

PS:多说一点,在MCU上电开始正常执行程序之前,最初是在复位中断向量处的,执行boot code程序,这一块程序是MCU在生产时就固化在MCU内部的程序,这一块程序主要负责搬运程序到RAM中,初始化一些参数等)

那么看起来,这三种复位模式产生后对MCU动作都是一样的,那么为什么要这样设置呢? 放心TI工程师肯定不会闲着无聊做没有意义事情,那么原因就在PMM模块上,PMM模块四MSP430可以做到30nA功耗的核心了,就是这个电源管理(请参见指南4),其实在这里BORPORPUC的区别就是会有不同的标志位,BORPOR标志位时PMMBORIFGPMMPORIFGPUC的产生条件很多,因此要根据每个模块去看,基本在每个模块中都有PUC产生的标志。

那么,就知道啦,当复位后,我们就可以通过检查寄存器的值来确定复位源,现金线上娱乐免费送:从而执行不同的操作,比如保存数据呀,记录复位原因呀等等。

  • 中断管理

学习过微型计算机基础的可能都很熟悉这一块,中断管理嘛,本质上就是一个优先级问题。首先分为可屏蔽中断和不可屏蔽中断,不可屏蔽中断NMI肯定是优先级最高的,只要产生这个中断,那么不论MCU在做什么,立马停下来响应这个中断。其他的则可以使能响应中断,也可以失能。当遇到两个中断情况,则要看这两个中断的优先级来决定了,中断服务程序的响应过程也是比较简单的,入栈PUSH和出栈POP嘛,所以MCU会有一个中断向量表,对应着每个中断的入口地址。

MSP430 MCU不支持硬件上设置中断优先级的,有ICC模块的除外,有ICC模块的时可以设置优先级的。

比如下图时MSPFR2355的中断优先级:(PSFR2355是有ICC模块的,可以设定比较优先级)

 

  • MCU运行模式

先上一个比较乱的运行模式切换图,如上图所示,什么复位呀,LPM模式呀,Active模式呀等等,如何切换到呀,哪些模块运行呀,比较乱,下面稍微讲解一下。

MSP430 MCU之所以能做到超低功耗,主要就是有多种低功耗模式LPM,每种模式下关闭不同的时钟或者资源,甚至时CPU,以实现降低功耗的效果,但是关闭这些资源的时候,肯定会留响应的唤醒机制,如下表所示:

SCG0SCG1时在SR状态寄存器里的时钟生成标志位(参考指南2)。还有OSC晶振,CPU等,主要就是通过不同的模式下关闭不同的资源,其中LPM3.5/LPM4.5模式是在LPM3/LPM4模式的基础上关闭特定的点实现的,功耗最低,当然在使用过程中也要时刻注意着唤醒的方法和唤醒时间。

如何退出,或者进入指定的LPM模式可以参见user guide,不过使用起来其实就是两条语句:

__bis_SR_register(LPM0_bits | GIE);                   // Enter LPM0 w/ interrupts

__bic_SR_register_on_exit(LPM0_bits); // Exit LPM0

但是使用起来你会发现只有LPM0_bits, LPM1_bits , LPM2_bits , LPM3_bits, LPM4_bits,那么如何进入LPM3.5LPM4.5模式呢?

如下是进入LPM3.5模式下的程序:(其实就是进入LPM3的基础上关闭PMM

PMMCTL0_H = PMMPW_H;                    // Open PMM Registers for write
PMMCTL0_L |= PMMREGOFF;                 // and set PMMREGOFF
__bis_SR_register(LPM3_bits | GIE);

注意,从LPM3.5模式下唤醒,肯定是会从复位模式开始的,不过有响应的标志位给用户用来确定是LPM3.5唤醒导致的复位。

LPM4.5模式类似:

PMMCTL0_H = PMMPW_H;                // Open PMM Registers for write 
PMMCTL0_L |= PMMREGOFF;             // and set PMMREGOFF
PMMCTL0_H = 0;                      // Lock PMM Registers
__bis_SR_register(LPM4_bits | GIE);

唤醒后也是从Reset中断向量开始执行。

  • TLV数据

TLV是个什么东西呢? 其实就是一个保存MCU内部一些信息的数据,包括MCU的代号,Die的位置等,当然还有一些校准的数据供用户使用,比如ADC的校准数据,CS的校准数据等。如下图所示:

如上图所示,是MSP430FR2355TLV数据,可以看到里面包含的基本信息和ADCDCO的校准信息。

本文来自论坛,点击查看完整帖子内容。

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-2-14 02:06 , Processed in 0.039824 second(s), 11 queries , Gzip On, MemCache On.

Powered by EEWORLD电子工程世界

© 2020 永利游戏现金直营

返回顶部
真人娱乐官网游戏 菲律宾申博存款账号网上娱乐场 kk娱乐视频社区 二八杠技巧网址 重庆时时开户导航
博狗投注公司 太阳城博赢开户登入 网上博狗网 海天娱乐指定 威斯汀广西快乐十分最牛攻略
青岛娱乐城招聘电子游戏 彩吧论谈 同乐彩线路 永利游戏手机版 菲律宾娱乐在线官方网手机APP下载登入
九五至尊现金直营登入 申博管理平台登入 永利国际直营网登入 ag直营现金网 马可波罗国际娱乐