利用C8051F310內(nèi)置比較器0實現(xiàn)掉電模式
在測量、控制等領(lǐng)域,常要求單片機(jī)內(nèi)部RAM中的數(shù)據(jù)在電源掉電時不丟失,重新加電時,RAM中的數(shù)據(jù)能夠保存完好,且系統(tǒng)在電源恢復(fù)后,能夠繼續(xù)執(zhí)行程序。利用C8051F310單片機(jī)內(nèi)置比較器0對電源電壓進(jìn)行實時檢測,主電源掉電時,執(zhí)行比較器0中斷服務(wù)程序,保存特殊功能寄存器內(nèi)容,并置單片機(jī)于掉電模式以降低功耗,由備用電池對單片機(jī)供電,保持RAM中的數(shù)據(jù)不丟失。
本文引用地址:http://butianyuan.cn/article/173126.htm基于C8051F310單片機(jī)的以下幾點,提出了本文題目要討論的內(nèi)容,并且已通過實驗測試。
?、?C8051F310單片機(jī)進(jìn)入掉電模式,CPU停止運(yùn)行,所有的中斷和定時器(時鐘丟失檢測器除外)都處于非活動狀態(tài),內(nèi)部振蕩器被停止(模擬外設(shè)保持在所選擇的狀態(tài),外部振蕩器不受影響)。供電電壓大于1.5 V即可保持RAM中的數(shù)據(jù)不變,且功率消耗極低,電流小于0.1 μA。
② C8051F31x器件內(nèi)部有2個電壓比較器,在比較器輸出的上升沿和下將沿都可以產(chǎn)生中斷。比較器的響應(yīng)時間是可編程的,比較器的正向和負(fù)向回差電壓也是可配置的。
③ 比較器的輸出可以是與系統(tǒng)時鐘同步的或者是不同步的。即使在系統(tǒng)時鐘停止時,比較器異步輸出CP0A信號仍然可用,這就允許比較器在器件處于停機(jī)方式時工作并產(chǎn)生輸出。當(dāng)被禁止時,比較器的電源電流降到小于 100 nA。
?、?C8051F310運(yùn)行后,在復(fù)位期間內(nèi)部數(shù)據(jù)存儲器的內(nèi)容不發(fā)生改變,復(fù)位前存儲的數(shù)據(jù)保持不變。堆棧中的數(shù)據(jù)不發(fā)生變化。
圖1 單片機(jī)電源與電壓檢測原理
在C8051F310系統(tǒng)設(shè)計中,使用電池作為備用電源(電池電壓大于C8051F310的RAM數(shù)據(jù)保持電壓即可, 1.5 V),單片機(jī)電源與電壓檢測原理如圖1所示。主電源正常時,調(diào)整電位器,使CP0+端電壓略大于CP0-端電壓。電壓檢測部分有兩個功能:一是為單片機(jī)內(nèi)置比較器提供模擬輸入信號;二是運(yùn)算放大器輸出驅(qū)動LED燈,指示主電源正常。也可通過交叉開關(guān)將CP0A連到端口引腳,替代圖1中的功率放大器驅(qū)動電源指示燈。前提條件是進(jìn)入掉電模式前不禁止比較器且電池電壓大于單片機(jī)最低工作電壓,這會增加掉電期間電池功耗。
主電源VCC正常時,主電源電壓高于電池電壓,系統(tǒng)由主電源供電。 主電源發(fā)生意外使電壓下降或者丟失時,比較器0對單片機(jī)發(fā)出斷電中斷請求,單片機(jī)響應(yīng)中斷,利用主電源上濾波電容上的剩余儲電,以最短的時間進(jìn)入并執(zhí)行中斷服務(wù)子程序。在中斷服務(wù)子程序中,將一些必須保護(hù)的特殊功能寄存器中的內(nèi)容保存到RAM(可利用堆棧區(qū)),關(guān)閉比較器、模數(shù)轉(zhuǎn)換等模擬外設(shè),降低功耗,最后建立掉電保護(hù)標(biāo)記并使單片機(jī)進(jìn)入停機(jī)工作狀態(tài)。主電源恢復(fù)后,單片機(jī)執(zhí)行上電復(fù)位,從掉電時斷點處繼續(xù)執(zhí)行程序。
評論