一種看門狗計(jì)時(shí)器及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子電路技術(shù)領(lǐng)域,尤其涉及一種看門狗計(jì)時(shí)器及其控制方法。
【背景技術(shù)】
[0002]看門狗計(jì)時(shí)器是一個(gè)硬件計(jì)時(shí)電路,可以用來(lái)監(jiān)測(cè)由軟件故障導(dǎo)致的系統(tǒng)故障。在多電壓域的微控制器(Micro Control Unit,簡(jiǎn)稱:MCU)芯片中,看門狗計(jì)時(shí)器包括計(jì)時(shí)器模塊和控制模塊兩個(gè)部分,這兩個(gè)部分工作在不同的電壓域??刂颇K工作在內(nèi)核電壓域,在低功耗狀態(tài)下,控制模塊會(huì)同內(nèi)核電壓域的其他部分一同被掉電,以節(jié)約功耗。計(jì)時(shí)器模塊工作在電源電壓域,以保證計(jì)時(shí)功能可以在內(nèi)核電壓域掉電的情況下正常工作。當(dāng)看門狗計(jì)時(shí)器進(jìn)行重載(也就是喂狗)操作時(shí),控制模塊的重載控制電路和計(jì)時(shí)器模塊會(huì)用握手通信的方式傳遞重載命令,重載控制電路會(huì)在重載完成后恢復(fù)為初始狀態(tài)。如果軟件程序在發(fā)出重載命令后立刻發(fā)出進(jìn)入低功耗狀態(tài)的命令,由于內(nèi)核電源被切斷,導(dǎo)致重載控制電路向計(jì)時(shí)器電路發(fā)送重載使能命令后,無(wú)法接收到計(jì)時(shí)器模塊發(fā)送的重載完成標(biāo)志,上述兩個(gè)電路間的握手通信無(wú)法正常完成,重載控制電路無(wú)法恢復(fù)為初始狀態(tài),會(huì)導(dǎo)致在退出低功耗狀態(tài)時(shí),看門狗計(jì)時(shí)器出現(xiàn)鎖死。
[0003]現(xiàn)有技術(shù)中一種解決方案是通過(guò)軟件規(guī)避上述問(wèn)題,即在重載操作時(shí),軟件程序不立即發(fā)出進(jìn)入低功耗狀態(tài)的命令,而是等待一定的時(shí)間后,確認(rèn)握手通信完成后再發(fā)送命令并進(jìn)入低功耗狀態(tài)。但是該技術(shù)方案一是需要通過(guò)軟件規(guī)避,給軟件開發(fā)帶來(lái)不必要的麻煩,二是等待一定的時(shí)間后進(jìn)入低功耗狀態(tài),導(dǎo)致MCU芯片的耗電更多,增加了 MCU芯片的功耗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提出一種看門狗計(jì)時(shí)器及其控制方法,用于避免看門狗計(jì)時(shí)器進(jìn)入鎖死狀態(tài),并降低MCU芯片的功耗。
[0005]為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
[0006]本發(fā)明的第一個(gè)方面是提供一種看門狗計(jì)時(shí)器,包括工作在內(nèi)核電壓域的控制模塊和工作在電源電壓域的計(jì)時(shí)器模塊:
[0007]所述控制模塊包括重載控制電路和重載超時(shí)電路,所述重載控制電路用于在接收到重載命令后,向所述計(jì)時(shí)器模塊轉(zhuǎn)發(fā)重載命令,以及在接收到計(jì)時(shí)器模塊反饋的重載完成標(biāo)志后恢復(fù)為初始狀態(tài);
[0008]所述重載超時(shí)模塊,用于監(jiān)控重載控制電路的重載過(guò)程是否超時(shí),并在重載過(guò)程超時(shí)時(shí)將所述重載控制電路復(fù)位,以使所述重載超時(shí)電路恢復(fù)狀態(tài);
[0009]所述計(jì)時(shí)器模塊,用于在接收到重載控制電路發(fā)送的重載命令后進(jìn)行重載操作,并向所述重載控制電路反饋重載完成標(biāo)志。
[0010]進(jìn)一步的,看門狗計(jì)時(shí)器還包括設(shè)置在所述控制模塊和所述計(jì)時(shí)器模塊之間的電平轉(zhuǎn)換電路,用于對(duì)所述控制模塊和所述計(jì)時(shí)器模塊之間傳輸?shù)男盘?hào)進(jìn)行電平轉(zhuǎn)換。
[0011]進(jìn)一步的,看門狗計(jì)時(shí)器還包括系統(tǒng)總線,所述重載控制模塊通過(guò)總線接口與所述系統(tǒng)總線連接,并通過(guò)所述總線接口接收所述重載命令。
[0012]進(jìn)一步的,上述控制模塊還包括配置寄存器,所述配置寄存器通過(guò)所述總線接口與系統(tǒng)總線連接,用于通過(guò)所述總線接口接收配置信息,并根據(jù)所述配置信息對(duì)所述計(jì)時(shí)器模塊進(jìn)行配置,以及獲取所述計(jì)時(shí)器模塊的工作狀態(tài)信息。
[0013]進(jìn)一步的,上述配置信息包括計(jì)時(shí)范圍、計(jì)時(shí)速度和計(jì)時(shí)是否使能中的至少一項(xiàng),所述工作狀態(tài)信息包括當(dāng)前計(jì)時(shí)時(shí)刻信息。
[0014]進(jìn)一步的,上述重載超時(shí)電路具體用于在接收到重載命令后開始計(jì)時(shí),或在微控制器芯片從低功耗狀態(tài)恢復(fù)后開始計(jì)時(shí),并在計(jì)時(shí)達(dá)到預(yù)設(shè)時(shí)間,且所述重載控制電路未恢復(fù)為初始狀態(tài)后,將所述重載控制電路復(fù)位。
[0015]進(jìn)一步的,所述預(yù)設(shè)時(shí)間大于計(jì)時(shí)器模塊從開始重載操作到反饋重載完成標(biāo)志所需的時(shí)間。
[0016]上述計(jì)時(shí)器模塊從開始重載操作到反饋重載完成標(biāo)志所需的時(shí)間為3?5個(gè)電源電壓域的低速時(shí)鐘的時(shí)鐘周期。
[0017]本發(fā)明的第二個(gè)方面是提供一種看門狗計(jì)時(shí)器的控制方法,用于上述的看門狗計(jì)時(shí)器進(jìn)行控制,包括:
[0018]重載控制電路接收到重載命令后,向計(jì)時(shí)器模塊發(fā)送重載命令;
[0019]微控制器芯片的內(nèi)核電壓域掉電,并進(jìn)入低功耗狀態(tài);
[0020]所述微控制器的內(nèi)核電壓域重新供電,并從低功耗狀態(tài)中恢復(fù);
[0021]重載超時(shí)電路判斷所述重載控制電路在預(yù)設(shè)時(shí)間內(nèi)仍未恢復(fù)為初始狀態(tài)時(shí),將所述重載控制電路復(fù)位。
[0022]進(jìn)一步的,所述計(jì)時(shí)器模塊在接收到所述重載命令后進(jìn)行重載操作,并向所述重載控制電路反饋重載完成標(biāo)志;
[0023]所述重載控制電路在接收到所述重載完成標(biāo)志后恢復(fù)為初始狀態(tài)。
[0024]進(jìn)一步地,上述重載超時(shí)電路判斷所述重載控制電路在預(yù)設(shè)時(shí)間內(nèi)仍未恢復(fù)為初始狀態(tài),將所述重載控制電路復(fù)位包括:
[0025]所述重載超時(shí)電路在接收到重載命令后開始計(jì)時(shí),或在所述微控制器芯片從低功耗狀態(tài)中恢復(fù)后重新開始計(jì)時(shí),并在計(jì)時(shí)達(dá)到預(yù)設(shè)時(shí)間,且所述重載控制電路未恢復(fù)為初始狀態(tài)后,將所述重載控制電路復(fù)位。
[0026]進(jìn)一步的,所述預(yù)設(shè)時(shí)間大于計(jì)時(shí)器模塊從開始重載操作到反饋重載完成標(biāo)志所需的時(shí)間。
[0027]上述計(jì)時(shí)器模塊從開始重載操作到反饋重載完成標(biāo)志所需的時(shí)間為3?5個(gè)電源電壓域的低速時(shí)鐘的時(shí)鐘周期。
[0028]本發(fā)明提供的看門狗計(jì)時(shí)器及其控制方法,通過(guò)在控制模塊中設(shè)置重載超時(shí)電路,該重載超時(shí)電路用于監(jiān)控重載過(guò)程是否超時(shí),并在重載過(guò)程超時(shí)時(shí)將所述重載控制電路復(fù)位,以使重控制電路恢復(fù)為初始狀態(tài)。通過(guò)設(shè)置上述的重載超時(shí)電路,能夠解決在重載操作中,由于MCU芯片過(guò)快進(jìn)入低功耗狀態(tài),重載控制電路無(wú)法接收到計(jì)時(shí)器模塊反饋的重載完成標(biāo)志而導(dǎo)致的看門狗計(jì)時(shí)器鎖死的問(wèn)題,并且相對(duì)于軟件程序解決看門狗計(jì)時(shí)器鎖死的問(wèn)題,不再需要MCU芯片等待一定時(shí)間后進(jìn)入低功耗狀態(tài),能夠降低MCU芯片的功耗。
【附圖說(shuō)明】
[0029]為了更加清楚地說(shuō)明本發(fā)明示例性實(shí)施例的技術(shù)方案,下面對(duì)描述實(shí)施例中所需要用到的附圖做一簡(jiǎn)單介紹。顯然,所介紹的附圖只是本發(fā)明所要描述的一部分實(shí)施例的附圖,而不是全部的附圖,對(duì)于本領(lǐng)域普通技術(shù)人員,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖得到其他的附圖。
[0030]圖1為本發(fā)明實(shí)施例一提供的看門狗計(jì)時(shí)器的結(jié)構(gòu)示意圖;
[0031]圖2為本發(fā)明實(shí)施例二提供的看門狗計(jì)時(shí)器的控制方法的流程示意圖;
[0032]圖3為本發(fā)明實(shí)施例三提供的看門狗計(jì)時(shí)器的控制方法的流程示意圖。
【具體實(shí)施方式】
[0033]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下將結(jié)合本發(fā)明實(shí)施例中的附圖,通過(guò)【具體實(shí)施方式】,完整地描述本發(fā)明的技術(shù)方案。顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下獲得的所有其他實(shí)施例,均落入本發(fā)明的保護(hù)范圍之內(nèi)。
[0034]實(shí)施例一:
[0035]圖1為本發(fā)明實(shí)施例一提供的看門狗計(jì)時(shí)器的結(jié)構(gòu)示意圖,如圖1所示,該看門狗計(jì)時(shí)器包括工作在內(nèi)核電壓域的控制模塊I和工作在電源電壓域的計(jì)時(shí)器模塊2。上述的控制模塊I包括重載控制電路11和重載超時(shí)電路12,重載控制電路11用于在接收到重載命令后,向所述計(jì)時(shí)器模塊2轉(zhuǎn)發(fā)重載命令,以及在接收到計(jì)時(shí)器模塊2反饋的重載完成標(biāo)志后恢復(fù)為初始狀態(tài);重載超時(shí)電路12,用于監(jiān)控重載控制電路11的重載過(guò)程是否超時(shí),并在重載過(guò)程超時(shí)時(shí)將重載控制電路12復(fù)位,以使重載控制電路11恢復(fù)為初始狀態(tài);計(jì)時(shí)器模塊2,用于在接收到重載控制電路11發(fā)送的重載命令后進(jìn)行重載操作,并向所述重載控制電路11反饋重載完成標(biāo)志。
當(dāng)前第1頁(yè)
1 
2 
3