- 相關(guān)推薦
PIC單片機(jī)在電話(huà)遠(yuǎn)程控制器中的低功耗設(shè)計(jì)
摘要:結(jié)合電話(huà)遠(yuǎn)程控制器的低功耗設(shè)計(jì),探討PIC單片機(jī)低功耗的設(shè)計(jì)方法,并給出設(shè)計(jì)電路原理圖。關(guān)鍵詞:PIC單片機(jī)低功耗設(shè)計(jì)電話(huà)遠(yuǎn)程控制器待機(jī)
引言
20世紀(jì)90年代以來(lái),隨著集成電路特征線(xiàn)寬的持續(xù)縮小以及芯片密度和工作頻率的相應(yīng)增加,降低功耗已經(jīng)成為亞微米和深亞微米超大規(guī)模集成電路設(shè)計(jì)中的一個(gè)主要考慮因素。功耗的增加會(huì)帶來(lái)一系列問(wèn)題,例如電路參數(shù)漂移、可靠性下降、芯片封裝成本增加等。因此,系統(tǒng)的功耗在整個(gè)系統(tǒng)設(shè)計(jì)中,尤其是在采用電池供電的系統(tǒng)中顯得十分重要。
Microchip公司PIC系列的單片機(jī)為設(shè)計(jì)高性能、低功耗的單片機(jī)系統(tǒng)提供了很好的解決方案。下面從低功耗設(shè)計(jì)方法及具體例子來(lái)介紹PIC單片機(jī)低功耗應(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ī)可以采用看門(mén)狗或外部事件周期性地喚醒單片機(jī),利用電子開(kāi)關(guān)為系統(tǒng)提供電源,以減少系統(tǒng)待機(jī)功耗,延長(zhǎng)電池使用時(shí)間。
單片機(jī)的工作頻率和功耗的關(guān)系也很大,頻率越高,功耗越大。在采用32kHz晶振、3V工作電壓時(shí),PIC12、PIC16等系列單片機(jī)的典型工作電流只有15μA;而采用4MHz晶振、5V工作電壓時(shí),單片機(jī)的典型工作電流達(dá)到幾mA。在許多低功耗的場(chǎng)合,采用低速晶振實(shí)現(xiàn)低功耗非常有效。如果單片機(jī)采用RC振蕩,還可以通過(guò)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ì)人員按照廠(chǎng)家給出的參數(shù)表進(jìn)行選擇。如果系統(tǒng)能夠正常工作,也就不再進(jìn)行改進(jìn)了。其實(shí),這是不合適的。因?yàn)镸icrochip的單片機(jī)根據(jù)型號(hào)和版本的不同,工作電壓在直流2.5~5.5V的范圍內(nèi),汽車(chē)級(jí)溫度可以在-40~-125℃范圍內(nèi),而參數(shù)表中只給出了有限的幾種情況,實(shí)際環(huán)境參數(shù)會(huì)對(duì)振蕩電路的性能產(chǎn)生很大的影響。如高溫、低電壓可減小振蕩環(huán)路增益,而從降低振蕩頻率或者難以啟動(dòng);低溫、高電壓可以使環(huán)路增益變大,從而使晶振過(guò)驅(qū)動(dòng),產(chǎn)生損壞的潛在危險(xiǎn)或者振蕩電路工作的高次諧波頻率上升,加大系統(tǒng)功耗。因此,如何正確設(shè)計(jì)系統(tǒng)的振蕩電路十分必要。對(duì)于PIC系列單片機(jī),一般的設(shè)計(jì)步驟如下:
①選擇晶振。根據(jù)系統(tǒng)需要的振蕩頻率進(jìn)行晶振的選擇。此外,晶振的工作溫度和頻率穩(wěn)定度也是十分重要的指標(biāo)。
②選擇振蕩器類(lèi)型。PIC系列單片機(jī)有RC、LP、XT、HS等振蕩模式。除RC模式外,振蕩模式的選擇實(shí)際上就是環(huán)路增益的選擇。低增益對(duì)應(yīng)低振蕩頻率,高增益對(duì)應(yīng)高振蕩頻率。一般根據(jù)實(shí)際需要的工作頻率可參考數(shù)據(jù)手冊(cè)來(lái)選擇。
圖4接口電路
、圻x擇C1、C2。理想的情況是,保證系統(tǒng)在高溫和最低工作電壓下能夠正常工作,使得電容在數(shù)據(jù)手冊(cè)推薦的范圍內(nèi)最小。同時(shí)選擇C2比C1大一些以加大相移,使其有利于振蕩電路的上電啟動(dòng)。
、苓x擇Rs。在以上參數(shù)都已經(jīng)選定后需要決定Rs的大小。簡(jiǎn)單的辦法是讓系統(tǒng)工作在最低溫度和最大電壓情況下,此時(shí)得到的應(yīng)該是時(shí)鐘電路最大輸出幅度。用示波器觀(guān)察引腳OSC2的輸出波形(注意,示波器的探頭將給電路引入一個(gè)電容,一般為幾pF),如果發(fā)現(xiàn)正弦波的峰(接收Vdd處)和谷(接收Vss處)被削平或壓扁,說(shuō)明驅(qū)動(dòng)過(guò)載,需要在OSC2和C2間加入1個(gè)電阻Rs,一般1kΩ左右或小于1kΩ。Rs不宜過(guò)大,過(guò)大將使得輸入和輸出產(chǎn)生隔離,從而產(chǎn)生較大的噪聲。當(dāng)發(fā)現(xiàn)需要一個(gè)較大的Rs才能消除過(guò)驅(qū)動(dòng)時(shí),可以增加負(fù)載電容C2來(lái)補(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)電路、語(yǔ)音集成電路、接口電路、Vcc電源控制電路、射頻發(fā)射電路和EEPROM組成,可完成對(duì)家用電器的控制和對(duì)報(bào)警求援語(yǔ)音信息的自動(dòng)傳送,如圖3所示。
2.2控制器工作方式
*當(dāng)與控制器相串聞的電話(huà)機(jī)(以下稱(chēng)為本地機(jī))處于摘機(jī)時(shí),電話(huà)線(xiàn)輸入電壓發(fā)生變化,引起CD40106的2腳輸出電平變化,輸入到CPU的RB0端口產(chǎn)生中斷信號(hào),喚醒CPU,控制器進(jìn)入工作狀態(tài)。通過(guò)本地機(jī)的拔號(hào)盤(pán)對(duì)控制器的各種功能進(jìn)行控制。如控制電視、音響、照明燈等電器電源的開(kāi)關(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)入電話(huà)接收狀態(tài),開(kāi)始接收遠(yuǎn)程傳輸DTMF信號(hào),經(jīng)MT8880解調(diào)得到的信號(hào)通過(guò)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í)刻檢測(cè)防范區(qū)域的情況;當(dāng)探頭向控制器發(fā)出警情信息,輸入CPU的RB5中斷產(chǎn)生信號(hào),控制器進(jìn)入工作狀態(tài),從EEPROM芯片讀出預(yù)先設(shè)置的報(bào)警電話(huà)號(hào)碼,經(jīng)MT8880轉(zhuǎn)換為DTMF信號(hào),自動(dòng)撥號(hào),以語(yǔ)音形式將信息傳送給用戶(hù)或直接報(bào)警。
2.3應(yīng)用電路
。1)電話(huà)接口電路
電話(huà)機(jī)與控制器采用控制器在前,電話(huà)機(jī)在后的串聯(lián)方式,可實(shí)現(xiàn)電話(huà)機(jī)對(duì)控制器各種功能的控制。接口電路由過(guò)壓保護(hù)電路、極性轉(zhuǎn)換電路和中斷請(qǐng)求電路組成,如圖4所示。
、龠^(guò)壓保護(hù)電路。在電話(huà)線(xiàn)回路上加入了一個(gè)壓敏電阻R,它的作用是當(dāng)它兩端的電壓大于其工作電壓時(shí)呈短路狀態(tài),從而保護(hù)后級(jí)電路免受高壓危害。當(dāng)加到它的兩端的電壓小于其工作電壓,壓敏電阻呈開(kāi)路狀態(tài),對(duì)后級(jí)電路的工作沒(méi)有任何影響。在本設(shè)計(jì)中,壓敏電阻的工作電壓為220V。
②極性轉(zhuǎn)換電路。由于在電話(huà)線(xiàn)上傳輸?shù)氖墙涣餍盘?hào),為了使信號(hào)的極性固定,在電路中加入電橋,進(jìn)行全波整流。
③中斷請(qǐng)求電路。為延長(zhǎng)電池工作時(shí)間,CPU在待機(jī)時(shí)處于休眠的省電狀態(tài),在實(shí)現(xiàn)遠(yuǎn)程電話(huà)機(jī)和本地機(jī)對(duì)控制器功能控制時(shí),由中斷請(qǐng)求電路將CPU喚醒。
。2)語(yǔ)音電路
語(yǔ)音電路如圖5所示。它以ISD4000語(yǔ)音芯片為核心,主要是存儲(chǔ)報(bào)警語(yǔ)音,輸出經(jīng)功率放大后傳送到電話(huà)線(xiàn)上。
(3)MT8880與PIC單片機(jī)的接口電路
MT8880是Mitel公司的DTMF收發(fā)器,具有功能強(qiáng)、功耗低、工作穩(wěn)定、可靠等性高優(yōu)點(diǎn),因此在DTMF信號(hào)調(diào)制的場(chǎng)合得到了廣泛的應(yīng)用。MT8880與PIC單片機(jī)的接口電路如圖6所示。
、費(fèi)T8880與單片機(jī)的接口電路。D0~D3為4根數(shù)據(jù)線(xiàn),MT8880對(duì)經(jīng)過(guò)前置處理的DTMF信號(hào)進(jìn)行解調(diào),將解調(diào)得的信號(hào)存入片內(nèi)寄存器中,并通過(guò)IRQ向單片機(jī)發(fā)出中斷信號(hào)。單片機(jī)相應(yīng)中斷請(qǐng)求后,在R、W、RS0、RD的控制下,通過(guò)D0~D3讀出解調(diào)出的數(shù)據(jù)。
、贒TMF信號(hào)放大電路。當(dāng)微處理器將要發(fā)送的DTMF數(shù)據(jù)寫(xiě)入MT8880相應(yīng)的寄存器時(shí),MT8880從TONE引腳發(fā)出DTMF信號(hào),信號(hào)經(jīng)過(guò)放大電路放大后,送往變壓器進(jìn)行電壓變化。
3程序設(shè)計(jì)
程序在運(yùn)行時(shí):①為電器控制器,若是遠(yuǎn)程電話(huà)機(jī)對(duì)控制器進(jìn)行操作,是根據(jù)電話(huà)的振鈴聲數(shù)來(lái)判斷;若本地電話(huà)機(jī)對(duì)控制器進(jìn)行操作,是根據(jù)本地電話(huà)機(jī)的摘機(jī)情況來(lái)判斷。②為報(bào)警器,報(bào)警探頭隨時(shí)檢測(cè)到警情并發(fā)出信號(hào)給控制器,而控制器則是根據(jù)用戶(hù)的設(shè)置情況,是處于警備與否來(lái)判斷是否拔出報(bào)警電話(huà)。圖7是程序流程圖。
下面主要介紹初始化程序、MT8880設(shè)置子程序和DTMF信號(hào)發(fā)送以及接收子程序。
;初始化寄存器
F0EQU0H
RTCCEQU01H
PCEQU02H
STATUSEQU03H
FSREQU04H
RAEQU05H
RBEQU06H
RCEQU07H
RDEQU08H
REEQU09H
TRISAEQU85H
TRISBEQU86H
TRISCEQU87H
TRISDEQU88H
TRISEEQU89H
DAIFSEQU0X50;待發(fā)送的數(shù)據(jù)放在50開(kāi)始的區(qū)域
RECEEQU0X21
SENDEQU0X22
DAIJSEQU0X40;數(shù)據(jù)暫存在從40H開(kāi)始的區(qū)域
;MT8880設(shè)置子程序
。恢肕T8880為DTMF接收狀態(tài)
R8880:MOVLW0X0D
MOVWFREVE;寫(xiě)控制寄存器A(接收模式)
MOVLW0X00
MOVWFREVE;寫(xiě)控制寄存器B(突發(fā)模式)
REIURN
。恢肕T8880為DTMF接收狀態(tài)
T8880:MOVLW0X0F
MOVWFSEND;寫(xiě)控制寄存器A(發(fā)送模式)
MOVLW0X00
MOVWFSEND;寫(xiě)控制寄存器B(突發(fā)模式)
RETURN
;DTMF發(fā)送子程序
TELEPHON:CALLT8880;設(shè)置為發(fā)送模式
LOOP:MOVFDAIFS,0;拔號(hào)
MOVLWSEND
INCFDAIFS,1;檢查是否發(fā)送結(jié)束
LL1:BTFSSSEND,1
GOTOLL1;已經(jīng)發(fā)送完畢
CALLDELAY200;延時(shí)200ms
DECFDATALENGTH
GOTOLOOP;發(fā)送完畢
RETURN
。籇TMF接收子程序
RECEIVE:CALLR8880;設(shè)置為接收模式
RWT:MOVFDJIJS,0
MOVLWREVE
BTFSSREVE,2
GOTORWT;查詢(xún)是否收到數(shù)據(jù)
MOVLWREVE
ANDLW0XOF
MOVFREVE
INCFDAIJS,1
DECEDATALENGTH
RETURN
結(jié)語(yǔ)
利用PIC單片機(jī)低功耗方式設(shè)計(jì)電話(huà)遠(yuǎn)程控制器,待機(jī)時(shí)由電池供電,工作時(shí)由電話(huà)網(wǎng)供電,系統(tǒng)用4節(jié)5號(hào)電
池可供控制器工作一年,產(chǎn)品可實(shí)現(xiàn)對(duì)家用電器控制,又具有報(bào)警及緊急求助功能,可進(jìn)行遠(yuǎn)程控制和本地機(jī)的控制,且不影響電話(huà)正常使用。在電話(huà)遠(yuǎn)程控制器的原理基礎(chǔ)上,設(shè)計(jì)的有線(xiàn)防盜報(bào)警產(chǎn)品更具市場(chǎng)前景,成本更低,已批量投入市場(chǎng),市場(chǎng)反映良好。
【PIC單片機(jī)在電話(huà)遠(yuǎn)程控制器中的低功耗設(shè)計(jì)】相關(guān)文章:
PIC單片機(jī)在智能雙電源裝置中的應(yīng)用08-06
基于PIC單片機(jī)的熱能表研制08-06
基于PIC單片機(jī)的便攜式測(cè)試記錄儀設(shè)計(jì)08-06
基于PIC16C54單片機(jī)的智能軟件狗設(shè)計(jì)08-06
煙葉烤房監(jiān)測(cè)儀中的低功耗設(shè)計(jì)08-06
SoC系統(tǒng)的低功耗設(shè)計(jì)08-06