復位控制

復位控制

復位是任何一個微處理器所必須有的操作功能,復位的基本作用是使CPU恢復到一個初始的默認狀態,主要是CPU內部指令指針和狀態暫存器設定為一個默認值,使CPU可以從一個固定地址(一般是0地址)開始正常執行指令。復位控制包括:上電復位、外部復位輸入引腳、掉電復位、軟體復位、看門狗定時器復位。

基本介紹

  • 中文名:復位控制
  • 外文名:Reset control
  • 復位功能:使CPU恢復到一個初始的默認狀態
  • 主要內容1:POR、外部復位輸入引腳、BOR
  • 主要內容2:軟體復位、看門狗定時器復位
  • 研究對象:TM4C123GH6PM微控制器
復位源,6個復位源,復位過程,上電復位(POR),上電復位的順序,注意事項,外部復位輸入引腳,外部復位序列,注意事項,掉電復位(BOR),觸發事件,掉電復位順序,軟體復位,系統復位序列,核心復位序列,看門狗定時器復位,看門狗定時器模組,復位序列,

復位源

6個復位源

TM4C123GH6PM微控制器有6個復位源:
(1)上電復位(POR);
(2)外部復位輸入引腳有效(RST);
(3)掉電檢測可以用於由以下任一事件引起:①
低於BOR0,觸發值是BOR0的
最高電壓值;②
低於BOR1,觸發值是BOR1的最高
電壓值。
(4)軟體啟動復位(利用軟體復位暫存器);
(5)違反看門狗復位條件;
(6)MOSC故障。

復位過程

復位時,執行下列順序:
(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輸入。

上電復位的順序

(1)微控制器等待內部POR變為無效;
(2)內部復位釋放,核心從記憶體載入初始堆疊指針、初始化程式計數器以及程式計數器指向的第一條指令,最後開始執行。

注意事項

(1)JTAG控制器只能被上電復位置位;
(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位時產生中斷。

掉電復位順序

(1)當
降低至
時,內部BOR條件將置位。
(2)如果BOR條件存在,則內部復位有效。
(3)內部復位釋放,微控制器獲取並載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。
掉電復位的效果等同於一次有效的外部RST輸入,並且該復位將會保持有效,直到
恢復到正確的電壓級別。在復位中斷處理程式中可以檢查RESC暫存器,以確定掉電條件是否是復位的原因,從而使軟體確定需要恢復哪些操作。

軟體復位

軟體可以復位某個特定的外設或者復位整個微控制器。通過系統控制偏移量0x500處開始的外設復位暫存器(例如看門狗定時器軟體復位(SRWD)暫存器),外設可以單獨由軟體復位。如果外設對應的位被置位並隨後清零,那么該外設被復位。
包括核心在內的整個微控制器,可以通過設定套用中斷和復位控制暫存器的SYSESREQ位實現復位。

系統復位序列

(1)通過置位SYSESREQ位即可產生軟體微控制器復位;
(2)內部復位有效;
(3)內部復位釋放,微控制器從存儲器載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。
核心只能由設定APINT暫存器中的ECTRESET位實現復位。

核心復位序列

(1)核心復位通過設定VECRTESET位啟動;
(2)內部復位有效;
(3)內部復位釋放,微控制器從存儲器載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。

看門狗定時器復位

看門狗定時器模組

看門狗定時器模組的功能是阻止系統掛起。TM4C123GH6PM微控制器有兩個看門狗定時器模組,以防止其中一個看門狗時鐘源出現故障。一個看門狗脫離系統時鐘運行,另一個脫離精確內部振盪器(PIOSC)運行。除了由於PIOSC看門狗定時器模組處於不同的時鐘域,對暫存器的訪問必須在它們之間有一個時間延遲外,每個模組還應該以相同的方式運行。看門狗定時器可被配置為在第一次逾時的時候向微控制器產生一個中斷或者不可禁止中斷,在第二次逾時的時候產生一個復位。
看門狗第一次逾時事件後,32位看門狗計數器會重載看門狗定時器裝載暫存器(WDTLOAD)的值並從該值遞減計數。如果在第一次溢出中斷被清除之前,定時器遞減至零,並且復位信號使能,那么看門狗定時器將復位信號傳遞給微控制器

復位序列

(1)看門狗定時器第二次溢出時沒有被復位;
(2)內部復位有效;
(3)內部復位釋放,微控制器從存儲器載入初始堆疊指針、初始程式計數器以及由程式計數器指定的第一條指令,然後開始執行。

相關詞條

熱門詞條

聯絡我們