国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于fpga的高精度dc碼編碼方法及系統(tǒng)的制作方法

      文檔序號:7545989閱讀:363來源:國知局
      基于fpga的高精度dc碼編碼方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明涉及編碼【技術(shù)領(lǐng)域】,公開了一種基于FPGA的高精度DC碼編碼方法及系統(tǒng)。該系統(tǒng)包括:授時模塊、邏輯模塊和處理模塊;其中,授時模塊用于輸出第一脈沖信號至邏輯模塊和處理模塊;邏輯模塊用于將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊開始接收授時信息的中斷信號;處理模塊接收到中斷信號后,通過串口開始接收授時信息,并將授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊;邏輯模塊以接收到的第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出,其可以實(shí)現(xiàn)高精度的DC碼編碼,將編碼精度精確在納米級,提高對后端設(shè)備的授時精度。
      【專利說明】基于FPGA的高精度DC碼編碼方法及系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及編碼【技術(shù)領(lǐng)域】,具體涉及基于FPGA的高精度DC碼編碼方法及系統(tǒng)?!颈尘凹夹g(shù)】
      [0002]IRIG-B碼是專為時鐘傳輸而制定的一種串行時鐘碼國際標(biāo)準(zhǔn),同步源每秒鐘輸出一中貞含有秒、分、時、當(dāng)前日期及年份的時鐘信息,其對時較為精確,被廣泛應(yīng)用于時間信息傳輸系統(tǒng)中。IRIG-B碼分為直流非調(diào)制碼(DC碼)和交流調(diào)制碼(AC碼),通常情況下當(dāng)傳輸距離較遠(yuǎn)時采用AC碼,距離較近時采用DC碼。
      [0003]圖1為IRIG-B碼的DC碼的國際標(biāo)準(zhǔn)格式,如圖1所示,每個碼元寬度為10ms,一個時巾貞周期包括100個碼元,PR為巾貞參考點(diǎn),PO?P9為位置參考點(diǎn),巾貞參考點(diǎn)和位置參考點(diǎn)的脈寬為8ms,二進(jìn)制‘I’和‘0’的脈寬分別為5ms和2ms。DC碼采用的是B⑶碼;低位在前,高位在后;個位在前,十位在后。DC編碼就是以秒脈沖(one-pulse-per-second,簡稱PPS)為基準(zhǔn),將系統(tǒng)輸入的各種時間格式轉(zhuǎn)換成圖1所示的IRIG-B碼的時間格式,以對其它有DC碼輸入接口的系統(tǒng)或設(shè)備進(jìn)行授時。
      [0004]現(xiàn)有技術(shù)中的DC碼編碼實(shí)現(xiàn)方法存在如下問題:在進(jìn)行DC碼編碼的過程中,并未對輸入的PPS脈沖進(jìn)行雜波判決與過濾,且所采用的編碼時鐘頻率較低,在較低頻率的時鐘基礎(chǔ)上進(jìn)行編碼的DC碼的精度就較低,從而降低了對后端設(shè)備的授時精度。

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

      [0005]針對現(xiàn)有技術(shù)中存在的上述缺陷,本發(fā)明所要解決的技術(shù)問題是如何實(shí)現(xiàn)高精度的DC碼編碼,將編碼精度精確在納米級,提高對后端設(shè)備的授時精度。
      [0006]為解決上述技術(shù)問題,一方面,本發(fā)明提供一種基于FPGA的高精度的DC碼編碼系統(tǒng),該系統(tǒng)包括:授時模塊、邏輯模塊和處理模塊;其中,
      [0007]所述授時模塊用于輸出第一脈沖信號至所述邏輯模塊和所述處理模塊;
      [0008]所述邏輯模塊用于將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊開始接收授時信息的中斷信號;
      [0009]所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊;
      [0010]所述邏輯模塊以接收到的所述第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出。
      [0011 ] 優(yōu)選地,該系統(tǒng)還包括:
      [0012]PPL鎖相環(huán),用于將外部輸入的IOMHz時鐘倍頻得到IOOMHz時鐘作為系統(tǒng)的時鐘信號。
      [0013]優(yōu)選地,所述邏輯模塊進(jìn)一步包括:雜波濾除模塊和DC編碼模塊;其中,
      [0014]所述雜波濾除模塊用于對所述第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC編碼的時間基準(zhǔn)信號和處理模塊接收所述授時信息的中斷
      信號;
      [0015]所述DC編碼模塊用于將所述處理模塊輸入的并行授時信息轉(zhuǎn)換成串行的DC碼輸出。
      [0016]優(yōu)選地,所述雜波濾除模塊進(jìn)一步包括:
      [0017]第一提取單元,用于提取所述第一脈沖信號的上升沿;
      [0018]長度保持單元,用于啟動所述第一脈沖信號的長度計數(shù)器并保持上一個第一脈沖信號的長度;
      [0019]判斷單元,用于判斷所述第一脈沖信號長度的有效性;
      [0020]丟棄保留單元,用于丟棄或者保留所述第一脈沖信號。
      [0021]優(yōu)選地,所述處理模塊進(jìn)一步包括:
      [0022]初始化模塊,用于初始化系統(tǒng);
      [0023]檢測單元,用于檢測所述第一脈沖信號的上升沿;
      [0024]接收單元,用于打開與授時模塊間的串口開始接收所述授時信息;
      [0025]第一轉(zhuǎn)換單元,用于對所述授時信息進(jìn)行串并轉(zhuǎn)換及校正得到并行授時信息;
      [0026]第一輸出單元,用于輸出所述并行授時信息至所述DC編碼模塊。
      [0027]優(yōu)選地,所述DC編碼模塊進(jìn)一步包括:
      [0028]第二轉(zhuǎn)換單元,用于轉(zhuǎn)換所述并行授時信息的格式;
      [0029]第二提取單元,用于提取所述第一脈沖信號上升沿;
      [0030]第三轉(zhuǎn)換單元,用于啟動碼元寬度和碼元個數(shù)計數(shù)器,根據(jù)DC編碼規(guī)則將所述并行授時信息轉(zhuǎn)換成DC編碼輸出;
      [0031]第二輸出單元,設(shè)置所述第一脈沖信號的占空比并延時一個時鐘周期輸出。
      [0032]另一方面,本發(fā)明還同時提供一種基于FPGA的高精度的DC碼編碼方法,該方法基于上述系統(tǒng),所述系統(tǒng)包括:授時模塊、邏輯模塊和處理模塊,該方法包括:
      [0033]所述授時模塊輸出第一脈沖信號至所述邏輯模塊和所述處理模塊;
      [0034]所述邏輯模塊將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊開始接收授時信息的中斷信號;
      [0035]所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊;
      [0036]所述邏輯模塊以接收到的所述第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出。
      [0037]優(yōu)選地,所述方法還包括:
      [0038]將外部輸入的IOMHz時鐘倍頻得到IOOMHz時鐘作為系統(tǒng)的時鐘信號。
      [0039]優(yōu)選地,所述邏輯模塊將接收到的第一脈沖信號進(jìn)行雜波濾除具體包括:
      [0040]提取所述第一脈沖信號的上升沿;
      [0041]啟動所述第一脈沖信號的長度計數(shù)器并保持上一個第一脈沖信號的長度;
      [0042]判斷所述第一脈沖信號長度的是否有效,若是,則保留所述第一脈沖信號,若否,則丟棄所述第一脈沖信號。[0043]優(yōu)選地,所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊具體包括:
      [0044]初始化系統(tǒng);
      [0045]檢測所述第一脈沖信號的上升沿;
      [0046]打開與授時模塊間的串口開始接收所述授時信息;
      [0047]對所述授時信息進(jìn)行串并轉(zhuǎn)換及校正得到并行授時信息;
      [0048]輸出所述并行授時信息至所述邏輯模塊。
      [0049]本發(fā)明在硬件上沒有使用CPU芯片,只采用了一片F(xiàn)PGA芯片,編碼系統(tǒng)采用IOOMHz的高頻時鐘,使得數(shù)據(jù)處理可在較短的時間內(nèi)完成,有利于提高結(jié)果數(shù)據(jù)的精度。通過在FPGA內(nèi)部設(shè)計NIOS II軟核模塊和邏輯模塊兩大模塊,將NIOS II軟核作為CPU處理器,F(xiàn)PGA芯片接收前端衛(wèi)星授時模塊的PPS基準(zhǔn)信號和授時信息,數(shù)據(jù)處理統(tǒng)一采用IOOMHz的系統(tǒng)時鐘。邏輯模塊首先對輸入的PPS信號進(jìn)行雜波濾除,使得時間基準(zhǔn)信號更準(zhǔn)確。將雜波濾除后的PPS信號作為DC編碼的時間基準(zhǔn)信號和NIOS II接收授時信息的中斷信號;當(dāng)NIOS II軟核模塊接收到該中斷信號后,通過串口開始接收授時信息,并將其轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊;邏輯模塊以濾波后的PPS信號的上升沿為起始標(biāo)志,將接收到的并行授時信息轉(zhuǎn)化成圖1中所示串行的DC碼,最后將濾波后的PPS延時一個時鐘周期與DC碼對齊一起輸出,經(jīng)過光耦模塊接到其它需要授時時間的系統(tǒng)或者設(shè)備上。本發(fā)明可以實(shí)現(xiàn)聞精度的DC碼編碼,將編碼精度精確在納米級,提聞對后端設(shè)備的授時精度。
      【專利附圖】

      【附圖說明】
      [0050]圖1為IRIG-B碼的DC碼的國際標(biāo)準(zhǔn)格式;
      [0051]圖2a為DC編碼系統(tǒng)整體邏輯框圖;
      [0052]圖2b為DC編碼系統(tǒng)中雜波濾除模塊的結(jié)構(gòu)示意圖;
      [0053]圖2c為DC編碼系統(tǒng)中處理模塊的結(jié)構(gòu)示意圖;
      [0054]圖2d為DC編碼系統(tǒng)中DC編碼模塊的結(jié)構(gòu)示意圖;
      [0055]圖3為雜波濾除模塊的邏輯狀態(tài)流程圖;
      [0056]圖4為NIOS II軟核模塊的邏輯狀態(tài)流程圖;
      [0057]圖5為DC編碼模塊的邏輯狀態(tài)流程圖。
      【具體實(shí)施方式】
      [0058]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例為實(shí)施本發(fā)明的較佳實(shí)施方式,所述描述是以說明本發(fā)明的一般原則為目的,并非用以限定本發(fā)明的范圍。本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所界定者為準(zhǔn),基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0059]現(xiàn)有技術(shù)中,在實(shí)現(xiàn)DC編碼方法過程中,并未對輸入的PPS時鐘脈沖進(jìn)行雜波判決和濾除,且所采用的編碼時鐘頻率較低,導(dǎo)致在較低頻率的時鐘基礎(chǔ)上進(jìn)行編碼獲得的DC碼精度降低。本發(fā)明基于FPGA芯片,通過設(shè)置包括雜波濾除模塊、DC編碼模塊的邏輯模塊對PPS時鐘脈沖信號進(jìn)行雜波濾除,以及通過NIOS II軟核處理模塊將對授時時間進(jìn)行串并轉(zhuǎn)換和校正,并對DC編碼模塊輸出的PPS占空比進(jìn)行設(shè)置,從而得到的DC碼精度在納秒級別,可以更精確地為具有DC碼輸入接口的系統(tǒng)或者設(shè)備進(jìn)行授時。
      [0060]需要說明的是,本發(fā)明中的授時模塊采用的是UM220型號的BD2/GPS雙系統(tǒng)導(dǎo)航/授時模塊,其可輸出PPS脈沖和串行的授時信息,PPS脈沖的精度優(yōu)于100ns,UM220授時模塊和FPGA芯片之間的授時信息通過UART串口傳輸。本發(fā)明的主要目的就是將UM220授時模塊發(fā)出的時間信息轉(zhuǎn)化成圖1中的DC碼標(biāo)準(zhǔn)格式,且要求DC碼的精度在ns級別。
      [0061]圖2是實(shí)現(xiàn)高精度DC編碼的整體邏輯框圖,如圖2所示,該高精度DC編碼系統(tǒng)包括:授時模塊201、邏輯模塊202和處理模塊203 ;其中,授時模塊201用于輸出第一脈沖信號至邏輯模塊202和處理模塊203 ;邏輯模塊202用于將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊203開始接收授時信息的中斷信號;處理模塊203接收到中斷信號后,通過串口開始接收授時信息,并將授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊202 ;邏輯模塊202以接收到的第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出。
      [0062]優(yōu)選地,邏輯模塊202進(jìn)一步包括:雜波濾除模塊2021和DC編碼模塊2022。授時模塊201優(yōu)選為UM220授時模塊;處理模塊203優(yōu)選為NIOS II軟核模塊。該系統(tǒng)還包括:PLL鎖相環(huán)204,負(fù)責(zé)將外部輸入的IOMHz時鐘倍頻得到IOOMHz時鐘作為FPGA芯片的系統(tǒng)時鐘信號。其中,雜波濾除模塊2021,負(fù)責(zé)將UM220授時模塊201輸出的第一脈沖信號PPS脈沖進(jìn)行雜波濾除,得到雜波濾除后的第二脈沖信號PPS_tmp,將濾除雜波后的第二脈沖信號PPS_tmp作為DC碼的基準(zhǔn)時間和NIOS II軟核模塊203開始接收UM220授時模塊201的授時時間的中斷信號;DC編碼模塊2022,負(fù)責(zé)將NIOS II軟核模塊203輸入的并行授時時間轉(zhuǎn)換成DC碼格式輸出;處理模塊203主要實(shí)現(xiàn)授時時間的串并轉(zhuǎn)換及校正,設(shè)置DC編碼模塊2022輸出的PPS的占空比。
      [0063]優(yōu)選地,雜波濾除模塊2021進(jìn)一步包括:第一提取單元20211,用于提取所述第一脈沖信號的上升沿;長度保持單元20212,用于啟動所述第一脈沖信號的長度計數(shù)器并保持上一個第一脈沖信號的長度;判斷單元20213,用于判斷所述第一脈沖信號長度的有效性;丟棄保留單元20214,用于丟棄或者保留所述第一脈沖信號;處理模塊203進(jìn)一步包括:初始化模塊2031,用于初始化系統(tǒng);檢測單元2032,用于檢測所述第一脈沖信號的上升沿;接收單元2033,用于打開與授時模塊間的串口開始接收所述授時信息;第一轉(zhuǎn)換單元2034,用于對所述授時信息進(jìn)行串并轉(zhuǎn)換及校正得到并行授時信息;第一輸出單元2035,用于輸出所述并行授時信息至所述DC編碼模塊;DC編碼模塊2022進(jìn)一步包括:第二轉(zhuǎn)換單元20221,用于轉(zhuǎn)換所述并行授時信息的格式;第二提取單元20222,用于提取所述第一脈沖信號上升沿;第三轉(zhuǎn)換單元20223,用于啟動碼元寬度和碼元個數(shù)計數(shù)器,根據(jù)DC編碼規(guī)則將所述并行授時信息轉(zhuǎn)換成DC編碼輸出;第二輸出單元20224,設(shè)置所述第一脈沖信號的占空比并延時一個時鐘周期輸出。
      [0064]如圖2所示,其中,a為對輸入的PPS進(jìn)行雜波濾除后的PPS ;b為PPS_out的占空比設(shè)置參數(shù),如duty[7:0] = 8’d50,則PPS_out的占空比為50% ;c為并行授時時間,格式為:time [31:30] = 2’bO, time [29:20]=天,time [19:14]=時,time [13:7]=分,time[6:0]=秒;d為最終輸出的PPS,其占空比可設(shè);e為最終輸出的IRIG_B(DC)碼。由于采用的是FPGA芯片,以上各個模塊間是并行關(guān)系;NIOS II軟核模塊相當(dāng)于CPU,其內(nèi)部是串行處理流程;其它三個模塊均是由邏輯實(shí)現(xiàn)的,其內(nèi)部的數(shù)據(jù)處理流程均是并行的。
      [0065]本發(fā)明基于FPGA芯片,通過設(shè)置包括雜波濾除模塊、DC編碼模塊的邏輯模塊對PPS時鐘脈沖信號進(jìn)行雜波濾除,以及通過NIOS II軟核處理模塊將對授時時間進(jìn)行串并轉(zhuǎn)換和校正,并對DC編碼模塊輸出的PPS占空比進(jìn)行設(shè)置,從而得到的DC碼精度在納秒級別,可以更精確地為具有DC碼輸入接口的系統(tǒng)或者設(shè)備進(jìn)行授時,提高為后端設(shè)備進(jìn)行授時的精度。
      [0066]下面結(jié)合附圖3?附圖5對各個子模塊的【具體實(shí)施方式】進(jìn)行詳細(xì)說明。
      [0067]圖3是雜波濾除模塊的邏輯狀態(tài)流程圖,由于上電剛開始的幾秒UM220授時模塊輸出的PPS不正常,所以FPGA芯片在處理時要先將其濾除。主要包括以下狀態(tài):
      [0068]S301:提取PPS上升沿。
      [0069]具體地,由于UM220授時模塊輸出的PPS與FPGA的IOOMHz系統(tǒng)時鐘并非完全同步,為避免毛刺,首先將輸入的PPS時延一個時鐘周期后再提取其上升沿;
      [0070]S302:啟動PPS長度計數(shù)器,并保存上一個PPS的長度。
      [0071]具體地,當(dāng)檢測到PPS的上升沿后,啟動PPS的長度計數(shù)器開始記錄PPS的長度,同時保存上一個PPS的長度值。
      [0072]S303:判斷保存的PPS的長度值是否在正常范圍內(nèi)。
      [0073]具體地,PPS周期為Is即108個IOOMHz時鐘周期,由于PPS本身有最多IOOns的抖動和本地晶振時鐘有最大IOOns的誤差,所以FPGA檢測到PPS長度在Is土200ns范圍內(nèi),也即長度計數(shù)器值在108±20范圍內(nèi),即為正常的PPS。
      [0074]S304:當(dāng)保存的PPS的長度值在108 ±20范圍內(nèi)時,就保留該P(yáng)PS ;
      [0075]S305:當(dāng)保存的PPS的長度值不在108 ±20范圍內(nèi)時,就丟棄該P(yáng)PS。
      [0076]經(jīng)過以上各狀態(tài)處理,最后濾波后的PPS_tmp相對于輸入的PPS延時了 2個時鐘周期,即20ns。其中,狀態(tài)S4和S5是并列關(guān)系。
      [0077]圖4是NIOS II軟核模塊的邏輯狀態(tài)流程圖,如圖4所示,其中,系統(tǒng)最終輸出的PPS_out的占空比設(shè)置參數(shù)duty值可在任一時刻設(shè)置或修改,所以未在該流程圖中體現(xiàn)。其主要包括以下步驟:
      [0078]S400:開始。
      [0079]S401:N10S II軟核模塊完成開機(jī)復(fù)位、狀態(tài)初始化等工作;
      [0080]S402:檢測 PPS_tmp 的上升沿;
      [0081]S403:打開與UM220授時模塊間的UART串口,開始接收授時時間。
      [0082]具體地,當(dāng)檢測到雜波濾除模塊輸入的PPS_tmp的上升沿后,打開與UM220授時模塊間的UART串口開始接收授時時間并進(jìn)行串并轉(zhuǎn)換,由于此刻的時間直到下一個PPS時刻才被轉(zhuǎn)換成DC碼輸出,所以需將串并轉(zhuǎn)換后的授時時間再加Is后輸出至DC編碼模塊;
      [0083]S404:將處理后的授時時間通過time參數(shù)輸出至DC編碼模塊。
      [0084]經(jīng)過以上各步驟,NIOS II軟核模塊可正確地將UM220授時模塊提供的串行授時時間轉(zhuǎn)換成DC編碼模塊所需的并行授時時間。
      [0085]圖5是DC編碼模塊的邏輯狀態(tài)流程圖,如圖5所示,該邏輯狀態(tài)主要包括以下各狀態(tài):[0086]S501:將二進(jìn)制time值轉(zhuǎn)換成B⑶碼。
      [0087]具體地,首先將由NIOS II軟核模塊輸入的并行授時時間值time轉(zhuǎn)換成并行B⑶石馬 time_bcd。
      [0088]S502:提取 PPS_tmp 的上升沿;
      [0089]S503:啟動碼元寬度計數(shù)器和碼元個數(shù)計數(shù)器。
      [0090]具體地,當(dāng)檢測到PPS_tmp的上升沿后,以IOOMHz時鐘為標(biāo)準(zhǔn),啟動DC碼的碼元寬度計數(shù)器和碼元個數(shù)計數(shù)器,DC碼的碼元寬度均為10ms,碼元個數(shù)100個,所以碼元寬度計數(shù)器在O?99999間循環(huán)計數(shù),每當(dāng)碼元寬度計數(shù)器記到99999時,碼元個數(shù)計數(shù)器就加I,這樣一個PPS周期碼元個數(shù)計數(shù)器的值剛好是O?99 ;
      [0091]S504:按照DC碼編碼準(zhǔn)則,將授時信息轉(zhuǎn)換成DC碼輸出。
      [0092]具體地,結(jié)合碼元個數(shù)計數(shù)器和碼元寬度計數(shù)器,以IOOMHz時鐘為時間單元,根據(jù)DC碼的編碼準(zhǔn)則,將NIOS II軟核模塊輸出的并行授時時間的BCD碼格式轉(zhuǎn)換成DC碼輸出。
      [0093]S505:使最終輸出的PPS_out與DC碼對齊。
      [0094]具體地,因最終的DC碼與PPS_tmp相比有IOns的延時,所以將PPS_tmp時延一個IOOMHz時鐘周期,并根據(jù)輸入的duty值控制占空比使得輸出的PPS_out與DC碼對齊。
      [0095]經(jīng)過以上各狀態(tài),最終輸出的DC碼與PPS_tmp有IOns的延時,而PPS_tmp與輸入的PPS有20ns的延時,再加上PPS本身存在最大IOOns的抖動,所以最終得到的DC碼的精度優(yōu)于130ns,實(shí)現(xiàn)了納米級的高精度DC編碼。需要說明的是,其中狀態(tài)S1、S2和S5是并列關(guān)系。
      [0096]本發(fā)明基于FPGA芯片,通過設(shè)置包括雜波濾除模塊、DC編碼模塊的邏輯模塊對PPS時鐘脈沖信號進(jìn)行雜波濾除,以及通過NIOS II軟核處理模塊將對授時時間進(jìn)行串并轉(zhuǎn)換和校正,并對DC編碼模塊輸出的PPS占空比進(jìn)行設(shè)置,從而得到的DC碼精度在納秒級另O,可以更精確地為具有DC碼輸入接口的系統(tǒng)或者設(shè)備進(jìn)行授時,提高為后端設(shè)備進(jìn)行授時的精度。
      [0097]可以理解的是,以上實(shí)施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實(shí)施方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實(shí)質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。
      【權(quán)利要求】
      1.一種基于FPGA的高精度DC碼編碼系統(tǒng),其特征在于,包括:授時模塊、邏輯模塊和處理模塊;其中, 所述授時模塊用于輸出第一脈沖信號至所述邏輯模塊和所述處理模塊; 所述邏輯模塊用于將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊開始接收授時信息的中斷信號; 所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊; 所述邏輯模塊以接收到的所述第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出。
      2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括: PPL鎖相環(huán),用于將外部輸入的IOMHz時鐘倍頻得到IOOMHz時鐘作為系統(tǒng)的時鐘信號。
      3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述邏輯模塊進(jìn)一步包括:雜波濾除模塊和DC編碼模塊;其中, 所述雜波濾除模塊用于對所述第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC編碼的時間基準(zhǔn)信號和處理模塊接收所述授時信息的中斷信號; 所述DC編碼模塊用于將所述處理模塊輸入的并行授時信息轉(zhuǎn)換成串行的DC碼輸出。
      4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述雜波濾除模塊進(jìn)一步包括: 第一提取單元,用于提取所述第一脈沖信號的上升沿; 長度保持單元,用于啟動所述第一脈沖信號的長度計數(shù)器并保持上一個第一脈沖信號的長度; 判斷單元,用于判斷所述第一脈沖信號長度的有效性; 丟棄保留單元,用于丟棄或者保留所述第一脈沖信號。
      5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述處理模塊進(jìn)一步包括: 初始化模塊,用于初始化系統(tǒng); 檢測單元,用于檢測所述第一脈沖信號的上升沿; 接收單元,用于打開與授時模塊間的串口開始接收所述授時信息; 第一轉(zhuǎn)換單元,用于對所述授時信息進(jìn)行串并轉(zhuǎn)換及校正得到并行授時信息; 第一輸出單元,用于輸出所述并行授時信息至所述DC編碼模塊。
      6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述DC編碼模塊進(jìn)一步包括: 第二轉(zhuǎn)換單元,用于轉(zhuǎn)換所述并行授時信息的格式; 第二提取單元,用于提取所述第一脈沖信號上升沿; 第三轉(zhuǎn)換單元,用于啟動碼元寬度和碼元個數(shù)計數(shù)器,根據(jù)DC編碼規(guī)則將所述并行授時信息轉(zhuǎn)換成DC編碼輸出; 第二輸出單元,設(shè)置所述第一脈沖信號的占空比并延時一個時鐘周期輸出。
      7.一種基于FPGA的高精度DC碼編碼方法,其特征在于,所述方法基于上述系統(tǒng),所述系統(tǒng)包括:授時模塊、邏輯模塊和處理模塊,該方法包括: 所述授時模塊輸出第一脈沖信號至所述邏輯模塊和所述處理模塊;所述邏輯模塊將接收到的第一脈沖信號進(jìn)行雜波濾除,得到第二脈沖信號,并將所述第二脈沖信號作為DC碼編碼的時間基準(zhǔn)信號和處理模塊開始接收授時信息的中斷信號;所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊; 所述邏輯模塊以接收到的所述第二脈沖信號的上升沿作為起始標(biāo)識,將接收到的并行授時信息轉(zhuǎn)化為串行的DC碼輸出。
      8.如權(quán)利要求7所述的方法,其特征在于,所述方法還包括: 將外部輸入的IOMHz時鐘倍頻得到IOOMHz時鐘作為系統(tǒng)的時鐘信號。
      9.如權(quán)利要求7所述的方法,其特征在于,所述邏輯模塊將接收到的第一脈沖信號進(jìn)行雜波濾除具體包括: 提取所述第一脈沖信號的上升沿; 啟動所述第一脈沖信號的長度計數(shù)器并保持上一個第一脈沖信號的長度; 判斷所述第一脈沖信號長度的是否有效,若是,則保留所述第一脈沖信號,若否,則丟棄所述第一脈沖信號。
      10.如權(quán)利要求7所述的方法,其特征在于,所述處理模塊接收到所述中斷信號后,通過串口開始接收授時信息,并將所述授時信息轉(zhuǎn)換成并行授時信息發(fā)送給邏輯模塊具體包括: 初始化系統(tǒng); 檢測所述第一脈沖信號的上升沿; 打開與授時模塊間的串口開始接收所述授時信息; 對所述授時信息進(jìn)行串并轉(zhuǎn)換及校正得到并行授時信息; 輸出所述并行授時信息至所述邏輯模塊。
      【文檔編號】H03K19/00GK103997331SQ201410257992
      【公開日】2014年8月20日 申請日期:2014年6月11日 優(yōu)先權(quán)日:2014年6月11日
      【發(fā)明者】張小倩, 黃磊, 薛珊珊 申請人:四川九洲電器集團(tuán)有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1