解析單片機復位過程

我最近在整理單片機的復位問題,很多文獻都過分的集中於外部復位,特意把內部復位的東西整理一下,我參考了很多的飛思卡爾的文檔。我一直覺得飛思卡爾的文件系統和它的品質都是優秀的,雖然目前 ST 的單片機很有競爭力。

① 上電覆位:是由外部總線產生的一種異步復位,單片機電壓監測電路檢測到電源電壓 VDD上升時,會產生一個上電覆位脈衝,由內部計時器進行延時後等待電源電壓上升到可以工作的電壓後,整個單片機系統就完成了上電覆位。注意上電覆位電路並不會檢測延時過後的系統電壓,如果此時的電壓低於單片機的最小工作電壓,整個上電覆位就失效了。

圖所示是整個上電覆位的過程,其步驟如下:

解析单片机复位过程

1)電源電壓 VDD 大於一定範圍時候,通常是 1V 以上的時候,單片機內部的 CMOS的邏輯電路開始運作,這個電壓我們也稱為 VOS。在這個電壓下,不管使用的何種外部振盪器,振盪電路將開始起作用產生信號。

2)隨著振盪器的運行,所有的內部邏輯必須進行初始化以保證處在正確的邏輯狀態下。

3)此時上電覆位電路內部的計數器將開始工作,一般而都會維持一定的復位週期延遲,飛思卡爾的 HC08 系列的復位時鐘延遲 tPOR 等於 4096 個機器週期,並且復位邏輯將維持內部復位信號。

4) 當持續時間大於 tPOR,上電覆位電路的復位邏輯將反轉並關閉上電覆位電路。沒有其他復位源的時候,單片機將退出復位狀態並開始執行的代碼。

因此如果依靠單片機內部的上電覆位完成整個過程,復位與電源電壓的上升率有很大的關係,需要確認電壓的上升速率應大於最小上升速率,如果不注意這點將造成單片機的無法啟動,計算方法如下:

VRUN = VOS +MVDD_SLEW×4096/FOSC

其中 VRUN 是單片機的最小工作電壓,FOSC- 是內部總線頻率,MVDD_SLEW 是電源電壓上升率。

② 欠壓復位:單片機內部電壓監控電路形成的異步復位,當電源電壓 VDD 電壓小於一定觸發閾值時,發出復位信號並保持到電源電壓大於欠壓復位功能恢復電壓。欠壓復位是用來確保單片機的電源並不在有效工作電壓範圍之內時內部產生復位過程,使得單片機保持在正確的狀態中,欠壓復位有三個重要的參數:

1) VTR 是欠壓復位功能恢復電壓,大於該電壓值的時單片機的欠壓復位狀態就結束了;

2)VTF 是欠壓復位功能觸發電壓,小於該電壓值的時單片機將保持欠壓復位狀態;

3) VHYS 是欠壓復位的回差電壓,VHYS=VTR - VTF;這個電壓的主要目的是防止電源有噪聲干擾的時候頻繁的反彈,一般在 0.1~0.2V 之間。

解析单片机复位过程

如圖所示,欠壓復位是在電源電壓達到 VTR 以後,內部的計數器才工作,因此在上電覆位完成以後,欠壓復位繼續工作直至欠壓復位完成既定的延遲後,整個單片機才會退出復位狀態;因此內部引入欠壓復位電路對於解決電源電壓上升率過快和過慢的情況都有很大的幫助。需要注意的是低電壓的復位電平閾值是和供電電壓相關的,並且按照比例設定的無法更改,因此如果系統上不合適則需要考慮外部的復位方法。


分享到:


相關文章: