基于单片机降低电池供电系统功耗的方案

发布者:风清扬yx最新更新时间:2014-02-20 来源: elecfans关键字:单片机  电池供电  系统功耗 手机看文章 扫描二维码
随时随地手机看文章

  引言

  20世纪90年代以来,随着集成电路特征线宽的持续缩小以及芯片密度和工作频率的相应增加,降低功耗已经成为亚微米和深亚微米超大规模集成电路设计中的一个主要考虑因素。功耗的增加会带来一系列问题,例如电路参数漂移、可靠性下降、芯片封装成本增加等。因此,系统的功耗在整个系统设计中,尤其是在采用电池供电的系统中显得十分重要。

  Microchip公司PIC系列的单片机为设计高性能、低功耗的单片机系统提供了很好的解决方案。下面从低功耗设计方法及具体例子来介绍PIC单片机低功耗应用。

  1 低功耗设计方法

  为使系统工作在低功耗状态,必须正确设置单片机的配置及工作方式。下面结合最常用的PIC12、PIC16等单片机介绍低功耗系统的设计方法。

  1.1 基本设计方法

  有许多技术可以降低系统的功耗,最常用的是Sleep模式。程序执行一条SLEEP指令,便进入了休眠(Sleep)模式。要Sleep模式下,晶振停止振荡,而此时单片机在3V电源条件下,只有1μA的电流。系统工作时,单片机可以采用看门狗或外部事件周期性地唤醒单片机,利用电子开关为系统提供电源,以减少系统待机功耗,延长电池使用时间。

  单片机的工作频率和功耗的关系也很大,频率越高,功耗越大。在采用32kHz晶振、3V工作电压时,PIC12、PIC16等系列单片机的典型工作电流只有15μA;而采用4MHz晶振、5V工作电压时,单片机的典型工作电流达到几mA。在许多低功耗的场合,采用低速晶振实现低功耗非常有效。如果单片机采用RC振荡,还可以通过I/O口的操作改变振荡电阻,从而改变单片机工作频率,达到节能的目的。如图1所示,1个I/O引脚可以在等待状态下将并联电阻R1去掉,降低单片机工作频率。当单片机需要工作时,可将I/O引脚设置为输出并输出高电平,从而提高振荡频率。

  1.2 振荡电路设计

  在单片机系统设计中,振荡电路的设计是十分重要的一个环节。PIC系列单片机的典型振荡电路如图2所示。

  一般情况下,设计人员按照厂家给出的参数表进行选择。如果系统能够正常工作,也就不再进行改进了。其实,这是不合适的。因为Microchip的单片机根据型号和版本的不同,工作电压在直流2.5~5.5V的范围内,汽车级温度可以在-40~-125℃范围内,而参数表中只给出了有限的几种情况,实际环境参数会对振荡电路的性能产生很大的影响。如高温、低电压可减小振荡环路增益,而从降低振荡频率或者难以启动;低温、高电压可以使环路增益变大,从而使晶振过驱动,产生损坏的潜在危险或者振荡电路工作的高次谐波频率上升,加大系统功耗。因此,如何正确设计系统的振荡电路十分必要。对于PIC系列单片机,一般的设计步骤如下:

  ①选择晶振。根据系统需要的振荡频率进行晶振的选择。此外,晶振的工作温度和频率稳定度也是十分重要的指标。

  ②选择振荡器类型。PIC系列单片机有RC、LP、XT、HS等振荡模式。除RC模式外,振荡模式的选择实际上就是环路增益的选择。低增益对应低振荡频率,高增益对应高振荡频率。一般根据实际需要的工作频率可参考数据手册来选择。

  ③选择C1、C2。理想的情况是,保证系统在高温和最低工作电压下能够正常工作,使得电容在数据手册推荐的范围内最小。同时选择C2比C1大一些以加大相移,使其有利于振荡电路的上电启动。

  ④选择Rs。在以上参数都已经选定后需要决定Rs的大小。简单的办法是让系统工作在最低温度和最大电压情况下,此时得到的应该是时钟电路最大输出幅度。用示波器观察引脚OSC2的输出波形(注意,示波器的探头将给电路引入一个电容,一般为几pF),如果发现正弦波的峰(接收Vdd处)和谷(接收Vss处)被削平或压扁,说明驱动过载,需要在OSC2和C2间加入1个电阻Rs,一般1kΩ左右或小于1kΩ。Rs不宜过大,过大将使得输入和输出产生隔离,从而产生较大的噪声。当发现需要一个较大的Rs才能消除过驱动时,可以增加负载电容C2来补偿。C2一般选择在15~33pF之间。

  系统振荡电路的设计对系统的稳定性、功耗等影响很大。一般情况下,系统从Sleep状态下唤醒时,振荡电路最难启动(尤其系统工作在高温、低压、低频的情况下)。此时,电阻Rs有利于振荡电路的启动,因为廉价的碳膜电阻容易产生白噪声,从而帮助电路起振。此外,选择C2稍大于C1以增大相移,也有利于电路起振。[page]

  2 具体应用例子

  2.1 系统组成及框图

  系统主要由PIC单片机、双音频解码拔号电路、语音集成电路、接口电路、Vcc电源控制电路、射频发射电路和EEPROM组成,可完成对家用电器的控制和对报警求援语音信息的自动传送,如图3所示。

  2.2 控制器工作方式

  *当与控制器相串闻的电话机(以下称为本地机)处于摘机时,电话线输入电压发生变化,引起CD40106的2脚输出电平变化,输入到CPU的RB0端口产生中断信号,唤醒CPU,控制器进入工作状态。通过本地机的拔号盘对控制器的各种功能进行控制。如控制电视、音响、照明灯等电器电源的开关。

  *当控制器接收到振铃信号时,CD40106的4脚输出电平变化,输入CPU的RB6端口产生中断信号,唤醒CPU进入工作状态,并对振铃信号进行计数;达到设定铃声数后,使控制器进入电话接收状态,开始接收远程传输DTMF信号,经MT8880解调得到的信号通过IRQ向单片机发出中断信号,将数据存入寄存器,经CPU运行,对控制器的各种功能进行控制。

  *当控制器作为报警器,并处于警备状态时,报警探头时刻检测防范区域的情况;当探头向控制器发出警情信息,输入CPU的RB5中断产生信号,控制器进入工作状态,从EEPROM芯片读出预先设置的报警电话号码,经MT8880转换为DTMF信号,自动拨号,以语音形式将信息传送给用户或直接报警。

  2.3 应用电路

  (1)电话接口电路

  电话机与控制器采用控制器在前,电话机在后的串联方式,可实现电话机对控制器各种功能的控制。接口电路由过压保护电路、极性转换电路和中断请求电路组成,如图4所示。

  ①过压保护电路。在电话线回路上加入了一个压敏电阻R,它的作用是当它两端的电压大于其工作电压时呈短路状态,从而保护后级电路免受高压危害。当加到它的两端的电压小于其工作电压,压敏电阻呈开路状态,对后级电路的工作没有任何影响。在本设计中,压敏电阻的工作电压为220V。

  ②极性转换电路。由于在电话线上传输的是交流信号,为了使信号的极性固定,在电路中加入电桥,进行全波整流。

  ③中断请求电路。为延长电池工作时间,CPU在待机时处于休眠的省电状态,在实现远程电话机和本地机对控制器功能控制时,由中断请求电路将CPU唤醒。

  (2)语音电路

  语音电路如图5所示。它以ISD4000语音芯片为核心,主要是存储报警语音,输出经功率放大后传送到电话线上。

  (3)MT8880与PIC单片机的接口电路

  MT8880是Mitel公司的DTMF收发器,具有功能强、功耗低、工作稳定、可靠等性高优点,因此在DTMF信号调制的场合得到了广泛的应用。MT8880与PIC单片机的接口电路如图6所示。

  ①MT8880与单片机的接口电路。D0~D3为4根数据线,MT8880对经过前置处理的DTMF信号进行解调,将解调得的信号存入片内寄存器中,并通过IRQ向单片机发出中断信号。单片机相应中断请求后,在R、W、RS0、RD的控制下,通过D0~D3读出解调出的数据。

  ②DTMF信号放大电路。当微处理器将要发送的DTMF数据写入MT8880相应的寄存器时,MT8880从TONE引脚发出DTMF信号,信号经过放大电路放大后,送往变压器进行电压变化。

  3 程序设计

  程序在运行时:①为电器控制器,若是远程电话机对控制器进行操作,是根据电话的振铃声数来判断;若本地电话机对控制器进行操作,是根据本地电话机的摘机情况来判断。②为报警器,报警探头随时检测到警情并发出信号给控制器,而控制器则是根据用户的设置情况,是处于警备与否来判断是否拔出报警电话。图7是程序流程图。

  下面主要介绍初始化程序、MT8880设置子程序和DTMF信号发送以及接收子程序。

  ;初始化寄存器

  F0 EQU 0H

  RTCC EQU 01H

  PC EQU 02H

  STATUS EQU 03H

  FSR EQU 04H

  RA EQU 05H

  RB EQU 06H

  RC EQU 07H

  RD EQU 08H

  RE EQU 09H

  TRISA EQU 85H

  TRISB EQU 86H

  TRISC EQU 87H

  TRISD EQU 88H

  TRISE EQU 89H

  DAIFS EQU 0X50;待发送的数据放在50开始的区域[page]

  RECE EQU 0X21

  SEND EQU 0X22

  DAIJS EQU 0X40 ;数据暂存在从40H开始的区域

  ;MT8880设置子程序

  ;置MT8880为DTMF接收状态

  R8880:MOVLW0X0D

  MOVWF REVE ;写控制寄存器A(接收模式)

  MOVLW 0X00

  MOVWF REVE ;写控制寄存器B(突发模式)

  REIURN

  ;置MT8880为DTMF接收状态

  T8880:MOVLW 0X0F

  MOVWF SEND;写控制寄存器A(发送模式)

  MOVLW 0X00

  MOVWF SEND;写控制寄存器B(突发模式)

  RETURN

  ;DTMF发送子程序

  TELEPHON:CALL T8880 ;设置为发送模式

  LOOP:MOVF DAIFS,0 ;拔号

  MOVLW SEND

  INCF DAIFS,1 ;检查是否发送结束

  LL1:BTFSS SEND,1

  GOTO LL1 ;已经发送完毕

  CALL DELAY200 ;延时200ms

  DECF DATALENGTH

  GOTO LOOP ;发送完毕

  RETURN

  ;DTMF接收子程序

  RECEIVE:CALL R8880 ;设置为接收模式

  RWT:MOVF DJIJS,0

  MOVLW REVE

  BTFSS REVE,2

  GOTO RWT ;查询是否收到数据

  MOVLW REVE

  ANDLW 0XOF

  MOVF REVE

  INCF DAIJS,1

  DECE DATALENGTH

  RETURN

  结语

  利用PIC单片机低功耗方式设计电话远程控制器,待机时由电池供电,工作时由电话网供电,系统用4节5号电池可供控制器工作一年,产品可实现对家用电器控制,又具有报警及紧急求助功能,可进行远程控制和本地机的控制,且不影响电话正常使用。在电话远程控制器的原理基础上,设计的有线防盗报警产品更具市场前景,成本更低,已批量投入市场,市场反映良好。

关键字:单片机  电池供电  系统功耗 引用地址:基于单片机降低电池供电系统功耗的方案

上一篇:基于单片机的低成本高精度A/D转换方案设计
下一篇:C8051F410单片机最小系统电路图

推荐阅读最新更新时间:2024-03-16 13:35

P87LPC764单片机的I2C总线显示电路
摘要:I2C总线是Philips公司推出的芯片间串行传输总线。目前,已有不少大电气公司半导体厂商推出了不少带有I2C总线接口的单片机。本文介绍一种利用Philips公司生产的P87LPC764单片机作为I2C总线控制器与I2C总线显示器件SAA1064构成的I2C显示电路,并给出相应的程序清单。 关键词:I2C总线 P87LPC764单片机 SAA1064 显示电路 I2C总线是Philips公司推出的芯片间串行传输总线。它以串行数据线(SDA)和串行时钟线(SCL)2根连线实现了完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。关于I2C总线的结构和工作原理详见参考文献1。 一、P87LPC764单片机
[应用]
国产车规级MCU替代进程加速
10月,国务院常务会议通过的《新能源汽车产业发展规划(2020-2035)》提到,以市场主导、创新驱动、协调推进、开放发展为基本原则,力争经过15年持续努力,使我国新能源汽车核心技术达到国际领先水平,质量品牌具备较强国际竞争力,我国进入世界汽车强国行列。 《规划》的出台将加快我国新能源汽车产业发展举措落地,为未来我国新能源汽车产业发展描绘出新的蓝图。比如,《规划》提出到2025年新能源汽车新车销量占比达到25%左右,智能网联汽车新车销量占比达到30%,高度自动驾驶智能网联汽车实现限定区域和特定场景商业化应用。于此同时,5G新基建的持续推进使得5G通信技术渗透进各应用领域,汽车将由功能型产品向智能型产品转变,汽车电子有望成为半导体
[汽车电子]
国产车规级<font color='red'>MCU</font>替代进程加速
ATmega 16单片机的定时器/计数器相关寄存器(二)
T/C0相关寄存器 1.TCCR0 T/C0控制寄存器 FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 位7 FOC0:强制输出比较位。 FOC0仅在WGM 设置为非PWM模式时才有效。为了保证与未来器件的兼容性,在使用PWM时,写TCCR0要对其清零。对其写1后,波形发生器将立即进行比较操作。比较匹配输出引脚OC0将按照COM 的设置输出相应的电平。要注意FOC0类似一个锁存信号,真正对强制输出比较起作用的是COM 的设置。FOC0不会引发任何中断,也不会在利用OCR0作为TOP的CTC模式下对定时器进行清零的操作。读FOC0的返回值永远为0
[单片机]
89c51单片机控制数码管显示0和1的程序
在单片机系统中动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就能自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的办法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。 在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一
[单片机]
MSP430单片机GPIO编程入门教程
在本教程中,我们将一起学习MSP430单片机GPIO的编程方法。本文也适用于Launchpad开发板上使用的MSP430x2xx器件,如MSP430G2553、MSP430G2231等。MSP430单片机上的大多数引脚被分组为最多8个端口, P1到P8。每个端口都是8位宽,并有8个相关的I / O引脚。这些引脚直接映射到相应的端口寄存器,因此可以独立操作I / O引脚。只有端口P1和P2中的引脚支持中断。 此外,每个I / O引脚还具有可配置的上拉和下拉电阻。 每个端口都有一组相关的寄存器,用来操作各个引脚。 位映射和端口分组如下所示: 注意:在编程指南/数据手册中使用的引脚的命令约定是’Px.y’,其中’x’对应的是端口号(1到
[单片机]
单片机控制花样流水灯原理图及程序
  AT89C51单片机流水灯c语言程序   1、首先先在proteus画出仿真图,方便仿真程序   2、下面来编写程序,先来写入头函数   3、根据自己在proteus画的图,定义一下管脚根据你的原理图进行编写   sbit p0=P1^0;   sbit p1=P1^1;   sbit p2=P1^2;   sbit p3=P1^3;   sbit p4=P1^4;   sbit p5=P1^5;   sbit p6=P1^6;   sbit p7=P1^7;   4、然后写一个延时函数,来调节流水灯的时间间隔延时时间自己定义   void mdelay(unsigned int t)   {   unsigned cha
[单片机]
<font color='red'>单片机</font>控制花样流水灯原理图及程序
自学单片机难吗?单片机编程教学班怎么选?
现在我们随便拿一个智能电子产品,不管是家里电器还是玩具,又或者是飞机大炮,基本都有单片机的应用。 市场需求大到让人发指,很多人以前完全不知道单片机是什么东西,自从接触到以后激发了强烈的兴趣。 每个男人心中都有一个”钢铁侠”梦,都希望自己能通过技术去改变世界。 不过,想要达到这种程度,我觉得要从小培养以外,还要异人的天赋才行。 这几年我看了很多大佬,能力超强,其实他们也是从零基础开始,我们碰到的问题他们当初也会碰到。 千万不要被电影误导,发一场烧就能成为天才,吃一颗大力丸就能改变基因。 要想成为大佬,自己必须一步一个脚印,从基础开始,以3、5、10年的周期去看,你能坚持下去肯定也是大佬。 到那个时候,你或许会到达另一个层次,物质已经
[单片机]
PIC10F20X系列单片机的四例应用
由Microclaip Technology Inc出品的单片机:PIC10F200/202/204/206,因采用了SOT-23-6封装,被称着为世界上最小单片机。其仅有33条单字指令,除了程序跳转指令为双周期指令外,其余均为单周期指令(12位宽);含2级硬件堆栈、数据和指令(直接、间接和相对寻址模式)、8位宽数据总线、8个特殊功能硬件寄存器:工作速度为4 MHz内部时钟1μs指令周期的RISC架构单片机,完成需要微型化、极小电路 板空间、高性价比、低电源电压供电的低功耗环境嵌入式系统开发。 在以下LED的变闪灯驱动、医用输液监视、配合555用于电热剪调控、高亮LED亮度调光的4例应用中,通过其集成开发环境MPLAB ID
[单片机]
PIC10F20X系列<font color='red'>单片机</font>的四例应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved