两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法及裝置的制作方法

文檔序號:6337557閱讀:298來源:國知局
專利名稱:一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及SoC設(shè)計領(lǐng)域,尤其涉及一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法。本發(fā)明還涉及實現(xiàn)該方法的裝置。
背景技術(shù)
SoC(System on a Chip,系統(tǒng)級芯片)片內(nèi)振蕩器是一種常用的提供系統(tǒng)時鐘的模擬模塊,相對于外部晶振加片內(nèi)PLL提供系統(tǒng)時鐘的硬件方案,片內(nèi)振蕩器具有面積小的優(yōu)點,因而廣泛應(yīng)用于對時鐘頻率和精度要求不高的SoC系統(tǒng)中。為了提高振蕩器輸出時鐘的精度,抵消生產(chǎn)制造過程中難以避免的工藝參數(shù)漂移,目前很多振蕩器的設(shè)計引入了動態(tài)調(diào)節(jié)輸出時鐘頻率的功能,即在振蕩器開啟時,通過調(diào)節(jié)振蕩器的配置參數(shù),在一定的頻率范圍內(nèi)動態(tài)調(diào)整輸出時鐘的頻率。但是,這也同時引入了新的問題,即如果在頻率切換過程中,振蕩器的輸出時鐘有毛刺或者占空比不理想,則基于振蕩器輸出時鐘工作的MCU執(zhí)行程序很有可能發(fā)生異常,甚至程序無法繼續(xù)執(zhí)行,進而使整個芯片無法正常工作。為了解決這一問題,可以采用在芯片內(nèi)增加時鐘控制邏輯的方法,使MCU在時鐘頻率發(fā)生切換的時間段內(nèi)暫時停止執(zhí)行程序,直至切換后的時鐘穩(wěn)定輸出時再繼續(xù)執(zhí)行程序,但其缺點是會增加硬件開銷,且增加的時鐘控制邏輯不具有普適性,不同的SoC系統(tǒng)往往需要設(shè)計不同的時鐘控制邏輯。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,它具有良好的移植性,且不會增加硬件開銷。為解決上述技術(shù)問題,本發(fā)明的預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,應(yīng)用在用戶程序中需要切換振蕩器頻率的位置處,定義該位置前、后的兩個程序段分別為應(yīng)用程序段一和應(yīng)用程序段二,則該方法包括以下步驟1)在應(yīng)用程序段一執(zhí)行完畢,振蕩器頻率調(diào)整前,查詢看門狗開啟記錄,若看門狗未被開啟過,則轉(zhuǎn)到步驟2);若看門狗已被開啟過,則轉(zhuǎn)到應(yīng)用程序段二 ;2)開啟看門狗,并設(shè)置看門狗開啟記錄;3)振蕩器頻率調(diào)整后,進行循環(huán)喂狗操作,若操作進行正常,則在操作完成后轉(zhuǎn)到步驟4);若操作發(fā)生中斷,則自動復(fù)位系統(tǒng),重新從應(yīng)用程序段一開始執(zhí)行;4)關(guān)閉看門狗,并轉(zhuǎn)到應(yīng)用程序段二。本發(fā)明要解決的另一技術(shù)問題是提供實現(xiàn)上述方法的裝置。 為解決上述技術(shù)問題,本發(fā)明的預(yù)防SoC振蕩器不穩(wěn)態(tài)的裝置,包括一 MCU,該MCU 上集成有看門狗和寄存器,看門狗用于監(jiān)測MCU的程序運行狀態(tài);寄存器用于存儲看門狗的開啟記錄,且該寄存器不會因MCU被復(fù)位而被復(fù)位。 本發(fā)明的預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法及裝置,利用看門狗監(jiān)測MCU的程序運行狀態(tài),當(dāng)振蕩器在調(diào)整輸出時鐘頻率過程中出現(xiàn)不穩(wěn)態(tài)時,看門狗自動復(fù)位MCU,以避免由振蕩器不穩(wěn)態(tài)而導(dǎo)致的SoC工作異常的情況發(fā)生,與現(xiàn)有的解決方案相比,本發(fā)明由于不需要改變SoC系統(tǒng)的時鐘控制邏輯電路設(shè)計,因此不會增加硬件電路開銷,同時由于本發(fā)明的方法所對應(yīng)的程序段相對獨立于用戶的既有程序,因此具有良好的移植性,能夠適用于不同的SoC系統(tǒng)。


圖1是本發(fā)明的程序段與用戶應(yīng)用程序段協(xié)同工作的流程示意圖;圖2是本發(fā)明的方法流程圖。
具體實施例方式為對本發(fā)明的技術(shù)內(nèi)容、特點與功效有更具體的了解,現(xiàn)結(jié)合圖示的實施方式,詳述如下本發(fā)明的預(yù)防SoC振蕩器不穩(wěn)態(tài)的裝置,適用于使用輸出頻率可動態(tài)調(diào)節(jié)的振蕩器來提供系統(tǒng)時鐘的SoC系統(tǒng),該裝置包括一 MCU (Micro Control Unit,微控制單元),該 MCU上集成有看門狗(watchdog)定時器和一寄存器,看門狗用于監(jiān)測MCU程序運行狀態(tài),寄存器用于存儲看門狗的開啟記錄,且該寄存器不會因MCU被復(fù)位而被復(fù)位。使用上述裝置預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,是在用戶的應(yīng)用程序中需要切換振蕩器頻率的位置處嵌入一個程序段。如圖1所示,應(yīng)用程序段一 210是該位置前的應(yīng)用程序段,應(yīng)用程序段二 230是該位置后的應(yīng)用程序段,本發(fā)明的程序段220嵌入到應(yīng)用程序段一 210和應(yīng)用程序段二 230之間。具體流程請參閱圖2所示,上電復(fù)位后,MCU開始執(zhí)行應(yīng)用程序段一 210。當(dāng)應(yīng)用程序段一 210執(zhí)行完畢,到達需要切換振蕩器頻率處時,MCU執(zhí)行本發(fā)明的程序段220,即(1)在振蕩器切換輸出時鐘的頻率前,MCU首先查詢寄存器的狀態(tài),如果寄存器的狀態(tài)記錄顯示看門狗未曾被開啟過,則按照MCU的操作流程,開啟看門狗,并將寄存器設(shè)置為看門狗開啟狀態(tài),然后繼續(xù)執(zhí)行后續(xù)步驟;如果寄存器的狀態(tài)記錄顯示看門狗已被開啟過,則退出本發(fā)明的程序段220,轉(zhuǎn)而執(zhí)行應(yīng)用程序段二 230 ;(2)在振蕩器切換輸出時鐘頻率后,按照振蕩器頻率切換后達到輸出穩(wěn)定所需要的時間要求,確定重新裝載看門狗定時器的時間間隔以及裝載的次數(shù),進行循環(huán)喂狗的操作。在振蕩器頻率切換過程中,如果輸出時鐘的頻率穩(wěn)定,則循環(huán)喂狗操作會正常進行,操作結(jié)束后,按照MCU的操作流程,關(guān)閉看門狗,然后MCU在調(diào)整后的振蕩器頻率下馬上開始執(zhí)行應(yīng)用程序段二 230 ;如果輸出時鐘的頻率不穩(wěn)定,則循環(huán)喂狗操作會由于程序執(zhí)行時發(fā)生諸如跳轉(zhuǎn)錯誤等異常情況而被中斷,此時,看門狗定時器向MCU發(fā)送一個復(fù)位信號, MCU系統(tǒng)被自動復(fù)位,并在調(diào)整后的振蕩器頻率下,重新從應(yīng)用程序段一 210開始執(zhí)行。如果發(fā)生了看門狗復(fù)位MCU系統(tǒng)的情況,則復(fù)位后的MCU在執(zhí)行到本發(fā)明程序段 220中的步驟(1)時,會在寄存器中查詢到看門狗已被開啟過的記錄,于是MCU將退出本發(fā)明程序段220,不再執(zhí)行后續(xù)的步驟O),而是轉(zhuǎn)到應(yīng)用程序段二 230。這樣,在執(zhí)行完畢本發(fā)明的程序段220后,振蕩器頻率已經(jīng)完成了切換,應(yīng)用程序段二就在調(diào)整后的振蕩器頻率下被執(zhí)行,如此,不僅達到了動態(tài)調(diào)整振蕩器工作頻率的目的,而且避免了因振蕩器輸出時鐘在調(diào)整過程中產(chǎn)生毛刺或者占空比不理想等不穩(wěn)態(tài)而影響SoC系統(tǒng)正常工作的問題。而且,由于本發(fā)明的程序段與用戶開發(fā)的其他應(yīng)用程序沒有關(guān)聯(lián),因此,可以很方便地嵌入到用戶既有程序中,從而使該方法具有了良好的移植性,能夠應(yīng)用于大多數(shù)使用頻率可調(diào)振蕩器的SoC系統(tǒng)。 以上僅列舉了本發(fā)明的一個實施例,該實施例僅用于解釋本發(fā)明,并非用于限制本發(fā)明。凡與上述實施例等效的變換與置換,均應(yīng)屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,應(yīng)用在用戶程序中需要切換振蕩器頻率的位置處,定義該位置前、后的兩個程序段分別為應(yīng)用程序段一和應(yīng)用程序段二,其特征在于,包括以下步驟1)在應(yīng)用程序段一執(zhí)行完畢,振蕩器頻率調(diào)整前,查詢看門狗開啟記錄,若看門狗未被開啟過,則轉(zhuǎn)到步驟2);若看門狗已被開啟過,則轉(zhuǎn)到應(yīng)用程序段二 ;2)開啟看門狗,并設(shè)置看門狗開啟記錄;3)振蕩器頻率調(diào)整后,進行循環(huán)喂狗操作,若操作進行正常,則在操作完成后轉(zhuǎn)到步驟 4);若操作發(fā)生中斷,則自動復(fù)位系統(tǒng),重新從應(yīng)用程序段一開始執(zhí)行;4)關(guān)閉看門狗,并轉(zhuǎn)到應(yīng)用程序段二。
2.如權(quán)利要求1所述的預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,其特征在于所述看門狗開啟記錄用一寄存器的狀態(tài)表示。
3.如權(quán)利要求1所述的預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,其特征在于所述步驟3)中, 喂狗的次數(shù)和時間間隔按照振蕩器頻率調(diào)整后達到穩(wěn)定輸出所需要的時間要求確定。
4.一種實現(xiàn)權(quán)利要求1所述方法的裝置,其特征在于包括一微控制單元,該微控制單元上集成有看門狗和寄存器,看門狗用于監(jiān)測微控制單元的程序運行狀態(tài);寄存器用于存儲看門狗的開啟記錄,且該寄存器不會因微控制單元被復(fù)位而被復(fù)位。
全文摘要
本發(fā)明公開了一種預(yù)防SoC振蕩器不穩(wěn)態(tài)的方法,應(yīng)用在用戶程序中需要切換振蕩器頻率的位置處,定義該位置前、后兩程序段分別為應(yīng)用程序段一和二,則步驟為1)振蕩器頻率調(diào)整前,查詢看門狗開啟記錄,若未開啟過,則開啟看門狗并設(shè)置開啟記錄;若已開啟過,則轉(zhuǎn)到應(yīng)用程序段二;2)振蕩器頻率調(diào)整后,進行循環(huán)喂狗操作,若正常,則關(guān)閉看門狗,轉(zhuǎn)到應(yīng)用程序段二;若異常,則復(fù)位,重新從應(yīng)用程序段一開始執(zhí)行。本發(fā)明還公開了實現(xiàn)該方法的裝置。該方法及裝置利用看門狗監(jiān)測MCU程序運行狀態(tài),當(dāng)振蕩器在頻率調(diào)整過程中出現(xiàn)不穩(wěn)態(tài)時,看門狗自動復(fù)位MCU,從而在不增加硬件開銷情況下,避免了由振蕩器不穩(wěn)態(tài)引發(fā)的芯片工作異常情況。
文檔編號G06F11/00GK102486742SQ20101057128
公開日2012年6月6日 申請日期2010年12月2日 優(yōu)先權(quán)日2010年12月2日
發(fā)明者顧福敏 申請人:上海華虹集成電路有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湘阴县| 女性| 依兰县| 马公市| 奈曼旗| 宜城市| 平阴县| 巴楚县| 奉节县| 沈阳市| 潢川县| 丘北县| 裕民县| 淅川县| 屯门区| 娄烦县| 长沙市| 沂水县| 定西市| 万安县| 兰考县| 遂川县| 东光县| 定日县| 囊谦县| 洞头县| 虎林市| 宜兰县| 饶河县| 宣化县| 台南市| 盐亭县| 泽州县| 道孚县| 河南省| 怀仁县| 南岸区| 通州市| 黔江区| 江源县| 台东市|