基于MSP430的极低功耗系统设计
- 格式:doc
- 大小:31.50 KB
- 文档页数:5
MSP430系列16位超低功耗单片机原理与实践MSP430系列单片机采用了哈佛结构,具有16位的数据宽度,可以实现更高的数据处理速度。
它的主频范围从1MHz到25MHz,能够满足不同应用的需求。
同时,MSP430系列单片机具有多种低功耗模式,例如待机模式、休眠模式和独立模式,可以有效地降低功耗,延长电池寿命。
MSP430系列单片机具有丰富的外设接口,包括多个串口通信接口、通用输入输出口、模拟输入输出口以及定时器和计数器等。
这些外设接口使MSP430系列单片机可以与其他外部设备进行通信,实现数据的输入和输出。
此外,MSP430系列单片机还具有多个中断源,可以实现实时中断处理,提高系统的响应能力。
使用MSP430系列单片机进行开发,首先需要选择合适的开发板和编程工具。
德州仪器公司提供了MSP430 LaunchPad开发板,可以方便地进行程序的编写和调试。
同时,德州仪器还提供了MSP430编程工具链,包括编译器、调试器和仿真器等,在开发过程中能够提高开发效率。
在实际开发中,可以利用MSP430系列单片机的低功耗特性,实现一些需要长时间运行的应用。
例如,可以将MSP430系列单片机用于物联网中的传感器节点,采集和传输环境数据。
由于MSP430系列单片机的低功耗特性,可以通过电池供电,从而实现长时间的无线监测。
此外,MSP430系列单片机还可以用于电力管理系统、家庭自动化系统和医疗设备等领域。
它的低功耗特性和丰富的外设接口使其具有很高的适用性,能够满足各种不同应用的需求。
总结起来,MSP430系列单片机是一款16位超低功耗单片机,具有高性能和丰富的外设接口。
它的低功耗特性使得它在物联网、电力管理、家庭自动化和医疗设备等领域具有广泛的应用前景。
通过学习MSP430系列单片机的原理和实践,可以更好地应用它在实际开发中。
MSP430单片机最小系统8.2BSL编程器原理图8-1MSP430单片机正常启动复位时序信号当TEST引脚出现至少两个跳变沿,当TEST为高电平而RST引脚出现高电平,如图8-2所示启动程序载入器(Boottrap)所需的时序时,单片机进入启动程序载入器工作方式。
图8-2MSP430单片机进入BSL时序信号图8-43.3V电源电路图图8-3中USB插座的1、2、3、4脚分别为5v电源,D-和D+差分信号线,地线。
5、6脚为插座外壳接地引脚。
电脑可通过1脚提供5V电源,由于PL23032图8-5IAR生成MSP430-t某t编程文件配置2)打开MSPFET软件,做如下设置,如图8-6所示,并选择芯片型号为MSP430F149。
3图8-6MSPFET配置通过电脑的并行端口实现MSP430单片机的JTAG端口编程和调试,对于初学者是一种成本较低的方案,下面介绍用电脑的并行口实现JTAG编程,但是在4用JTAG烧断保密熔丝后,要再想修改闪存程序,就只能用BSL方法了。
图8-9IAR的调试器配置5图8-10IAR的FET调试器并口配置8.4MSP403F149单片机最小系统设计前面的章节中,我们主要采用MSP403F249作为仿真器件详述了单片机内部功能和外部扩展电路的设计和应用,本节主要介绍实用的单片机小系统开发板的硬件设计,可以作为单片机实验学习使用。
在选择单片机型号时,由于市面上MSP403F149较为常用且购买容易,且与MSP403F249功能基本相同,管脚也兼容,因此选择MSP403F149作为单片机最小系统的主芯片。
该单片机的特点如下:1.8V~3.6V超宽供电电压5种低功耗模式,从tandby模式唤醒时间小于6μ0.1uARAM保持0.8uA实时时钟模式2KRAM,60KB+256BFlahMemory(支持IAP)片内硬件乘法器支持四种乘法运算两个具有PWM输出单元的16-Bit定时器(TimerA3,TimerB7)两个UART接口,两个SPI接口(与UART复用)一个8通道12-Bit模数转换器(ADC),具有片内参考电压源一个模拟比较器,看门狗电路等开发板可使用的资源如下:两种可选供电方式(标准稳压器接口、USB接口)符合TI标准的14芯JTAG仿真调试端口蜂鸣器18B20单芯片12-Bit高精度温度传感器12-Bit模数转换器(ADC)接口和单路输出10-Bit数模转换器(DAC)6标准的1602液晶接口和标准的12864液晶接口六位共阴极动态扫描数码管电路RTC实时时钟+纽扣电池IIC接口的EEPROM4某4的矩阵式键盘标准的RS232接口和RS485接口含8个LED的流水灯电路(红、黄、绿)1)单片机电路图8-11MSP430F149单片机电路7图8-12MSP430F149电源电路2)RS232串行口电路这里选用MA某3232作为单片机串行口转换芯片,MA某3232是一款3.0V~5.5V供电、低功耗的RS232收发器,支持高达1Mbp的通信速率,仅需要四个0.1uF的电容作为外部元件即能工作。
基于MSP430的极低功耗系统设计
摘要:MSP430是TI公司出品的一款强大的16位单片机,其显著特点是具有极低的功耗。
本文对构造以MSP430为基础极低功耗系统作为有益的探讨,对于设计各种便携式设备都具有较高的参考价值。
对于一个数字系统而言,其功耗大致满足以下公式:P=CV2f,其中C为系统的负载电容,V为电源电压,f为系统工作频率。
由此可见,功耗与电源电压的平方成正比,因此电源电压对系统的功耗影响最大,其次是工作频率,再就是负载电容。
负载电容对设计人员而言,一般是不可控的,因此设计一个低功耗系统,应该考虑到不影响系统性能前提下,尽可能地降低电源的电压和使用低频率的时钟。
下面对TI公司新出MSP430来具体探讨这个问题。
MSP430具有工业级16位RISC,其I/O和CPU可以运行在不的时钟下。
CPU功耗可以通过开关状态寄存器的控制位来控制:正常运行时电流160μA,备用时为0.1μA,功耗低,为设计低功耗系统提供了有利的条件。
图1是我们设计的以MSP430为CPU的“精密温度测试仪”(下面简称测试仪)。
该产品使用电池供电,体积小巧,携带方便。
在使用时应该尽可能地选择最低的电源电压。
对于MSP430而言,可用的最低电压是很低的,最低可达1.8V。
我们使用TI公司推荐使用的3V。
通常的电源只提供5V电压,因此,需要将5V电压由一个3V的稳压管降压后给CPU供电,也可以直接锂电池供电。
3V不是标准的TTL电平,因此,在使用时需要用接口电路使CPU的非TTL标准电平能与TTL标准电平的器件连接。
这些接口电路应该也是低功耗的,否则会造成一方面使用低电压降低了功耗,另一个方面使用额外的接口电路又增加了系统的功耗。
或者直接使用支持3V电压的外围芯片。
图1 (2)时钟频率
从低功耗的角度看,需要较低的频率,但是在实时应用中为了快速响应外部事件
又需要有比较快的系统时钟。
这就需要系统具有两个高低不同的频率,在需要的时候可以在两个频率之间进行切换。
为了保证切换迅速/时间延迟少,又要求低Q值振荡器,同时切换时往往造成时钟频率的不稳定,这对于要求频率稳定的系统,如实时时钟RTC而言又是不适合的。
设计一个完全达到以上要求的时钟系统是很困难的,MSP430采用了一种折衷办法,即在CPU外使用一个较低的频率为32 768Hz的钟表晶体振荡器生成辅助时钟ACLK,能够保证一些低频率应用场合的要求,对于一些低频工作的’外设而言可以直接作为信号源或时钟,而无需增加额外的分频电路;同时,在CPU内部使用结合数字控制振荡器DCO的FLL技术,将ACLK倍频升高,作为系统的主时钟MCLK。
它使得指令能够在较低晶振下获得高时钟时的运行速度,能够满足高速实时的要求。
低、高频之间的切换只需6μs。
对于149型号的芯片而言,更具有第三个频率SMCLK可供外设使用,它可外接二个晶振,当设置DCOR=0时SMCLK使用DCOCLK,当DCOR=1时SMCLK使用第二个外晶振X2。
X2的频率一般比X1要高,这样便又可以满足高速外设的要求。
MSP430的工作模式通过模块的智能化运行管理和CPU的状态组合以先进的方式支持超低功耗的各种要求。
CPU内状态寄存器SR中的SCG1、SCG2、OscOff与功耗有关.可由软件组合成6种工作模式.
CPUOff置位,CPU停止活动,但外围模块继续工作,ACLK和MCLK信号保持活动,MCLK的锁频坏控制正常工作.有关控制位设置为:SCG1=0,SCG0=0,SCG0=0,OscOff=0,CPUOff=1。
CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制停止工作,ACLK与MCLK保持活动,有关控制位设置为:SCG1=0,SCG0=1,OscOff=0,CPUOff=1。
CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制停止,ACLK活动,MCLK停止,有关控制位设置为:SCG1=1,SCG0=0,OscOff=0,CPUOff=1。
,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,DCO的DC发生器关闭,但ACLK信号仍保持活动,有关控制位设置为:SCG1=1,SCG0=1,OscOff=0,CPUOff=1。
CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,晶振停止,有关控制位设置为:SCG1=X,SCG0=X,OscOff=1,CPUOff=1。
这些模式可以完成对晶振的关闭,FLL关闭,还能实现对外设功耗的控制,从而进一步降低系统的功耗。
为了充分利用CPU的低功耗功能,可以让CPU工作于突发状态。
在通常情况下,根据需要使用软件将CPU设定到某一种低功耗工作模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又进入休眠状态。
MSP430的可编程中断结构可以组成灵活的片上和外部中断体系,以适应实时中断驱动系统的需要。
中断可由处理机的运行状态来启动,如看门狗溢出、外部模块发生的事件等。
每个中断源泉可以用中断允许位单独关闭,而状态寄存器中的通用中断允许位GIE可以禁止全部中断。
当中断请求发生并且相应的中断允许位和通用中断允许位(GIE)置位时,中断服务程序按下顺序激活:
如果CPU处于活动状态则完成当前执行指令。
如果处于省电状态,则终止低功耗模式→将指向下一条指令的PC值压堆栈→将SR压入堆栈→如果在执行上条指令时已有多个中断请求发生,则选择最高优先级者→在单一中断源标志中的中断请求标志位自动复位,多中断源标志仍保持置位以等待软件服务→通用中断允许位GIE复位,CPUOff位/OscOff位和SCG1位复位,SCG0不
改变,FLL环路控制保持原有工作状态,状态位VNZ和C复位→将相应的中断向量值装入PC,程序从该地址继续执行中断处理,中断响应从接受中断请求开始到执行相应的中断服务程序的首条指令,持续6个周期,中断处理结束的最后指令为RETI→将SR从堆栈中弹出,被中断的程序回到与中断前完全相同的状态→将PC机堆栈中弹出。
因此它的中断系统也配合极低功耗的要求,一个中断事件可将系统从各种工作模式中唤醒,而RETI指令又使运行返回到事件发生前的工作模式,不需额外的指令。
测试仪的主要工作就是测量并显示温度。
系统启动后首先进入低功耗的休眠模式,因为温度的测试可以间隔一段时间测量一次,设定一个触发周期,当周期的触发脉冲到来时,CPU退出休眠,测量温度并显示,检测完之后又自动回到休眠状态。
MSP430系列微控制器的运行主要受控于存储在特殊寄存器(SFR)中的信息,不同SFR中的位可以根据需要允许中断或用来定义外围模块的工作模式,能够作到部分或全部禁止外围模块的功能,被禁止的外围模块将停止它的功能以减少电源消耗。
例如,Basic Timer1可以根据需要对输入时钟源选择MCLK、ACLK或ACLK/256之一,同时控制位包含HOLD,当HOLD=1时,可以禁止模块的所有功能,并把功耗降低到最低只有漏电流。
串口是系统与外围联系的重要手段,可以利用MSP430对帧的敏感作为启动条件。
通常情况下都应该从低功耗模式中被启动,这就需要用到UART的中断接收方式,有关代码如下:
当有多台机进行通信时,还应该充分利用线路空闲多处理机模式。
使用此模式可以使处于多机通信的CPU在接收数据之前首先判断地址,如果地址与自己软件中设定的一款,则CPU被激活接收下面的数据;如果不一致,则保持休眠状态。
这样可以最大限度地降低UART所消耗的功率。
低功耗系统必须采用LCD,MSP430有些型号中已经为我们集成了LCD驱动器,在使用时只有需要显示时才打开LCD模块,休眠状态下控制LCD的控制方式与模式寄存器中的LCDM0=0,可以关闭LCD。
LCDM1=1,高电压驱动;LCDM1=0,LCDM1=1,驱动低电压。
尽可能选择低电压驱动。
通过以上处理,LCD的功耗可以达到最少。
0的A/D也具有微功耗的模式。
当转换结束时(EOC),中断标志会自动设置进入中断例程,通知处理机一次转换已经完成。
这时CPU关闭A/D时钟,A/D通道停止工作,直到下一次SOC位置位才开启,因此,模/数的开启是可以由CPU通过控制ACTL寄存器主动进行的。
“测试仪”需要测量传感器送来的电压,使用A/D进行模/数转换,可以通过键盘输入或周期性触发脉冲选择开启A/D转换,完成后又自动关闭,以节省电流消耗。
此外在设计外设时还有一些常规原则:将不用的FETI输入端连接到VSS;JTAG 端口TMS、TCK和TDI不要连接到VSS;CMOS输入端不能有浮空的节点,将所有输入端接适当的电平;不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机。
综上所述,MSP430以其卓越的性能和极低功耗的特点,使我们有很大的余地可以设计出高性能的微功耗系统。
实践证明:使用MSP430为核心构成的便携式系统,其电池的使用寿命可以比基于一般CPU的系统延长3~5倍。
可以预见,在不久的将来基于MSP430的微功耗便携式系统将越来越多,这也正是我们讨论的意义所在。