版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-復(fù)位控制

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

復(fù)位源6個復(fù)位源

TM4C123GH6PM微控制器有6個復(fù)位源:

(1)上電復(fù)位(POR);

(2)外部復(fù)位輸入引腳有效(RST);

(3)掉電檢測可以用于由以下任一事件引起:①低于BOR0,觸發(fā)值是BOR0的最高電壓值;②低于BOR1,觸發(fā)值是BOR1的最高電壓值。

(4)軟件啟動復(fù)位(利用軟件復(fù)位寄存器);

(5)違反看門狗復(fù)位條件;

(6)MOSC故障。1

復(fù)位過程復(fù)位時,執(zhí)行下列順序:

(1)讀取BOOTCFG寄存器。如果EN位被清除,則執(zhí)行ROM的Boot Loader。

(2)在ROM的Boot Loader下,將指定的GPIO引腳的狀態(tài)與規(guī)定的極性相比較。如果引腳狀態(tài)與指定的極性匹配,那么將ROM映射到地址0x00000000,并繼續(xù)執(zhí)行ROM的Boot Loader。

(3)如果EN位置位或引腳狀態(tài)與規(guī)定的極性不匹配,則讀取地址0x00000004的數(shù)據(jù)。如果這個地址的數(shù)據(jù)是0xFFFFFFFF,那么ROM映射到地址0x00000000并繼續(xù)ROM的Boot Loader。

(4)如果地址0x00000004的數(shù)據(jù)不是0xFFFFFFFF,那么堆棧指針(SP)將加載Flash地址0x00000000的數(shù)據(jù),程序計數(shù)器(PC)將加載地址0x00000004的數(shù)據(jù)。隨后用戶應(yīng)用程序開始執(zhí)行。1

上電復(fù)位(POR)電路監(jiān)測電源電壓(),并且在電源達到閾值(VDD_POK)時向包括JTAG在內(nèi)的所有內(nèi)部邏輯產(chǎn)生復(fù)位信號。當(dāng)片上的電源上電復(fù)位脈沖結(jié)束時,該微控制器必須在規(guī)定的工作參數(shù)范圍內(nèi)工作。當(dāng)應(yīng)用要求使用外部復(fù)位信號讓微控制器更長時間地保持在復(fù)位狀態(tài)時(相對使用內(nèi)部POR而言),可以使用PST輸入。1

上電復(fù)位的順序(1)微控制器等待內(nèi)部POR變?yōu)闊o效;

(2)內(nèi)部復(fù)位釋放,內(nèi)核從內(nèi)存加載初始堆棧指針、初始化程序計數(shù)器以及程序計數(shù)器指向的第一條指令,最后開始執(zhí)行。1

注意事項(1)JTAG控制器只能被上電復(fù)位置位;

(2)內(nèi)部POR只有在微控制器的最初上電時或者從睡眠模式喚醒時才有效。1

外部復(fù)位輸入引腳如果應(yīng)用程序僅適用于內(nèi)部的POR電路,那么RST輸入必須通過一個可選的上位電阻(0~100kΩ)連接到電源()。RST輸入濾波需要一個最小脈沖寬度的復(fù)位脈沖,以便復(fù)位脈沖被識破。外部復(fù)位引腳(RST)復(fù)位控制器,包括內(nèi)核和所有片上外設(shè)。

外部復(fù)位序列(1)外部復(fù)位引腳(RST)由特定的聲明,然后失效。

(2)內(nèi)部復(fù)位釋放,內(nèi)核從內(nèi)存加載初始堆棧指針、初始化程序計數(shù)器以及程序計數(shù)器指向第一條指令,最后開始執(zhí)行。1

注意事項(1)建議RST信號的跟蹤線路越短越好。確保連接RST信號的任何元件布置的盡可能靠近微控制器。

(2)為了提高抗干擾性和/或延遲上電復(fù)位,RST輸入可以連接一個RC網(wǎng)絡(luò)。1

掉電復(fù)位(BOR)觸發(fā)事件微控制器提供一個由以下事件觸發(fā)的掉電檢測電路:

(1)低于掉電檢測復(fù)位0(BOR0)。外部提供的電壓低于規(guī)定的BOR0值。觸發(fā)值是BOR0的最高電壓值。

(2)低于掉電檢測復(fù)位1(BOR1)。外部提供的電壓低于規(guī)定的BOR1值。觸發(fā)值是BOR1的最高電壓值。

該應(yīng)用程序通過讀取復(fù)位原因寄存器可以識別導(dǎo)致復(fù)位的BOR事件。當(dāng)檢測到掉電條件,默認(rèn)條件將產(chǎn)生一個復(fù)位。BOR事件也可以通過編程,在清除上電和掉電復(fù)位控制寄存器(PBORCTL)的BOR0位或BOR1位時產(chǎn)生中斷。1

掉電復(fù)位順序(1)當(dāng)降低至時,內(nèi)部BOR條件將置位。

(2)如果BOR條件存在,則內(nèi)部復(fù)位有效。

(3)內(nèi)部復(fù)位釋放,微控制器獲取并加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第一條指令,然后開始執(zhí)行。

掉電復(fù)位的效果等同于一次有效的外部RST輸入,并且該復(fù)位將會保持有效,直到恢復(fù)到正確的電壓級別。在復(fù)位中斷處理程序中可以檢查RESC寄存器,以確定掉電條件是否是復(fù)位的原因,從而使軟件確定需要恢復(fù)哪些操作。1

軟件復(fù)位軟件可以復(fù)位某個特定的外設(shè)或者復(fù)位整個微控制器。通過系統(tǒng)控制偏移量0x500處開始的外設(shè)復(fù)位寄存器(例如看門狗定時器軟件復(fù)位(SRWD)寄存器),外設(shè)可以單獨由軟件復(fù)位。如果外設(shè)對應(yīng)的位被置位并隨后清零,那么該外設(shè)被復(fù)位。

包括內(nèi)核在內(nèi)的整個微控制器,可以通過設(shè)置應(yīng)用中斷和復(fù)位控制寄存器的SYSESREQ位實現(xiàn)復(fù)位。1

系統(tǒng)復(fù)位序列(1)通過置位SYSESREQ位即可產(chǎn)生軟件微控制器復(fù)位;

(2)內(nèi)部復(fù)位有效;

(3)內(nèi)部復(fù)位釋放,微控制器從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第一條指令,然后開始執(zhí)行。

內(nèi)核只能由設(shè)置APINT寄存器中的ECTRESET位實現(xiàn)復(fù)位。1

內(nèi)核復(fù)位序列(1)內(nèi)核復(fù)位通過設(shè)置VECRTESET位啟動;

(2)內(nèi)部復(fù)位有效;

(3)內(nèi)部復(fù)位釋放,微控制器從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第一條指令,然后開始執(zhí)行。1

看門狗定時器復(fù)位看門狗定時器模塊看門狗定時器模塊的功能是阻止系統(tǒng)掛起。TM4C123GH6PM微控制器有兩個看門狗定時器模塊,以防止其中一個看門狗時鐘源出現(xiàn)故障。一個看門狗脫離系統(tǒng)時鐘運行,另一個脫離精確內(nèi)部振蕩器(PIOSC)運行。除了由于PIOSC看門狗定時器模塊處于不同的時鐘域,對寄存器的訪問必須在它們之間有一個時間延遲外,每個模塊還應(yīng)該以相同的方式運行。看門狗定時器可被配置為在第一次超時的時候向微控制器產(chǎn)生一個中斷或者不可屏蔽中斷,在第二次超時的時候產(chǎn)生一個復(fù)位。

看門狗第一次超時事件后,32位看門狗計數(shù)器會重載看門狗定時器裝載寄存器(WDTLOAD)的值并從該值遞減計數(shù)。如果在第一次溢出中斷被清除之前,定時器遞減至零,并且復(fù)位信號使能,那么看門狗定時器將復(fù)位信號傳遞給微控制器。1

復(fù)位序列(1)看門狗定時器第二次溢出時沒有被復(fù)位;

(2)內(nèi)部復(fù)位有效;

(3)內(nèi)部復(fù)位釋放,微控制器從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第一條指令,然后開始執(zhí)行。1