基于MSP430的极低功耗系统设计

2019-08-05 16:09发布

本帖最后由 i1mcu 于 2013-10-31 18:19 编辑

MSP430TI公司出品的一款强大的16位单片机,其显著特点是具有极低的功耗。本文对构造以MSP430为基础极低功耗系统作为有益的探讨,对于设计各种便携式设备都具有较高的参考价值。
    关键词:极低功耗系统 MSP430 低功耗管理
1 影响系统功耗的主要因素
  对于一个数字系统而言,其功耗大致满足以下公式:P=CV2f,其中C为系统的负载电容,V为电源电压,f为系统工作频率。由此可见,功耗与电源电压的平方成正比,因此电源电压对系统的功耗影响最大,其次是工作频率,再就是负载电容。负载电容对设计人员而言,一般是不可控的,因此设计一个低功耗系统,应该考虑到不影响系统性能前提下,尽可能地降低电源的电压和使用低频率的时钟。下面对TI公司新出MSP430来具体探讨这个问题。
2 基于MSP430极低功耗系统的设计
  MSP430具有工业级16位RISC,其I/O和CPU可以运行在不的时钟下。CPU功耗可以通过开关状态寄存器的控制位来控制:正常运行时电流160μA,备用时为0.1μA,功耗低, 为设计低功耗系统提供了有利的条件。
  图1是我们设计的以MSP430为CPU的“精密温度测试仪”(下面简称测试仪)。该产品使用电池供电,体积小巧,携带方便。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
i1mcu
2019-08-06 06:39
 这些模式可以完成对晶振的关闭,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退出休眠,测量温度并显示,检测完之后又自动回到休眠状态。

一周热门 更多>