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

基于fpga的高精度秒脈沖倍頻出采樣脈沖的方法

文檔序號:6304823閱讀:446來源:國知局
基于fpga的高精度秒脈沖倍頻出采樣脈沖的方法
【專利摘要】本發(fā)明公開了電力系統(tǒng)測控【技術(shù)領(lǐng)域】內(nèi)的一種基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,旨在現(xiàn)有技術(shù)中由振蕩器提供采樣脈沖導(dǎo)致采樣精度偏低的技術(shù)問題。本發(fā)明將實(shí)際同步秒脈沖計(jì)數(shù)值與理想同步秒脈沖計(jì)數(shù)值進(jìn)行比較,將偏差與采樣頻率進(jìn)行累加計(jì)算,根據(jù)累加計(jì)算結(jié)果判斷脈沖計(jì)數(shù)器是否進(jìn)行校正,從而達(dá)到將實(shí)際同步秒脈沖的總偏差平均分布到實(shí)際采樣脈沖中,顯著降低了采樣脈沖的誤差,為模數(shù)信號采集提供了更加可靠穩(wěn)定的采樣脈沖信號;同時(shí),本發(fā)明提供的操作方法簡單易行,減少了FPGA芯片資源的占用,提高了FPGA的運(yùn)行速度和可靠性。
【專利說明】基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種高精度采樣脈沖輸出實(shí)現(xiàn)方法,特別涉及一種基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,屬于電力系統(tǒng)測控【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著電力系統(tǒng)的快速發(fā)展,電網(wǎng)的容量、結(jié)構(gòu)都在發(fā)生巨大的變化,儀器儀表行業(yè)也在不斷的進(jìn)行改進(jìn)。在電能質(zhì)量監(jiān)測中,對基本電力參數(shù)采樣和計(jì)算的方法一般有兩種,分別是交流采樣法和直流采樣法。直流采樣法對采樣值只做一次比例變換,其測量精度受限較多,誤差大,不穩(wěn)定,所以通常要想獲得高精度高穩(wěn)定性的電參數(shù),需要進(jìn)行交流采樣。交流采樣時(shí)按一定的規(guī)律對信號的瞬時(shí)值進(jìn)行采樣,按照采樣的基本定理,采樣頻率需要高于被測信號最高頻率的2倍以上。在電力系統(tǒng)中常用的是同步交流采樣,采用秒脈沖信號對設(shè)備進(jìn)行同步,設(shè)備在秒脈沖信號同步的基礎(chǔ)上,產(chǎn)生用于AD采樣控制的采樣脈沖。傳統(tǒng)的倍頻方法是:假設(shè)設(shè)備內(nèi)部的鐘振是高穩(wěn)定度和高精度的,在脈沖計(jì)數(shù)器的控制下,每間隔一個(gè)固定的計(jì)數(shù)值就輸出一個(gè)采樣脈沖。以4kHz的采樣脈沖為例,每隔250微秒輸出一個(gè)米樣脈沖,貝1J每秒鐘共輸出4000個(gè)脈沖,由于鐘振存在偏差,假如每秒時(shí)間偏差5微秒,采樣固定計(jì)數(shù)值的方法會在最后一個(gè)采樣脈沖與實(shí)際的時(shí)間偏差達(dá)到5微秒,這一誤差導(dǎo)致采樣精度偏低,對于電力的同步系統(tǒng)要求來說是難以容忍的。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的目的是針對現(xiàn)有技術(shù)中的不足,提供一種基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,解決了現(xiàn)有技術(shù)中直接由鐘振提供采樣脈沖導(dǎo)致采樣精度偏低的技術(shù)問題。
[0004]為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,包括如下步驟:
步驟一:計(jì)算實(shí)際同步秒脈沖計(jì)數(shù)值Treal與理想同步秒脈沖計(jì)數(shù)值Trat的偏差,并計(jì)算兩者偏差的絕對值,記為b,則b = I Treal — Trat I ;
步驟二:判斷b與O的大小:若b=0,則由標(biāo)準(zhǔn)采樣脈沖觸發(fā)輸出實(shí)際采樣脈沖;若13不等于0,則記錄Treal與Trat兩者差的正負(fù)標(biāo)識S:若兩者差值為正數(shù),則令S=O ;若兩者差值為負(fù)數(shù),則令S=I ;
步驟三:當(dāng)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)b與采樣頻率a進(jìn)行減法運(yùn)算,運(yùn)算結(jié)果記為C,則c=b-a,將c加載至FPGA芯片內(nèi)部的累加器;
步驟四:判斷c與O的大小:若c大于等于O,則令c=c_a,并進(jìn)入步驟五;若c小于O,則每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt=Tcnt+l,并進(jìn)入步驟六;
步驟五:根據(jù)正負(fù)標(biāo)識S的值,調(diào)整脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt:若S=0,則忽略I個(gè)計(jì)數(shù),即令Tcnt=Tcnt ;若S=I,則在Tcnt=Tcnt+l的結(jié)果上,再增加I個(gè)計(jì)數(shù),即令Tcnt=Tcnt+2 ; 步驟六:對Tcnt與采樣頻率a的比進(jìn)行求余運(yùn)算:若Tcnt / a的余數(shù)為O,則輸出I個(gè)實(shí)際采樣脈沖;否則,等待下一個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)c與b進(jìn)行加法運(yùn)算,即令c=c+b,并返回步驟四。
[0005]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:在每個(gè)采樣脈沖輸出時(shí)判斷是否進(jìn)行校正,能夠?qū)㈢娬裨谝粋€(gè)采樣周期內(nèi)產(chǎn)生的總偏差平均分布到實(shí)際采樣脈沖中,顯著降低了實(shí)際采樣脈沖與理想采樣脈沖的時(shí)間偏差,使采樣曲線更平滑,提高了采樣精度,為模數(shù)信號采集提供了更加可靠穩(wěn)定的采樣脈沖信號。方法中避免了除法運(yùn)算的使用,操作方法簡單易行,大大減少了 FPGA芯片資源的占用,提高了 FPGA的運(yùn)行速度和可靠性。
【專利附圖】

【附圖說明】
[0006]圖1為本發(fā)明的操作流程圖。
【具體實(shí)施方式】
[0007]本發(fā)明提供的秒脈沖倍頻出采樣脈沖的方法,其中,實(shí)際同步秒脈沖由外部時(shí)鐘提供輸出,理想同步秒脈沖則由有源鐘振結(jié)合FPGA芯片中鎖相環(huán)技術(shù)倍頻產(chǎn)生,脈沖計(jì)數(shù)器對標(biāo)準(zhǔn)采樣進(jìn)行計(jì)數(shù)。若采樣若實(shí)際同步秒脈沖比理想同步秒脈沖快,則脈沖計(jì)數(shù)器在計(jì)數(shù)時(shí)增加一個(gè)標(biāo)準(zhǔn)采樣脈沖以進(jìn)行計(jì)數(shù)補(bǔ)償,否則,減少一個(gè)標(biāo)準(zhǔn)采樣脈沖,本發(fā)明將實(shí)際同步秒脈沖與理想同步秒脈沖總的時(shí)間偏差均勻分布在多個(gè)時(shí)間片中,降低了實(shí)際采樣脈沖與理想采樣脈沖的時(shí)間偏差。以實(shí)際同步秒脈沖計(jì)數(shù)值Treal=60000004,理想同步秒脈沖計(jì)數(shù)值Trat=60000000,采樣頻率a=4000Hz為例,實(shí)際同步秒脈沖與理想同步秒脈沖的總時(shí)間偏差是:4X (1000000000 /60000004 )納秒=66.67納秒,若直接用于倍頻采樣脈沖,那么在第4000個(gè)米樣點(diǎn)時(shí),該米樣點(diǎn)會快66.67納秒,本發(fā)明的目的是將66.67納秒的時(shí)間偏差分布在4個(gè)時(shí)間片中,S卩在第1000、2000、3000、4000個(gè)計(jì)數(shù)間隔時(shí),進(jìn)行技術(shù)補(bǔ)償,使誤差降低至(66.67/4)納秒=16.67納秒,以達(dá)到提高采樣精度的目的。
[0008]下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述:
如圖1所示,基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,包括以下步驟:步驟一:計(jì)算實(shí)際同步秒脈沖計(jì)數(shù)值Treal與理想同步秒脈沖計(jì)數(shù)值Trat的偏差,并計(jì)算兩者偏差的絕對值,記為b,則b = Treal-TratU 一個(gè)采樣周期為I秒鐘,以實(shí)際同步秒脈沖計(jì)數(shù)值Treal=60000004,理想同步秒脈沖計(jì)數(shù)值Trat=60000000為例,則b= I Treal 一 Trat | = | 60000004 一 60000000 | =4。理想同步秒脈沖可由20MHz有源鐘振提供,偏差±1PPM。FPGA芯片使用鎖相環(huán)技術(shù)將20MHz倍頻成60MHz提供給內(nèi)部邏輯使用。
[0009]步驟二:判斷b與O的大小:若b=0,則由標(biāo)準(zhǔn)采樣脈沖觸發(fā)輸出實(shí)際采樣脈沖;若b不等于0,則記錄Treal與Trat兩者差的正負(fù)標(biāo)識S:若兩者差值為正數(shù),則令S=O ;若兩者差值為負(fù)數(shù),則令S=l。若b=0,則說明實(shí)際同步秒脈沖與理想同步秒脈沖之間不存在時(shí)間偏差,則可將理想采樣脈沖直接作為實(shí)際采樣脈沖輸出使用。若b不等于0,則說明實(shí)際同步秒脈沖與理想同步秒脈沖之間存在時(shí)間偏差,此時(shí),先記下Treal與Trat兩者差的正負(fù)標(biāo)識S,為下一步脈沖計(jì)數(shù)的調(diào)整作準(zhǔn)備。由步驟一知,Treal大于Trat,兩者差值為正數(shù),此處,S=O0
[0010]步驟三:當(dāng)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)b與采樣頻率a進(jìn)行減法運(yùn)算,運(yùn)算結(jié)果記為C,則C=b-a,將C加載至FPGA芯片內(nèi)部的累加器。此處假設(shè)采樣頻率a=4000Hz,即一秒鐘發(fā)出4000個(gè)標(biāo)準(zhǔn)采樣脈沖,則c=b-a=4-4000=-3996,將-3996作為初值加載至FPGA芯片內(nèi)部的累加器。
[0011]步驟四:判斷c與O的大小:若c大于等于0,則令c=c-a,并進(jìn)入步驟五,進(jìn)行脈沖計(jì)數(shù)器計(jì)數(shù)調(diào)整;若c小于0,脈沖計(jì)數(shù)器正常計(jì)數(shù),即每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt=Tcnt+l,并進(jìn)入步驟六。由步驟三知,c=_3996,小于O,脈沖計(jì)數(shù)器正常計(jì)數(shù),即每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),脈沖計(jì)數(shù)器加一,然后進(jìn)入步驟六。
[0012]步驟五:根據(jù)正負(fù)標(biāo)識S的值,調(diào)整脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt:若S=0,則忽略I個(gè)計(jì)數(shù),即令Tcnt=Tcnt ;若S=I,則在Tcnt=Tcnt+l的結(jié)果上,再增加I個(gè)計(jì)數(shù),即令Tcnt=Tcnt+2。若S=O,則實(shí)際同步秒脈沖計(jì)數(shù)值Treal大于理想同步秒脈沖計(jì)數(shù)值Trat,表示實(shí)際同步秒脈沖比理想同步秒脈沖快,脈沖計(jì)數(shù)器計(jì)數(shù)時(shí)需要忽略I個(gè)計(jì)數(shù),假設(shè)Tcnt原有的計(jì)數(shù)結(jié)果為1,則下一標(biāo)準(zhǔn)采樣脈沖到來時(shí),Tcnt的計(jì)數(shù)結(jié)果仍為I。若S=l,則實(shí)際同步秒脈沖計(jì)數(shù)值Treal小于理想同步秒脈沖計(jì)數(shù)值Trat,表示實(shí)際同步秒脈沖比理想同步秒脈沖慢,脈沖計(jì)數(shù)器計(jì)數(shù)時(shí)需要增加I個(gè)計(jì)數(shù),若Tcnt原有的計(jì)數(shù)結(jié)果為1,則下一標(biāo)準(zhǔn)采樣脈沖到來時(shí),Tcnt的計(jì)數(shù)結(jié)果直接增加至3。
[0013]步驟六:對Tcnt與采樣頻率a的比進(jìn)行求余運(yùn)算:若Tcnt / a的余數(shù)為O,則輸出I個(gè)實(shí)際采樣脈沖;否則,每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)c與b進(jìn)行加法運(yùn)算,即令c=c+b,并返回步驟四。c小于O時(shí),脈沖計(jì)數(shù)器每計(jì)數(shù)一次需要跳轉(zhuǎn)至本步驟進(jìn)行一次求余運(yùn)算。理想同步秒脈沖計(jì)數(shù)值Trat=60000000,則脈沖計(jì)數(shù)器共需計(jì)數(shù)60000000次,a=4000,所以
當(dāng)Tcnt=4000,8000,12000,......60000000時(shí),余數(shù)均為0,一個(gè)采樣周期內(nèi)(I秒鐘)總計(jì)
輸出60000000/4000=15000個(gè)采樣脈沖。若對Tcnt / a求余后,余數(shù)不等于0,則每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),令c=c+b,由于b是大于O的數(shù)值,則c在循環(huán)加b后必然會大于或等于0,以a=4000為例時(shí),則第1000,2000,3000,4000個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),c均為0,表明此時(shí)脈沖計(jì)數(shù)器均作出了計(jì)數(shù)調(diào)整,最終保證4000個(gè)實(shí)際采樣脈沖總寬度與理想同步秒脈沖總寬度一致,經(jīng)過調(diào)整后,每個(gè)實(shí)際采樣脈沖信號與標(biāo)準(zhǔn)采樣脈沖的偏差均不會超過一個(gè)時(shí)鐘周期即l/60000000s=16.67ns,與調(diào)整前誤差250微秒相比,本發(fā)明將誤差降低到納秒級別,從而使采樣曲線更平滑,顯著提高了采樣精度。
[0014]以上是以差值為4表述的本發(fā)明功能,若以差值為8為例,則調(diào)整計(jì)數(shù)值點(diǎn)應(yīng)在第500、1000、1500、2000、2500、3000、3500、4000點(diǎn),實(shí)際運(yùn)用中差值可能為任意值,但不可能超過I個(gè)采樣點(diǎn)寬度計(jì)數(shù)值(值為15000),否則芯片有問題。若差值為其它值,則按本發(fā)明表述做相應(yīng)調(diào)整。
[0015]本發(fā)明并不局限于上述實(shí)施例,在本發(fā)明公開的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域的技術(shù)人員根據(jù)所公開的技術(shù)內(nèi)容,不需要?jiǎng)?chuàng)造性的勞動(dòng)就可以對其中的一些技術(shù)特征作出一些替換和變形,這些替換和變形均在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.基于FPGA的高精度秒脈沖倍頻出采樣脈沖的方法,其特征在于,包括如下步驟:步驟一:計(jì)算實(shí)際同步秒脈沖計(jì)數(shù)值Treal與理想同步秒脈沖計(jì)數(shù)值Trat的偏差,并計(jì)算兩者偏差的絕對值,記為b,則b = I Treal — Trat I ; 步驟二:判斷b與O的大小:若b=0,則由標(biāo)準(zhǔn)采樣脈沖觸發(fā)輸出實(shí)際采樣脈沖;若13不等于O,則記錄Treal與Trat兩者差的正負(fù)標(biāo)識S:若兩者差值為正數(shù),則令S=O ;若兩者差值為負(fù)數(shù),則令S=I ; 步驟三:當(dāng)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)b與采樣頻率a進(jìn)行減法運(yùn)算,運(yùn)算結(jié)果記為C,則c=b-a,將c加載至FPGA芯片內(nèi)部的累加器; 步驟四:判斷c與O的大小:若c大于等于O,則令c=c_a,并進(jìn)入步驟五;若c小于O,則每個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt=Tcnt+l,并進(jìn)入步驟六; 步驟五:根據(jù)正負(fù)標(biāo)識S的值,調(diào)整脈沖計(jì)數(shù)器的計(jì)數(shù)結(jié)果Tcnt:若S=0,則忽略I個(gè)計(jì)數(shù),即令Tcnt=Tcnt ;若S=I,則在Tcnt=Tcnt+l的結(jié)果上,再增加I個(gè)計(jì)數(shù),即令Tcnt=Tcnt+2 ; 步驟六:對Tcnt與采樣頻率a的比進(jìn)行求余運(yùn)算:若Tcnt / a的余數(shù)為0,則輸出I個(gè)實(shí)際采樣脈沖;否則,等待下一個(gè)標(biāo)準(zhǔn)采樣脈沖到來時(shí),觸發(fā)c與b進(jìn)行加法運(yùn)算,即令c=c+b,并返回步驟四。
【文檔編號】G05B19/042GK103941622SQ201410173291
【公開日】2014年7月23日 申請日期:2014年4月28日 優(yōu)先權(quán)日:2014年4月28日
【發(fā)明者】高磊, 陳久林, 袁宇波, 卜強(qiáng)生, 宋亮亮, 李澄, 葛永高, 陸玉軍, 倪時(shí)龍, 戴太文 申請人:國家電網(wǎng)公司, 江蘇省電力公司, 江蘇省電力公司電力科學(xué)研究院, 江蘇方天電力技術(shù)有限公司, 福建億榕信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
米易县| 东辽县| 新绛县| 沾益县| 德化县| 桃园县| 吉安市| 云龙县| 乌拉特中旗| 女性| 内丘县| 荆门市| 阜阳市| 澎湖县| 丰城市| 民勤县| 博湖县| 政和县| 丁青县| 荥经县| 灌南县| 阿鲁科尔沁旗| 冕宁县| 吴江市| 卓资县| 深泽县| 道真| 安丘市| 绍兴市| 新巴尔虎右旗| 贵德县| 海口市| 麟游县| 红原县| 名山县| 连南| 奇台县| 垦利县| 新源县| 昭苏县| 延安市|