當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:旨在設(shè)計一款基于FPGA的IRIG-B時間系統(tǒng)。該系統(tǒng)采用FPGA作為控制器,GPS引擎M12T作為標(biāo)準(zhǔn)時鐘源,利用M12T輸出的100 pps信號觸發(fā)IRIG-B編碼模塊,完成DC碼編碼。在DC碼的基礎(chǔ)上,通過正弦查找表實現(xiàn)了IRIG-B交

摘要:旨在設(shè)計一款基于FPGA的IRIG-B時間系統(tǒng)。該系統(tǒng)采用FPGA作為控制器,GPS引擎M12T作為標(biāo)準(zhǔn)時鐘源,利用M12T輸出的100 pps信號觸發(fā)IRIG-B編碼模塊,完成DC碼編碼。在DC碼的基礎(chǔ)上,通過正弦查找表實現(xiàn)了IRIG-B交流碼的數(shù)字調(diào)制,同時設(shè)計調(diào)制輸出電路。采用VHDL語言進行全數(shù)字設(shè)計,所有功能都由硬邏輯實現(xiàn),保證了B碼信號邊沿的準(zhǔn)確;帶預(yù)進位功能的計時鏈,保證了B碼絕對時間精準(zhǔn)。軟件仿真和示波器觀測以及現(xiàn)場運行表明,系統(tǒng)設(shè)計達(dá)到了預(yù)期目標(biāo),定時精確可靠。
關(guān)鍵詞:授時碼;IRIG-B;數(shù)字調(diào)制;GPS


    我國靶場測量、工業(yè)控制、電力系統(tǒng)測量與保護、計算、通信、氣象等測試設(shè)備均采用國際標(biāo)準(zhǔn)IRIG-B格式的時間碼(簡稱B碼)作為時間同步標(biāo)準(zhǔn)。B碼是一種串行的時間格式.分為直流碼(DC碼)和交流碼(AC碼)兩種,其格式和碼元定時在文獻中有詳細(xì)描述。本文介紹一種基于FPGA并執(zhí)行IRIG-B標(biāo)準(zhǔn)的AC/DC編碼技術(shù),與基于MCU或者DSP和數(shù)字邏輯電路實現(xiàn)的編碼方法相比,該技術(shù)可以大大降低系統(tǒng)的設(shè)計難度,降低成本,提高B碼的精確性和系統(tǒng)靈活性。
   在此,組合GPS引擎和FPGA,得到B碼的編碼輸出,直接采用GPS引擎的100 pps信號觸發(fā)輸出B碼的每個碼元,利用從100 pps中恢復(fù)的1 pps信號提供B碼的時間參考點。DC編碼和AC數(shù)字調(diào)制均由純硬件邏輯通過查找表實現(xiàn),它能使每個碼元的上升沿都非常精準(zhǔn),都可以作為百分秒的時間參考點。而計時鏈的預(yù)進位功能則保證了絕對時間的精確,不僅可以滿足實時系統(tǒng)對時間同步,還可以實現(xiàn)多節(jié)點的數(shù)據(jù)采集嚴(yán)格同步,為分析和度量異步發(fā)生的事件提供有力的支持。

1 IRIG-B編碼格式
    IRIG標(biāo)準(zhǔn)規(guī)定的B格式碼如圖1所示,每秒鐘發(fā)1次,每次100個碼元,包含1個同步參考點(P,脈沖的上升沿)和10個索引標(biāo)記。碼元寬度為10 ms,用高電平寬度為8 ms的脈沖表示索引標(biāo)記,用寬度為5 ms的脈沖表示邏輯1,用寬度為2 ms的脈沖表示邏輯0。


    如圖1所示,交流碼的載波是1 kHz正弦信號,幅度變化峰-峰值范圍為0.5~1 0 V。調(diào)制比為U1/U0=1/6~1/2,即邏輯1是5個幅度為U1的1 kHz正弦信號。邏輯0是2個幅度為己U1的1 kHz正弦信號,索引標(biāo)記是8個幅度為U1的1 kHz正弦信號,其他時間是幅度為U0的1 kHz正弦信號。[!--empirenews.page--]

2 系統(tǒng)方案
2.1 系統(tǒng)原理框圖
    設(shè)計授時系統(tǒng)需要一個精準(zhǔn)時基。在此利用精密授時型GPS引擎M12T作為系統(tǒng)時基,利用AlteraFPGA檢測M12T輸出的百分秒(100 pps)同步信號和經(jīng)串口輸出的絕對時間信號,編碼后輸出到DC/AC接口模塊,再輸出到物理鏈路,系統(tǒng)結(jié)構(gòu)圖如圖2所示。


    上述系統(tǒng)首先實現(xiàn)了B碼直流編碼,而后在直流碼的基礎(chǔ)上實現(xiàn)交流調(diào)制,以得到交流碼,同時提供恢復(fù)每秒脈沖數(shù)輸出和隔離RS 232串行口輸出且符合Motorola格式的時間碼,以及數(shù)碼管的時間顯示。時間顯示部分用FPGA實現(xiàn)比較簡單,下文不再詳述。
2.2 GPS授時模塊M12T
    M12接收器是Motorola公司優(yōu)秀ONCORE家族中的新成員,廣泛用于各類定位、導(dǎo)航、授時設(shè)備中,擁有全GPS行業(yè)內(nèi)最快的初次定位時間和重捕獲衛(wèi)星的時間。M12T是針對GPS授時推出的定時精度更高的增強型產(chǎn)品。M12T具有12個并行通道,可同時跟蹤12顆衛(wèi)星,重捕獲時間小于1.O s。當(dāng)擁有當(dāng)前天歷、位置、時間和星歷數(shù)據(jù)時。首次定位時間TTFF<15 s。在位置保持狀態(tài)時,定時精度(1 pps或100 pps)小于12 ns。
2.3 FPGA和DAC
    FPGA采用Altera CycloneⅡEPC2C5T144,該芯片有4 608個LE,26個M4K.兩個模擬鎖相環(huán)。DAC采用單通道、單電源、自帶基準(zhǔn)的MAX5712。MAX5712是微型引腳,12 b解析度,片上精密輸出放大器提供滿擺幅輸出。MAX5712用兼容SPITM/QSPITM/MICROWIRETM和DSt標(biāo)準(zhǔn)接口的3線串行接口。所有輸入都兼容于CMOS邏輯,并經(jīng)過施密特觸發(fā)器緩沖,允許直接接光電耦合器。MAX5712含有上電復(fù)位(POR)電路,確保上電時DAC處于零電壓輸出狀態(tài)。

3 時鐘模塊實現(xiàn)
3.1 基準(zhǔn)時刻和索引脈沖的提取
    要保證B碼每個碼元的上升沿時刻準(zhǔn)確,需要100 pps的精確時基和pps的參考點。一般的做法是用pps作為基準(zhǔn),每個碼元的起點由前兩個秒脈沖的間隔等分得到。這種方法使用上一時刻來預(yù)測下一秒,每秒脈沖有抖動時會導(dǎo)致最后一個碼元寬度不足或超過10 ms,這將無法利用B碼來實現(xiàn)時間同步和數(shù)據(jù)等間隔同步的采集。本文直接使用M12T產(chǎn)生的100 pps信號作為每個碼元的起始時刻,然后再從100 pps信號中恢復(fù)出1 pps。由于B碼參考標(biāo)記Pr=1 pps的上升沿,所以這種方法既保證Pr的準(zhǔn)確性,又保證各個碼元和索引標(biāo)記時刻的準(zhǔn)確性。在有等間隔同步數(shù)據(jù)采樣要求的場合,可使用每個B碼碼元的上升沿校準(zhǔn)本地時基,確保采樣同步和時間同步。[!--empirenews.page--]
    M12T輸出的100 pps信號(以下稱PPMl2)如圖3所示,每個脈沖的上升沿時刻準(zhǔn)確,周期10 ms,在pps的參考點,脈沖寬度為6~8 ms,其他時刻2~4 ms,脈沖寬度不是關(guān)注的重點。


    B碼的每個碼元恰好與上述100 pps信號對應(yīng)。首先在FPGA中構(gòu)建一個模100的碼元計數(shù)器MMH和一個高電平脈沖寬度檢測器,通過下面的方法和步驟可以恢復(fù)pps。
    (1)在PPMl2信號的上升沿復(fù)位寬度檢測器,高電平計時,在下降沿停止并輸出Tb;
    (2)在PPM12下降沿檢查Tb,當(dāng)6 ms<Tb<8 ms時,令MMH=1,否則執(zhí)行下面的操作:
if MMH=99 then MMH=O
else MMH=MMH+1
    (3)在PPMl2信號的上升沿檢查MMH,如果MMH=0,則當(dāng)前脈沖的上升沿是參考點Pr,觸發(fā)輸出8 ms高電平脈沖作為pps信號,重復(fù)步驟(1)~(3),在PPM12信號上升沿檢查MMH;如果MMH的個位為9或者MMH=0,則當(dāng)前脈沖標(biāo)記為索引脈沖,即輸出8 ms高電平。
3.2 絕對時間獲取
    通過在FPGA上構(gòu)建一個UART與M12T互連。為了簡化FPGA對M12T的配置和輸出時間的獲取,將UART分成兩部分設(shè)計,即發(fā)送模塊txmit和接收模塊rcvr。發(fā)送模塊用一個M4K設(shè)計一個512×8 FIFO,在系統(tǒng)復(fù)位后的若干個時鐘,利用一個狀態(tài)機將M12T的配置數(shù)據(jù)寫入FIFO;然后通過txmit模塊配置M12T,配置結(jié)束后,UART模塊將M12T的時間碼轉(zhuǎn)發(fā)到外部RS 232接口,同時可以轉(zhuǎn)發(fā)外部接口的配置數(shù)據(jù)到M12T。接收模塊采用寄存器模式,只接收M12T發(fā)來的絕對時間信息,這樣后面的編碼模塊可以直接使用這些時間信息。做法如下:設(shè)計一個接收計數(shù)器rx_ count,每接收一個字節(jié)計數(shù)器自加,并根據(jù)rx_count決定是否保存時間碼。由于M12T每秒中發(fā)送一幀,故在檢測到pps時復(fù)位該計數(shù)器。


    M12T在每個1 pps的上升沿過后送出當(dāng)前時間,而FPGA通過UART接收到時間時,B碼當(dāng)前幀已經(jīng)啟動,據(jù)此形成的B碼要等下一個pps參考點之后才可以發(fā)送,所以對接收的時間要進行預(yù)進位處理。
    本文在FPGA預(yù)處理部分設(shè)計了一個RTC計時鏈,在每個1 pps的上升沿.計時鏈向上進位,編碼模塊從RTC計時鏈取絕對時間。從UART接收到新的時間后,如果該時間與計時鏈的值有差異,則將通過計時鏈的同步置數(shù)接口修正計時鏈的值。同時計時鏈負(fù)責(zé)把M12T的二進制時間轉(zhuǎn)換成壓縮的BCD碼,還要根據(jù)當(dāng)前接收到的年月日,計算當(dāng)天是全年中的第幾天,即IRIG-B碼中的Day字段,而且在預(yù)加1 S和轉(zhuǎn)換時間格式時,要注意閏年和月大和月小對Day字段的影響。

4 IRIG-B編碼模塊實現(xiàn)
4.1 IRIG-B DC編碼模塊
    分析B碼可以發(fā)現(xiàn),秒的最低位出現(xiàn)在MMH=1處,分的最低位出現(xiàn)在MMH=10處,小時的最低位出現(xiàn)在MMH=20處,依次類推。按照圖1,容易得出時間寄存器輸出時刻和碼元計數(shù)器MMH之間的關(guān)系。由于碼元周期固定為10 ms,可以這樣實現(xiàn)編碼,定義一個模10的計數(shù)器MML和邏輯向量CMP(9 down to0)來表征一個碼元在10 ms的狀態(tài)。MML每ms加1,同時根據(jù)MML的值,選擇CMP的一位更新輸出狀態(tài),步驟如下:
    (1)構(gòu)建模10計數(shù)器MML,以及一個1 ms定時器;
    (2)在PPM12信號的上升沿復(fù)位MML和1 ms定時器;
    (3)1 ms定時器溢出時,MML加1;
    (4)根據(jù)MML和CMP輸出編碼信號IRIG_B_OUT,即IRIG_B_OUT=CMP(MML);[!--empirenews.page--]
    (5)在PPM12的上升沿根據(jù)第3.1節(jié)所得碼元計數(shù)器MMH重新加載CMP
    算法VHDL描述如下:

    在上述VHDL編碼的實現(xiàn)中,MSCLK為1 ms計數(shù)脈沖.同步于PPM12信號的上升沿。CMP的輸出值由函數(shù)IRIG_B根據(jù)輸入?yún)?shù)決定,若為0,則輸出“0000000011”,對應(yīng)2 ms;若為1則輸出“0000011111”,對應(yīng)5ms。在索引脈沖和參考點Pr處,CMP取值“0011111111”,對應(yīng)8 ms。而最終的編碼輸出IRIG_B_0UT在每個1 ms脈沖的上升沿,根據(jù)CMP(MML)的值決定為高或為低。
4.2 IRIG-B AC編碼模塊
4.2.1 數(shù)字調(diào)制原理
    按照奈奎斯特抽樣定理,只要抽樣頻率高于2倍信號的最高頻率,則整個連續(xù)信號就能完全用它的抽樣值來代表。使用抽樣值構(gòu)成的序列經(jīng)DAC和低通濾波后即可恢復(fù)原來的連續(xù)信號。
    若對頻率為f的正弦波抽樣N次(N>2f),并在T=1/f內(nèi)通過DAC等間隔輸出N次抽樣值,則低通濾波后可恢復(fù)原始正弦信號。各個采樣點值為:
4.2.2 正弦查找表
    這里給出利用查找表實現(xiàn)交流數(shù)字調(diào)制的方法。在獲得IRIG-B的直流編碼后,將該信號導(dǎo)入到數(shù)字調(diào)制模塊,即可獲得交流編碼。對正弦信號進行100次等間隔抽樣,對式(2)使用實際的增益和直流偏移,可得式(3)。據(jù)此獲得查找表。

式中:N=100為采樣率;k=O,1,2,…,N-1;Ck對應(yīng)第k次抽樣獲得的值;A0為保證輸出信號為單極性而設(shè)置的初始直流偏移;Ac為考慮調(diào)制比和DAC滿幅度碼值的系數(shù)。
    由于交流信號頻率為1 kHz,周期為T=1 ms,若在1 ms內(nèi)將上述抽樣值等間隔輸出到DAC,即可獲得1 kHz的調(diào)制信號。
    本文使用MAX5712和單電源rail-rail運放AD8601構(gòu)成濾波器。在MAX5712滿幅輸出時,C=4 095(12 bit DAC),選擇調(diào)制比為1∶5。綜合考慮,在最大輸出時,不能使DAC輸出到達(dá)運放的上軌,最低輸出時,DAC輸出應(yīng)高于運放的下軌,所以選取A0=C/2+200=2 248。對應(yīng)邏輯0,Ac=461;對應(yīng)邏輯1,Ac=1 844。根據(jù)上述原則計算出的正弦查找表如表1所示。


    實際使用時,應(yīng)根據(jù)使用DAC的解析度、運放的動態(tài)范圍以及采樣率及調(diào)制比確定上式中的參數(shù)。
4.2.3 DAC接口
    實際使用時應(yīng)根據(jù)DAC的不同,在FPGA中構(gòu)建不同的數(shù)字接口。MAX5712需要在FPGA實現(xiàn)一個SPI接口,結(jié)構(gòu)如圖4所示。接口控制部分提供一個16 b寫端口,可以接收數(shù)據(jù)。在寫使能wren為高時,接口上的數(shù)據(jù)寫入內(nèi)部并行保持寄存器。在LDAC脈沖的上升沿,并行寄存器THR的內(nèi)容寫入移位寄存器,同時啟動時鐘邏輯。在輸出時鐘作用下,數(shù)據(jù)從Dout輸出到DAC,在SPI_CS的后沿,DAC啟動轉(zhuǎn)換輸出與當(dāng)前編碼相匹配的模擬量。

[!--empirenews.page--]
4.2.4 交流調(diào)制方法
    把按照第4.2.1節(jié)方法生成的正弦查找表生成Altera mif文件,再例化一個M4K ROM,使用上述文件作為ROM的初始化文件。建立一個周期為10μs的定時器和一個地址計數(shù)器。地址計數(shù)器和定時器在B碼直流信號的變化沿復(fù)位,定時器溢出后啟動地址計數(shù)器?;蛘甙堰壿?對應(yīng)的查找表放在ROM的上半部,如果把邏輯1對應(yīng)的查找表放在ROM的下半部,且輸入的直流B碼信號作為地址的高位,則此時刻對應(yīng)的ROM輸出即為DAC的調(diào)制輸出,ROM查找表VHDL的代碼實現(xiàn)如下:


其中:B為來自編碼器中IRIG-B的直流編碼;AQC為地址計數(shù)器;ddata為輸出到DAC的數(shù)字調(diào)制輸出。由于查找表是按照對正弦信號做100次等間隔采樣形成的,交流載波為1 kHz。所以AQC每隔10μs自加1,順序輸出100個編碼值,在B碼的每個變化邊沿復(fù)位。
    按上述方法設(shè)計的數(shù)字調(diào)制模塊,用示波器測得輸出波形如圖5所示。


    圖5中,通道1(從上至下第一個信號)為M12T輸出的100pps信號PPM12;通道2(從上至下第三個信號)為IRIG-B的直流編碼輸出信號;通道3(從上至下第二個脈沖)為從PPM12信號中恢復(fù)的每秒脈沖數(shù)信號;通道4(最下面的波形)為IRIG-B編碼的交流輸出波形。圖5中示波器的觸發(fā)點即為B碼參考點Pr。
4.3 IRIG-B編碼輸出
4.3.1 直流碼輸出
    為了保證輸出信號的邊沿和抗干擾,將第4.1節(jié)得到的TTL電平B碼信號和秒脈沖經(jīng)高速光耦隔離,輸出電路如圖6所示。


    圖6中,輸入信號IRIG-B為第4.1節(jié)所述FPGA編碼模塊輸出的直流編碼信號;pps為FPGA從M12T的100 pps信號中恢復(fù)的秒脈沖信號;D350和D351實現(xiàn)了TTL/RS485的電平轉(zhuǎn)換。
4.3.2 模擬調(diào)制電壓輸出
    IRIG-B編碼的交流碼輸出電路如圖6所示。將第4.2.3節(jié)所述數(shù)字調(diào)制信號通過DAC接口輸出到MAX5712上進行D/A轉(zhuǎn)換,經(jīng)過AD8601濾除高次諧波后,再用電容耦合到由晶體管Q301構(gòu)成的電壓放大器中,然后經(jīng)600∶600的隔離變壓器輸出。

5 結(jié) 語
    利用FPGA和M12T授時型GPS內(nèi)核構(gòu)成的IRIG-B編碼模塊采用M12T的100 pps信號觸發(fā)IRIG-B編碼器,使得編碼輸出的每個碼元上升沿均與GPS模塊嚴(yán)格一致,每個碼元間隔嚴(yán)格相等,而且每個碼元的上升沿均可作為同步參考點。利用FPGA的并發(fā)處理能力,使得系統(tǒng)實時性好。本文介紹的基于查找表的B碼編碼方法和通過查找表的數(shù)字調(diào)制方法具有占用資源小,設(shè)計簡單,調(diào)制輸出高次諧波小,信號邊沿穩(wěn)定等特點。
    經(jīng)過軟件仿真和系統(tǒng)測試。本文實現(xiàn)的B碼編碼器中DC碼參考點Pr和M12T GPS模塊的pps參考點的時間誤差小于20 ns。與絕對時間參考點之間的誤差小于40 ns,AC碼與DC碼之間的延遲為100 ns。利用上述方法實現(xiàn)的模塊已經(jīng)成功地應(yīng)用在我公司的通信管理機和同步時間服務(wù)器中,現(xiàn)場運行結(jié)果穩(wěn)定、準(zhǔn)確、可靠。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉