新聞中心

EEPW首頁 > 消費(fèi)電子 > PIC單片機(jī)在電話遠(yuǎn)程控制器中的低功耗設(shè)計(jì)

PIC單片機(jī)在電話遠(yuǎn)程控制器中的低功耗設(shè)計(jì)

——
作者:廈門高新技術(shù)有限公司 梁子旭 時(shí)間:2007-08-30 來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 收藏

  摘要:結(jié)合,探討低功耗的設(shè)計(jì)方法,并給出設(shè)計(jì)電路原理圖。

    關(guān)鍵詞:

引言

  20世紀(jì)90年代以來,隨著集成電路特征線寬的持續(xù)縮小以及芯片密度和工作頻率的相應(yīng)增加,降低功耗已經(jīng)成為亞微米和深亞微米超大規(guī)模集成電路設(shè)計(jì)中的一個(gè)主要考慮因素。功耗的增加會(huì)帶來一系列問題,例如電路參數(shù)漂移、可靠性下降、芯片封裝成本增加等。因此,系統(tǒng)的功耗在整個(gè)系統(tǒng)設(shè)計(jì)中,尤其是在采用電池供電的系統(tǒng)中顯得十分重要。

  Microchip公司PIC系列的單片機(jī)為設(shè)計(jì)高性能、低功耗的單片機(jī)系統(tǒng)提供了很好的解決方案。下面從方法及具體例子來介紹低功耗應(yīng)用。

1 低功耗設(shè)計(jì)方法

  為使系統(tǒng)工作在低功耗狀態(tài),必須正確設(shè)置單片機(jī)的配置及工作方式。下面結(jié)合最常用的PIC12、PIC16等單片機(jī)介紹低功耗系統(tǒng)的設(shè)計(jì)方法。

1.1 基本設(shè)計(jì)方法

  有許多技術(shù)可以降低系統(tǒng)的功耗,最常用的是Sleep模式。程序執(zhí)行一條SLEEP指令,便進(jìn)入了休眠(Sleep)模式。要Sleep模式下,晶振停止振蕩,而此時(shí)單片機(jī)在3V電源條件下,只有1μA的電流。系統(tǒng)工作時(shí),單片機(jī)可以采用看門狗或外部事件周期性地喚醒單片機(jī),利用電子開關(guān)為系統(tǒng)提供電源,以減少系統(tǒng)功耗,延長電池使用時(shí)間。

  單片機(jī)的工作頻率和功耗的關(guān)系也很大,頻率越高,功耗越大。在采用32kHz晶振、3V工作電壓時(shí),PIC12、PIC16等系列單片機(jī)的典型工作電流只有15μA;而采用4MHz晶振、5V工作電壓時(shí),單片機(jī)的典型工作電流達(dá)到幾mA。在許多低功耗的場合,采用低速晶振實(shí)現(xiàn)低功耗非常有效。如果單片機(jī)采用RC振蕩,還可以通過I/O口的操作改變振蕩電阻,從而改變單片機(jī)工作頻率,達(dá)到節(jié)能的目的。如圖1所示,1個(gè)I/O引腳可以在等待狀態(tài)下將并聯(lián)電阻R1去掉,降低單片機(jī)工作頻率。當(dāng)單片機(jī)需要工作時(shí),可將I/O引腳設(shè)置為輸出并輸出高電平,從而提高振蕩頻率。

1.2 振蕩電路設(shè)計(jì)

  在單片機(jī)系統(tǒng)設(shè)計(jì)中,振蕩電路的設(shè)計(jì)是十分重要的一個(gè)環(huán)節(jié)。PIC系列單片機(jī)的典型振蕩電路如圖2所示。

  一般情況下,設(shè)計(jì)人員按照廠家給出的參數(shù)表進(jìn)行選擇。如果系統(tǒng)能夠正常工作,也就不再進(jìn)行改進(jìn)了。其實(shí),這是不合適的。因?yàn)镸icrochip的單片機(jī)根據(jù)型號(hào)和版本的不同,工作電壓在直流2.5~5.5V的范圍內(nèi),汽車級(jí)溫度可以在-40~-125℃范圍內(nèi),而參數(shù)表中只給出了有限的幾種情況,實(shí)際環(huán)境參數(shù)會(huì)對(duì)振蕩電路的性能產(chǎn)生很大的影響。如高溫、低電壓可減小振蕩環(huán)路增益,而從降低振蕩頻率或者難以啟動(dòng);低溫、高電壓可以使環(huán)路增益變大,從而使晶振過驅(qū)動(dòng),產(chǎn)生損壞的潛在危險(xiǎn)或者振蕩電路工作的高次諧波頻率上升,加大系統(tǒng)功耗。因此,如何正確設(shè)計(jì)系統(tǒng)的振蕩電路十分必要。對(duì)于PIC系列單片機(jī),一般的設(shè)計(jì)步驟如下:

 ?、龠x擇晶振。根據(jù)系統(tǒng)需要的振蕩頻率進(jìn)行晶振的選擇。此外,晶振的工作溫度和頻率穩(wěn)定度也是十分重要的指標(biāo)。

 ?、谶x擇振蕩器類型。PIC系列單片機(jī)有RC、LP、XT、HS等振蕩模式。除RC模式外,振蕩模式的選擇實(shí)際上就是環(huán)路增益的選擇。低增益對(duì)應(yīng)低振蕩頻率,高增益對(duì)應(yīng)高振蕩頻率。一般根據(jù)實(shí)際需要的工作頻率可參考數(shù)據(jù)手冊(cè)來選擇。

    ③選擇C1、C2。理想的情況是,保證系統(tǒng)在高溫和最低工作電壓下能夠正常工作,使得電容在數(shù)據(jù)手冊(cè)推薦的范圍內(nèi)最小。同時(shí)選擇C2比C1大一些以加大相移,使其有利于振蕩電路的上電啟動(dòng)。

 ?、苓x擇Rs。在以上參數(shù)都已經(jīng)選定后需要決定Rs的大小。簡單的辦法是讓系統(tǒng)工作在最低溫度和最大電壓情況下,此時(shí)得到的應(yīng)該是時(shí)鐘電路最大輸出幅度。用示波器觀察引腳OSC2的輸出波形(注意,示波器的探頭將給電路引入一個(gè)電容,一般為幾pF),如果發(fā)現(xiàn)正弦波的峰(接收Vdd處)和谷(接收Vss處)被削平或壓扁,說明驅(qū)動(dòng)過載,需要在OSC2和C2間加入1個(gè)電阻Rs,一般1kΩ左右或小于1kΩ。Rs不宜過大,過大將使得輸入和輸出產(chǎn)生隔離,從而產(chǎn)生較大的噪聲。當(dāng)發(fā)現(xiàn)需要一個(gè)較大的Rs才能消除過驅(qū)動(dòng)時(shí),可以增加負(fù)載電容C2來補(bǔ)償。C2一般選擇在15~33pF之間。

  系統(tǒng)振蕩電路的設(shè)計(jì)對(duì)系統(tǒng)的穩(wěn)定性、功耗等影響很大。一般情況下,系統(tǒng)從Sleep狀態(tài)下喚醒時(shí),振蕩電路最難啟動(dòng)(尤其系統(tǒng)工作在高溫、低壓、低頻的情況下)。此時(shí),電阻Rs有利于振蕩電路的啟動(dòng),因?yàn)榱畠r(jià)的碳膜電阻容易產(chǎn)生白噪聲,從而幫助電路起振。此外,選擇C2稍大于C1以增大相移,也有利于電路起振。

2 具體應(yīng)用例子

2.1 系統(tǒng)組成及框圖

  系統(tǒng)主要由PIC單片機(jī)、雙音頻解碼拔號(hào)電路、語音集成電路、接口電路、Vcc電源控制電路、射頻發(fā)射電路和EEPROM組成,可完成對(duì)家用電器的控制和對(duì)報(bào)警求援語音信息的自動(dòng)傳送,如圖3所示。

2.2 控制器工作方式

  *當(dāng)與控制器相串聞的電話機(jī)(以下稱為本地機(jī))處于摘機(jī)時(shí),電話線輸入電壓發(fā)生變化,引起CD40106的2腳輸出電平變化,輸入到CPU的RB0端口產(chǎn)生中斷信號(hào),喚醒CPU,控制器進(jìn)入工作狀態(tài)。通過本地機(jī)的拔號(hào)盤對(duì)控制器的各種功能進(jìn)行控制。如控制電視、音響、照明燈等電器電源的開關(guān)。

  *當(dāng)控制器接收到振鈴信號(hào)時(shí),CD40106的4腳輸出電平變化,輸入CPU的RB6端口產(chǎn)生中斷信號(hào),喚醒CPU進(jìn)入工作狀態(tài),并對(duì)振鈴信號(hào)進(jìn)行計(jì)數(shù);達(dá)到設(shè)定鈴聲數(shù)后,使控制器進(jìn)入電話接收狀態(tài),開始接收遠(yuǎn)程傳輸DTMF信號(hào),經(jīng)MT8880解調(diào)得到的信號(hào)通過IRQ向單片機(jī)發(fā)出中斷信號(hào),將數(shù)據(jù)存入寄存器,經(jīng)CPU運(yùn)行,對(duì)控制器的各種功能進(jìn)行控制。

  *當(dāng)控制器作為報(bào)警器,并處于警備狀態(tài)時(shí),報(bào)警探頭時(shí)刻檢測防范區(qū)域的情況;當(dāng)探頭向控制器發(fā)出警情信息,輸入CPU的RB5中斷產(chǎn)生信號(hào),控制器進(jìn)入工作狀態(tài),從EEPROM芯片讀出預(yù)先設(shè)置的報(bào)警電話號(hào)碼,經(jīng)MT8880轉(zhuǎn)換為DTMF信號(hào),自動(dòng)撥號(hào),以語音形式將信息傳送給用戶或直接報(bào)警。

2.3 應(yīng)用電路

(1)電話接口電路

  電話機(jī)與控制器采用控制器在前,電話機(jī)在后的串聯(lián)方式,可實(shí)現(xiàn)電話機(jī)對(duì)控制器各種功能的控制。接口電路由過壓保護(hù)電路、極性轉(zhuǎn)換電路和中斷請(qǐng)求電路組成,如圖4所示。

 ?、龠^壓保護(hù)電路。在電話線回路上加入了一個(gè)壓敏電阻R,它的作用是當(dāng)它兩端的電壓大于其工作電壓時(shí)呈短路狀態(tài),從而保護(hù)后級(jí)電路免受高壓危害。當(dāng)加到它的兩端的電壓小于其工作電壓,壓敏電阻呈開路狀態(tài),對(duì)后級(jí)電路的工作沒有任何影響。在本設(shè)計(jì)中,壓敏電阻的工作電壓為220V。

②極性轉(zhuǎn)換電路。由于在電話線上傳輸?shù)氖墙涣餍盘?hào),為了使信號(hào)的極性固定,在電路中加入電橋,進(jìn)行全波整流。

 ?、壑袛嗾?qǐng)求電路。為延長電池工作時(shí)間,CPU在時(shí)處于休眠的省電狀態(tài),在實(shí)現(xiàn)遠(yuǎn)程電話機(jī)和本地機(jī)對(duì)控制器功能控制時(shí),由中斷請(qǐng)求電路將CPU喚醒。

(2)語音電路

  語音電路如圖5所示。它以ISD4000語音芯片為核心,主要是存儲(chǔ)報(bào)警語音,輸出經(jīng)功率放大后傳送到電話線上。

(3)MT8880與PIC單片機(jī)的接口電路

  MT8880是Mitel公司的DTMF收發(fā)器,具有功能強(qiáng)、功耗低、工作穩(wěn)定、可靠等性高優(yōu)點(diǎn),因此在DTMF信號(hào)調(diào)制的場合得到了廣泛的應(yīng)用。MT8880與PIC單片機(jī)的接口電路如圖6所示。

 ?、費(fèi)T8880與單片機(jī)的接口電路。D0~D3為4根數(shù)據(jù)線,MT8880對(duì)經(jīng)過前置處理的DTMF信號(hào)進(jìn)行解調(diào),將解調(diào)得的信號(hào)存入片內(nèi)寄存器中,并通過IRQ向單片機(jī)發(fā)出中斷信號(hào)。單片機(jī)相應(yīng)中斷請(qǐng)求后,在R、W、RS0、RD的控制下,通過D0~D3讀出解調(diào)出的數(shù)據(jù)。

 ?、贒TMF信號(hào)放大電路。當(dāng)微處理器將要發(fā)送的DTMF數(shù)據(jù)寫入MT8880相應(yīng)的寄存器時(shí),MT8880從TONE引腳發(fā)出DTMF信號(hào),信號(hào)經(jīng)過放大電路放大后,送往變壓器進(jìn)行電壓變化。

3 程序設(shè)計(jì)

  程序在運(yùn)行時(shí):①為電器控制器,若是遠(yuǎn)程電話機(jī)對(duì)控制器進(jìn)行操作,是根據(jù)電話的振鈴聲數(shù)來判斷;若本地電話機(jī)對(duì)控制器進(jìn)行操作,是根據(jù)本地電話機(jī)的摘機(jī)情況來判斷。②為報(bào)警器,報(bào)警探頭隨時(shí)檢測到警情并發(fā)出信號(hào)給控制器,而控制器則是根據(jù)用戶的設(shè)置情況,是處于警備與否來判斷是否拔出報(bào)警電話。圖7是程序流程圖。

下面主要介紹初始化程序、MT8880設(shè)置子程序和DTMF信號(hào)發(fā)送以及接收子程序。

;初始化寄存器

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;待發(fā)送的數(shù)據(jù)放在50開始的區(qū)域

RECE EQU 0X21

SEND EQU 0X22

DAIJS EQU 0X40 ;數(shù)據(jù)暫存在從40H開始的區(qū)域

;MT8880設(shè)置子程序

;置MT8880為DTMF接收狀態(tài)

R8880:MOVLW0X0D

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

MOVLW 0X00

MOVWF REVE ;寫控制寄存器B(突發(fā)模式)

REIURN

;置MT8880為DTMF接收狀態(tài)

T8880:MOVLW 0X0F

MOVWF SEND;寫控制寄存器A(發(fā)送模式)

MOVLW 0X00

MOVWF SEND;寫控制寄存器B(突發(fā)模式)

RETURN

;DTMF發(fā)送子程序

TELEPHON:CALL T8880 ;設(shè)置為發(fā)送模式

LOOP:MOVF DAIFS,0 ;拔號(hào)

MOVLW SEND

INCF DAIFS,1 ;檢查是否發(fā)送結(jié)束

LL1:BTFSS SEND,1

GOTO LL1 ;已經(jīng)發(fā)送完畢

CALL DELAY200 ;延時(shí)200ms

DECF DATALENGTH

GOTO LOOP ;發(fā)送完畢

RETURN

;DTMF接收子程序

RECEIVE:CALL R8880 ;設(shè)置為接收模式

RWT:MOVF DJIJS,0

MOVLW REVE

BTFSS REVE,2

GOTO RWT ;查詢是否收到數(shù)據(jù)

MOVLW REVE

ANDLW 0XOF

MOVF REVE

INCF DAIJS,1

DECE DATALENGTH

RETURN

結(jié)語

  利用PIC單片機(jī)低功耗方式設(shè)計(jì),待機(jī)時(shí)由電池供電,工作時(shí)由電話網(wǎng)供電,系統(tǒng)用4節(jié)5號(hào)電池可供控制器工作一年,產(chǎn)品可實(shí)現(xiàn)對(duì)家用電器控制,又具有報(bào)警及緊急求助功能,可進(jìn)行遠(yuǎn)程控制和本地機(jī)的控制,且不影響電話正常使用。在電話遠(yuǎn)程控制器的原理基礎(chǔ)上,設(shè)計(jì)的有線防盜報(bào)警產(chǎn)品更具市場前景,成本更低,已批量投入市場,市場反映良好。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉