AVR單片機復位介紹
AVR復位時(shí)所有的I/O 寄存器都被設置為初始值,程序從復位向量處開(kāi)始執行。復位向量處的 指令必須是絕對跳轉JMP 指令,以使程序跳轉到復位處理例程。
AVR的復位信號源有五個(gè):
上電復位。電源電壓低于上電復位門(mén)限 VPOT 時(shí), MCU 復位。
外部復位。引腳 RESET 上的低電平持續時(shí)間大于最小脈沖寬度時(shí)MCU 復位。
看門(mén)狗復位。看門(mén)狗使能并且看門(mén)狗定時(shí)器溢出時(shí)復位發(fā)生。
掉電檢測復位。掉電檢測復位功能使能,且電源電壓低于掉電檢測復位門(mén)限 VBOT 時(shí) MCU 即復位。
JTAG AVR復位。復位寄存器為1 時(shí)MCU 復位。
上電復位
上電復位(POR) 脈沖由片內檢測電路產(chǎn)生,POR電路保證器件在上電時(shí)復位。VCC 達到上電門(mén)限電壓后觸發(fā)延遲計數器。在計數器溢
出之前器件一直保持為復位狀態(tài)。當VCC 下降時(shí),只要低于檢測門(mén)限,RESET 信號立即 生效。
外部復位
外部復位由外加于RESET 引腳的低電平產(chǎn)生。當復位低電平持續時(shí)間大于最小脈沖寬度 時(shí) 即觸發(fā)復位過(guò)程,即使此時(shí)并沒(méi)有時(shí)鐘信號在運行。當外加信號達到 復位門(mén)限電壓VRST( 上升沿) 時(shí), tTOUT 延時(shí)周期開(kāi)始。延時(shí)結束后MCU 即啟動(dòng)。
看門(mén)狗復位
看門(mén)狗定時(shí)器溢出時(shí)將產(chǎn)生持續時(shí)間為1 個(gè)CK 周期的復位脈沖。在脈沖的下降沿,延時(shí) 定時(shí)器開(kāi)始對tTOUT 記數
掉電檢測復位
BOD 電路的開(kāi)關(guān)由熔絲位BODEN控制。當BOD使能后(BODEN被編程),一旦VCC下降到 觸發(fā)電平以下(VBOT-, Figure 19), BOD 復位立即被激發(fā)。當VCC 上升到觸發(fā)電平以上 時(shí)(VBOT+,Figure 19),延時(shí)計數器開(kāi)始計數,一旦超過(guò)溢出時(shí)間tTOUT,MCU即恢復工作。
JTAG AVR復位
JTAG通過(guò)復位寄存器mcur,復位寄存器為1 時(shí)MCU 復位。通過(guò)JTAG 指令AVR_RESET 可以使JTAG 復位寄存器置位,并引發(fā)MCU 復位,并使 JTRF 置位。上電復位將使其清零,也可以通過(guò)寫(xiě)”0” 來(lái)清除。
MCU 控制和狀態(tài)寄存器提供了有關(guān)引起MCU 復位的復位源的信息。
MCU 控制和狀態(tài)寄存器提供了有關(guān)引起MCU 復位的復位源的信息。
Bit 4 – JTRF: JTAG 復位標志
通過(guò)JTAG 指令AVR_RESET 可以使JTAG 復位寄存器置位,并引發(fā)MCU 復位,并使
JTRF 置位。上電復位將使其清零,也可以通過(guò)寫(xiě)”0” 來(lái)清除。
Bit 3 – WDRF: 看門(mén)狗復位標志
看門(mén)狗復位發(fā)生時(shí)置位。上電復位將使其清零,也可以通過(guò)寫(xiě)”0” 來(lái)清除。
Bit 2 – BORF: 掉電檢測復位標志
掉電檢測復位發(fā)生時(shí)置位。上電復位將使其清零,也可以通過(guò)寫(xiě)”0” 來(lái)清除。
Bit 1 – EXTRF: 外部復位標志
外部復位發(fā)生時(shí)置位。上電復位將使其清零,也可以通過(guò)寫(xiě)”0” 來(lái)清除。
Bit 0 – PORF: 上電復位標志
上電復位發(fā)生時(shí)置位。只能通過(guò)寫(xiě)”0” 來(lái)清除。
為了使用這些復位標志來(lái)識別復位條件,用戶(hù)應該盡早讀取此寄存器的數據,然后將其復 位。如果在其他復位發(fā)生之前將此寄存器復位,則后續復位源可以通過(guò)檢查復位標志來(lái)了解。
評論