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