復位源
6個復位源
(2)外部復位輸入引腳有效(RST);
(3)掉電檢測可以用於由以下任一事件引起:①
低於BOR0,觸發值是BOR0的
最高電壓值;②
低於BOR1,觸發值是BOR1的最高
電壓值。
(4)軟體啟動復位(利用軟體復位暫存器);
復位過程
復位時,執行下列順序:
(1)讀取BOOTCFG
暫存器。如果
EN位被清除,則執行ROM的Boot Loader。
(2)在
ROM的Boot Loader下,將指定的
GPIO引腳的狀態與規定的極性相比較。如果引腳狀態與指定的極性匹配,那么將ROM映射到地址0x00000000,並繼續執行ROM的Boot Loader。
(3)如果EN位置位或引腳狀態與規定的極性不匹配,則讀取地址0x00000004的數據。如果這個地址的數據是0xFFFFFFFF,那么ROM映射到地址0x00000000並繼續ROM的Boot Loader。
(4)如果地址0x00000004的數據不是0xFFFFFFFF,那么堆疊指針(SP)將載入Flash地址0x00000000的數據,
程式計數器(PC)將載入地址0x00000004的數據。隨後用戶應用程式開始執行。
上電復位(POR)
電路監測電源電壓(
),並且在電源達到閾值(VDD_POK)時向包括
JTAG在內的所有內部邏輯產生復位信號。當片上的電源上電復位脈衝結束時,該
微控制器必須在規定的工作參數範圍內工作。當套用要求使用外部復位信號讓微控制器更長時間地保持在復位狀態時(相對使用內部POR而言),可以使用
PST輸入。
上電復位的順序
(2)內部復位釋放,核心從記憶體載入初始
堆疊指針、初始化程式計數器以及程式計數器指向的第一條指令,最後開始執行。
注意事項
(2)內部
POR只有在微控制器的最初上電時或者從睡眠模式喚醒時才有效。
外部復位輸入引腳
如果應用程式僅適用於內部的POR電路,那么RST輸入必須通過一個可選的上位電阻(0~100kΩ)連線到電源(
)。RST輸入濾波需要一個最小
脈衝寬度的復位脈衝,以便復位脈衝被識破。外部復位引腳(RST)復位控制器,包括
核心和所有片上外設。
外部復位序列
(1)外部復位引腳(RST)由特定的
聲明,然後失效。
(2)內部復位釋放,核心從記憶體載入初始堆疊指針、初始化程式計數器以及程式計數器指向第一條指令,最後開始執行。
注意事項
(1)建議RST信號的跟蹤線路越短越好。確保連線RST信號的任何元件布置的儘可能靠近微控制器。
(2)為了提高
抗干擾性和/或延遲上電復位,RST輸入可以連線一個RC網路。
掉電復位(BOR)
觸發事件
微控制器提供一個由以下事件觸發的掉電檢測電路:
(1)
低於掉電檢測復位0(BOR0)。外部提供的
電壓低於規定的
BOR0值。觸發值是BOR0的最高
電壓值。
(2)
低於掉電檢測復位1(BOR1)。外部提供的
電壓低於規定的
BOR1值。觸發值是BOR1的最高
電壓值。
該應用程式通過讀取復位原因暫存器可以識別導致復位的BOR事件。當檢測到掉電條件,默認條件將產生一個復位。BOR事件也可以通過編程,在清除上電和掉電復位控制暫存器(PBORCTL)的BOR0位或BOR1位時產生中斷。
掉電復位順序
(2)如果BOR條件存在,則內部復位有效。
(3)內部復位釋放,微控制器獲取並載入初始
堆疊指針、初始
程式計數器以及由程式計數器指定的第一條指令,然後開始執行。
掉電復位的效果等同於一次有效的外部RST輸入,並且該復位將會保持有效,直到
恢復到正確的電壓級別。在復位中斷處理程式中可以檢查RESC
暫存器,以確定掉電條件是否是復位的原因,從而使軟體確定需要恢復哪些操作。
軟體復位
軟體可以復位某個特定的外設或者復位整個
微控制器。通過系統控制偏移量0x500處開始的外設復位暫存器(例如看門狗定時器軟體復位(SRWD)暫存器),外設可以單獨由軟體復位。如果外設對應的位被置位並隨後清零,那么該外設被復位。
包括核心在內的整個微控制器,可以通過設定套用中斷和復位控制暫存器的SYSESREQ位實現復位。
系統復位序列
(1)通過置位SYSESREQ位即可產生軟體微控制器復位;
(2)內部復位有效;
(3)內部復位釋放,微控制器從存儲器載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。
核心只能由設定APINT暫存器中的ECTRESET位實現復位。
核心復位序列
(1)核心復位通過設定VECRTESET位啟動;
(2)內部復位有效;
看門狗定時器復位
看門狗定時器模組
看門狗定時器模組的功能是阻止系統掛起。TM4C123GH6PM微控制器有兩個看門狗定時器模組,以防止其中一個看門狗時鐘源出現故障。一個看門狗脫離系統時鐘運行,另一個脫離精確內部振盪器(PIOSC)運行。除了由於PIOSC看門狗定時器模組處於不同的時鐘域,對暫存器的訪問必須在它們之間有一個時間延遲外,每個模組還應該以相同的方式運行。看門狗定時器可被配置為在第一次逾時的時候向微控制器產生一個中斷或者不可禁止中斷,在第二次逾時的時候產生一個復位。
看門狗第一次逾時事件後,32位看門狗計數器會重載看門狗定時器裝載暫存器(WDTLOAD)的值並從該值遞減計數。如果在第一次溢出中斷被清除之前,定時器遞減至零,並且復位信號使能,那么看門狗定時器將復位信號傳遞給
微控制器。
復位序列
(2)內部復位有效;
(3)內部復位釋放,微控制器從存儲器載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。