鉅大LARGE | 點擊量:1222次 | 2020年06月01日
PIC單片機(jī)降低電池供電系統(tǒng)功耗問題解析方法
引言
20世紀(jì)90年代以來,隨著集成電路特點線寬的持續(xù)縮小以及芯片密度和工作頻率的相應(yīng)新增,降低功耗已經(jīng)成為亞微米和深亞微米超大規(guī)模集成電路設(shè)計中的一個重要考慮因素。功耗的新增會帶來一系列問題,例如電路參數(shù)漂移、可靠性下降、芯片封裝成本新增等。因此,系統(tǒng)的功耗在整個系統(tǒng)設(shè)計中,尤其是在采用電池供電的系統(tǒng)中顯得十分重要。
Microchip公司pIC系列的單片機(jī)為設(shè)計高性能、低功耗的單片機(jī)系統(tǒng)供應(yīng)了很好的解決方法。下面從低功耗設(shè)計方法及具體例子來介紹pIC單片機(jī)低功耗應(yīng)用。
1低功耗設(shè)計方法
為使系統(tǒng)工作在低功耗狀態(tài),必須正確設(shè)置單片機(jī)的配置及工作方式。下面結(jié)合最常用的pIC12、pIC16等單片機(jī)介紹低功耗系統(tǒng)的設(shè)計方法。
1.1基本設(shè)計方法
有許多技術(shù)可以降低系統(tǒng)的功耗,最常用的是Sleep模式。程序執(zhí)行一條SLEEp指令,便進(jìn)入了休眠(Sleep)模式。要Sleep模式下,晶振停止振蕩,而此時單片機(jī)在3V電源條件下,只有1A的電流。系統(tǒng)工作時,單片機(jī)可以采用看門狗或外部事件周期性地喚醒單片機(jī),利用電子開關(guān)為系統(tǒng)供應(yīng)電源,以減少系統(tǒng)待機(jī)功耗,延長電池使用時間。
單片機(jī)的工作頻率和功耗的關(guān)系也很大,頻率越高,功耗越大。在采用32kHz晶振、3V工作電壓時,pIC12、pIC16等系列單片機(jī)的典型工作電流只有15A;而采用4MHz晶振、5V工作電壓時,單片機(jī)的典型工作電流達(dá)到幾mA。在許多低功耗的場合,采用低速晶振實現(xiàn)低功耗非常有效。假如單片機(jī)采用RC振蕩,還可以通過I/O口的操作改變振蕩電阻,從而改變單片機(jī)工作頻率,達(dá)到節(jié)能的目的。如圖1所示,1個I/O引腳可以在等待狀態(tài)下將并聯(lián)電阻R1去掉,降低單片機(jī)工作頻率。當(dāng)單片機(jī)要工作時,可將I/O引腳設(shè)置為輸出并輸出高電平,從而提高振蕩頻率。
1.2振蕩電路設(shè)計
在單片機(jī)系統(tǒng)設(shè)計中,振蕩電路的設(shè)計是十分重要的一個環(huán)節(jié)。pIC系列單片機(jī)的典型振蕩電路如圖2所示。
一般情況下,設(shè)計人員按照廠家給出的參數(shù)表進(jìn)行選擇。假如系統(tǒng)能夠正常工作,也就不再進(jìn)行改進(jìn)了。其實,這是不合適的。因為Microchip的單片機(jī)根據(jù)型號和版本的不同,工作電壓在直流2.5~5.5V的范圍內(nèi),汽車級溫度可以在-40~-125℃范圍內(nèi),而參數(shù)表中只給出了有限的幾種情況,實際環(huán)境參數(shù)會對振蕩電路的性能出現(xiàn)很大的影響。如高溫、低電壓可減小振蕩環(huán)路增益,而從降低振蕩頻率或者難以啟動;低溫、高電壓可以使環(huán)路增益變大,從而使晶振過驅(qū)動,出現(xiàn)損壞的潛在危險或者振蕩電路工作的高次諧波頻率上升,加大系統(tǒng)功耗。因此,如何正確設(shè)計系統(tǒng)的振蕩電路十分必要。關(guān)于pIC系列單片機(jī),一般的設(shè)計步驟如下:
①選擇晶振。根據(jù)系統(tǒng)要的振蕩頻率進(jìn)行晶振的選擇。此外,晶振的工作溫度和頻率穩(wěn)定度也是十分重要的指標(biāo)。
②選擇振蕩器類型。pIC系列單片機(jī)有RC、Lp、XT、HS等振蕩模式。除RC模式外,振蕩模式的選擇實際上就是環(huán)路增益的選擇。低增益對應(yīng)低振蕩頻率,高增益對應(yīng)高振蕩頻率。一般根據(jù)實際要的工作頻率可參考數(shù)據(jù)手冊來選擇。
③選擇C1、C2。理想的情況是,保證系統(tǒng)在高溫和最低工作電壓下能夠正常工作,使得電容在數(shù)據(jù)手冊推薦的范圍內(nèi)最小。同時選擇C2比C1大一些以加大相移,使其有利于振蕩電路的上電啟動。
④選擇Rs。在以上參數(shù)都已經(jīng)選定后要決定Rs的大小。簡單的辦法是讓系統(tǒng)工作在最低溫度和最大電壓情況下,此時得到的應(yīng)該是時鐘電路最大輸出幅度。用示波器觀察引腳OSC2的輸出波形(注意,示波器的探頭將給電路引入一個電容,一般為幾pF),假如發(fā)現(xiàn)正弦波的峰(接收Vdd處)和谷(接收Vss處)被削平或壓扁,說明驅(qū)動過載,要在OSC2和C2間加入1個電阻Rs,一般1kΩ左右或小于1kΩ。Rs不宜過大,過大將使得輸入和輸出出現(xiàn)隔離,從而出現(xiàn)較大的噪聲。當(dāng)發(fā)現(xiàn)要一個較大的Rs才能消除過驅(qū)動時,可以新增負(fù)載電容C2來補(bǔ)償。C2一般選擇在15~33pF之間。
系統(tǒng)振蕩電路的設(shè)計對系統(tǒng)的穩(wěn)定性、功耗等影響很大。一般情況下,系統(tǒng)從Sleep狀態(tài)下喚醒時,振蕩電路最難啟動(尤其系統(tǒng)工作在高溫、低壓、低頻的情況下)。此時,電阻Rs有利于振蕩電路的啟動,因為廉價的碳膜電阻容易出現(xiàn)白噪聲,從而幫助電路起振。此外,選擇C2稍大于C1以增大相移,也有利于電路起振。
2具體應(yīng)用例子
2.1系統(tǒng)組成及框圖
系統(tǒng)重要由pIC單片機(jī)、雙音頻解碼拔號電路、語音集成電路、接口電路、Vcc電源控制電路、射頻發(fā)射電路和EEpROM組成,可完成對家用電器的控制和對報警求援語音信息的自動傳送,如圖3所示。
2.2控制器工作方式
*當(dāng)與控制器相串聞的電話機(jī)(以下稱為本地機(jī))處于摘機(jī)時,電話線輸入電壓發(fā)生變化,引起CD40106的2腳輸出電平變化,輸入到CpU的RB0端口出現(xiàn)中斷信號,喚醒CpU,控制器進(jìn)入工作狀態(tài)。通過本地機(jī)的拔號盤對控制器的各種功能進(jìn)行控制。如控制電視、音響、照明燈等電器電源的開關(guān)。
*當(dāng)控制器接收到振鈴信號時,CD40106的4腳輸出電平變化,輸入CpU的RB6端口出現(xiàn)中斷信號,喚醒CpU進(jìn)入工作狀態(tài),并對振鈴信號進(jìn)行計數(shù);達(dá)到設(shè)定鈴聲數(shù)后,使控制器進(jìn)入電話接收狀態(tài),開始接收遠(yuǎn)程傳輸DTMF信號,經(jīng)MT8880解調(diào)得到的信號通過IRQ向單片機(jī)發(fā)出中斷信號,將數(shù)據(jù)存入寄存器,經(jīng)CpU運行,對控制器的各種功能進(jìn)行控制。
*當(dāng)控制器作為報警器,并處于警備狀態(tài)時,報警探頭時刻檢測防范區(qū)域的情況;當(dāng)探頭向控制器發(fā)出警情信息,輸入CpU的RB5中斷出現(xiàn)信號,控制器進(jìn)入工作狀態(tài),從EEpROM芯片讀出預(yù)先設(shè)置的報警電話號碼,經(jīng)MT8880轉(zhuǎn)換為DTMF信號,自動撥號,以語音形式將信息傳送給用戶或直接報警。
2.3應(yīng)用電路
(1)電話接口電路
電話機(jī)與控制器采用控制器在前,電話機(jī)在后的串聯(lián)方式,可實現(xiàn)電話機(jī)對控制器各種功能的控制。接口電路由過壓保護(hù)電路、極性轉(zhuǎn)換電路和中斷請求電路組成,如圖4所示。
①過壓保護(hù)電路。在電話線回路上加入了一個壓敏電阻R,它的用途是當(dāng)它兩端的電壓大于其工作電壓時呈短路狀態(tài),從而保護(hù)后級電路免受高壓危害。當(dāng)加到它的兩端的電壓小于其工作電壓,壓敏電阻呈開路狀態(tài),對后級電路的工作沒有任何影響。在本設(shè)計中,壓敏電阻的工作電壓為220V。
②極性轉(zhuǎn)換電路。由于在電話線上傳輸?shù)氖墙涣餍盘?,為了使信號的極性固定,在電路中加入電橋,進(jìn)行全波整流。
③中斷請求電路。為延長電池工作時間,CpU在待機(jī)時處于休眠的省電狀態(tài),在實現(xiàn)遠(yuǎn)程電話機(jī)和本地機(jī)對控制器功能控制時,由中斷請求電路將CpU喚醒。