用微控制器或DSP電路控制開機(jī)/關(guān)機(jī)功能
在許多設(shè)備中,一個(gè)開/關(guān)按鍵可開啟或關(guān)斷電源。一般情況下,不管微控制器或 DSP 電路正在處理的是處理功能還是負(fù)載,在按下按鍵時(shí),系統(tǒng)都會關(guān)斷。圖 1所示的小型電路可用來使微控制器或 DSP 電路控制這一開/關(guān)功能。這樣,系統(tǒng)就可先完成各種必需完成的作業(yè),如數(shù)據(jù)處理、數(shù)據(jù)存儲等,然后再發(fā)出指令關(guān)斷電源。圖 2 示出了它的定時(shí)圖。雖然最終的設(shè)備是與電源斷開的,但開關(guān)直接與直流電源或電池連接。因此,所有的電容器都會放電。最困難的工作就是使圖 1 中的兩個(gè) D 觸發(fā)器都進(jìn)入所需的“關(guān)”狀態(tài)。
圖 1 中的反相器 IC1B通過二極管 D4 使 D 觸發(fā)器 IC2B 復(fù)位。 由 R10、R11 和 C4 組成的阻容網(wǎng)絡(luò),與反相器IC1B 的輸入端連接,并產(chǎn)生約 4.7ms的延遲時(shí)間。這一時(shí)間間隔保證在經(jīng)過約 4.7 ms延遲后,D 觸發(fā)器能解除復(fù)位狀態(tài)。延遲時(shí)間過去后,IC2B 的復(fù)位輸入引腳因R7 接地而R 從高電位變?yōu)榈碗娢?。同時(shí),IC2B 的輸出引腳Q 也轉(zhuǎn)換到低電平,而 引腳 轉(zhuǎn)為高電平。 IC2B 的 D 輸入節(jié)點(diǎn)因與輸出引腳 連接而也從高電平變?yōu)榈碗娖?。?R1 和 C3 組成的阻容網(wǎng)絡(luò)與反相器 IC1A 一起,產(chǎn)生約 47ms的延遲。這一被延遲的輸出連接到D觸發(fā)器(IC2A)置位引腳。置位引腳保持 47ms的高電平后變?yōu)榈碗娖健?/P>
在置位引腳變?yōu)榈碗娖胶?,D 觸發(fā)器 IC2A 將其在Q引腳的輸出電平變?yōu)楦唠娖?,而把其在Q腳的輸出電平變?yōu)榈碗娖?,Q的反饋信號連接至D輸入節(jié)點(diǎn)。Q(SHTDN)引腳的高電平連接至 DC/DC 轉(zhuǎn)換器或低壓差穩(wěn)壓器的使能引腳,使系統(tǒng)保持關(guān)斷狀態(tài)。D 觸發(fā)器 IC2A 此時(shí)處于關(guān)斷狀態(tài)。從這時(shí)起,兩個(gè) D 觸發(fā)器均處于一種已知的狀態(tài)。在這個(gè)初始化過程中,DSP 的I/O 引腳處于低電平,因?yàn)闆]有為 DSP 電路供電。R15 保證了上電期間 DSP的 I/O 引腳電平為低電平。初始化階段過后,SHTDN為有效高電平。如果你把它連接到 DC/DC 轉(zhuǎn)換器或低壓差穩(wěn)壓器的使能引腳,則SHTDN可保持系統(tǒng)處于關(guān)斷狀態(tài)。當(dāng)你按下按鍵時(shí),由于開關(guān)使按鍵節(jié)點(diǎn)的上拉電阻短路到地, IC1B 的輸入引腳就從高電平變?yōu)榈碗娖健T诖似陂g,IC1B 的輸出引腳相應(yīng)地由低電平變?yōu)楦唠娖健?
D 觸發(fā)器 IC2A 的 CLK 輸入引腳通過 R14 和 D1 被觸發(fā),輸出引腳 Q 的狀態(tài)由低電平轉(zhuǎn)變成高電平。這一狀態(tài)使得低壓差穩(wěn)壓器或 DC/DC 轉(zhuǎn)換器開始工作。連接到R2的 3.3V 或 5V 電源為晶體管 Q1 供電,從而改變D 觸發(fā)器 IC2A 的 CLK 輸入引腳的邏輯電平。這一動作保證系統(tǒng)在你按下開/關(guān)按鍵時(shí)不受假信號的影響。該電路中DSP的I/O引腳連接到 DSP 電路或微控制器的 I/O 引腳之一。你應(yīng)在上電和復(fù)位狀態(tài)解除后將 DSP 電路或微控制器的 I/O 引腳配置成輸入引腳。只要你按下開/關(guān)按鍵時(shí),晶體管 Q2 就保持導(dǎo)通狀態(tài),使DSP 電路的 I/O 引腳變?yōu)榈碗娖?。你?yīng)對 DSP 電路或微控制器進(jìn)行編程,使 DSP 電路在松開按鍵之前停止執(zhí)行代碼,而 DSP I/O 引腳由低電平轉(zhuǎn)為高電平。D 觸發(fā)器 IC2B 再次通過 D4 復(fù)位,但由于應(yīng)用程序正在運(yùn)行,所以這次復(fù)位不會改變輸出狀態(tài)。
你再次按下開/關(guān)按鍵時(shí),DSP的 I/O 引腳呈現(xiàn)低電平。DSP 電路或微控制器此時(shí)應(yīng)檢測到這一輸入電平變化,并產(chǎn)生一個(gè)中斷。這一中斷應(yīng)能起動一個(gè)關(guān)機(jī)程序。D 觸發(fā)器 IC2B 通過 D4 變?yōu)閺?fù)位模式,因此在 CLK 引腳有效的切換信號不會影響輸出狀態(tài)。此時(shí)你可以松開開/關(guān)按鍵。D 觸發(fā)器 IC2B 經(jīng)過約 4.7ms的延遲后解除復(fù)位模式,而在復(fù)位延遲時(shí)間過去前Q2和Q4改變電平,并保持 CLK 腳為低電平。延遲過后,微控制器或 DSP 電路檢測到 I/O 引腳為高電平,然后開始運(yùn)行關(guān)機(jī)程序。
此時(shí),DSP 電路或微控制器有時(shí)間保存任何關(guān)鍵數(shù)據(jù)。你必須為微控制器或 DSP 電路的 I/O 引腳編程,使之成為置為低電平的輸出引腳。Q4 失去驅(qū)動電壓后, D 觸發(fā)器 IC2B 的 CLK 引腳狀態(tài)從低電平轉(zhuǎn)為高電平。D 觸發(fā)器 IC2A 通過輸出引腳 Q 和 D3 來改變輸出狀態(tài)。Q和Q引腳使SHTDN引腳的狀態(tài)變?yōu)榈碗娖剑瑥亩到y(tǒng)關(guān)機(jī)。同時(shí),D 觸發(fā)器 IC2B 通過 Q3 和比較器 IC1C 復(fù)位。這一復(fù)位使 IC2B 回到前面所述的第一次按下開/關(guān)鍵以前的初始狀態(tài)。
評論