PIC单片机低功耗系统的设计方法介绍

发布者:RadiantEnergy最新更新时间:2019-12-25 来源: elecfans关键字:PIC单片机  低功耗系统  工作频率 手机看文章 扫描二维码
随时随地手机看文章

引言

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


MICroChip公司PIC系列的单片机为设计高性能、低功耗的单片机系统提供了很好的解决方案。下面从低功耗设计方法及具体例子来介绍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以增大相移,也有利于电路起振。


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

RTCCEQU 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

TRISAEQU 85H

TRISB EQU 86H

关键字:PIC单片机  低功耗系统  工作频率 引用地址:PIC单片机低功耗系统的设计方法介绍

上一篇:PIC16F877A单片机对24X24点点阵屏的驱动设计
下一篇:PIC单片机选用存储体0或1的方法

推荐阅读最新更新时间:2024-11-03 13:29

PIC单片机C语言程序设计(15)
  本文是讲座《单片机C 语言程序设计》的结束篇,为了帮助大家更好地掌握前面所学的知识,我们将归纳性地介绍初学者用C 语言编辑PIC 单片机实用程序时应具备的思维方法和基本知识,并通过下面的实例进行一次小结,以期对大家今后深入学习PIC 单片机C 语言程序设计有所帮助。   十六、PIC单片机C语言程序的组成   一个完整的PIC 单片机C 语言源程序应包括:包含头文件、变量定义、常量说明、函数定义、主函数main( )、若干个其他功能函数、各种功能C 语句,以及已定义的函数和函数体、注释等部分组成。   说明:对PIC 单片机中级或中级以下的产品,其头文件是#include pic.h 和#include pic1687x.
[单片机]
<font color='red'>PIC单片机</font>C语言程序设计(15)
PIC单片机SPI通信的设计
#include #define uchar unsigned char #define uint unsigned int #define cs RC2 #define dout RC4 #define nop() asm(“nop”) __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar data_temp; void delay(uint x); void init(); void didi(uchar num); void
[单片机]
<font color='red'>PIC单片机</font>SPI通信的设计
PIC单片机基础1
1、PIC单片机总线结构——哈佛结构:即指令和数据空间是完全分开的,所以与常见的微控制器不同的一点是,程序和数据总线可以采用不同的宽度。以PIC16F684单片机为例,数据总线是8位的,但指令总线位数是14位。 2、在PIC单片机中,我们将RAM存储器称作文件寄存器(F寄存器)。 3、PIC中程序寄存器和数据存储器分开,两者总线不同: 以PIC16F684单片机为例: 1)程序存储器构成:具有一个13位程序计数器,物理上具有2Kx14(0000H-07FFH)存储空间。复位后初始地址为0000H,向量中断地址为0004H。 2)数据存储器构成:数据存储器被分为两个存储区(bank,后续将将专门做原因分析),用STATUS寄
[单片机]
<font color='red'>PIC单片机</font>基础1
PIC单片机入门_异步通讯模式详解
1.USART用于异步通讯详解 1.1 USART的异步工作模式 在异步工作模式下, USART 采用的是标准非归零 ( NRZ编码格式 :一位起始位、8 位或 9 位数据位和一位停止位 )。最常用的数据格式是 8 位。片内专用的 8 位波特率发生器可用于由振荡器产生标准的波特率频率。 USART 首先发送和接收最低有效位。 USART 的发送器和接收器在功能上是独立的, 但采用相同的数据格式和波特率。 波特率发生器可以根据 BRGH 位 (TXSTA 2 )的状态产生两种不同的移位速率:对系统时钟 16 分频或 64 分频的波特率时钟。 USART 硬件不支持奇偶校验,但可以用软件实现 ( 奇偶校验位是第 9 个数据位 )。
[单片机]
<font color='red'>PIC单片机</font>入门_异步通讯模式详解
单片机工作频率切换的实现
    随着单片机技术的发展,单片机各方面的性能都有了很大的提高,运行速度也越来越快,这使得单片机的应用也越来越广泛。     有时候由于外围设备的速度或者其他个些要求,单片机的运行速度并不能很高,有时还要求比较低,比如当8位单片机用于PC/XT总线接口时,工作频率是最高4.77MHz,那么单片机的工作频率就只能是4.77MHz,这样就会导致运行速度下降,当又有其它硬件要求工作频率较高时,怎样才能调和这两方面的矛盾呢?可不可以让单片机在与PC/XT接口时工作在4.77MHz,而在运行其他程序时工作在比较高的频率呢?     首先我们做了这样的实验,如图1,用外部振荡电路,通过分频得到两个高低不同震荡源(4:
[应用]
PIC单片机+LCD12864显示汉字程序
#include pic.h #define RS RD2 #define CS2 RD1 #define CS1 RD0 #define E RD4 #define RW RD3 #define BUSY RC7 const unsigned char tab2 ={ /*-- 文字: 福 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x08,0x08,0x89,0xCE,0x28,0x18,0x02,0x7A,0x4A,0x4A,0x4A,0x4A,0x4A,0x7A,0x02,0x00, 0x02,0x01,0x00,0xFF,0x01,0x02,0xF
[单片机]
<font color='red'>PIC单片机</font>+LCD12864显示汉字程序
PIC单片机开发的一些经验和技巧解析
PIC单片机在国内日益流行,本文介绍MicroChipPIC系列单片机开发过程中软、硬件设计的一些经验、技巧。 由美国Microchip公司生产的PIC系列单片机,由于其超小型、低功耗、低成本、多品种等特点,已广泛应用于工业控制、仪器、仪表、通信、家电、玩具等领域,本文总结了作者在PIC单片机开发过程中的一些经验、技巧,供同行参考。 1 怎样进一步降低功耗 功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。为进一步降低功耗,在保证满足工作要求的前提下,可采用降低工作频率的方法,工作频率的下降可大大降低功耗(如PIC16C××在3V,3
[单片机]
<font color='red'>PIC单片机</font>开发的一些经验和技巧解析
PIC单片机学习心得
1.前言 为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见. 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616 这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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