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