摘要:MAXQ3210微控制器能夠完成各種微處理器監控功能,支持包括上電復位、電源排序、看門狗超時和輸入開關去抖等功能。根據應用,MAXQ3210還可以直接為微處理器供電。本應用筆記介紹MAXQ3210如何在9V電池供電下工作,以及在沒有外部時鐘晶體情況下執行低速操作的方式,實現微處理器監控電路的幾種常見功能。
使用一個低功耗微控制器可以取代專用的微處理器監控電路,支持上述各種任務。根據其性能,一個微控制器可以提供多個器件所支持的服務,且由于監控功能可通過軟件編程,具有很大的靈活性。
本應用筆記介紹了使用帶有壓電揚聲器驅動、穩壓器和比較器的低功耗微控制器MAXQ3210實現典型微處理器監控功能的方法。MAXQ3210可在單機配置下實現各種功能,采用9V電池供電,使用其內部低速振蕩器可以省去外部時鐘電路。MAXQ3210的小封裝尺寸(24引腳TSSOP)使其成為傳統設計或其它空間受限產品的理想選擇。
配合5V微處理器工作時,只要微處理器所需的供電電流在MAXQ3210線性穩壓器的供電范圍內(最大值約為50mA,詳細信息請參見MAXQ3210數據資料),MAXQ3210可直接使用其穩壓器的輸出引腳REGOUT (圖1)為微處理器供電。當微處理器電流非常低時,還可以將MAXQ3210的端口引腳設置為標準高電平輸出(PD = 1,PO = 1),直接為微處理器供電。每個端口都能提供至少4mA的電流,壓降小于0.4V。只要所有端口引腳的電流總和不超過最大額定值(約為25mA,詳細信息請參見數據資料),可將多個端口引腳連接在一起增強供電電流。使用端口直接為微處理器供電時,MAXQ3210能夠根據需要接通、關斷微處理器的電源,從而延長電池壽命。注意:當使用REGOUT為微處理器供電時,電源仍可在MAXQ3210控制下接通、關斷,但需要一個外部FET或其它開關器件。
當所支持的微處理器需要的端電壓不是5V (例如3V、2.5V或其它)時,MAXQ3210的REGOUT輸出可通過線性穩壓器產生微處理器所需要的電壓。通過使用帶有使能/禁止輸入的線性穩壓器,MAXQ321仍然能夠完全關斷微處理器的電源,以延長電池壽命。
圖1. 使用MAXQ3210為5V微處理器供電的原理圖
設計過程中對電池壽命和系統總吸入電流要求苛刻時,MAXQ3210可在非常低的電流狀態下工作,以節省能量。MAXQ3210不僅具有功能完善的MAXQ?電源管理模式(分頻、PMM1模式和STOP模式),有效節省能量,還包含了一個8kHz的振蕩器,可作為一個極低功耗的時鐘源使用。上電時,如果沒有外部晶體或高頻時鐘源,MAXQ3210將運行在8kHz振蕩器,使其工作電流降至微安級。由于對響應時間要求并不嚴格,即使在8kHz下工作時,MAXQ3210仍可實現本應用筆記中的監控功能。
將MAXQ3210的一個端口接至微處理器的外部RESET引腳,使MAXQ3210在電源低于門限設置時復位微處理器,并在供電電源恢復正常時使微處理器退出復位狀態。如果微處理器在5V電源下工作,只要MAXQ3210處于POR或欠壓狀態,MAXQ3210都將使微處理器復位。如果微處理器工作在更低的電源電壓(例如3.3V),MAXQ3210的模擬比較器能夠將微處理器的供電電源與VREF引腳的任意電壓(可達3.5V)進行比較(關于模擬比較器的詳細信息,請參考MAXQ3210數據資料)。當微處理器的供電電源跌落至基準電壓以下時,比較器將產生中斷給MAXQ3210,使微處理器復位并在電源恢復正常以前保持復位狀態。
因為所有功能都是通過軟件實現的,所以微處理器從電源恢復到退出復位狀態的時間間隔可以設置為任意時間周期。如果系統有多個供電電源或需要按照特定順序上電,MAXQ3210可作為上電定時器,按照每個動作的指定延遲時間順序控制器件的上電過程。
給系統增加一個外部復位按鍵可初始化復位順序。將復位按鈕接至MAXQ3210的一個端口,使MAXQ3210完成基于軟件的去抖功能,并產生寬度可編程的復位脈沖,以響應一次按鍵復位。
MAXQ3210提供一個長周期喚醒定時器,有助于節省功耗。可設定在8kHz環形振蕩器下工作的喚醒定時器,使MAXQ3210進入低功耗狀態— 停止模式,并在長達2分鐘的預設時間間隔后自動喚醒。退出停止模式后,MAXQ3210按需求喚醒或使系統中的其它器件上電。以下MAXQ3210程序代碼演示了如何進入停止模式,然后在60秒后自動喚醒。
MAXQ3210從停止模式喚醒時,既可使微處理器上電(如果微處理器完全關斷),也可使用外部中斷或類似機制通知微處理器,使其從低功耗狀態下喚醒。
將MAXQ3210的看門狗復位擴展給微處理器只需要兩個連接:將微控制器的一個端口接至微處理器的外部RESET;將微處理器的一個端口返回到MAXQ3210端口。MAXQ3210自動使能看門狗,只要收到來自微處理器的信號就復位看門狗。微處理器負責周期性地觸發此引腳,防止MAXQ3210的看門狗超時,超時周期可編程(詳細信息,請參考MAXQ3210用戶指南補充材料(English only)。)
作為微處理器的外部看門狗,MAXQ3210設定看門狗超時情況下觸發一個中斷。如果看門狗超時,意味著微處理器未能及時觸發微控制器的端口,微控制器需要復位。MAXQ3210響應看門狗中斷,重啟看門狗,通過外部的RESET引腳復位微處理器,重新開始一次循環。
MAXQ3210輸出信號給低電壓微處理器(例如3.6V的器件)時也可以直接連接。如果微處理器引腳含有保護二極管,MAXQ3210的5V輸出可以通過限流電阻直接連接至低電壓引腳。也可以選擇使用漏極開路連接方法:兩引腳間引出一個上拉電阻連接至低電壓微處理器的電源,并使MAXQ3210的端口強制下拉(PD = 1,PO = 0)或為三態(PD = 0,PO = 0)模式。
由低電壓微處理器引腳驅動的MAXQ3210的輸入時同樣需要謹慎操作,這是因為低電壓微處理器不能驅動其端口引腳至足夠高的電平,以使MAXQ3210的寄存器置位。如果僅需要一個輸入(如圖1),低電壓信號可以連接到MAXQ3210的模擬比較器。其它可能的方法有,使用帶有漏極開路配置的外部下拉FET,或使用電平轉換器,如MAX3370。
關于此問題的更多討論,請參考應用筆記3007,邏輯電平轉換。
概述
微處理器用于大規模系統設計時,通常需要各種外部器件的支持。這些外部器件為微處理器提供多項任務支持:為微處理器提供滿足電壓、電流需求的穩壓電源、監控其它電源電壓、提供外部時鐘、控制上電和斷電順序或執行其它任務。這些外部器件通常稱為微處理器監控器,是專為特殊監控任務而設計的IC。使用一個低功耗微控制器可以取代專用的微處理器監控電路,支持上述各種任務。根據其性能,一個微控制器可以提供多個器件所支持的服務,且由于監控功能可通過軟件編程,具有很大的靈活性。
本應用筆記介紹了使用帶有壓電揚聲器驅動、穩壓器和比較器的低功耗微控制器MAXQ3210實現典型微處理器監控功能的方法。MAXQ3210可在單機配置下實現各種功能,采用9V電池供電,使用其內部低速振蕩器可以省去外部時鐘電路。MAXQ3210的小封裝尺寸(24引腳TSSOP)使其成為傳統設計或其它空間受限產品的理想選擇。
電池供電便攜系統
MAXQ3210內置9V至5V轉換的線性穩壓器,可理想用于便攜式、電池供電的微控制器或微處理器系統。由于MAXQ3210具有低電池電壓檢測,使系統能夠在低電池電壓狀態下提供智能化管理。配合5V微處理器工作時,只要微處理器所需的供電電流在MAXQ3210線性穩壓器的供電范圍內(最大值約為50mA,詳細信息請參見MAXQ3210數據資料),MAXQ3210可直接使用其穩壓器的輸出引腳REGOUT (圖1)為微處理器供電。當微處理器電流非常低時,還可以將MAXQ3210的端口引腳設置為標準高電平輸出(PD = 1,PO = 1),直接為微處理器供電。每個端口都能提供至少4mA的電流,壓降小于0.4V。只要所有端口引腳的電流總和不超過最大額定值(約為25mA,詳細信息請參見數據資料),可將多個端口引腳連接在一起增強供電電流。使用端口直接為微處理器供電時,MAXQ3210能夠根據需要接通、關斷微處理器的電源,從而延長電池壽命。注意:當使用REGOUT為微處理器供電時,電源仍可在MAXQ3210控制下接通、關斷,但需要一個外部FET或其它開關器件。
當所支持的微處理器需要的端電壓不是5V (例如3V、2.5V或其它)時,MAXQ3210的REGOUT輸出可通過線性穩壓器產生微處理器所需要的電壓。通過使用帶有使能/禁止輸入的線性穩壓器,MAXQ321仍然能夠完全關斷微處理器的電源,以延長電池壽命。
圖1. 使用MAXQ3210為5V微處理器供電的原理圖
設計過程中對電池壽命和系統總吸入電流要求苛刻時,MAXQ3210可在非常低的電流狀態下工作,以節省能量。MAXQ3210不僅具有功能完善的MAXQ?電源管理模式(分頻、PMM1模式和STOP模式),有效節省能量,還包含了一個8kHz的振蕩器,可作為一個極低功耗的時鐘源使用。上電時,如果沒有外部晶體或高頻時鐘源,MAXQ3210將運行在8kHz振蕩器,使其工作電流降至微安級。由于對響應時間要求并不嚴格,即使在8kHz下工作時,MAXQ3210仍可實現本應用筆記中的監控功能。
復位和電源監控
MAXQ3210提供上電復位(POR)和欠壓檢測功能,使其能夠在供電電源穩定時退出復位狀態。欠壓檢測可以使微控制器從電源跌落狀態下恢復工作。MAXQ3210還可以為沒有電源監控功能的微處理器提供類似的POR和欠壓檢測。將MAXQ3210的一個端口接至微處理器的外部RESET引腳,使MAXQ3210在電源低于門限設置時復位微處理器,并在供電電源恢復正常時使微處理器退出復位狀態。如果微處理器在5V電源下工作,只要MAXQ3210處于POR或欠壓狀態,MAXQ3210都將使微處理器復位。如果微處理器工作在更低的電源電壓(例如3.3V),MAXQ3210的模擬比較器能夠將微處理器的供電電源與VREF引腳的任意電壓(可達3.5V)進行比較(關于模擬比較器的詳細信息,請參考MAXQ3210數據資料)。當微處理器的供電電源跌落至基準電壓以下時,比較器將產生中斷給MAXQ3210,使微處理器復位并在電源恢復正常以前保持復位狀態。
因為所有功能都是通過軟件實現的,所以微處理器從電源恢復到退出復位狀態的時間間隔可以設置為任意時間周期。如果系統有多個供電電源或需要按照特定順序上電,MAXQ3210可作為上電定時器,按照每個動作的指定延遲時間順序控制器件的上電過程。
給系統增加一個外部復位按鍵可初始化復位順序。將復位按鈕接至MAXQ3210的一個端口,使MAXQ3210完成基于軟件的去抖功能,并產生寬度可編程的復位脈沖,以響應一次按鍵復位。
添加喚醒定時器
便攜式電池供電系統中,節省電源及電池壽命是設計的關鍵。為保持低電流耗損,此類系統一般盡可能工作在低功耗狀態。系統周期性地(或在用戶按鍵請求下)喚醒,進行測量或運行其它任務,然后返回休眠狀態。不工作的器件,最好關閉其供電電源。MAXQ3210提供一個長周期喚醒定時器,有助于節省功耗。可設定在8kHz環形振蕩器下工作的喚醒定時器,使MAXQ3210進入低功耗狀態— 停止模式,并在長達2分鐘的預設時間間隔后自動喚醒。退出停止模式后,MAXQ3210按需求喚醒或使系統中的其它器件上電。以下MAXQ3210程序代碼演示了如何進入停止模式,然后在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的一個端口連接至微處理器,可通知其作好斷電準備。MAXQ3210通知斷電后,微處理器根據執行任務的不同立即進入低功耗停止模式或等待斷電。
MAXQ3210從停止模式喚醒時,既可使微處理器上電(如果微處理器完全關斷),也可使用外部中斷或類似機制通知微處理器,使其從低功耗狀態下喚醒。
添加看門狗復位
與MAXQ3210的喚醒定時一樣,微控制器的內置看門狗復位電路可以擴展為微處理器的一個外部硬件看門狗復位電路。MAXQ3210中,看門狗作為一個安全裝置,防止瞬態脈沖干擾時程序運行失控。一旦啟動看門狗定時器,必須通過周期性地置位一個寄存器位使其復位。如果MAXQ3210停止置位寄存器位,且定時器溢出,看門狗將使MAXQ3210自動復位。該自動復位使MAXQ3210恢復到一個已知的起始狀態并重新啟動運行。將MAXQ3210的看門狗復位擴展給微處理器只需要兩個連接:將微控制器的一個端口接至微處理器的外部RESET;將微處理器的一個端口返回到MAXQ3210端口。MAXQ3210自動使能看門狗,只要收到來自微處理器的信號就復位看門狗。微處理器負責周期性地觸發此引腳,防止MAXQ3210的看門狗超時,超時周期可編程(詳細信息,請參考MAXQ3210用戶指南補充材料(English only)。)
作為微處理器的外部看門狗,MAXQ3210設定看門狗超時情況下觸發一個中斷。如果看門狗超時,意味著微處理器未能及時觸發微控制器的端口,微控制器需要復位。MAXQ3210響應看門狗中斷,重啟看門狗,通過外部的RESET引腳復位微處理器,重新開始一次循環。
電平和接口
監控狀態下,MAXQ3210與微處理器之間通信時,必須考慮兩個器件的I/O電平。如果兩個器件都在5V電壓下工作,端口引腳通??梢灾苯舆B接,請務必參考器件的數據資料。MAXQ3210輸出信號給低電壓微處理器(例如3.6V的器件)時也可以直接連接。如果微處理器引腳含有保護二極管,MAXQ3210的5V輸出可以通過限流電阻直接連接至低電壓引腳。也可以選擇使用漏極開路連接方法:兩引腳間引出一個上拉電阻連接至低電壓微處理器的電源,并使MAXQ3210的端口強制下拉(PD = 1,PO = 0)或為三態(PD = 0,PO = 0)模式。
由低電壓微處理器引腳驅動的MAXQ3210的輸入時同樣需要謹慎操作,這是因為低電壓微處理器不能驅動其端口引腳至足夠高的電平,以使MAXQ3210的寄存器置位。如果僅需要一個輸入(如圖1),低電壓信號可以連接到MAXQ3210的模擬比較器。其它可能的方法有,使用帶有漏極開路配置的外部下拉FET,或使用電平轉換器,如MAX3370。
關于此問題的更多討論,請參考應用筆記3007,邏輯電平轉換。
評論
查看更多