欠壓復位(以下稱為BOR)是單片機可靠性的一項重要功能,通常用于解決電源問題,下面將介紹欠壓復位的另一個問題。
單片機的“電量不足”是電源電壓不足或暫時降低,低于可靠運行所需的水平。許多單片機具有保護電路,該電路可檢測電源電壓何時低于此水平,并將設備置于復位狀態(tài),以確保在電源恢復時正確啟動。此操作也稱為“欠壓復位”,英文縮寫為“BOR”。類似的功能稱為低電壓檢測(LVD),它更復雜,增加了對多個電壓電平的檢測,可以在觸發(fā)復位之前產(chǎn)生中斷。
BOR通常由控制寄存器中的某個位使能。通常,當BOR引起復位時,狀態(tài)位會置1。該狀態(tài)位在復位后仍然有效,并允許程序檢測到問題并執(zhí)行其他恢復或記錄事件。
如果BOR被禁用會怎樣?一般情況下,其表現(xiàn)為電源電壓穩(wěn)定下降。至于原因,可能是電源老化或電池放電。
如上圖所示,V1是正常電源電壓。V2是微控制器可能無法可靠運行的點。我將V3顯示為操作完全停止的點。在V2和V3之間是一個“危險區(qū)域”,在該區(qū)域可能發(fā)生錯誤并且操作不可靠。當電源進出危險區(qū)域時,該設備可以正常工作數(shù)年,然后損壞!出現(xiàn)故障。BOR級別設置為高于V2,并通過復位設備來代替危險區(qū)域。重置不太可靠,但總比不確定好。接下來,我介紹一種情況,其中電源正常運行,但使用BOR解決了另一個問題。
當電源關閉時,電壓不會一直下降。相反,其他電源將電源電壓保持在危險區(qū)域。這種電壓的另外一種叫法是“虛假電量”。目前,沒有BOR可以檢測到這種情況并引起復位。再次打開電源時,設備可能無法正常上電,因為可能不會觸發(fā)上電復位電路。由于電源電壓低于最小值并且沒有復位,因此后續(xù)操作不確定。
以Microchip的單片機為例,在驗證是本人用的是PIC16F877-20I/L。這該單片機是工業(yè)版本,工作溫度范圍為-40°C至+85°C。采用16MHz時鐘時,電源范圍為+4.0V至+5.5V。模塊內(nèi)部的工作電壓(V1)是+5V。顯示器顯示的是,單片機(V2)上的虛假電量電壓約為+1.5V。
還有其他兩種情況,“RAM數(shù)據(jù)保持電壓(VDR)”為+1.5V,“典型值”。“VDD啟動電壓”(VPOR)以確保內(nèi)部上電復位為0V,“典型值”。將所有這些情況加在一起可以告訴我們,該設備處于危險區(qū)域之內(nèi)。由于電壓遠高于此電壓,因此無法預期上電復位(VPOR)。此外,由于虛假電量處于RAM保持電壓下,因此也無法預期的欠壓會使設備保持活動狀態(tài)(VDR)。誰知道設備的其余部分在做什么?
為什么打開BOR可以解決此問題?欠壓復位觸發(fā)規(guī)范(VBOR)的范圍是+3.7V至+4.35V,典型值為+4.0V。虛假電量電平遠低于BOR的觸發(fā)電壓。問題解決了。但是,為什么微控制器在實驗室中可以正常工作并以許多次電源循環(huán)正常運行仍然是個謎。
總結(jié),虛假電量可能有幾種情況:外部信號,電路中的多個電源,電容器需要時間才能完全放電。