文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172617
中文引用格式: 王振,,李建宏,,張大松,等. 基于FPGA的VPX時間統(tǒng)一系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2018,,44(1):65-67,71.
英文引用格式: Wang Zhen,,Li Jianhong,,Zhang Dasong,et al. VPX time unified system design based on FPGA[J]. Application of Electronic Technique,,2018,,44(1):65-67,71.
0 引言
時間作為物理學(xué)的基本量綱之一,,是系統(tǒng)運行的重要參考指標(biāo),而IRIG-B碼作為國際標(biāo)準(zhǔn)時間碼,,其性能優(yōu)越,,實現(xiàn)和使用方法簡單易行,十分適合應(yīng)用于高精度時間傳輸系統(tǒng)中,。
FGPA具有編程方便,、集成度高、速度快等特性,,可反復(fù)編程,、擦除及使用,在不改動硬件設(shè)計的情況下,可實現(xiàn)不同的功能需求,。采用FPGA實現(xiàn)授時,、分頻,產(chǎn)生時間信號和各種同步信號,,可以使時統(tǒng)接口模塊集成度更高,,可維護性更強。
本文結(jié)合實際時統(tǒng)項目提出了一種基于FPGA的高速時間統(tǒng)一系統(tǒng)設(shè)計方案,,它以Altera[1]公司Cyclone系列FPGA[2-3]芯片為核心,,采用原理圖和Verilog語言編程[4]實現(xiàn)。通過接收GPS,、北斗,、B碼等外部基準(zhǔn),并選擇其中一路產(chǎn)生與其同步的IRIG-B碼信號和各脈沖信號,,供其他分系統(tǒng)使用,。
1 系統(tǒng)總體設(shè)計
時統(tǒng)系統(tǒng)硬件包括時統(tǒng)卡(安裝于服務(wù)器)和IRIG-B碼終端[6]。圖1為時統(tǒng)系統(tǒng)設(shè)備組成圖,。
IRIG-B 碼終端可以實現(xiàn)GPS衛(wèi)星系統(tǒng)與北斗衛(wèi)星系統(tǒng)的雙系統(tǒng)時間信號冗余接收以及外來B碼信號的直接接收,,產(chǎn)生多路直流或交流IRIG-B碼發(fā)送給時統(tǒng)卡。
時統(tǒng)卡通過直接接收IRIG-B碼并通過解碼電路自動獲取標(biāo)準(zhǔn)時間信息,,通過VPX總線向配有時統(tǒng)卡的服務(wù)器發(fā)送時統(tǒng)信息,,服務(wù)器接收時統(tǒng)信息后,向服務(wù)器自身,、網(wǎng)絡(luò)內(nèi)各工作站和終端進行網(wǎng)絡(luò)授時,,實現(xiàn)對設(shè)備自身信號嚴(yán)格的監(jiān)控和輸出,以提高系統(tǒng)的可靠性及滿足時間同步要求,。
2 IRIG-B碼編碼原理
IRIG-B碼是國際通用的一種常用串行傳輸方式時間格式碼,,與并行傳輸方式相比,其物理連接簡單,、信息量大,、分辨率高、傳輸距離遠,、抗干擾能力強,、具有標(biāo)準(zhǔn)化接口。根據(jù)時間精度的不同要求及B碼傳輸距離的不同,,B碼采用了兩種碼型:B(DC)直流碼和B(AC)交流碼,。B(DC)碼的每個碼元是一個脈沖信號,可以實現(xiàn)較高精度的時間同步,,但脈沖信號頻譜豐富,,窄帶信道無法傳輸,,適用于短距離電纜傳輸;B(AC)碼則可以使用標(biāo)準(zhǔn)語音帶寬(0.3 kHz~3.4 kHz)信道傳輸,,傳輸距離更遠,,但傳輸精度有一定損失。B(AC)碼可由B(DC)碼對標(biāo)準(zhǔn)正弦波載波進行幅度調(diào)制得到,。根據(jù)不同要求可選擇不同碼型傳輸,,在本時統(tǒng)系統(tǒng)中,兩種碼型均有應(yīng)用,。
3 B碼終端
B碼終端可以接收GPS/北斗的授時信號和外來B碼信號,,通過編解碼處理生成1PPS脈沖信號與DC/AC時間編碼信號,以供時間同步設(shè)備使用,。
3.1 B碼終端系統(tǒng)原理及組成
B碼終端系統(tǒng)原理圖如圖2所示,。
B碼終端可同時接收GPS/北斗信號和外來B碼信號。當(dāng)GPS/北斗信號到來時,,GPS/北斗模塊通過天線接收授時信號,,向ARM和FPGA發(fā)送1PPS脈沖信號,同時以串行方式向ARM發(fā)送時間信息,;ARM將解出的時間信息及有效標(biāo)志,,通過自定義總線和通信協(xié)議發(fā)送至FPGA; FPGA在接收到1PPS與時間信息后,,根據(jù)信息的有效性決定選用該時間信息或自守時的方式,,生成多路AC/DC碼和1PPS信號向外輸出。當(dāng)外來B碼到來,,通過AC/DC解碼電路,,將外來B碼信號整形運放,然后傳給FPGA進行編解碼,。
3.2 B碼終端單元模塊設(shè)計
(1)GPS/北斗模塊
選用精度為30 ns,、1 PPS的GPS/北斗模塊,向FPGA和ARM傳輸時間信號,,并支持通過串口命令對芯片進行配置,。
GPS/北斗模塊輸出包含UTC年,、月,、日、時,、分,、秒。ARM處理器通過模塊提供的1PPS中斷接收整秒信號,,并通過異步串行通信方式獲取時間信息,。
(2)外部B碼解碼電路
當(dāng)采用外部B碼信號作為產(chǎn)生IRIG-B碼的基準(zhǔn)時,需要對外部B碼基準(zhǔn)進行接收解調(diào),以產(chǎn)生基準(zhǔn)秒和串行時間數(shù)據(jù),。在本設(shè)計中,,采用硬件電路完成對外部B碼基準(zhǔn)的解調(diào)工作。
(3)1PPS選擇模塊
FPGA對GPS/北斗信號及外來B碼信號進行處理,,產(chǎn)生AC_1PPS,、DC_1PPS、GPS_1PPS信號,,作為ARM與FPGA之間通信基準(zhǔn),。
(4)FPGA各功能模塊設(shè)計
FPGA作為B碼終端的核心,實現(xiàn)了時碼產(chǎn)生,、同步分頻,、外來B碼信號解碼等功能,主要包含B(AC/DC)碼生成模塊,、B(DC)碼解碼模塊,、B(AC)碼解碼模塊等。各模塊工作原理如圖3所示,。
B(AC)碼生成模塊:FPGA根據(jù)GPS/北斗模塊的時間信息產(chǎn)生AC碼,,其每一位的高低電平的AC碼實際輸出對應(yīng)ROM中一個周期的正弦波形,F(xiàn)PGA輸出的波形控制字發(fā)送至DAC,,DAC輸出對應(yīng)電流值,,經(jīng)運算放大電路轉(zhuǎn)換后生成對應(yīng)AC碼高低電平的正弦波形,最后經(jīng)1:1變壓器將波形輸出,。
B(DC)碼生成模塊:FPGA根據(jù)GPS/北斗模塊的時間信息直接產(chǎn)生DC碼的TTL輸出,,經(jīng)單端/差分轉(zhuǎn)換后,輸出至多路DC碼輸出,。
B碼解碼模塊:FPGA通過完成外來B碼的解碼,,以實現(xiàn)精準(zhǔn)時間信息的提取并輸出。
4 時統(tǒng)卡
時統(tǒng)卡設(shè)計采用通用的VPX接口,,可接收標(biāo)準(zhǔn)化時統(tǒng)的IRIG-B(DC)碼,、IRIG-B(AC)碼輸入,設(shè)備可以通過上層驅(qū)動從VPX總線[5-6]上捕獲當(dāng)前時間信息,,采集不同頻率的中斷信號,。針對時統(tǒng)卡的具體要求,將時統(tǒng)卡劃分為兩個主要部分:硬件電路設(shè)計及IRIG-B碼解碼,、時間獲取軟件設(shè)計,。
4.1 硬件電路設(shè)計
時統(tǒng)卡硬件總體主要包括B碼接收電路、VPX接口電路,、B碼解碼電路和電源電路,。具體硬件結(jié)構(gòu)設(shè)計框圖如圖4所示,。
B碼接收電路包含兩部分,即B(AC)碼和B(DC)碼兩種碼型的接收,,通過接收電路后,,最終兩種碼型都以TTL電平方式傳輸?shù)紹 碼解碼電路。
B碼解碼電路主要由FPGA芯片和外圍電路組成,,通過FPGA編程開發(fā)完成B碼的解碼,,實現(xiàn)時間信息的提取。
4.2 FPGA
FPGA通過完成B碼的解碼,,以實現(xiàn)精準(zhǔn)時間信息的提取,,并與VPX接口通信。
FPGA內(nèi)部設(shè)計框圖如圖5所示,。
FPGA的B碼解碼模塊主要包括:B(DC)碼解碼模塊,、B(AC)碼解碼模塊、時間選擇模塊,、中斷產(chǎn)生模塊和VPX接口模塊,。FPGA程序可以完成時間信息的提取、B(DC)碼和B(AC)碼的自動切換,,還可以通過B碼解碼過程產(chǎn)生的PPS 秒脈沖,,實現(xiàn)不同時間的中斷信號。VPX接口程序完成時間信息和中斷信號的接收并傳輸?shù)絍PX總線,。
B(AC)碼解模塊和B(DC)解碼模塊分別對兩種時統(tǒng)信號根據(jù)B碼的碼型特點進行時間信息提取,,并輸出有效時間信息、時間有效標(biāo)志和PPS秒脈沖,。
有效時間選擇模塊根據(jù)B(AC)和B(DC)碼解碼輸出的時間有效信號選擇輸出有效時間信號,,這里優(yōu)先選擇B(DC)碼時間信息。
中斷產(chǎn)生模塊根據(jù)PPS秒脈沖產(chǎn)生準(zhǔn)確的,、不同周期的中斷時間信號,,為上位機提供更高分辨率時間信號。
守時模塊是FPGA在沒有B碼輸入時,,通過內(nèi)部時鐘計數(shù)產(chǎn)生秒脈沖和時間的更新,。B碼解碼模塊在沒有成功解碼時間信息時輸出相應(yīng)信號,通過時間選擇模塊完成守時時間的切換,。守時模塊在有B碼輸入時每個秒周期自動更新時間,,并且自行進行時間計數(shù),完成守時功能,。
5 實驗結(jié)果
將B碼終端與時統(tǒng)卡相連接,,在接入GPS/北斗信號條件下,,采用上位機對時統(tǒng)卡輸出的信號進行讀取,。在讀取過程中,,為了顯示直觀性與簡潔性,只在每秒初始時刻打印一次信息,。另外,,為了更加準(zhǔn)確地反映時統(tǒng)系統(tǒng)及上位機讀取的延時,上位機測試軟件中加入了每秒讀取時各個中斷的最大及最小延遲,。圖6為時統(tǒng)系統(tǒng)運行實驗結(jié)果,。
經(jīng)過多次長時間的測試,各個中斷最大延遲均滿足設(shè)計要求,。
6 結(jié)論
本文的時統(tǒng)系統(tǒng),,其外圍硬件電路簡單, 可靠性高,時統(tǒng)卡使用VPX總線進行通信,,滿足靶場計算平臺高性能,、高帶寬、抗惡劣環(huán)境的性能要求,,有巨大的發(fā)展應(yīng)用前景,,已成功應(yīng)用于某設(shè)備之中。經(jīng)過長時間工作檢驗可知,,設(shè)備工作穩(wěn)定,,指標(biāo)滿足要求。
參考文獻
[1] 于楓.ALTERA可編程邏輯器件應(yīng)用技術(shù)[M].北京:科學(xué)出版社,,2004.
[2] 李洪偉,,袁斯華.基于QuartusII的FPGA/CPLD設(shè)計[M].北京:電子工業(yè)出版社,2006.
[3] 吳繼華,,王誠.Altera FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,,2005.
[4] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.
[5] 包利民,,潘奇.VPX總線技術(shù)及其實現(xiàn)[J].電子機械工程,,2012,28(2):57-60.
[6] VMEbus International Trade Association.American national standard for VPX baseline standard[S].ANSI/VITA 46.0,,2007.
[7] 馮勝民,,陳娟花.基于FPGA的IRIG-B碼產(chǎn)生器設(shè)計與實現(xiàn)[J].電子測量技術(shù),2015,,38(5):67-71.