一種獲取高精度定時信號的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于嵌入式芯片技術(shù)領(lǐng)域,尤其涉及一種獲取高精度定時信號的方法和系統(tǒng)。
【背景技術(shù)】
[0002]某些嵌入式芯片,由于系統(tǒng)穩(wěn)定性、底層資源固化的原因?qū)е轮荒芴峁┫鄬π酒鲿r鐘頻率(例如微秒級)次級定時精度(例如毫秒級)的定時器,而在實際的開發(fā)過程中常常需要更高級即接近或等同于芯片主時鐘頻率定時精度(例如微秒級)的定時器,當(dāng)遇到需要微秒級定時精度的情況時,需要額外提供一顆微秒級定時精度的時鐘芯片來處理該情況,浪費人工物力。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例的目的在于提供一種獲取高精度定時信號的方法和系統(tǒng),以解決現(xiàn)有技術(shù)在高精度定時任務(wù)時需要額外提供高精度時鐘芯片的問題。
[0004]本發(fā)明實施例是這樣實現(xiàn)的,一種獲取高精度定時信號的方法,所述方法包括以下步驟:
[0005]設(shè)置待實現(xiàn)定時信號的分辨率T ;
[0006]根據(jù)所述分辨率對芯片進(jìn)行初始化,所述初始化包括:根據(jù)所述分辨率設(shè)置脈沖寬度調(diào)制信號的頻率F = 1/T和設(shè)置中斷信號的中斷沿;
[0007]將芯片的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳進(jìn)行連接,以使所述脈沖寬度調(diào)制信號輸出引腳輸出的脈沖寬度調(diào)制信號輸入所述中斷輸入引腳;
[0008]獲取所述中斷輸入引腳以所述頻率生成的反饋信號,如果所述反饋信號符合所述中斷沿,則將所述反饋信號設(shè)置為中斷信號,并將所述中斷信號設(shè)置為定時信號;其中,所述反饋信號為對所述脈沖寬度調(diào)制信號反饋的信號。
[0009]本發(fā)明實施例的另一目的在于提供一種獲取高精度定時信號的系統(tǒng),所述系統(tǒng)包括:
[0010]分辨率設(shè)置單元,用于設(shè)置待實現(xiàn)定時信號的分辨率T ;
[0011]初始化單元,用于根據(jù)所述分辨率設(shè)置單元設(shè)置的分辨率對芯片進(jìn)行初始化,所述初始化包括:根據(jù)所述待實現(xiàn)計時分辨率設(shè)置脈沖寬度調(diào)制信號的頻率F = 1/T和設(shè)置中斷信號的中斷沿;
[0012]連接單元,用于在所述初始化單元初始化之后,將芯片的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳進(jìn)行連接,以使所述脈沖寬度調(diào)制信號輸出引腳輸出的脈沖寬度調(diào)制信號輸入所述中斷輸入引腳;
[0013]定時信號設(shè)置單元,用于根據(jù)所述連接單元進(jìn)行的連接獲取所述中斷輸入引腳以所述頻率生成的反饋信號,如果所述反饋信號符合所述中斷沿,則將所述反饋信號設(shè)置為中斷信號,并將所述中斷信號設(shè)置為定時信號,其中所述反饋信號為對所述脈沖寬度調(diào)制信號反饋的信號。
[0014]本發(fā)明實施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實施例根據(jù)定時信號的分辨率設(shè)置PWM信號的頻率,通過連接PWM引腳和INT引腳,獲取INT引腳生成的對輸入的PWM信號的反饋信號,并根據(jù)預(yù)設(shè)的中斷沿,判斷反饋信號是否為中斷信號,并將中斷信號設(shè)置為定時信號,使得終端可以以PWM信號的頻率接收中斷信號,將中斷信號設(shè)置為定時信號,即可實現(xiàn)與PWM信號分辨率等同高分辨率的定時功能。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實施例提供的獲取高精度定時信號方法的流程圖;
[0017]圖2是本發(fā)明實施例提供的通過定時信號進(jìn)行定時任務(wù)的流程圖;
[0018]圖3是本發(fā)明實施例提供的獲取高精度定時信號系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0019]以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具體細(xì)節(jié),以便透切理解本發(fā)明實施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體細(xì)節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、系統(tǒng)、電路以及方法的詳細(xì)說明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。
[0020]為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。
[0021]實施例一
[0022]如圖1所示為本發(fā)明實施例提供的獲取高精度定時信號方法的流程圖,所述方法包括以下步驟:
[0023]在步驟S101中,設(shè)置待實現(xiàn)定時信號的分辨率T。
[0024]在本發(fā)明實施例中,終端首先設(shè)置待實現(xiàn)定時信號的分辨率T,該定時信號的分辨率T接近或等于芯片主時鐘頻率,優(yōu)選的,該定時信號的分辨率為微秒級,如:假設(shè)待實現(xiàn)定時信號的分辨率為1 μ S (微秒),則終端將待實現(xiàn)定時信號的分辨率τ設(shè)置為1微秒。
[0025]在步驟S102中,根據(jù)所述分辨率對芯片進(jìn)行初始化,所述初始化包括:根據(jù)所述待實現(xiàn)分辨率Τ設(shè)置脈沖寬度調(diào)制信號的頻率F = 1/Τ和設(shè)置中斷信號的中斷沿。
[0026]在本發(fā)明實施例中,終端在設(shè)置了待實現(xiàn)定時信號的分辨率之后,根據(jù)該分辨率對芯片進(jìn)行初始化,該初始化包括:
[0027]1、根據(jù)所述分辨率設(shè)置脈沖寬度調(diào)制信號的頻率F = 1/Τ。
[0028]在本發(fā)明實施例中,脈沖寬度調(diào)制(Pulse Width Modulat1n,簡稱:PWM)信號頻率由芯片的PWM輸出引腳輸出,設(shè)置脈沖寬度調(diào)制信號的頻率的步驟,具體為:將所述頻率寫入所述脈沖寬度調(diào)制信號的配置寄存器中以設(shè)置頻率的參數(shù)的字段。
[0029]2、設(shè)置中斷信號的中斷沿。
[0030]在本發(fā)明實施例中,中斷(Interrupt,簡稱:int)信號由芯片的INT輸入引腳或芯片外部中斷引腳在接收到輸出信號之后產(chǎn)生,且可以對中斷沿進(jìn)行設(shè)置:下降沿中斷或上升沿中斷,設(shè)置中斷信號的中斷沿的步驟,具體為:設(shè)置INT控制寄存器沿中斷方向的標(biāo)志位,如果標(biāo)志位為0則表示下降沿中斷,如果標(biāo)志位為1則表示上升沿中斷。
[0031]在步驟S103中,將芯片的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳進(jìn)行連接,以使所述脈沖寬度調(diào)制信號輸出引腳輸出的脈沖寬度調(diào)制信號輸入所述中斷輸入引腳。
[0032]在本發(fā)明實施例中,終端將芯片的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳進(jìn)行連接,以使PWM輸出引腳輸出的PWM信號可以直接輸入INT輸入引腳。
[0033]需要指出的是,在所述連接的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳之間還連接有用于弱上拉的電阻。
[0034]在步驟S104中,獲取所述中斷輸入引腳以所述頻率生成的反饋信號,如果所述反饋信號符合所述中斷沿,則將所述反饋信號設(shè)置為中斷信號,并將所述中斷信號設(shè)置為定時信號,所述反饋信號為對所述脈沖寬度調(diào)制信號反饋的信號。
[0035]在本發(fā)明實施例中,終端的INT輸入引腳在接收到脈沖寬度調(diào)制信號之后,會生成對該脈沖寬度調(diào)制信號的反饋信號,該反饋信號根據(jù)脈沖寬度調(diào)制信號的頻率產(chǎn)生,如果該反饋信號符合初始化設(shè)置的中斷沿,則將該反饋信號設(shè)置為中斷信號,進(jìn)一步的該中斷信號被設(shè)置為定時信號,使得終端可以以PWM信號的頻率接收中斷信號,將中斷信號設(shè)置為定時信號,即可實現(xiàn)微秒級的定時作用。
[0036]本發(fā)明實施例,根據(jù)定時信號的分辨率設(shè)置PWM信號的頻率,通過連接PWM弓丨腳和INT引腳,獲取INT引腳生成的對輸入的PWM信號的反饋信號,并根據(jù)預(yù)設(shè)的中斷沿,判斷反饋信號是否為中斷信號,并將中斷信號設(shè)置為定時信號,使得終端可以以PWM信號的頻率接收中斷信號,將中斷信號設(shè)置為定時信號,即可實現(xiàn)與PWM信號分辨率等同高分辨率的定時功能。
[0037]舉例說明:
[0038]如圖2所示為通過定時信號進(jìn)行定時任務(wù)的流程圖,其中,假設(shè)需要定時的時間為t = 360 μ s,定時誤差為±2 μ s,則需要定時信號的分辨率為Τ = 2 μ s,即脈沖寬度調(diào)制信號的頻率為F = 1/T = 500000Hz,根據(jù)定時時間把定時計數(shù)器設(shè)置為180次,即接收180次脈沖寬度調(diào)制信號,其處理流程,如下:
[0039]在步驟S201中,獲取定時任務(wù),包括:定時時間、定時誤差;
[0040]在步驟S202中,根據(jù)所述定時任務(wù),對芯片進(jìn)行初始化,包括:設(shè)置脈沖寬度調(diào)制信號的頻率、設(shè)置定時計數(shù)器、設(shè)置中斷沿;
[0041]在步驟S203中,將芯片的脈沖寬度調(diào)制信號輸出引腳與中斷輸入引腳進(jìn)行連接;
[0042]在步驟S204中,獲取中斷輸入引腳生成的反饋信號,根據(jù)設(shè)置的中斷沿判斷是否為中斷信號,獲取生成的中斷信號的數(shù)量。
[0043]實施例二
[0044]如圖3所示為本發(fā)明實施例提供的獲取高精度定時信號系統(tǒng)的結(jié)構(gòu)圖,為了便于說明,僅出與本發(fā)明實施例相關(guān)的部分。
[0045]所述獲取高精度定時信號系統(tǒng)具體包括:分辨率設(shè)置單元301、初始化單元302、連接單元303以及定時信號設(shè)置單元304,各單元的具體功能如下:
[0046]分辨率設(shè)置單元301,用于設(shè)置待實現(xiàn)定時信號的分辨率T。
[0047]在本發(fā)明實施例中,分辨率設(shè)置單元301首先設(shè)置待實現(xiàn)定時信號的分辨率T,根據(jù)實際使用的需要,該定時信號的分辨率通常為微秒級,如:假設(shè)待實現(xiàn)定時信號的分辨率為1 μ s (微秒),則終端將待實現(xiàn)定時信號的分辨率Τ設(shè)置為1微秒。
[0048]初始化單元302,用于根據(jù)所述分辨率設(shè)置單元301設(shè)置的分辨率對芯片進(jìn)行初始化,所述初始化包括:根據(jù)所述分辨率設(shè)置脈沖寬度調(diào)制信號的頻率F= 1/Τ和設(shè)置中斷信號的中斷沿。
[0049]在本發(fā)明實施例中,終端在設(shè)置了待實現(xiàn)定時信號的分辨率之后,初始化單元302對芯片進(jìn)行初始化。其中,初始化單元302,包括:
[0050]PWM信號頻率設(shè)置子單元3021,用于將所述頻率寫入所述脈沖寬度調(diào)制信號的配置寄存器中以設(shè)