官术网_书友最值得收藏!

1.2.5 ATmega128單片機的復位

當ATmega128單片機復位之后,所有的I/O寄存器都被恢復為初始值,程序從復位向量處開始執行。復位向量處存放的指令必須是絕對跳轉指令JMP,以使程序跳轉到對應復位處理代碼。如果用戶代碼不使用中斷,中斷向量的存儲位置可以由一般的程序代碼所覆蓋。這個處理方法同樣適用于當復位向量位于應用程序區,中斷向量位于程序存儲器的Boot區的狀況。

當復位發生時,ATmega128單片機的I/O端口立即被復位為初始值。此時不要求任何時鐘處于正常運行狀態。當所有的復位信號消失之后,ATmega128單片機內部的一個延遲計數器被激活,將內部復位的時間延長,從而能使ATmega128單片機在正常工作之前有一定的時間讓電源達到穩定的電平,該延遲計數器的溢出時間通過熔絲位SUT與CKSEL設定。

1. ATmega1 28單片機的復位源

ATmega128單片機有5個復位源。

● 上電復位:當電源電壓低于上電復位門限VPOT時,ATmega128單片機復位。

● 外部復位:當外加在RESET引腳上的低電平持續時間大于最小脈沖寬度時,ATmega128單片機復位。

● 掉電檢測復位:當掉電檢測復位功能使能,并且電源電壓低于掉電檢測復位門限電壓VBOT時,ATmega128單片機復位。

● 看門狗復位:當看門狗使能,并且看門狗定時器溢出時,ATmega128單片機復位。

● JTAG復位:當復位寄存器被置位時,ATmega128單片機復位。

2. 上電復位

在上電復位(POR)過程中,其復位脈沖由片內檢測電路產生,當VCC引腳上的電平低于檢測電平POR時,發生上電復位事件。POR電路可以用來觸發啟動復位,或者用來檢測電源故障。

POR電路可以保證ATmega128單片機在上電時復位,當VCC達到上電門限電壓后觸發延遲計數器,在計數器溢出之前器件一直保持為復位狀態,當VCC下降時,只要低于檢測門限,RESET信號立即生效。

圖1.11和圖1.12所示為ATmega128單片機在上電復位時RESET引腳不同連接方式下的信號時序圖。

圖1.11 RESET引腳連接到VCC的信號時序圖

圖1.12 RESET由外部電路控制的信號時序圖

3. 外部復位

外部復位由外加于ATmega128單片機的RESET引腳上的低電平產生。當復位低電平持續時間大于最小脈沖寬度(1.5 μs)時觸發復位過程,即使此時并沒有時鐘信號在運行。當外加信號達到復位門限電壓 VRST(上升沿)時,tTOUT延時周期開始。在延時結束后,ATmega128單片機啟動信號時序圖如圖1.13所示。

圖1.13 外部復位的信號時序圖

4. 掉電檢測復位

ATmega128單片機具有片內BOD(Brown-out Detection)電路,該電路通過與固定觸發電平的對比來檢測工作過程中VCC的變化。觸發電平通過熔絲位BODLEVEL來設定,可以設定為2.7V或4.0V。BOD的觸發電平具有遲滯功能,以消除電源尖峰的影響。BOD電路的開關由熔絲位BODEN來控制。當BOD被使能后,一旦VCC下降到觸發電平以下,BOD復位立即被激發。當VCC上升到觸發電平以上時,延時計數器開始計數,一旦超過溢出時間tTOUT,ATmega128單片機即恢復工作。如果VCC一直低于觸發電平并保持時間 tBOD(2μs),BOD電路將只檢測電壓跌落。圖1.14所示為掉電檢測復位示意圖。

圖1.14 掉電檢測復位示意圖

5. 看門狗復位

當看門狗定時器溢出時,將產生持續時間為1個時鐘周期的復位脈沖,在脈沖的下降沿,延時定時器開始對 tTOUT計數,計數完成之后,ATmega128單片機即完成復位,如圖1.15所示。

6. ATmega1 28單片機的復位控制寄存器

ATmega128單片機使用一個復位控制寄存器來對復位進行管理,該寄存器的內部結構如表1.18所示。其中后5位和ATmega128單片機的復位控制相關。

圖1.15 看門狗復位時序圖

表1.18 ATmega1 28單片機的復位控制寄存器MCUCSR

● JTRF:JTAG復位標志位。通過JTAG指令AVR_RESET可以使JTAG復位寄存器置位,引發ATmega128單片機復位,并使JTRF置位;上電復位后,該位被自動清零,也可以通過對該位寫“0”來清除。

● WDRF:看門狗復位標志位。當看門狗復位發生時,該位被置位;上電復位后,該位被自動清零,也可以通過向該位寫“0”來清除。

● BORF:掉電檢測復位標志位。在掉電檢測復位發生時被置位;上電復位后該位被自動清零,也可以通過寫“0”來清除。

● EXTRF:外部復位標志位。當外部復位發生時被置位;上電復位后該位被自動清零,也可以通過寫“0”來清除。

● PORF:上電復位標志位。上電復位發生時被置位;只能通過寫“0”來清除。

7. 片內基準電壓

ATmega128單片機具有片內基準電壓源,用于掉電檢測,或者作為模擬比較器或ADC模塊的輸入電源。ADC模塊的2.56V基準電壓也由此片內基準電壓源產生。電壓基準的啟動時間可能影響其工作方式,其啟動時間如表1.19所示。為了降低功耗,在不使用基準源時將關閉。該基準源僅在如下情況打開:

● BOD使能,即熔絲位BODEN被編程。

● 能隙基準源連接到模擬比較器,ACSR寄存器的ACBG位被置位。

● ADC模塊被使能。

因此,當BOD被禁止時,置位ACBG或使能ADC后會啟動基準源,為了降低掉電模式的功耗,可以禁止上述3種條件,并在進入掉電模式之前關閉基準源。

表1.19 內部電壓基準源特性

主站蜘蛛池模板: 浠水县| 和硕县| 泽普县| 乐都县| 怀宁县| 东兰县| 工布江达县| 开平市| 台北县| 岢岚县| 铜山县| 杨浦区| 浮梁县| 盱眙县| 桦甸市| 辉县市| 鹰潭市| 平度市| 阳谷县| 法库县| 桃园县| 广安市| 雷波县| 九龙坡区| 修水县| 阿克苏市| 尖扎县| 潜山县| 修文县| 隆化县| 雷山县| 射阳县| 万源市| 靖宇县| 道孚县| 巴林右旗| 高唐县| 皋兰县| 奉新县| 洛南县| 临夏市|