概述
微處理器用于大規(guī)模系統(tǒng)設(shè)計時,通常需要各種外部器件的支持。這些外部器件為微處理器提供多項任務(wù)支持:為微處理器提供滿足電壓、電流需求的穩(wěn)壓電源、監(jiān)控其它電源電壓、提供外部時鐘、控制上電和斷電順序或執(zhí)行其它任務(wù)。這些外部器件通常稱為微處理器監(jiān)控器,是專為特殊監(jiān)控任務(wù)而設(shè)計的IC。使用一個低功耗微控制器可以取代專用的微處理器監(jiān)控電路,支持上述各種任務(wù)。根據(jù)其性能,一個微控制器可以提供多個器件所支持的服務(wù),且由于監(jiān)控功能可通過軟件編程,具有很大的靈活性。
本應(yīng)用筆記介紹了使用帶有壓電揚(yáng)聲器驅(qū)動、穩(wěn)壓器和比較器的低功耗微控制器MAXQ3210實現(xiàn)典型微處理器監(jiān)控功能的方法。MAXQ3210可在單機(jī)配置下實現(xiàn)各種功能,采用9V電池供電,使用其內(nèi)部低速振蕩器可以省去外部時鐘電路。MAXQ3210的小封裝尺寸(24引腳TSSOP)使其成為傳統(tǒng)設(shè)計或其它空間受限產(chǎn)品的理想選擇。
電池供電便攜系統(tǒng)
MAXQ3210內(nèi)置9V至5V轉(zhuǎn)換的線性穩(wěn)壓器,可理想用于便攜式、電池供電的微控制器或微處理器系統(tǒng)。由于MAXQ3210具有低電池電壓檢測,使系統(tǒng)能夠在低電池電壓狀態(tài)下提供智能化管理。配合5V微處理器工作時,只要微處理器所需的供電電流在MAXQ3210線性穩(wěn)壓器的供電范圍內(nèi)(最大值約為50mA,詳細(xì)信息請參見MAXQ3210數(shù)據(jù)資料),MAXQ3210可直接使用其穩(wěn)壓器的輸出引腳REGOUT (圖1)為微處理器供電。當(dāng)微處理器電流非常低時,還可以將MAXQ3210的端口引腳設(shè)置為標(biāo)準(zhǔn)高電平輸出(PD = 1,PO = 1),直接為微處理器供電。每個端口都能提供至少4mA的電流,壓降小于0.4V。只要所有端口引腳的電流總和不超過最大額定值(約為25mA,詳細(xì)信息請參見數(shù)據(jù)資料),可將多個端口引腳連接在一起增強(qiáng)供電電流。使用端口直接為微處理器供電時,MAXQ3210能夠根據(jù)需要接通、關(guān)斷微處理器的電源,從而延長電池壽命。注意:當(dāng)使用REGOUT為微處理器供電時,電源仍可在MAXQ3210控制下接通、關(guān)斷,但需要一個外部FET或其它開關(guān)器件。
當(dāng)所支持的微處理器需要的端電壓不是5V (例如3V、2.5V或其它)時,MAXQ3210的REGOUT輸出可通過線性穩(wěn)壓器產(chǎn)生微處理器所需要的電壓。通過使用帶有使能/禁止輸入的線性穩(wěn)壓器,MAXQ321仍然能夠完全關(guān)斷微處理器的電源,以延長電池壽命。
圖1. 使用MAXQ3210為5V微處理器供電的原理圖
設(shè)計過程中對電池壽命和系統(tǒng)總吸入電流要求苛刻時,MAXQ3210可在非常低的電流狀態(tài)下工作,以節(jié)省能量。MAXQ3210不僅具有功能完善的MAXQ?電源管理模式(分頻、PMM1模式和STOP模式),有效節(jié)省能量,還包含了一個8kHz的振蕩器,可作為一個極低功耗的時鐘源使用。上電時,如果沒有外部晶體或高頻時鐘源,MAXQ3210將運行在8kHz振蕩器,使其工作電流降至微安級。由于對響應(yīng)時間要求并不嚴(yán)格,即使在8kHz下工作時,MAXQ3210仍可實現(xiàn)本應(yīng)用筆記中的監(jiān)控功能。
復(fù)位和電源監(jiān)控
MAXQ3210提供上電復(fù)位(POR)和欠壓檢測功能,使其能夠在供電電源穩(wěn)定時退出復(fù)位狀態(tài)。欠壓檢測可以使微控制器從電源跌落狀態(tài)下恢復(fù)工作。MAXQ3210還可以為沒有電源監(jiān)控功能的微處理器提供類似的POR和欠壓檢測。將MAXQ3210的一個端口接至微處理器的外部RESET引腳,使MAXQ3210在電源低于門限設(shè)置時復(fù)位微處理器,并在供電電源恢復(fù)正常時使微處理器退出復(fù)位狀態(tài)。如果微處理器在5V電源下工作,只要MAXQ3210處于POR或欠壓狀態(tài),MAXQ3210都將使微處理器復(fù)位。如果微處理器工作在更低的電源電壓(例如3.3V),MAXQ3210的模擬比較器能夠?qū)⑽⑻幚砥鞯墓╇婋娫磁cVREF引腳的任意電壓(可達(dá)3.5V)進(jìn)行比較(關(guān)于模擬比較器的詳細(xì)信息,請參考MAXQ3210數(shù)據(jù)資料)。當(dāng)微處理器的供電電源跌落至基準(zhǔn)電壓以下時,比較器將產(chǎn)生中斷給MAXQ3210,使微處理器復(fù)位并在電源恢復(fù)正常以前保持復(fù)位狀態(tài)。
因為所有功能都是通過軟件實現(xiàn)的,所以微處理器從電源恢復(fù)到退出復(fù)位狀態(tài)的時間間隔可以設(shè)置為任意時間周期。如果系統(tǒng)有多個供電電源或需要按照特定順序上電,MAXQ3210可作為上電定時器,按照每個動作的指定延遲時間順序控制器件的上電過程。
給系統(tǒng)增加一個外部復(fù)位按鍵可初始化復(fù)位順序。將復(fù)位按鈕接至MAXQ3210的一個端口,使MAXQ3210完成基于軟件的去抖功能,并產(chǎn)生寬度可編程的復(fù)位脈沖,以響應(yīng)一次按鍵復(fù)位。
添加喚醒定時器
便攜式電池供電系統(tǒng)中,節(jié)省電源及電池壽命是設(shè)計的關(guān)鍵。為保持低電流耗損,此類系統(tǒng)一般盡可能工作在低功耗狀態(tài)。系統(tǒng)周期性地(或在用戶按鍵請求下)喚醒,進(jìn)行測量或運行其它任務(wù),然后返回休眠狀態(tài)。不工作的器件,最好關(guān)閉其供電電源。MAXQ3210提供一個長周期喚醒定時器,有助于節(jié)省功耗??稍O(shè)定在8kHz環(huán)形振蕩器下工作的喚醒定時器,使MAXQ3210進(jìn)入低功耗狀態(tài)— 停止模式,并在長達(dá)2分鐘的預(yù)設(shè)時間間隔后自動喚醒。退出停止模式后,MAXQ3210按需求喚醒或使系統(tǒng)中的其它器件上電。以下MAXQ3210程序代碼演示了如何進(jìn)入停止模式,然后在60秒后自動喚醒。
mainLoop: ;; Perform application tasks here... ;; ;; Start the wakeup timer for 60 seconds. move CKCN.6, #1 ; Select ring oscillator mode waitRing: move C, CKCN.5 jump NC, waitRing ; Wait for RGMD=1 (running from ring) move WUT, #30000 ; 1/8kHz * 30000 * 16 = 60 seconds move WUTC, #0101b ; Start the wakeup timer (running from ring) move IV, #wakeUpInt ; Set interrupt handler for wakeup interrupt move IMR.0, #1 ; Enable interrupts from module 0 move IC.0, #1 ; Globally enable interrupts move CKCN.4, #1 ; Go into Stop mode, wait for wakeup int nop jump mainLoop ; Back for another round ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wakeUpInt: move CKCN.6, #1 ; Select ring oscillator mode wakeUp_ring: move C, CKCN.5 jump NC, wakeUp_ring ; Wait for RGMD=1 (running from ring) move WUTC, #0 ; Clear wakeup timer flag move CKCN.6, #0 ; Select crystal mode wakeUp_xtal: move C, CKCN.5 jump C, wakeUp_xtal ; Wait for RGMD=0 (running from crystal) reti將MAXQ3210的一個端口連接至微處理器,可通知其作好斷電準(zhǔn)備。MAXQ3210通知斷電后,微處理器根據(jù)執(zhí)行任務(wù)的不同立即進(jìn)入低功耗停止模式或等待斷電。
MAXQ3210從停止模式喚醒時,既可使微處理器上電(如果微處理器完全關(guān)斷),也可使用外部中斷或類似機(jī)制通知微處理器,使其從低功耗狀態(tài)下喚醒。
添加看門狗復(fù)位
與MAXQ3210的喚醒定時一樣,微控制器的內(nèi)置看門狗復(fù)位電路可以擴(kuò)展為微處理器的一個外部硬件看門狗復(fù)位電路。MAXQ3210中,看門狗作為一個安全裝置,防止瞬態(tài)脈沖干擾時程序運行失控。一旦啟動看門狗定時器,必須通過周期性地置位一個寄存器位使其復(fù)位。如果MAXQ3210停止置位寄存器位,且定時器溢出,看門狗將使MAXQ3210自動復(fù)位。該自動復(fù)位使MAXQ3210恢復(fù)到一個已知的起始狀態(tài)并重新啟動運行。將MAXQ3210的看門狗復(fù)位擴(kuò)展給微處理器只需要兩個連接:將微控制器的一個端口接至微處理器的外部RESET;將微處理器的一個端口返回到MAXQ3210端口。MAXQ3210自動使能看門狗,只要收到來自微處理器的信號就復(fù)位看門狗。微處理器負(fù)責(zé)周期性地觸發(fā)此引腳,防止MAXQ3210的看門狗超時,超時周期可編程(詳細(xì)信息,請參考MAXQ3210用戶指南補(bǔ)充材料(English only)。)
作為微處理器的外部看門狗,MAXQ3210設(shè)定看門狗超時情況下觸發(fā)一個中斷。如果看門狗超時,意味著微處理器未能及時觸發(fā)微控制器的端口,微控制器需要復(fù)位。MAXQ3210響應(yīng)看門狗中斷,重啟看門狗,通過外部的RESET引腳復(fù)位微處理器,重新開始一次循環(huán)。
電平和接口
監(jiān)控狀態(tài)下,MAXQ3210與微處理器之間通信時,必須考慮兩個器件的I/O電平。如果兩個器件都在5V電壓下工作,端口引腳通??梢灾苯舆B接,請務(wù)必參考器件的數(shù)據(jù)資料。MAXQ3210輸出信號給低電壓微處理器(例如3.6V的器件)時也可以直接連接。如果微處理器引腳含有保護(hù)二極管,MAXQ3210的5V輸出可以通過限流電阻直接連接至低電壓引腳。也可以選擇使用漏極開路連接方法:兩引腳間引出一個上拉電阻連接至低電壓微處理器的電源,并使MAXQ3210的端口強(qiáng)制下拉(PD = 1,PO = 0)或為三態(tài)(PD = 0,PO = 0)模式。
由低電壓微處理器引腳驅(qū)動的MAXQ3210的輸入時同樣需要謹(jǐn)慎操作,這是因為低電壓微處理器不能驅(qū)動其端口引腳至足夠高的電平,以使MAXQ3210的寄存器置位。如果僅需要一個輸入(如圖1),低電壓信號可以連接到MAXQ3210的模擬比較器。其它可能的方法有,使用帶有漏極開路配置的外部下拉FET,或使用電平轉(zhuǎn)換器,如MAX3370。
關(guān)于此問題的更多討論,請參考應(yīng)用筆記3007,邏輯電平轉(zhuǎn)換。
評論
查看更多