历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2020年03月30日 | MSP430使用指南3 -> SYS系统控制

2020-03-30 来源:eefocus

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


上电及复位控制

中断管理

MCU运行模式

TLV数据

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


上电及复位管理

BOR:Brownout Reset,也就是掉电复位。


POR:Power on Reset,上电复位。


PUC:Power up Clear,通电清除


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

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


对于BOR:


设备上电

RST/NMI引脚出现低电平,进入复位模式

从LPM5或LPM4.5模式下唤醒

SVS电压监控模块出现了低,也就是内核电压再规定范围外。(SVS内容请参见指南4)

软件BOR事件

对于POR:


BOR产生

软件POR事件

对于PUC:


BOR或POR产生

看门狗定时时间到

看门狗定时器密码写入错误

FRAM写密码错误(FRAM内容请参见指南9)

PMM写密码错误(PMM内容请参见指南4)

其他外围条件

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


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


RST/NMI引脚设置成RST模式

所有I/O设置成通用I/O中的输入引脚模式

其他外设初始化,这个初始化成什么模式需要看外设寄存器中复位后的状态

状态寄存器SR复位

看门狗开启并初始化成Active模式

PC指针指向复位中断向量0x0FFFE处,开始执行boot code

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


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


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


中断管理

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


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


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

MCU运行模式

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


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

SCG0和SCG1时在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.5和LPM4.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的校准数据等。如下图所示:

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

推荐阅读

史海拾趣

Hi-Light Electronic Co Ltd公司的发展小趣事

机顶盒,全称为数字视频变换盒,是连接电视机与外部信号源的关键设备,其专业性与科普性并存。从广义上讲,任何能与电视机连接并处理信号的网络终端设备均可视为机顶盒。随着技术的发展,机顶盒已从早期的模拟频道增补器演变为支持高清、甚至4K超高清内容的数字设备。

机顶盒的核心功能在于接收来自有线电缆、卫星、宽带网络及地面广播的数字电视信号,并通过解码处理,将这些信号转换成适合电视机播放的音视频格式。此外,机顶盒还集成了多种增值服务,如电子节目指南、因特网网页浏览、在线购物、视频点播等,极大地丰富了用户的观看体验。

根据功能和应用场景的不同,机顶盒可分为数字机顶盒和网络机顶盒两大类。数字机顶盒侧重于实现数模转换,让用户能在模拟电视上观看数字电视;而网络机顶盒则能接入互联网,提供更广泛的娱乐内容和互动服务。

在技术不断进步的今天,机顶盒正朝着高清化、智能化方向发展。未来,随着人工智能、云计算等技术的融合应用,机顶盒将能提供更个性化的节目推荐、语音控制等便捷功能,进一步提升用户的观看体验。同时,随着智能电视的普及,机顶盒作为智能电视的有效补充,其市场需求也将持续增长。

DURATOOL公司的发展小趣事

在电子行业,产品质量是企业生存和发展的基石。DURATOOL公司深知这一点,因此一直将品质管理作为企业发展的核心。公司建立了严格的质量管理体系,从原材料采购到产品生产、检验、包装等各个环节都进行严格把关。此外,DURATOOL公司还积极引入国际先进的质量管理理念和方法,不断提升产品质量水平。这些努力使得DURATOOL公司的产品在市场上享有良好的口碑和信誉,赢得了广大用户的信任和支持。

复旦微电子(FM)公司的发展小趣事

随着环保意识的不断提高,绿色、环保、低碳已成为全球经济发展的重要趋势。DURATOOL公司积极响应这一趋势,致力于研发和生产绿色环保的电子工具产品。公司采用环保材料和工艺生产产品,减少了对环境的污染和破坏。同时,公司还积极开展环保宣传和公益活动,引导消费者树立绿色消费观念。这些举措不仅提升了DURATOOL公司的社会形象,也为其在未来的市场竞争中赢得了先机。

B+B SmartWorx公司的发展小趣事

2016年,B+B SmartWorx与研华达成合并协议,成为研华全球大家庭的一员。这次合并是双方战略发展的重要一步,研华看中了B+B SmartWorx在物联网和工业网通领域的深厚积累,而B+B SmartWorx则借助研华在亚洲的资源与经验,进一步拓展其全球市场。合并后,双方在产品开发、业务布局等方面进行了深度融合,共同推动工业物联网领域的发展。

泰科天润(GPT)公司的发展小趣事

B+B SmartWorx的前身是B&B Electronics,一个在1981年成立的公司,起初主要为无线和有线网络提供设备连接解决方案。随着技术的快速发展,物联网和M2M连接的需求日益增长,B&B Electronics意识到必须进行创新以应对市场的变化。于是,公司开始致力于开发“边缘智能”技术,使网络连接设备更加智能、自主和响应迅速。这一创新转型使得公司在物联网行业中崭露头角,并在2015年决定将公司名称更改为B+B SmartWorx,以更好地反映其业务重心和技术方向。

Exclara Inc公司的发展小趣事

随着技术的不断成熟和产品的日益完善,Exclara开始将目光投向全球市场。公司积极拓展海外市场,通过参加国际展会、与当地合作伙伴建立战略合作关系等方式,不断提升品牌知名度和市场份额。同时,公司也在全球范围内建立了完善的销售网络和售后服务体系,以确保客户能够享受到优质的产品和服务。

问答坊 | AI 解惑

创建Windows CE操作系统(二)

之前介绍过如何创建一个基本的Windows CE的平台,现在咱就上一次没有提到的部分进行一下补充定制并build OS。 首先,在VS2005 IDE中的View -> Other Windows -> Catalog Items中,添加或者删除相应的模块来完成OS定制,选项如下: 然后配置buil ...…

查看全部问答>

模拟乘法器(checked)

本帖最后由 辛昕 于 2018-4-8 22:59 编辑 关于这个东西,我后来其实从来没捡起过。 但是,也就没有必要惦记着了。 当然了,每次说到这个东西,都会想起,故人已去~ 在做运放的过程中,知道了一个叫做模拟乘法器的东西。 但是想上网看看这个东 ...…

查看全部问答>

dsPIC30F 在无传感器BLDC 控制中的应用

dsPIC30F 在无传感器BLDC 控制中的应用…

查看全部问答>

STC单片机PWM的实现方法与原理

昨晚给师弟讲课的内容,利用stc的一款单片机提供的pwm实现变频输出。程序将变频pwm输出到led上作测试。 #include sfr   CCON   = 0xD8; sfr   CMOD   = 0xD9; sfr   CL   &nb ...…

查看全部问答>

S3c2410 LCD nand flash 裸机 程序怎么写?

大家好 我也是刚接触Arm9 这几天在学S3c2410裸机程序 现在遇到一个问题:    从ADS1.2下借鉴过来的代码,通过arm-linux- 工具编译,然后通过Jflash-s3c2410 下载到nand flash ,但运行起来 LCD 始终不是希望的效果。 我把我的 ...…

查看全部问答>

谁要能整理下中九的BIN供大家下载,真是感激不尽啊!

谁要能整理下中九的BIN供大家下载,真是感激不尽啊!…

查看全部问答>

有人用过IXP2350做开发吗?帮忙看看呀~~~~

小弟最近要在ixp2350上做开发,板子是个叫ADI Engineering的公司的,无奈我按照说明书上将串口线和网线连号,接上电源,然后用minicom和hyper terminal 都试过,就是没反应…… 说明书上也没有说要别的什么设置啊~~ 有朋友做过这方面的东东没?? ...…

查看全部问答>

calibrate_delay 的头文件是什么

嵌入式开发,Linux系统,是可以在驱动里面调用calibrate_delay 这个函数的吧 不知道需要包含什么头文件…

查看全部问答>

我的移动硬盘使用时,怎么显示:"本地磁盘"啊?

求救:     我的移动硬盘使用时,怎么显示:\"本地磁盘\"啊?     而且打不开! 谁知道 怎么解决? 谢谢!!!…

查看全部问答>