節電是各種電池供電設備所需考慮的首要因素。為防止用戶忘記關機,一些設備采用了自動關機電路。此外,許多設備中使用一個開/關按鍵控制開啟或關斷電源,即使微處理器(MPU)正在處理關鍵程序,按鍵按下時,系統也會關斷,造成重要數據的丟失。本文僅使用一個D觸發器設計了一種結構簡單,使用方便可靠的開/關機電路。 電路設計 實際設計的自動開/關機電路如圖1所示。其中U1A為雙D觸發器CD4013,外接電池電源由Vin輸入。Q輸出通過阻值為472W的R5、103W的R4和NPN型三極管Q2反向驅動后,與開關電源芯片的開關引腳相連。以MAX1626為例,當SHDN為高時關閉電源,SHDN為低時打開系統電源。 復位式按鍵S1為系統電源開/關鍵。C1和R2組成RC網絡,使得在S1按下后,保證R有12×104×10-3=120ms的延遲時間處于高電平。CD4013的D、CLK端接輸入電源地,保證其處于低電平。置位引腳R一端通過103W的電阻接電源地,另一端通過三極管Q3與MPU的I/O口相連。S1的右端與阻值為103W的R1相連,控制Q1開通。Q1的集電極與地之間接通穩壓管,穩壓管的輸出與MPU的I/O口相連。 圖1 自動開/關機電路原理圖 設計原理 開/關機電路的核心器件是一個D型觸發器,型號為CD4013。其真值表如表1所示。觀察其真值表可已看出,無論CLK為何種狀態,S為0時,輸出Q為0;R為0時,輸出Q為1;而當R、S均為1時,輸出Q為1;當R和S均為0時,只要CLK不產生上升沿脈沖,輸出Q會保持前一輸出狀態。本電路正是利用R、S均為零時的狀態保持特性來實現開/關機功能的。 由于本電路處于開/關電源前端,在電池接入狀態下,無論系統電源是否打開,都處于工作狀態。CD4013的輸入電壓范圍為3"15V,因此本電路可以保證在寬電壓輸入范圍內穩定工作。 系統開機原理 當按下開機按鈕S1時,S與高電平接通,S=1。查閱真值表可得,當R=1,S=1時,輸出Q應穩定輸出1,經過三極管反向后,電源控制引腳SHDN為低電平,打開系統電源。通常MPU進行初始化時會將I/O引腳置為高電平,由于RC網絡的延遲作用,S1按下后可以保證S端約有120ms處于高電平(保證開機穩定條件:RC網絡的延遲時間>系統上電復位并將POWER_CTL狀態穩定為1的時間)。經過三極管Q3反向,此時S=1,R=0,Q端輸出1,系統電源處于打開狀態。 MPU延遲后讀取STATE引腳的狀態。如果此時STATE為低電平,則確認Q1導通,S1曾按下,確認用戶開機程序正常運行。如果此時STATE為高電平,則表明Q1截止,開機信號為誤動作,程序執行關機程序。 當RC網絡的延遲時間過后,S端由1轉為0,此時S=0,R=0,查閱真值表得出此時輸出Q應該維持前一輸出狀態,即保持系統開通電源狀態。 系統關機原理 作為節電產品,如果在規定時間內系統沒有工作,系統會自動轉入關機程序,在保存重要數據后,自動關閉系統。 當用戶手動關機,按下S1時,Q1打開,STATE的狀態由高電平轉變為低電平,MPU檢測到STATE的狀態變化后,經過延時再次檢測STATE狀態,如仍為低電平,則確認為關機指令,程序將保存重要數據,關閉所有中斷,然后將I/O引腳POWER_CTL置為低電平,程序進入循環等待關機狀態。此時,I/O口狀態經過Q3反相后使觸發器R=1,S=0,查閱真值表可得Q端應該穩定輸出0,經過三極管Q2反向驅動后,電源控制引腳SHDN為高電平,關閉系統電源。 電源芯片關閉后,隨著電容放電,MPU的供電電壓不斷下降,引腳POWER_CTL變為不定狀態,但查閱真值表,無論此時R端電位高或低,輸出Q都為低電平,穩定的使系統處于關機狀態。 隨著電容繼續放電,I/O引腳POWER_CTL穩定為低電平,此時觸發器引腳R=1,S=0,穩定維持輸出Q為低電平,保證系統電源的穩定關斷。 設計的改進 實際使用中發現,當更換供電電源時,觸發器初始上電,D、CLK和R端下拉至地,保持穩定狀態為0。而由于電容C1的充電作用,有可能使S=1,查閱真值表,當S=1,R=1時,輸出Q為高電平,致使Q2導通,SHDN為高電平,打開系統。 為了解決更換電源時系統有可能自動開機問題,在系統上電程序開始執行并延遲500ms后重新讀取STATE狀態。初始階段,Q1導通,STATE狀態為低電平。而隨著RC網絡的延遲時間過后,S端電位由高電平變為低電平,Q1由導通變為截止,STATE狀態由低電平重新轉換為高電平。MPU延時后讀取的STATE如果為高電平,則認為是誤開機,程序執行關機程序,重新關閉系統電源。如果STATE仍為低電平,則確認是開機指令,程序正常執行。因此要求用戶在開機時,按下S1并保持500ms以上。 MPU開機初始化程序流程如圖2所示。 圖2 MPU開機初始化程序流程圖 結語 本電路相對其它電路結構簡單,使用器件較少。配合軟件處理,能夠實現自動開/關機功能,對一般應用來說是較好的選擇。 |