專利名稱:Cpu系統(tǒng)的抗干擾方法與系統(tǒng)及其誤差測(cè)量方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及CPU系統(tǒng)抗干擾設(shè)計(jì)的技術(shù)領(lǐng)域,尤其涉及一種軟硬件結(jié) 合的CPU系統(tǒng)的抗干擾方法及其系統(tǒng),及其CPU片內(nèi)晶體誤差測(cè)量方法及
其系統(tǒng)。
背景技術(shù):
在CPU系統(tǒng)的抗干擾設(shè)計(jì)中,為保證CPU系統(tǒng)工作主頻在任何情況下 都有效可靠是抗干擾設(shè)計(jì)的重點(diǎn)。針對(duì)這一要求,目前CPU抗干擾設(shè)計(jì)主 要有以下兩種方法
方法一、在軟件設(shè)計(jì)中,采用片外高精度的晶體作為CPU的時(shí)鐘輸入 源,硬件電路設(shè)計(jì)保證片外晶體在外界干擾沖擊下有效可靠。這種方法對(duì) 于設(shè)計(jì)者的硬件設(shè)計(jì)經(jīng)驗(yàn)要求較高,并且在實(shí)際應(yīng)用中通常需要進(jìn)行電路 的反復(fù)調(diào)整,因此該設(shè)計(jì)方法的難度相對(duì)較大,設(shè)計(jì)效率較低。
方法二、在軟件設(shè)計(jì)中采用片內(nèi)晶體作為CPU系統(tǒng)時(shí)鐘的輸入源,然 后,利用CPU芯片自身的抗千狀i殳計(jì)保i正CPU的主頻在受到外界干擾沖擊 下有效可靠。這種方法由于CPU片內(nèi)晶體受芯片設(shè)計(jì)技術(shù)的限制,片內(nèi)晶 體通常存在一定的誤差,并且該誤差隨CPU工作環(huán)境溫度,濕度等工作條 件的變化而變化,而CPU系統(tǒng)的串行數(shù)據(jù)接口控制器UART、脈寬調(diào)制 PWM和定時(shí)器等外設(shè)的工作頻率都是在系統(tǒng)時(shí)鐘的基礎(chǔ)上進(jìn)行分頻獲取, 因此,系統(tǒng)主頻的變化必然會(huì)導(dǎo)致定時(shí)器定時(shí)不準(zhǔn)確,UART(串行數(shù)據(jù)接 口控制器)通訊頻率和PWM (脈寬調(diào)制)輸出頻率等外設(shè)工作偏離設(shè)計(jì)目 標(biāo),從而引發(fā)在工作環(huán)境變化的情況下,CPU系統(tǒng)工作異常、甚至無(wú)法工作等問(wèn)題。
另外,現(xiàn)有技術(shù)中還有一些提出了 CPU系統(tǒng)受擾的檢測(cè)方法和快速恢 復(fù)方法,例如,其通過(guò)檢測(cè)CPU受擾狀態(tài),并實(shí)現(xiàn)了受擾后系統(tǒng)的快速恢 復(fù),但是其不能避免在外界干擾沖擊下CPU系統(tǒng)受擾復(fù)位的現(xiàn)象。
從上可見(jiàn),現(xiàn)有技術(shù)中均無(wú)法有效地實(shí)現(xiàn)在提高CPU系統(tǒng)抗干擾能力 的同時(shí),又保證CPU外設(shè)工作穩(wěn)定可靠、幾乎不受外界環(huán)境變化的影響, 因此,就需要對(duì)CPU系統(tǒng)的抗干擾設(shè)計(jì)作進(jìn)一步的改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種軟硬件結(jié)合的CPU系統(tǒng)抗千擾方法及其系 統(tǒng),解決了現(xiàn)有技術(shù)中,采用片外晶體作為CPU的時(shí)鐘源時(shí)CPU系統(tǒng)易受 外界干擾導(dǎo)致系統(tǒng)異常復(fù)位的問(wèn)題,以及采用片內(nèi)晶體作為CPU的工作時(shí) 鐘源時(shí)CPU工作主頻易受環(huán)境溫度變化影響,從而導(dǎo)致CPU外設(shè)工作不穩(wěn)
定、系統(tǒng)工作異常的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案
本發(fā)明的CPU系統(tǒng)的抗干擾方法,所述方法包括以下步驟
A、 設(shè)置CPU片內(nèi)時(shí)鐘單元作為系統(tǒng)時(shí)鐘源,同時(shí)設(shè)置一CPU片外時(shí) 鐘單元為CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;
B、 利用所述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算所述系統(tǒng) 時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差;
C、 根據(jù)計(jì)算獲得的誤差對(duì)CPU外設(shè)的工作頻率進(jìn)行補(bǔ)償。
其中,所述步驟A中,系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的工作頻率相同或成 比例。
其中,所述步驟A和步驟B之間還包括A0、設(shè)置誤差測(cè)量周期;Al、 判斷誤差測(cè)量周期是否到來(lái),若是,則執(zhí)行步驟B。
其中,在所述步驟B和C之間還包括以下步驟B01、判斷誤差計(jì)算結(jié)果是否在CPU片內(nèi)晶體振蕩器測(cè)量誤差的聲稱范圍;如果是,則判定誤 差計(jì)算結(jié)果有效,執(zhí)行步驟C。
其中,所述步驟B01還包括以下處理當(dāng)判斷誤差計(jì)算結(jié)果是在CPU 片內(nèi)晶體振蕩器測(cè)量誤差的聲稱范圍內(nèi)后,還判斷相鄰兩次有效誤差計(jì)算 結(jié)果的變化幅度是否在預(yù)設(shè)范圍內(nèi);若是,則判定誤差計(jì)算結(jié)果有效。
其中,所述步驟B中,通過(guò)分別記錄所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源在 一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù),來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
其中,所述步驟B按照以下步驟進(jìn)行
步驟Bll、預(yù)先將所述基準(zhǔn)時(shí)鐘源作為第一定時(shí)器的時(shí)鐘輸入源、并將 系統(tǒng)時(shí)鐘源作為第二定時(shí)器的時(shí)鐘輸入源;
步驟B12、系統(tǒng)啟動(dòng)運(yùn)行后,設(shè)置所述第一定時(shí)器的工作閾值,并設(shè) 置所述第二定時(shí)器自由計(jì)數(shù);
步驟B13、當(dāng)需要測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài)時(shí),啟動(dòng)所述第一定時(shí) 器和第二定時(shí)器開始計(jì)時(shí);
步驟B14、當(dāng)所述第一定時(shí)器達(dá)到預(yù)設(shè)工作閾值時(shí),中斷所述第一定 時(shí)器和第二定時(shí)器;
步驟B15、調(diào)用所述第一定時(shí)器和第二定時(shí)器的記錄結(jié)果,計(jì)算系統(tǒng) 時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
其中,所述步驟B中,通過(guò)分別記錄在振動(dòng)相同的預(yù)設(shè)次數(shù)時(shí)所述系 統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的實(shí)際工作時(shí)間,來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí) 鐘源的誤差。
采用上述方法的抗干擾系統(tǒng),包括基準(zhǔn)時(shí)鐘源電路,其利用晶體振 蕩電路在CPU芯片的外部提供一基準(zhǔn)時(shí)鐘源;第一定時(shí)器模塊,其時(shí)鐘信 號(hào)輸入端連接所述基準(zhǔn)時(shí)鐘源電路的輸出端,用于根據(jù)CPU芯片內(nèi)部或外 部的控制信號(hào)記錄基準(zhǔn)時(shí)鐘源的工作狀態(tài);第二定時(shí)器模塊,其時(shí)鐘信號(hào) 輸入端連4秦CPU的片內(nèi)時(shí)鐘單元所產(chǎn)生的系統(tǒng)時(shí)鐘源,用于才艮據(jù)CPU芯片內(nèi)部或外部的控制信號(hào)記錄所述系統(tǒng)時(shí)鐘源的工作狀態(tài);誤差計(jì)算模塊, 其與所述第一定時(shí)器;f莫塊和第二定時(shí)器模塊相連,用于從所述第一定時(shí)器 模塊和第二定時(shí)器模塊獲取記錄結(jié)果,并計(jì)算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn) 時(shí)鐘源的誤差;及補(bǔ)償校正模塊,用于接收來(lái)自所述誤差計(jì)算模塊的計(jì)算 結(jié)果,并根據(jù)計(jì)算結(jié)果修正CPU外設(shè)工作頻率。
其中,所述基準(zhǔn)時(shí)鐘源和系統(tǒng)時(shí)鐘源的工作頻率相同或成比例。 其中,所述系統(tǒng)中還包括一誤差判斷模塊,其位于所述誤差計(jì)算模塊 和補(bǔ)償校正^^莫塊之間,用于判斷所述誤差計(jì)算模塊計(jì)算結(jié)果的有效性,并 將判斷有效的計(jì)算結(jié)果送入所述補(bǔ)償校正才莫塊中。
其中,所述第一定時(shí)器模塊的一控制信號(hào)輸出端連接所述第二定時(shí)器 模塊的使能端,當(dāng)所述第一定時(shí)器模塊的計(jì)數(shù)達(dá)一預(yù)設(shè)閾值時(shí),使能使所 述第二定時(shí)器模塊停止計(jì)數(shù),用于記錄在預(yù)設(shè)時(shí)間內(nèi)的CPU系統(tǒng)片內(nèi)晶體 的振動(dòng)次數(shù)。
基于上述抗干擾方法及系統(tǒng),本發(fā)明還提供了一種CPU片內(nèi)晶體時(shí) 鐘源誤差的測(cè)量方法,所述方法包括以下步驟
第一步、設(shè)置CPU片內(nèi)時(shí)鐘單元作為系統(tǒng)時(shí)鐘源,同時(shí)設(shè)置CPU 片外時(shí)鐘單元為CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;
第二步、利用所述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算 所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
其中,所述第一步中,所述基準(zhǔn)時(shí)鐘源和系統(tǒng)時(shí)鐘源的工作頻率相同 或成比例的兩個(gè)晶體。
其中,所述第二步中,通過(guò)分別記錄所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源在 一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù),來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。 其中,所述第二步按照以下步驟進(jìn)行
步驟Bll、預(yù)先將所述基準(zhǔn)時(shí)鐘源作為第一定時(shí)器的時(shí)鐘輸入源、并將 系統(tǒng)時(shí)鐘源作為第二定時(shí)器的時(shí)鐘輸入源;步驟B12、系統(tǒng)啟動(dòng)運(yùn)行后,設(shè)置所述第一定時(shí)器的工作閾值,并設(shè)置 所述第二定時(shí)器自由計(jì)數(shù);
步驟B13、當(dāng)需要測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài)時(shí),啟動(dòng)所述第一定時(shí)器 和第二定時(shí)器開始計(jì)時(shí);
步驟B14、當(dāng)所述第一定時(shí)器達(dá)到預(yù)設(shè)工作閾值時(shí),中斷所述第一定時(shí) 器和第二定時(shí)器;
步驟B15、調(diào)用所述第一定時(shí)器和第二定時(shí)器的記錄結(jié)果,計(jì)算系統(tǒng)時(shí) 鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
其中,所述第二步中,通過(guò)分別記錄在振動(dòng)相同的預(yù)設(shè)次數(shù)時(shí)所述系 統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的實(shí)際工作時(shí)間,來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí) 鐘源的誤差。
其中,所述方法還包括以下步驟第三步、判斷誤差計(jì)算結(jié)果是否在 CPU片內(nèi)晶體"^展蕩器測(cè)量誤差的聲稱范圍;如果是,則判定誤差計(jì)算結(jié)果 有效。
其中,所述方法還包括以下步驟第四步、當(dāng)前誤差計(jì)算結(jié)果被判定 有效后,還判斷相鄰兩次有效誤差計(jì)算結(jié)果的變化幅度是否在預(yù)設(shè)范圍內(nèi); 若是,則判定誤差計(jì)算結(jié)果維持有效。
對(duì)應(yīng)上述誤差測(cè)量方法,本發(fā)明還提供了 一種CPU片內(nèi)晶體時(shí)鐘源誤 差的測(cè)量裝置,所述裝置包括基準(zhǔn)時(shí)鐘源電路,其利用晶體振蕩電路在 CPU芯片的外部提供一基準(zhǔn)時(shí)鐘源;第一定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端 連接所述基準(zhǔn)時(shí)鐘源電路的輸出端,用于根據(jù)CPU芯片內(nèi)部或外部的控制 信號(hào)記錄基準(zhǔn)時(shí)鐘源的工作狀態(tài);第二定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端連 接CPU的片內(nèi)時(shí)鐘單元所產(chǎn)生的系統(tǒng)時(shí)鐘源,用于根據(jù)CPU芯片內(nèi)部或外 部的控制信號(hào)記錄所述系統(tǒng)時(shí)鐘的工作狀態(tài);誤差計(jì)算模塊,其與所述第 一定時(shí)器模塊和第二定時(shí)器模塊相連,用于從所述第一定時(shí)器模塊和第二
定時(shí)器模塊獲取記錄結(jié)果,并計(jì)算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
其中,所述第一定時(shí)器模塊的一控制信號(hào)輸出端連接所述第二定時(shí)器 模塊的使能端,用于當(dāng)所述第一定時(shí)器模塊的計(jì)數(shù)達(dá)一預(yù)設(shè)閾值時(shí)輸出使 能信號(hào)使所述第二定時(shí)器模塊停止計(jì)數(shù)。
本發(fā)明通過(guò)采用片外晶體作為基準(zhǔn)源,對(duì)CPU片內(nèi)晶體實(shí)際工作頻率 與聲稱工作頻率的誤差進(jìn)行測(cè)量和計(jì)算,并根據(jù)計(jì)算誤差對(duì)CPU外設(shè)的工 作頻率進(jìn)行^務(wù)正,從而提高了 CPU系統(tǒng)的抗干擾能力,并保證在外部干擾 沖擊下,產(chǎn)生CPU系統(tǒng)主頻的時(shí)鐘源能有效可靠的工作,以及保證CPU 外設(shè)的工作頻率穩(wěn)定可靠。同時(shí),本發(fā)明還提了一種能對(duì)CPU片內(nèi)晶體實(shí)
際工作頻率與聲稱工作頻率的誤差進(jìn)行測(cè)量的方法和系統(tǒng),該測(cè)量方法操
作簡(jiǎn)單、能定時(shí)對(duì)CPU片內(nèi)晶體實(shí)際工作頻率進(jìn)行測(cè)量,從而實(shí)現(xiàn)了上述 抗干擾方法,達(dá)到了對(duì)CPU系統(tǒng)進(jìn)行抗干擾的功能。
本發(fā)明充分利用CPU自身的抗干擾設(shè)計(jì),在系統(tǒng)設(shè)計(jì)中采用CPU片內(nèi) 晶體振蕩器作為CPU系統(tǒng)時(shí)鐘,實(shí)現(xiàn)在外界干擾沖擊下CPU時(shí)鐘的有效可 靠;在軟件上以CPU片外晶體振蕩器工作作為參考源,定時(shí)進(jìn)行片內(nèi)晶體 實(shí)際工作頻率與聲稱頻率誤差的計(jì)算,并對(duì)測(cè)量結(jié)果的有效性進(jìn)行;險(xiǎn)測(cè), 如果當(dāng)前測(cè)量結(jié)果有效可靠,則根據(jù)測(cè)量結(jié)果對(duì)CPU外設(shè)工作頻率進(jìn)行補(bǔ) 償和校正,從而實(shí)現(xiàn)了 CPU在采用片內(nèi)晶體作為時(shí)鐘源時(shí),CPU外設(shè)工作 頻率穩(wěn)定有效,幾乎不受CPU系統(tǒng)工作環(huán)境變化的影響。
圖1為本發(fā)明方法的流程圖2為本發(fā)明最優(yōu)實(shí)施例的上電初始化程序和主循環(huán)程序的流程圖3為本發(fā)明最優(yōu)實(shí)施例的第一定時(shí)器中斷服務(wù)程序的流程圖4為本發(fā)明抗干擾系統(tǒng)的結(jié)構(gòu)示意圖5為本發(fā)明CPU片內(nèi)晶體誤差測(cè)量裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
以下結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。
如圖1所示,本發(fā)明通過(guò)軟硬結(jié)合實(shí)現(xiàn)了一種CPU系統(tǒng)的抗干擾方法, 其主要按照以下步驟進(jìn)行首先、預(yù)先通過(guò)軟件在CPU系統(tǒng)中設(shè)置CPU 片內(nèi)時(shí)鐘單元作為系統(tǒng)時(shí)鐘源,同時(shí)通過(guò)硬件設(shè)置一 CPU片外時(shí)鐘單元為 CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;然后、利用上述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的 工作狀態(tài),并計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差er";其次、根據(jù)計(jì) 算獲得的誤差對(duì)CPU外設(shè)的工作頻率進(jìn)行補(bǔ)償(或校正)。CPU外設(shè)的工 作頻率通常與CPU的系統(tǒng)時(shí)鐘存在一定的函數(shù)關(guān)系,即y-f(x),其中y為 外設(shè)的工作頻率;x為CPU時(shí)鐘工作頻率;f()為CPU時(shí)鐘工作頻率與CPU 外設(shè)的工作主頻的函數(shù)關(guān)系式,其屬于已知技術(shù)。由于CPU片內(nèi)晶體振蕩 器偏離了聲稱工作頻率(此值是已知的,每一型號(hào)的CPU出廠時(shí)就已記錄 在其^(吏用手冊(cè)上),因此CPU系統(tǒng)時(shí)鐘實(shí)際工作頻率應(yīng)為xx(l+^"),此處 應(yīng)注意誤差ew。計(jì)算的極性。所以通過(guò)計(jì)算獲得的誤差e廳o計(jì)算CPU系統(tǒng) 時(shí)鐘的實(shí)際工作頻率xx(l+^rQ),然后將系統(tǒng)時(shí)鐘的實(shí)際工作頻率帶入 CPU外設(shè)主頻計(jì)算公式,即可求得CPU外設(shè)的校正設(shè)置值,并依此修正 CPU外設(shè)工作的頻率(如修正分頻系數(shù))。
為了減少系統(tǒng)資源的占用和實(shí)時(shí)操作對(duì)CPU的損傷,上述抗干擾過(guò)程 可以設(shè)定誤差測(cè)量周期,釆用定時(shí)測(cè)量的方式對(duì)上述系統(tǒng)時(shí)鐘源(即CPU 片內(nèi)晶體振蕩器)的工作狀態(tài)進(jìn)行測(cè)量,具體操作時(shí)可以是在系統(tǒng)啟動(dòng) 運(yùn)行后,設(shè)置誤差測(cè)量周期,然后判斷誤差測(cè)量周期是否到來(lái),若測(cè)量周 期到來(lái),則利用上述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算所述
誤差e To。
上述抗干擾過(guò)程中,利用了一種晶體誤差的測(cè)量方法,其原理是,工 作頻率相同或者成比例的兩個(gè)晶體在單位時(shí)間內(nèi)振動(dòng)次數(shù)或單位振動(dòng)次數(shù)
所用的時(shí)間應(yīng)相等或者成比例。所以本發(fā)明在選用CPU片外晶體振蕩器形成基準(zhǔn)時(shí)鐘源時(shí),需要選用與CPU片內(nèi)晶體振蕩器工作頻率相同或成比例
的晶體,即使上述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的工作頻率相同或成比例。基
于上述原理,上述晶體誤差測(cè)量時(shí)可能有以下兩種實(shí)現(xiàn)方式
第一種,通過(guò)分別記錄系統(tǒng)時(shí)鐘源(即CPU片內(nèi)晶體振蕩器)和基準(zhǔn) 時(shí)鐘源(即CPU片外時(shí)鐘單元晶體振蕩器)在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù), 來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差率,其計(jì)算公式可以如下
e;r = ~^-x 100% ( 1 )
其中,m"為誤差率,coeif為所述基準(zhǔn)時(shí)鐘源的標(biāo)準(zhǔn)頻率與系統(tǒng)時(shí)鐘源 的標(biāo)準(zhǔn)工作頻率(即理^侖工作頻率)的比例系^t, on/"狄2為系統(tǒng)時(shí)鐘源在 一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù),co""^1為基準(zhǔn)時(shí)鐘源在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次 數(shù)。
第二種,通過(guò)分別記錄在振動(dòng)相同的預(yù)設(shè)次數(shù)時(shí)所述系統(tǒng)時(shí)鐘源和基 準(zhǔn)時(shí)鐘源的實(shí)際工作時(shí)間,來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差率, 其計(jì)算公式可以如下
,"—(飾^)x藝 (2)
其中,m"為誤差率,coe^為基準(zhǔn)時(shí)鐘源的標(biāo)準(zhǔn)頻率與系統(tǒng)時(shí)鐘源的標(biāo) 準(zhǔn)工作頻率(即理論工作頻率)的比例系數(shù),r2為在預(yù)設(shè)振動(dòng)次數(shù)下系統(tǒng) 時(shí)鐘源的實(shí)際工作時(shí)間,ri為在預(yù)設(shè)振動(dòng)次數(shù)下基準(zhǔn)時(shí)鐘源的實(shí)際工作時(shí) 間。
上述第一種實(shí)現(xiàn)方式,在具體操作上可以優(yōu)選采用如下方式采集測(cè)量 數(shù)據(jù)
步驟l、預(yù)先將基準(zhǔn)時(shí)鐘源作為第一定時(shí)器的時(shí)鐘輸入源、并將系統(tǒng)時(shí)
鐘源作為第二定時(shí)器的時(shí)鐘輸入源;
步驟2、系統(tǒng)啟動(dòng)運(yùn)行后,設(shè)置第一定時(shí)器的工作閾值,并設(shè)置第二定時(shí)器自由計(jì)數(shù);
步驟3、當(dāng)需要測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài)時(shí),即上述晶體誤差測(cè)量周 期到來(lái)時(shí),同時(shí)啟動(dòng)第一定時(shí)器和第二定時(shí)器開始計(jì)時(shí);
步驟4、當(dāng)?shù)谝欢〞r(shí)器達(dá)到預(yù)設(shè)工作閾值時(shí),中斷第一定時(shí)器和第二定 時(shí)器;
步驟5、調(diào)用第一定時(shí)器和第二定時(shí)器的記錄結(jié)果,計(jì)算系統(tǒng)時(shí)鐘源相 對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
這里所提到的定時(shí)器可以是CPU芯片自帶的計(jì)數(shù)器/定時(shí)器,這樣可以 減少CPU外部硬件資源的利用,這時(shí)定時(shí)器的啟動(dòng)/中斷控制信號(hào)來(lái)自CPU 芯片的內(nèi)部,如圖4所示;但如果希望晶體誤差的測(cè)量裝置能獨(dú)立使用, 且獨(dú)立于CPU系統(tǒng)之外,則也可以通過(guò)元器件在CPU芯片的外部搭建的計(jì) 數(shù)器/定時(shí)器及其相應(yīng)的外部單元來(lái)實(shí)現(xiàn)上述測(cè)量過(guò)程,這時(shí)定時(shí)器的啟動(dòng)/ 中斷控制信號(hào)來(lái)自CPU芯片的外部,如圖5所示的控制單元500。
若上述過(guò)程中采用上述第一種方式測(cè)量晶體誤差,則第一定時(shí)器的工
作閾值可以設(shè)置為基準(zhǔn)時(shí)鐘源在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù)COM"^"l,然后第
二定時(shí)器所記錄的結(jié)果即是系統(tǒng)時(shí)鐘源在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù) co"","2,據(jù)此結(jié)果可以按照上述^^式(1)計(jì)算誤差率wr。若采用上述第 二種方式測(cè)量晶體誤差,則也要用到上述兩個(gè)定時(shí)器進(jìn)行測(cè)量。例如,在 上述過(guò)程中增加兩個(gè)計(jì)時(shí)器,設(shè)定第一定時(shí)器和第二定時(shí)器具有相同的閾 值,然后利用上述兩個(gè)計(jì)時(shí)器對(duì)兩個(gè)定時(shí)分別進(jìn)行計(jì)時(shí),當(dāng)兩個(gè)定時(shí)器分 別到達(dá)計(jì)數(shù)閾值后,中斷相應(yīng)的計(jì)時(shí)器,然后分別讀取記錄第一定時(shí)器工 作時(shí)間的第一計(jì)時(shí)器的結(jié)果T1、記錄第二定時(shí)器工作時(shí)間的第二計(jì)時(shí)器的 結(jié)果T2,再代入上述公式(2)中進(jìn)行誤差率e/r的計(jì)算;或者采用以下另 一種方式假設(shè)基準(zhǔn)時(shí)源的周期是固定的,則第一定時(shí)器記錄的振動(dòng)次數(shù) 乘以基準(zhǔn)時(shí)源的周期可以得到相應(yīng)的基準(zhǔn)時(shí)間,所以,先設(shè)定第二定時(shí)器 的工作閾值為c^"wl,并啟動(dòng)第一定時(shí)器和第二定時(shí)器開始計(jì)數(shù),當(dāng)?shù)诙〞r(shí)器計(jì)數(shù)達(dá)到閾值后中斷兩個(gè)定時(shí)器,并讀取第一定時(shí)器的振動(dòng)次數(shù),然后將第一定時(shí)器的振動(dòng)次乘以基準(zhǔn)時(shí)源的周期可以得到第二定時(shí)器振動(dòng)onm^l次時(shí)所用的時(shí)間T2,而第一定時(shí)器振動(dòng)cow"加l次時(shí)所用的時(shí)間Tl為co"她H乘以基準(zhǔn)時(shí)源的周期,再將T2和Tl代入上述公式(2)中計(jì)算誤差率e/r。
當(dāng)然,上述測(cè)量方法所獲得的誤差測(cè)量結(jié)果并不一定是絕對(duì)有效的,因?yàn)镃PU系統(tǒng)的外界干擾沖擊會(huì)使片外晶體的工作頻率瞬間發(fā)生突變或失效,而這一突變或失效在相應(yīng)的計(jì)數(shù)器或定時(shí)器上則表現(xiàn)為單位時(shí)間內(nèi)計(jì)數(shù)的個(gè)數(shù)突變。但是,作為CPU系統(tǒng)片內(nèi)的晶體,其工作頻率幾乎不受CPU系統(tǒng)外界干擾沖擊的影響,因此在片內(nèi)晶體誤差測(cè)量的結(jié)果上表現(xiàn)為片內(nèi)晶體的誤差率超出CPU聲稱的片內(nèi)晶體誤差范圍,或者片內(nèi)晶體誤差率本次測(cè)量結(jié)果與上次測(cè)量的結(jié)果發(fā)生突變。所以就需要對(duì)上述過(guò)程測(cè)量并計(jì)算荻得的誤差率進(jìn)行有效性的檢驗(yàn),其主要包含以下兩個(gè)判斷條件
(1 )、將根據(jù)上述誤差測(cè)量過(guò)程計(jì)算獲得的誤差結(jié)果與CPU片內(nèi)晶體振蕩器測(cè)量誤差的聲稱范圍[-a。/。, a%](此范圍是已知的,每一型號(hào)的CPU出廠時(shí)就已記錄在其使用手冊(cè)上)進(jìn)行比較,判斷誤差計(jì)算結(jié)果是否在片內(nèi)晶體測(cè)量誤差的聲稱范圍,如果是,則判定誤差計(jì)算結(jié)果有效,此結(jié)果值可以用于對(duì)CPU外設(shè)的工作頻率進(jìn)行補(bǔ)償和校正,從而避免了誤操作。如果否,則判定誤差計(jì)算結(jié)果無(wú)效,放棄計(jì)算結(jié)果。
(2)、在執(zhí)行完上述第(1)個(gè)判斷后,若當(dāng)前誤差計(jì)算結(jié)果被判定有效,則還可以通過(guò)判斷相鄰兩次有效誤差計(jì)算結(jié)果的變化幅度是否在預(yù)設(shè)范圍[七%。,十b。/。。]內(nèi),來(lái)進(jìn)一步的提高誤差測(cè)量的有效性、確保不出現(xiàn)誤操作。在實(shí)際系統(tǒng)設(shè)計(jì)中,本發(fā)明可以通過(guò)檢測(cè)片內(nèi)晶體的誤差率ew是否在CPU片內(nèi)晶體振蕩器誤差率聲稱范圍[-a%, a%]內(nèi),且最近兩次測(cè)量的有效e〃變化幅度是否在[-b。/。。, +&%。]內(nèi),來(lái)保證誤差率計(jì)算的精度,如果本次測(cè)量的晶體誤差率滿足上述兩個(gè)條件,則當(dāng)本次片內(nèi)晶體的誤差率測(cè)量有效,可作為外設(shè)工作頻率補(bǔ)償和校正的依據(jù),否則放棄本次誤差測(cè)量結(jié)果,
重新進(jìn)行系統(tǒng)晶體誤差測(cè)量。上述提到的誤差率變化預(yù)設(shè)閾值[-b96。, +b%。]的取值由晶體誤差測(cè)量周期決疋,其主要根據(jù)兩次晶體誤差測(cè)量間隔大小來(lái)確定[-b96。, +1 %。]的取值,間隔越長(zhǎng)則[-b96。, +6%。]的取值就越大。例如,兩次誤差率的測(cè)量間隔為60S,則可以取晶體誤差率的最大聲稱值a。/。的十分之一作為晶體誤差突變4僉測(cè)閾值b%。。
下面結(jié)合圖2和圖3,詳細(xì)說(shuō)明本發(fā)明采用上述方法的一最優(yōu)實(shí)施例的工作流程,其主要通過(guò)軟件在CPU系統(tǒng)的主循環(huán)程序中寫入了執(zhí)行晶體誤差測(cè)量的功能,使得CPU系統(tǒng)具有了抗干擾能力。
如圖2所示,上電初始化程序
100,開始;
110,設(shè)置片內(nèi)晶體為系統(tǒng)時(shí)鐘源;120,上電初始化;
130,設(shè)置CPU片內(nèi)時(shí)鐘單元產(chǎn)生的系統(tǒng)時(shí)鐘源為第二定時(shí)器的時(shí)鐘輸入信號(hào),設(shè)置CPU片外時(shí)鐘單元產(chǎn)生的基準(zhǔn)時(shí)鐘源為第一定時(shí)器的時(shí)鐘輸入信號(hào);
140,設(shè)置晶體測(cè)量誤差周期,并設(shè)置第一定時(shí)器的計(jì)數(shù)閾值為co""^1 ,設(shè)置第二定時(shí)器的工作模式為自由計(jì)數(shù)才莫式;
150,進(jìn)入主循環(huán)程序,測(cè)量并計(jì)算系統(tǒng)時(shí)鐘源的誤差;
160,判斷晶體測(cè)量誤差周期是否到來(lái),若是則執(zhí)行步驟170;若否則執(zhí)行步驟190;
170,啟動(dòng)第一定時(shí)器和第二定時(shí)器開始計(jì)數(shù);
180,當(dāng)?shù)谝欢〞r(shí)器計(jì)數(shù)達(dá)閾值時(shí),中斷第一定時(shí)器和第二定時(shí)器,并進(jìn)入第 一定時(shí)器中斷服務(wù)程序;
190,進(jìn)入模塊軟件其他功能循環(huán)程序;200,結(jié)束。如圖3所示,第一定時(shí)器中斷服務(wù)程序如下所示 300,開始;
310,關(guān)閉第一定時(shí)器和第二定時(shí)器;
320,讀取第二定時(shí)器中的計(jì)數(shù)值COM"to"2;
.330,按照上述公式(1 )計(jì)算誤差率err;
340,判斷誤差率m"在CPU晶體誤差率聲稱范圍[-a。/。,a。/。]內(nèi);若是則 執(zhí)行步驟350,并保存此有效誤差率ms若否則執(zhí)行步驟360,放棄此次計(jì) 算結(jié)果;
350,判斷最近兩次測(cè)量的有效ew變化幅度是否在預(yù)設(shè)范圍[-b%。, +b%。] 內(nèi);若是,則根據(jù)此誤差率e,r校準(zhǔn)和補(bǔ)償系統(tǒng)定時(shí)器,對(duì)外設(shè)工作頻率(如 UART和PWM的工作頻率等)進(jìn)行修正;若否,則執(zhí)行步驟360,放棄此 次計(jì)算結(jié)果;
360,結(jié)束。
基于上述方法的基礎(chǔ)上,本發(fā)明還提供了一種應(yīng)用于CPU系統(tǒng)上的抗 干擾系統(tǒng),如圖4所示,其主要可以包括以下幾個(gè)主要部件
基準(zhǔn)時(shí)鐘源電路400,其利用晶體振蕩電路在CPU芯片的外部提供一 基準(zhǔn)時(shí)鐘源;
第一定時(shí)器模塊401,其時(shí)鐘信號(hào)輸入端連接基準(zhǔn)時(shí)鐘源電路400的輸 出端,用于根據(jù)CPU芯片內(nèi)部或外部的控制信號(hào)記錄基準(zhǔn)時(shí)鐘源的工作狀
態(tài); ■
第二定時(shí)器模塊402,其時(shí)鐘信號(hào)輸入端連接CPU的片內(nèi)時(shí)鐘單元所 產(chǎn)生的系統(tǒng)時(shí)鐘源403,用于根據(jù)CPU芯片內(nèi)部或外部的控制信號(hào)記錄系 統(tǒng)時(shí)鐘源的工作狀態(tài);
誤差計(jì)算模塊404,其與所述第一定時(shí)器模塊和第二定時(shí)器模塊相連, 用于從第一定時(shí)器模塊401和第二定時(shí)器模塊402獲取記錄結(jié)果,并計(jì)算 系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差;補(bǔ)償校正模塊406,用于接收來(lái)自誤差計(jì)算模塊404的計(jì)算結(jié)果,并根 據(jù)計(jì)算結(jié)果修正CPU外設(shè)工作的頻率407。如圖4所述,上述第一定時(shí)器 模塊401、第二定時(shí)器模塊402均可以使用CPU芯片自帶的計(jì)粉定時(shí)器, 而誤差計(jì)算模塊404、補(bǔ)償校正模塊406均可以通過(guò)軟件編程在CPU芯片 的內(nèi)部實(shí)現(xiàn)。當(dāng)然本發(fā)明不限于此,上述第一定時(shí)器模塊401、第二定時(shí)器 模塊402、誤差計(jì)算模塊404、補(bǔ)償校正模塊406也可以通過(guò)獨(dú)立元件在 CPU芯片的外部組建電路實(shí)現(xiàn)上述功能。
而在上述誤差計(jì)算才莫塊404和補(bǔ)償;歐正模塊406之間還可以增加一誤 差判斷模塊405,其用于判斷誤差計(jì)算模塊404計(jì)算結(jié)果的有效性(此有效 性的判斷詳見(jiàn)上述說(shuō)明),并將判斷有效的計(jì)算結(jié)果送入補(bǔ)償校正模塊406 中,且保存至系統(tǒng)的存儲(chǔ)介質(zhì)中,以提高系統(tǒng)測(cè)量和補(bǔ)償?shù)木_度,保證 不出現(xiàn)誤操作。在具體操作時(shí),如果采樣上述公式(1)計(jì)算誤差率e/r, 則第一定時(shí)器才莫塊401的一控制信號(hào)輸出端連接第二定時(shí)器模塊402的使 能端,當(dāng)?shù)谝欢〞r(shí)器模塊401的計(jì)數(shù)達(dá)到預(yù)設(shè)閾值時(shí),使第二定時(shí)器模塊 402停止計(jì)數(shù),并啟動(dòng)圖3所示的中斷服務(wù)程序;當(dāng)然這一定時(shí)器的結(jié)果進(jìn) 行適當(dāng)?shù)膿Q算后,亦可采用公式(2)計(jì)算誤差率e/r。
同理,如圖4所示,上述抗干擾系統(tǒng)中除去補(bǔ)償校正模塊及誤差判斷 模塊,即圖5所示的CPU片內(nèi)晶體誤差測(cè)量裝置。如圖5所示的測(cè)量裝置 可以獨(dú)立于CPU芯片而存在,其通過(guò)在CPU芯片的外部利用元器件構(gòu)建第 一定時(shí)器模塊401、第二定時(shí)器模塊402、誤差計(jì)算模塊404來(lái)實(shí)現(xiàn)相同的 功能,同時(shí)增加一控制單元500在CPU芯片的外部為第一定時(shí)器模塊401、 第二定時(shí)器模塊402提供控制信號(hào)。當(dāng)然,本發(fā)明不限于此,也可以利用 被測(cè)CPU芯片自帶的計(jì)凄t/定時(shí)器,那么其啟動(dòng)/中斷控制信號(hào)可以通過(guò)軟 件設(shè)置由CPU芯片的內(nèi)部發(fā)出,并且其誤差計(jì)算模塊也可以通過(guò)軟件在 CPU芯片的內(nèi)部實(shí)現(xiàn)。
綜上所述,本發(fā)明晶體誤差測(cè)量及補(bǔ)償校正的各個(gè)功能模塊,如第一定時(shí)器模塊、第二定時(shí)器模塊可以采用CPU芯片自帶的計(jì)凄w定時(shí)器,也可 以使用獨(dú)立元器件在CPU芯片的外部構(gòu)建等等組建方式,本發(fā)明不限于是 通過(guò)軟件并結(jié)合硬件在CPU系統(tǒng)的內(nèi)部實(shí)現(xiàn)上述誤差測(cè)量或CPU系統(tǒng)抗干 擾功能的,或采用硬件在CPU系統(tǒng)的外部搭建獨(dú)立電路來(lái)實(shí)現(xiàn)誤差測(cè)量或 CPU系統(tǒng)抗干擾功能的,均應(yīng)在本發(fā)明的保護(hù)范圍內(nèi)。但是,本發(fā)明優(yōu)選 采用軟件并結(jié)合硬件在CPU系統(tǒng)內(nèi)部實(shí)現(xiàn)抗干擾功能的設(shè)計(jì),這樣做節(jié)省
了硬件資源,更減少了對(duì)硬件的調(diào)試工作,適應(yīng)性、靈活性更強(qiáng)。本發(fā)明
主要是提出了一種軟硬件相結(jié)合CPU系統(tǒng)抗干擾設(shè)計(jì)方案,并同時(shí)提供了 一種對(duì)CPU片內(nèi)晶體的誤差進(jìn)行測(cè)量的方法及裝置結(jié)構(gòu),其通過(guò)檢測(cè)片內(nèi) 晶體的誤差來(lái)修正CPU外設(shè)的工作頻率,從而在提高CPU系統(tǒng)抗干擾能力 的同時(shí),又可以保證CPU外設(shè)工作穩(wěn)定可靠,幾乎不受外界環(huán)境變化的影 響,并且降低了 CPU系統(tǒng)板卡硬件抗干擾設(shè)計(jì)的難度,而且避免了系統(tǒng)在 遇到外界干擾時(shí)異常復(fù)位的現(xiàn)象發(fā)生。采用本發(fā)明的方法所設(shè)計(jì)的CPU系
統(tǒng)在抗電刀、抗靜電和溫度測(cè)試等測(cè)試中,工作穩(wěn)定可靠、無(wú)異常復(fù)位發(fā)
生、以及無(wú)CPU外設(shè)工作異常的現(xiàn)象發(fā)生,完全滿足CPU系統(tǒng)的抗干擾設(shè)
計(jì)要求。
應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以 改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù) 范圍。
權(quán)利要求
1、一種CPU系統(tǒng)的抗干擾方法,其特征在于,所述方法包括以下步驟A、設(shè)置CPU片內(nèi)時(shí)鐘單元為系統(tǒng)時(shí)鐘源,同時(shí)設(shè)置CPU片外時(shí)鐘單元為CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;B、利用所述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差;C、根據(jù)計(jì)算獲得的誤差對(duì)CPU外設(shè)的工作頻率進(jìn)行補(bǔ)償。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中,系統(tǒng) 時(shí)鐘源和基準(zhǔn)時(shí)鐘源的工作頻率相同或成比例。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A和步驟B 之間還包括A0、設(shè)置誤差測(cè)量周期;Al、判斷誤差測(cè)量周期是否到來(lái),若是,則執(zhí)行步驟B。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟B和C之 間還包括以下步驟B01、判斷誤差計(jì)算結(jié)果是否在CPU片內(nèi)晶體振蕩器測(cè)量誤差的聲稱 范圍;如果是,則判定誤差計(jì)算結(jié)果有效,執(zhí)行步驟C 。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟BOl包括以 下處理當(dāng)判斷誤差計(jì)算結(jié)果是在CPU片內(nèi)晶體振蕩器測(cè)量誤差的聲稱范 圍內(nèi)后,還判斷相鄰兩次有效誤差計(jì)算結(jié)杲的變化幅度是否在預(yù)設(shè)范圍內(nèi); 若是,則判定誤差計(jì)算結(jié)果有效。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B中,通過(guò) 分別記錄所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù),來(lái)計(jì) 算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟B包括以下 步驟步驟Bll、預(yù)先將所述基準(zhǔn)時(shí)鐘源作為第一定時(shí)器的時(shí)鐘輸入源、并將 系統(tǒng)時(shí)鐘源作為第二定時(shí)器的時(shí)鐘輸入源;步驟B12、設(shè)置所述第一定時(shí)器的工作閾值,并設(shè)置所述第二定時(shí)器自 由計(jì)數(shù);步驟B13、當(dāng)需要測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài)時(shí),啟動(dòng)所述第一定時(shí)器 和第二定時(shí)器開始計(jì)時(shí);步驟B14、當(dāng)所述第一定時(shí)器達(dá)到預(yù)設(shè)工作閾值時(shí),中斷所述第一定時(shí)器和第二定時(shí)器;步驟B15、調(diào)用所述第一定時(shí)器和第二定時(shí)器的記錄結(jié)果,計(jì)算所述系 統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
8、 #4&權(quán)利要求1所述的方法,其特征在于,所述步驟B中,通過(guò) 分別記錄在振動(dòng)相同的預(yù)設(shè)次數(shù)時(shí)所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的實(shí)際工 作時(shí)間,來(lái)計(jì)算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
9、 一種應(yīng)用于CPU系統(tǒng)上的抗干擾系統(tǒng),其特征在于,所述系統(tǒng) 包括基準(zhǔn)時(shí)鐘源電路,其利用晶體振蕩電路在CPU芯片的外部提供一基準(zhǔn) 時(shí)鐘源;第一定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端連接所述基準(zhǔn)時(shí)鐘源電路的輸出 端,用于記錄基準(zhǔn)時(shí)鐘源的工作狀態(tài);第二定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端連接CPU的片內(nèi)時(shí)鐘單元所產(chǎn)生 的系統(tǒng)時(shí)鐘源,用于記錄所述系統(tǒng)時(shí)鐘源的工作狀態(tài);誤差計(jì)算才莫塊,其與所述第一定時(shí)器模塊和第二定時(shí)器模塊相連,用 于從所述第一定時(shí)器模塊和第二定時(shí)器模塊獲取記錄結(jié)果,并計(jì)算所述系 統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差;及補(bǔ)償校正模塊,用于接收來(lái)自所述誤差計(jì)算模塊的計(jì)算結(jié)果,并根據(jù) 計(jì)算結(jié)果修正CPU外設(shè)的工作頻率。
10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述基準(zhǔn)時(shí)鐘源和系 統(tǒng)時(shí)鐘源的工作頻率相同或成比例。
11、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)中還包括一 誤差判斷模塊,其位于所述誤差計(jì)算模塊和補(bǔ)償校正模塊之間,用于判斷 所述誤差計(jì)算模塊計(jì)算結(jié)果的有效性,并將判斷有效的計(jì)算結(jié)果送入所述 補(bǔ)償校正才莫塊中。
12、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第一定時(shí)器模塊 的一控制信號(hào)輸出端連接所述第二定時(shí)器模塊的使能端,用于當(dāng)所述第一 定時(shí)器模塊的計(jì)數(shù)達(dá)一預(yù)設(shè)閾值時(shí)輸出使能信號(hào),使所述第二定時(shí)器模塊 停止計(jì)數(shù)。
13、 一種CPU片內(nèi)晶體時(shí)鐘源誤差的測(cè)量方法,其特征在于,所述 方法包括以下步驟第一步、設(shè)置CPU片內(nèi)時(shí)鐘單元作為系統(tǒng)時(shí)鐘源,同時(shí)設(shè)置CPU 片外時(shí)鐘單元為CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;第二步、利用所述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算 所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
14、 根據(jù)權(quán)利要求13所述的方法,其特征在于,所述第一步中,所 述基準(zhǔn)時(shí)鐘源和系統(tǒng)時(shí)鐘源的工作頻率相同或成比例。
15、 根據(jù)權(quán)利要求13所述的方法,其特征在于,所述第二步中,通 過(guò)分別記錄所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源在一預(yù)設(shè)時(shí)間內(nèi)的振動(dòng)次數(shù),來(lái) 計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
16、 根據(jù)權(quán)利要求15所述的方法,其特征在于,所述第二步按照以 下步驟進(jìn)行步驟Bll、預(yù)先將所述基準(zhǔn)時(shí)鐘源作為第一定時(shí)器的時(shí)鐘輸入源、并將 系統(tǒng)時(shí)鐘源作為第二定時(shí)器的時(shí)鐘輸入源;步驟B12、設(shè)置所述第一定時(shí)器的工作閾值,并設(shè)置所述第二定時(shí)器自 由計(jì)數(shù);步驟B13、當(dāng)需要測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài)時(shí),啟動(dòng)所述第一定時(shí)器 和第二定時(shí)器開始計(jì)時(shí);步驟B14、當(dāng)所述第一定時(shí)器達(dá)到預(yù)設(shè)工作閾值時(shí),中斷所述第一定時(shí) 器和第二定時(shí)器;步驟B15、根據(jù)所述第一定時(shí)器和第二定時(shí)器的記錄結(jié)果,計(jì)算系統(tǒng)時(shí) 鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
17、 根據(jù)權(quán)利要求13所述的方法,其特征在于,所述第二步中,通 過(guò)分別記錄在振動(dòng)相同的預(yù)設(shè)次數(shù)時(shí)所述系統(tǒng)時(shí)鐘源和基準(zhǔn)時(shí)鐘源的實(shí)際 工作時(shí)間,來(lái)計(jì)算系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
18、 根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括以 下步驟第三步、判斷誤差計(jì)算結(jié)果是否在CPU片內(nèi)晶體振蕩器測(cè)量誤差的聲 稱范圍;如果是,則判定誤差計(jì)算結(jié)果有效。
19、 根據(jù)權(quán)利要求18所述的方法,其特征在于,所述方法還包括以 下步驟第四步、當(dāng)前誤差計(jì)算結(jié)果被判定有效后,還判斷相鄰兩次有效誤差 計(jì)算結(jié)果的變化幅度是否在預(yù)設(shè)范圍內(nèi);若是,則判定誤差計(jì)算結(jié)果有效。
20、 一種CPU片內(nèi)晶體時(shí)鐘源誤差的測(cè)量裝置,其特征在于,所述 裝置包括基準(zhǔn)時(shí)鐘源電路,其利用晶體振蕩電路在CPU芯片的外部提供一基準(zhǔn) 時(shí)鐘源;第一定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端連接所述基準(zhǔn)時(shí)鐘源電路的輸出 端,用于記錄基準(zhǔn)時(shí)鐘源的工作狀態(tài);第二定時(shí)器模塊,其時(shí)鐘信號(hào)輸入端連接CPU的片內(nèi)時(shí)鐘單元所產(chǎn)生 的系統(tǒng)時(shí)鐘源,用于記錄所述系統(tǒng)時(shí)鐘的工作狀態(tài);誤差計(jì)算模塊,其與所述第一定時(shí)器模塊和第二定時(shí)器模塊相連,用 于從所述第一定時(shí)器模塊和第二定時(shí)器模塊獲取記錄結(jié)果,并計(jì)算所述系 統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差。
21、 根據(jù)權(quán)利要求20所述的測(cè)量裝置,其特征在于,所述第一定時(shí) 器模塊的一控制信號(hào)輸出端連接所述第二定時(shí)器模塊的使能端,用于當(dāng)所 述第一定時(shí)器模塊的計(jì)數(shù)達(dá)一預(yù)設(shè)闊值時(shí)輸出使能信號(hào)使所述第二定時(shí)器 模塊停止計(jì)數(shù)。
全文摘要
本發(fā)明公開了一種CPU系統(tǒng)的抗干擾方法與系統(tǒng)及其誤差測(cè)量方法與系統(tǒng),其設(shè)置CPU系統(tǒng)片內(nèi)晶體作為系統(tǒng)時(shí)鐘源,同時(shí)設(shè)置一片外晶體為CPU系統(tǒng)提供基準(zhǔn)時(shí)鐘源;然后利用所述基準(zhǔn)時(shí)鐘源測(cè)量系統(tǒng)時(shí)鐘源的工作狀態(tài),并計(jì)算所述系統(tǒng)時(shí)鐘源相對(duì)于基準(zhǔn)時(shí)鐘源的誤差率;并根據(jù)計(jì)算獲得的誤差率對(duì)CPU外設(shè)的工作頻率進(jìn)行補(bǔ)償和校正。本發(fā)明提高了CPU系統(tǒng)的抗干擾能力,并保證在外部干擾沖擊下,產(chǎn)生CPU系統(tǒng)主頻的時(shí)鐘源能有效可靠的工作,以及保證CPU外設(shè)的工作頻率穩(wěn)定可靠。
文檔編號(hào)G06F11/00GK101470637SQ200710125749
公開日2009年7月1日 申請(qǐng)日期2007年12月27日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者伍曉宇, 博 何, 建 岑, 左鵬飛, 利 張 申請(qǐng)人:深圳邁瑞生物醫(yī)療電子股份有限公司