WDT of MSP430
- 格式:ppt
- 大小:440.00 KB
- 文档页数:19
MSP430单片机中的WDT研究
章锐
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2006(000)001
【摘要】软件的可靠性一直是一个关键问题。
任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在嵌入式系统中也同样存在。
由于单片机的抗干扰能力有限,在工业现场的仪器仪表中,常会由于电压不稳、电弧干扰等造成死机。
在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。
为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog Timer)的利用是很有价值的。
【总页数】2页(P69-70)
【作者】章锐
【作者单位】上海电机学院
【正文语种】中文
【中图分类】TP3
【相关文献】
1.MSP430系列单片机简介及MSP430F449单片机在医疗器械中的应用 [J], 邱月友
2.MSP430单片机实用技术讲座第1讲MSP430单片机系列简介(上) [J], 张俊谟
3.MSP430单片机实用技术讲座第1讲 MSP430单片机系列简介(下) [J], 张俊谟
4.MSP430单片机在公交车门安全系统中的应用研究 [J], 周振
5.MSP430系列单片机及MSP430F449单片机在医疗仪器中的应用 [J], 邱月友因版权原因,仅展示原文概要,查看原文内容请购买。
Msp430定时器的介绍及其基本应用Msp430定时器的介绍及其基本应用Msp430单片机一共有5种类型的定时器。
看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bit Timer/Counter)、定时器A(Timer_A)和定时器B(Timer_B)。
但是这些模块不是所有msp430型号都具有的功能。
1、看门狗定时器(WDT)学过电子的人可能都知道,看门狗的主要功能就是当程序发生故障时能使受控系统重新启动。
msp430中它是一个16位的定时器,有看门狗和定时器两种模式。
2、基本定时器(Basic Timer1)基本定时器是msp430x3xx和msp430F4xx系列器件中的模块,通常向其他外围提供低频控制信号。
它可以只两个8位定时器,也可以是一个16位定时器。
3、8位定时器/计数器(8-bit Timer/Counter)如其名字所示,它是8位的定时器,主要应用在支持串行通信或数据交换,脉冲计数或累加以及定时器使用。
4、16位定时器A和B定时器A在所有msp430系列单片机中都有,而定时器B在msp430f13x/14x和msp430f43x/44x等器件中出现,基本的结构和定时器A是相同的,由于本人最先熟悉并应用的是定时器A所以在这里就主要谈一下自己对定时器A的了解和应用。
定时器A是16位定时器,有4种工作模式,时钟源可选,一般都会有3个可配置输入端的比较/捕获寄存器,并且有8种输出模式。
通过8种输出模式很容易实现PWM波。
定时器A的硬件电路大致可分为2类功能模块:一:计数器TAR计数器TAR是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断TAIFG。
二:比较/捕获寄存器CCRX如何实现定时功能呢?这就要靠三个比较/捕获寄存器了(以后用CCRx表示)。
当计数器TAR的计数值等于CCRx时(这就是捕获/比较中的比较的意思:比较TAR是否等于CCRx),CCRx单元会产生一个中断。
016:MSP430_WDT看门狗定时器1, 看门狗定时器概述看门狗定时器(WDT)是 MSP430 系列单⽚机中常⽤的⼀种部件。
在⼯业现场,往往会由于供电电源、空间电磁⼲扰或其他原因引起强烈的⼲扰噪声。
这些⼲扰作⽤于数字器件,极易使其产⽣误动作,从⽽失去应有的控制功能,引起 MSP430 发⽣“程序跑飞”事故。
若不进⾏有效的处理,程序就不能回到正常的状态,从⽽失去应有的控制功能。
看门狗定时器正是为了解放这类问题⽽产⽣的,尤其是在具有循环结构的程序任务中更为有效。
在正常操作器件,⼀次 WDT 定时时间到,将产⽣⼀次器件复位。
如果通过编制程序使 WDT 定时时间稍⼤于程序执⾏⼀遍所⽤的时间时,并且程序执⾏过程中都有对看门狗定时器清零的指令,使计数器重新计数,则程序正常执⾏时,就会在 WDT 定时时间到达之前对 WDT 清零,不会产⽣ WDT 溢出,如果由于⼲扰使程序跑飞,则不会在 WDT 定时时间到达之前执⾏ WDT 清零指令,WDT 就会产⽣溢出,从⽽产⽣系统复位 CPU 需⽤重新运⾏⽤户程序,这样程序就可以⼜恢复正常运⾏状态。
MSP430 看门狗除了具有上述系统监测的特定⽤途之外,还可以作为内部定时器来使⽤,当选择的时间到达之后,和其他定时器⼀样产⽣⼀个定时中断。
此外 WDT 还可以被完全停⽌活动以⽀持超低功耗应⽤2 看门狗定时器结构3 看门狗定时器寄存器[1] WDTCTL 看门狗控制寄存器WDTCTL 由两部分组成:⾼ 8 位是对 WDT 操作的控制命令。
要写⼊操作 WDT 的控制命令,出于安全原因必须先正确写⼊⾼字节看门狗⼝令。
⼝令位 5AH,如果⼝令写错将导致系统复位。
读 WDTCTL 时,不需要⼝令,可直接读取地址 120H 中的内容,读出数据低字节位 WDTCTL 的值,⾼字节始终位 69H。
WDTCTL 除了看门狗定时器的控制位之外,还有两个⽤于设置 NMI 引脚功能。
WDTISx:选择看门狗定时器的计时输出其中 T 是 WDTCNT 的输⼊时钟源周期。
msp430简介MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化, MSP430系列将会得到越来越多人的喜爱.一、IO口(一)、P口端口寄存器:1、PxDIR 输入/输出方向寄存器(0:输入模式 1:输出模式)2、PxIN 输入寄存器输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。
3、PxOUT 输出寄存器寄存器内的内容不会受引脚方向改变的影响。
4、PxIFG 中断标志寄存器(0:没有中断请求 1:有中断请求)该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受;5、PxIES 中断触发沿选择寄存器(0:上升沿中断 1:下降沿中断)6、PxSEL 功能选择寄存器(0:选择引脚为I/O端口 1:选择引脚为外围模块功能)7、PxREN 上拉/下拉电阻使能寄存器(0:禁止 1:使能)(二)、常用特殊P口:1、P1和P2口可作为外部中断口。
msp430简介MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化, MSP430系列将会得到越来越多人的喜爱.一、IO口(一)、P口端口寄存器:1、PxDIR 输入/输出方向寄存器(0:输入模式 1:输出模式)2、PxIN 输入寄存器输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。
3、PxOUT 输出寄存器寄存器内的内容不会受引脚方向改变的影响。
4、PxIFG 中断标志寄存器(0:没有中断请求 1:有中断请求)该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受;5、PxIES 中断触发沿选择寄存器(0:上升沿中断 1:下降沿中断)6、PxSEL 功能选择寄存器(0:选择引脚为I/O端口 1:选择引脚为外围模块功能)7、PxREN 上拉/下拉电阻使能寄存器(0:禁止 1:使能)(二)、常用特殊P口:1、P1和P2口可作为外部中断口。
MSP430单片机整体介绍MSP4301.摘要MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器(Mixed Signal Processor)。
称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。
2.MSP430 单片机的发展MSP430 系列是一个16 位的、具有精简指令集的、超低功耗的混合型单片机,在1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。
回忆MSP430系列单片机的发展过程,可以看出有这样三个阶段:开始阶段:从1996 年推出MSP430 系列开始到2000 年初,这个阶段首先推出有33X 、32X 、31X 等几个系列,而后于2000 年初又推出了11X 、11X1 系列。
MSP430 的33X 、32X 、31X 等系列具有LCD 驱动模块,对提高系统的集成度较有利。
每一系列有ROM 型( C )、OTP 型(P )、和EPROM 型(E )等芯片。
EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。
这也表明了这几个系列的开发模式,即:用户可以用EPROM 型开发样机;用OTP 型进行小批量生产;而ROM 型适应大批量生产的产品。
2000 年推出了11X/11X1 系列。
这个系列采用20 脚封装,内存容量、片上功能和I/O 引脚数比较少,但是价格比较低廉。
这个时期的MSP430已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。
它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的I/O引脚等,只有33X 系列才具备。
33X 系列价格较高,比较适合于较为复杂的应用系统。
当用户设计需要更多考虑成本时,33X并不一定是最适合的。
而片内高精度A/D 转换器又只有32X 系列才有。
MSP430学习点滴——看门狗定时器看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。
控制寄存器WDTCTL 由两部分组成,高8 位用作口令,低8 位实现对WDT 的控制操作。
要实现对WDT 的操作控制,必须先写入高字节看门狗口令。
口令为5AH,头文件里一般将WDTPW 宏定义为5AH.WDTCTL 寄存器各位定义如下:15~8 7 6 5 4 3 2 1 0 口令HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0IS0 IS1 选择看门狗定时器的定时输出,其中T 是WDTCNT 的输入时钟源周期。
一般宏定义WDTIS0 为0x0001,WDTIS1 为0x0002. 0 T*2(PUC 复位后的值)1 T*22 T*23 T*2SSEL选择WDTCNT 的时钟源。
一般宏定义WDTISSEL 为0x0004. 0 SMCLK (PUC 复位后的值) 1 ACLKCNTCL 当该位为1 时清除WDTCTL。
一般宏定义WDTCNTL 为0x0008.TMSEL 工作模式的选择。
一般宏定义WDTTMSEL 为0x0010. 0 看门狗模式(默认) 1 定时器模式NMI选择RST/NMI 引脚功能,在PUC 后被复位。
一般宏定义WDTNMI 为0x0020.0 RST/NMI 引脚为复位端 1 RST/NMI 引脚为边沿触发的非屏蔽中断输入。
NMIES 选择中断的边沿触发方式。
一般宏定义WDTNMIES 为0x0040. 0 上升沿触发NMI 中断1 下降沿触发NMI 中断HOLD 停止看门狗定时器工作降低功耗。
一般宏定义WDTHOLD 为0x0080. 0 WDT 功能激活1 时钟禁止输入,计数停止。
因此,可以根据WDTCTL 寄存器的TMSEL 和HOLD 控制位设置WDT 工作在看门狗模式、定时器模式和低功耗模式。
C 语言实现低功耗模式的语句:WDTCTL = WDTPW + WDTHOLD;C 语言实现定时器模式的语句:WDTCTL =WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0;C 语言实现看门狗模式的语句:设置看门狗:WDTCTL = WDT_MRST_0_5。
MSP4301.时钟控制:430三个时钟源:LFXT1CLK低频时钟源,XT2CLK,高频时钟源,DCOCLK数控RC 振荡器。
2.三种时钟源可提供三种时钟信号:1.ACLK辅助时钟:ACLK是LFXT1CLK信号经过1、2、4、8分频得到的。
ACLK可由软件选作外围器件的时钟信号。
2.MCLK系统主时钟:可由软件来设置来源于低频时钟源,高频,数控。
之后可再经过1、2、4、8分频得到。
MCLK主要用于CPU和系统。
3.SMCLK:可有软件选这高频时钟来源,用于高速外围设备。
其中P1.4/SMCLK, P2.0/ACLK, P5.5/SMCLK, P5.6/ACLK。
时钟信号输出,可由PnSEL|=0xXX,l来设置特殊功能端口。
4.三个振荡器的控制位:1.低频LFXT1:OscOff;2.高频XT2CLK:XT2OFF;3.DCO:SCG0;5.一、时钟模块主要由三个寄存器来进行控制。
1.DCOCTL DCO控制器高三位:DCO.2、DCO.1 DCO.0定义8种频率之一,相邻两位相差10%,第五位详细调整频率。
其中DCO为7时表示选择最高频率。
2.BCSCTL1基本时钟控制器1位数7(最高)---XT2OFF:控制XT2的开启与关闭,0:开启;1:关闭。
6---------XTS:控制LFXT1工作模式:0:低频工作模式32768HZ;1:高频工作模式(前提接了相应的高频晶振)。
5,4--------DIV.1、DIV.0:控制ACLK分频(ACLK时钟来源于LFXT1)0:不分;1: 2分;2: 4分;3:8分;3-------XT5V:此位设置为0;2,1,0-----Rsel.0~Rsel.2 :0~7:最低标频~最高标频。
3.BCSCTL27,6-------SELM.1,SELM.0:选择MCLK时钟源(系统主时钟)0,1:DCOCLK为时钟源2:XT2CLK为时钟源3:时钟源为LFXT1CLK5,4-------DIVM.0,DIVM.1 选择MCLK分频。
1、#define BIT0 (0×0001) //(0×0001)不是地址,而是一个16进制数值。
例1、P3DIR |= BIT3;实际上也可以写成P3DIR |= 0×0008;意思是将P3口的默认上电值0×0000和0×0008相与,设置P3口的第三位(即P3.3)管脚作输出使用。
例2、WDTCTL = WDTPW + WDTHOLD;实际上就是WDTCTL=0×5A80;你可以在头文件中查到#define WDTPW (0×5A00)和#define WDTHOLD (0×0080)。
WDTCTL是看门狗的控制寄存器,在msp430的User’Guide中有说明:当它的值为0×5A80时停止看门狗定时。
那为什么我们不直接写成WDTCTL=0×5A80;呢?这样的话程序的可读性会很差。
0×5A80只是一个数值,当你下次再看你写的程序,或者别人读你的程序时,就不明白WDTCTL=0×5A80;的意思了。
如果写成WDTCTL = WDTPW + WDTHOLD;就好理解多了:WDTPW(Watchdog timer password,看门狗的密码,WDTCTL的高8位):只有WDTCTL的高8位为0×5A时才能对WDTCTL寄存器进行写操作。
WDTHOLD(Watchdog timer hold,WDTCTL的第7位):当WDTCTL的第7位为1时,停止看门狗计时。
这样我们通过PW,HOLD就可以轻松的知道WDTCTL = WDTPW + WDTHOLD;是做什么的了。
可以看出msp430的头文件是很人性化的。
2、当然也有表示地址的,例如,头文件中有以下部分:#ifdef __IAR_SYSTEMS_ASM__#define DEFC(name, address) sfrb name = address#define DEFW(name, address) sfrw name = address;///运用了可变参数宏的宏定义格式:#define 宏符号名(参数表) 宏体;;宏体中就是写出参数表中各个//参数之间的关系。
引脚功能引脚名称序号I/O 说明Avcc 64 模拟供电电源正端.只为ADC和DAC的模拟部分供电Avss 62 模拟供电电源负端.只为ADC和DAC的模拟部分供电DVcc 1 数字供电电源正端.为所有数字部分供电DVss 63 数字供电电源负端.为所有数字部分供电P1.0/TACLK 12 I/O 通用数字I/O引脚/定时器A时钟信号TACLK输入P1.1/TA0 13 I/O 通用数字I/O引脚/定时器A捕捉:CCI0A输入,比较:OUT0输出P1.2/TA1 14 I/O 通用数字I/O引脚/定时器A捕捉:CCI1A输入,比较:OUT1输出P1.3/TA2 15 I/O 通用数字I/O引脚/定时器A捕捉:CCI2A输入,比较:OUT2输出P1.4/SMCLK 16 I/O 通用数字I/O引脚/SMCLK信号输出P1.5/TA0 17 I/O 通用数字I/O引脚/定时器A,比较:OUT0输出P1.6/TA1 18 I/O 通用数字I/O引脚/定时器A,比较:OUT1输出P1.7/TA2 19 I/O 通用数字I/O引脚/定时器A,比较:OUT2输出P2.0/ACLK 20 I/O 通用数字I/O引脚/ACLK输出P2.1/TAINCLK 21 I/O 通用数字I/O引脚/定时器A,INCLK上的时钟信号P2.2/CAOUT/TA0 22 I/O 通用数字I/O引脚/定时器A捕获:CCI0B输入/比较器输出P2.3/CA0/TA1 23 I/O 通用数字I/O引脚/定时器A,比较:OUT1输出/比较器A输入P2.4/CA1/TA2 24 I/O 通用数字I/O引脚/定时器A,比较:OUT2输出/比较器A输入P2.5/Rosc 25 I/O 通用数字I/O引脚,定义DCO标称频率的外部电阻输入P2.6/ADC12CLK/ 26 I/O 通用数字I/O引脚,转换时钟-12位ADC,DMA通道0外部触发器P2.7/TA0 27 I/O 通用数字I/O引脚/定时器A比较:OUT0输出P3.0/STE0 28 I/O 通用数字I/O引脚,USART0/SPI模式从设备传输使能端P3.1/SIMO0/SDA 29 I/O 通用数字I/O引脚,USART0/SPI模式的从入/主出,I2C数据P3.2/SOMI0 30 I/O 通用数字I/O引脚,USART0/SPI模式的从出/主入P3.3/UCLK0/SCL 31 I/O 通用数字I/O引脚,USART0/SPI模式的外部时钟输入,USART0 P3.4/UTXD0 32 I/O 通用数字I/O引脚,USART0/UART模式的传输数据输出P3.5/URXD0 33 I/O 通用数字I/O引脚,USART0/UART模式的接收数据输入P3.6/UTXD1 34 I/O 通用数字I/O引脚,USI1/UART模式的发送数据输出P3.7/URXD1 35 I/O 通用数字I/O引脚,USI1/UART模式的接收数据输入P4.0/TB0 36 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR0P4.1/TB1 37 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR1P4.2/TB2 38 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR2P4.3/TB3 39 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR3P4.4/TB4 40 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR4P4.5/TB5 41 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR5P4.6/TB6 42 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR6P4.7/TBCLK 43 I/O 通用数字I/O引脚,输入时钟TBCLK-定时器B7P5.0/STE1 44 I/O 通用数字I/O引脚,USART1/SPI模式从设备传输使能端P5.1/SIMO1 45 I/O 通用数字I/O引脚,USART1/SPI模式的从入/主出P5.2/SOMI1 46 I/O 通用数字I/O引脚,USART1/SPI模式的从出/主入P5.3/UCLK1 47 I/O 通用数字I/O引脚,USART1/SPI模式的外部时钟输入,USART0/SPI 模式的时钟输出- 8 -P5.4/MCLK 48 I/O 通用数字I/O引脚,主系统时钟MCLK输出P5.5/SMCLK 49 I/O 通用数字I/O引脚,子系统时钟SMCLK输出P5.6/ACLK 50 I/O 通用数字I/O引脚,辅助时钟ACLK输出P5.7/TboutH/ 51 I/O 通用数字I/O引脚,将所有PWM数字输出端口为高阻态-定时器B7P6.0/A0 59 I/O 通用数字I/O引脚,模拟量输入A0-12位ADCP6.1/A1 60 I/O 通用数字I/O引脚,模拟量输入A1-12位ADCP6.2/A2 61 I/O 通用数字I/O引脚,模拟量输入A2-12位ADCP6.3/A3 2 I/O 通用数字I/O引脚,模拟量输入A3-12位ADCP6.4/A4 3 I/O 通用数字I/O引脚,模拟量输入A4-12位ADCP6.5/A5 4 I/O 通用数字I/O引脚,模拟量输入A5-12位ADCP6.6/A6/DAC0 5 I/O 通用数字I/O引脚,模拟量输入A6-12位ADC,DAC.0输出P6.7/A7/DAC1/ 6 I/O 通用数字I/O引脚,模拟量输入A7-12位ADC,DAC.1输出,SVS输入RST/NMI 58 I 复位输入,不可屏蔽中断输入端口或者Bootstrap Lload启动(FLASHTCK 57 I 测试时钟,TCK是芯片编程测试和bootstrap loader启动的时钟输入端口TDI 55 I 测试数据输入,TDI用作数据输入端口,芯片保护熔丝连接到TDITDO/TDI 54 I/O 测试数据输出端口,TDO/TDI数据输出或者编程数据输出引脚TMS 56 I 测试模式选择,TMS用作芯片编程和测试的输入端口VeREF+ 10 I/P 外部参考电压的输入VREF+ 7 O 参考电压的正输出引脚VREF-/VeREF- 11 O 内部参考电压或者外加参考电压的引脚XIN 8 I 晶体振荡器XT1的输入端口,可连接标准晶振或者钟表晶振XOUT/TCLK 9 I/O 晶体振荡器XT1的输出引脚或测试时钟输入XT2IN 53 I 晶体振荡器XT2的输入端口,只能连接标准晶振XT2OUT 52 O 晶体振荡器XT2的输出引脚时钟模块76543210 DCO.2DCO.1DCO.0MOD.4MOD.3MOD.2MOD.1MOD.0DCO.0-DCO.4 定义8 种频率之一,可以分段调节DCOCLK 频率,相邻两种频率相差10%。
5种低功耗模式分别为LPM0~LPM4(LOW POWER MODE),CPU的活动状态称为AM(ACTVE MODE)模式。
其中AM耗电最大,LPM4耗电最省,仅为0.1uA。
另外工作电压对功耗的影响:电压越低功耗也越低。
系统PUC复位后,MSP430进入AM状态。
在AM状态,程序可以选择进入任何一种低功耗模式,然后在适当的条件下,由外围模块的中断使CPU退出低功耗模式,返回AM模式,再由AM模式选择进入相应的低功耗模式,如此类推。
工作模式的选择由状态寄存器SR中的SCG1、SCG0、OSCOFF、CPUOFF 位控制。
由于在CPU的头文件中对CPU内的各寄存器和模块的各种工作模式都作了详尽的定义,所以编程时尽可能的利用就是了。
如:要进入低功耗模式0,可在程序中直接写:LPM0; 。
进入低功耗模式4,可以写:LMP4;就可以了。
退出低功耗模式如下:LPM0_EXIT; //退出低功耗模式0LPM4_EXIT; //退出低功耗模式4MSP430的电压已经降到了3.3v,虽然不是最低的(arm的部分芯片内核工作电压降到了1.8v),但是这已经是比较低的了;MSP430比较出彩的地方一个是把一颗芯片分成了N个不同的模块部分,不用的部分功能模块可以关闭掉,电流近似为零;另一个出彩的地方是,可以有三个时钟源,并产生更多的内部可用工作频率,让内部各个模块工作在不同的频率,不用的时钟还可以关掉(具体参看上一节MSP430之系统时钟篇)。
后两种方法主要是通过软件的方式进行设置的,具体来讲,MSP430可以有6种不同的工作模式:设置其工作模式主要是设置寄存器SR的SCG0、SCG1、OscOff、CPUOff 位。
SCG0=1且DCOCLK没有用于MCLK和SMCLK时,直流发生器禁止;SCG1=1时,SMCLK禁止; CPUOff=1时,MCLK被禁止;只有CPUOff=1时,OscOff才可以=1,此时晶振被禁止。
MSP430单片机选型指南MSP430是德州仪器(TI)公司推出的一系列超低功耗、高性能的16位RISC单片机。
它广泛应用于各种电子设备中,如智能传感器、电表、医疗设备等。
MSP430系列单片机具有低功耗、高性能、丰富的外设和易用性等特点。
本文将为大家介绍如何选择合适的MSP430单片机。
首先,要考虑所需的性能。
MSP430单片机系列提供了多个不同性能级别的芯片,如MSP430F5xx系列、MSP430F6xx系列等。
性能水平的选择主要根据应用的需求来定。
如果应用需要高性能的计算和通信能力,则可以选择性能较高的芯片。
如果应用对功耗要求较高,则可以选择性能较低的芯片。
其次,要考虑所需的外设。
MSP430单片机提供了丰富的外设,如UART、SPI、I2C、ADC等。
根据应用的需求,选择具备相应外设的芯片。
如果应用需要进行串行通信,则需要选择具有UART、SPI、I2C等外设的芯片。
如果应用需要进行模数转换,则需要选择具有ADC外设的芯片。
此外,还需要考虑所需的存储器容量。
MSP430单片机提供了不同容量的Flash存储器和RAM存储器。
Flash存储器用于存储程序代码,RAM 存储器用于存储数据。
根据应用需要的代码和数据存储容量,选择具有相应容量的芯片。
另外,还需要考虑片上外设的数量和功能。
MSP430单片机提供了多个GPIO引脚,可以用于连接外部器件。
根据应用需要的外部器件数量,选择具有足够引脚数量的芯片。
此外,MSP430单片机还提供了一些特殊功能外设,如计时器、看门狗定时器等。
根据应用的需求,选择具有相应特殊功能外设的芯片。
总之,选择合适的MSP430单片机需要考虑性能、外设、存储器、片上外设、开发工具和技术支持等多个方面。
根据应用的需求,选择具备相应特性的芯片。
通过合适的选择,可以帮助开发者提高开发效率,降低成本,设计出更加优秀的产品。
时钟模块DCO.0-DCO.4 定义8 种频率之一,可以分段调节DCOCLK 频率,相邻两种频率相差10%。
而频率由注入直流发生器的电流定义。
MOD.0-MOD.4 定义在32 个DCO 周期中插入的Fdco+1 周期个数,而在下的DCO 周期中为Fdco 周期,控制改换DCO 和DCO+1 选择的两种频率。
如果DCO 常数为7,表示已经选择最高频率,此时不能利用MOD.0-MOD.4 进行频率调整。
BC SCT L1基本时钟系统控制寄存器XT2OFF 控制XT2 振荡器的开启与关闭。
TX2OFF=0,XT2 振荡器开启。
TX2OFF=1,TX2 振荡器关闭(默认为TX2 关闭)XTS 控制LFXT1 工作模式,选择需结合实际晶体振荡器连接情况。
XTS=0,LFXT1 工作在低频模式(默认)。
XTS=1,LFXT1 工作在高频模式(必须连接有高频相应的高频时钟源)。
DIV A.0 DIV A.1 控制ACLK 分频。
0 不分频(默认)1 2 分频2 4 分频3 8 分频XT5V 此位设置为0。
Resl1.0,Resl1.1,Resl1.2 三位控制某个内部电阻以决定标称频率。
Resl=0,选择最低的标称频率。
…….. Resl=7,选择最高的标称频率。
SELM.1 S EL M.0选择MCLK 时钟源0 时钟源为DCOCLK(默认)1 时钟源为DCOCLK2 时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CL K(对于MSP430F13/14/15/16X);3 时钟源为LFTXTICLK。
D I V M.1D IV M.0选择MCLK 分频0 1 分频(默认)1 2 分频2 4 分频3 8 分频SELS 选择SMCLK 时钟源0 时钟源为DCOCLK(默认)1 时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CL K(对于MSP430F13/14/15/16X)。
浅析MSP430单片机及外围模块作者:倪文兴来源:《科技资讯》 2011年第33期作者简介:倪文兴,(1977-),江苏无锡人,江苏省惠山中等专业学校讲师。
倪文兴1(江苏省惠山中等专业学校江苏无锡 214153)摘要:MSP430 系列单片机都集成了较丰富的片内外设。
它们分别是看门狗计时器(WDT)、比较器、定时器A(Timer_A)、定时器B(Timer_B)、串口0、1(USART0、1)、硬件乘法器、液晶驱动器、10/12/16位ADC、12位DAC、I2C总线、直接数据存取(DMA)、端口 1~8(P1~P8)、基本定时器(Basic Timer)、实时时钟模块、电源电压监控(SVS)、硬件乘法器(MPY)等一些外围模块的不同组合。
本文介绍MSP430单片机及外围模块,以期能够对MSP430单片机有更深的认识。
关键词:MSP430 单片机外围模块中图分类号:TP36文献标识码:A文章编号:1672-3791(2011)11(c)-0000-001 MSP430系列单片机简介MSP430 系列单片机可以分为以下几个系列:X1XX ,X2XX,X3XX, X4XX 等等而且还在不断发展,从存储器角度又可分为ROM(C型)、OTP (P型)、EPROM(E型)、Flash Memory(F型)。
系列的全部成员均为软件兼容可以方便地在系列各型号间移植。
MSP430系列单片机的MCU 设计成适合各种应用的16位结构。
它采用“冯-纽曼”结构,因此RAM、ROM和全部外围模块都位于同一个地址空间内。
2 外围电源电路、时钟模块、接口电路2.1 电源电路由于MSP430系列单片机的工作电压一般是1.8~3.6V, 并且功耗极低,因此选用TI公司的TPS76033作为电源芯片。
该电源芯片输出电压为3.3V,电流为50mA,完全能满足大多数低功耗应用场合的要求,也能满足本系统的功耗要求[30]。
TPS76033特性参数:* 50 mA的低压差稳压器。
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。
程序中设置看门狗清零指令 WDTCTL=WDTPW+WDTCNTCL,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。
一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在上电和系统复位内容全部清零1.记数单元WDTCNT:WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。
WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。
2.控制寄存器WDTCTL:WDTCTL由两部分组成,高8位用作口令,即5AH(头文件中定义为WDTPW),低8位是对WDT操作的控制命令。
写入WDT控制命令时先写入口令WD TPW,口令写错将导致系统复位。
读WDTCTL时不需口令,低字节WDTCTL的值,高字节读出始终为69H。
bit 15-8 7 6 5 43 2 1 0口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS 0IS1 SI0 选择看门狗定时器的定时输出,T为WDTCNT的输入时钟源周期。
TMSEL WDT 工作模式选择0 0 T*2的15次方 0 看门狗模式0 1 T*2的13次方 1 定时器模式1 0 T*2的9次方 NMI 选择RST/NMI引脚功能1 1 T*2的6次方 0 RST/NMI为复位端SSEL 选择WDTCNT的时钟源 1 RST/NMI为非屏蔽中断输入0 SMCLK1 ACLKNMIES 选择NMI中断的边沿触发方式 HOLD 停止看门狗定时器工作0 上升沿触发NMI中断 0 看门狗功能激活1 下降沿触发NMI中断 1 时钟禁止输入,记数停止二、WDT的操作1.用户通过设置WDTCTL中的TMSEL和HOLD控制位使WDT工作在看门狗模式、定时器模式和低功耗模式三种模式。
MSP430无论是仿真还是烧写程序,一般可以通过:JTAG、SBW、BSL接口进行。
1、JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASH、RAM及各种寄存器。
可以用于对430的仿真和编程,主要连接线有TMS、TCK、TDI、TDO,430还需要另两条线路RST、TEST来启动JTAG命令序列。
2、SBW是SPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG 接口的7脚TCK)与SBWTDIO(连接到JTAG接口的1脚TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。
SBW同JTAG一样可以访问到430内部的所有资源。
注:目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW。
3、BSL是TI在430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSP的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。
BSL通过UART协议与编程器连接通信。
编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。
BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。
这种特殊的启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。
BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。
4、一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。