時間作為物理學的基本量綱之一,是系統運行的重要參考指標,而IRIG-B碼作為國際標準時間碼,其性能優越,實現和使用方法簡單易行,十分適合應用于高精度時間傳輸系統中。
FGPA具有編程方便、集成度高、速度快等特性,可反復編程、擦除及使用,在不改動硬件設計的情況下,可實現不同的功能需求。采用FPGA實現授時、分頻,產生時間信號和各種同步信號,可以使時統接口模塊集成度更高,可維護性更強。
本文結合實際時統項目提出了一種基于FPGA的高速時間統一系統設計方案,它以Altera[1]公司Cyclone系列FPGA[2-3]芯片為核心,采用原理圖和Verilog語言編程[4]實現。通過接收GPS、北斗、B碼等外部基準,并選擇其中一路產生與其同步的IRIG-B碼信號和各脈沖信號,供其他分系統使用。
1 系統總體設計
時統系統硬件包括時統卡(安裝于服務器)和IRIG-B碼終端[6]。圖1為時統系統設備組成圖。
IRIG-B 碼終端可以實現GPS衛星系統與北斗衛星系統的雙系統時間信號冗余接收以及外來B碼信號的直接接收,產生多路直流或交流IRIG-B碼發送給時統卡。
時統卡通過直接接收IRIG-B碼并通過解碼電路自動獲取標準時間信息,通過VPX總線向配有時統卡的服務器發送時統信息,服務器接收時統信息后,向服務器自身、網絡內各工作站和終端進行網絡授時,實現對設備自身信號嚴格的監控和輸出,以提高系統的可靠性及滿足時間同步要求。
2 IRIG-B碼編碼原理
IRIG-B碼是國際通用的一種常用串行傳輸方式時間格式碼,與并行傳輸方式相比,其物理連接簡單、信息量大、分辨率高、傳輸距離遠、抗干擾能力強、具有標準化接口。根據時間精度的不同要求及B碼傳輸距離的不同,B碼采用了兩種碼型:B(DC)直流碼和B(AC)交流碼。B(DC)碼的每個碼元是一個脈沖信號,可以實現較高精度的時間同步,但脈沖信號頻譜豐富,窄帶信道無法傳輸,適用于短距離電纜傳輸;B(AC)碼則可以使用標準語音帶寬(0.3 kHz~3.4 kHz)信道傳輸,傳輸距離更遠,但傳輸精度有一定損失。B(AC)碼可由B(DC)碼對標準正弦波載波進行幅度調制得到。根據不同要求可選擇不同碼型傳輸,在本時統系統中,兩種碼型均有應用。
3 B碼終端
B碼終端可以接收GPS/北斗的授時信號和外來B碼信號,通過編解碼處理生成1PPS脈沖信號與DC/AC時間編碼信號,以供時間同步設備使用。
3.1 B碼終端系統原理及組成
B碼終端系統原理圖如圖2所示。
B碼終端可同時接收GPS/北斗信號和外來B碼信號。當GPS/北斗信號到來時,GPS/北斗模塊通過天線接收授時信號,向ARM和FPGA發送1PPS脈沖信號,同時以串行方式向ARM發送時間信息;ARM將解出的時間信息及有效標志,通過自定義總線和通信協議發送至FPGA; FPGA在接收到1PPS與時間信息后,根據信息的有效性決定選用該時間信息或自守時的方式,生成多路AC/DC碼和1PPS信號向外輸出。當外來B碼到來,通過AC/DC解碼電路,將外來B碼信號整形運放,然后傳給FPGA進行編解碼。
3.2 B碼終端單元模塊設計
(1)GPS/北斗模塊
選用精度為30 ns、1 PPS的GPS/北斗模塊,向FPGA和ARM傳輸時間信號,并支持通過串口命令對芯片進行配置。
GPS/北斗模塊輸出包含UTC年、月、日、時、分、秒。ARM處理器通過模塊提供的1PPS中斷接收整秒信號,并通過異步串行通信方式獲取時間信息。
(2)外部B碼解碼電路
當采用外部B碼信號作為產生IRIG-B碼的基準時,需要對外部B碼基準進行接收解調,以產生基準秒和串行時間數據。在本設計中,采用硬件電路完成對外部B碼基準的解調工作。
(3)1PPS選擇模塊
FPGA對GPS/北斗信號及外來B碼信號進行處理,產生AC_1PPS、DC_1PPS、GPS_1PPS信號,作為ARM與FPGA之間通信基準。
(4)FPGA各功能模塊設計
FPGA作為B碼終端的核心,實現了時碼產生、同步分頻、外來B碼信號解碼等功能,主要包含B(AC/DC)碼生成模塊、B(DC)碼解碼模塊、B(AC)碼解碼模塊等。各模塊工作原理如圖3所示。
B(AC)碼生成模塊:FPGA根據GPS/北斗模塊的時間信息產生AC碼,其每一位的高低電平的AC碼實際輸出對應ROM中一個周期的正弦波形,FPGA輸出的波形控制字發送至DAC,DAC輸出對應電流值,經運算放大電路轉換后生成對應AC碼高低電平的正弦波形,最后經1:1變壓器將波形輸出。
B(DC)碼生成模塊:FPGA根據GPS/北斗模塊的時間信息直接產生DC碼的TTL輸出,經單端/差分轉換后,輸出至多路DC碼輸出。
B碼解碼模塊:FPGA通過完成外來B碼的解碼,以實現精準時間信息的提取并輸出。
4 時統卡
時統卡設計采用通用的VPX接口,可接收標準化時統的IRIG-B(DC)碼、IRIG-B(AC)碼輸入,設備可以通過上層驅動從VPX總線[5-6]上捕獲當前時間信息,采集不同頻率的中斷信號。針對時統卡的具體要求,將時統卡劃分為兩個主要部分:硬件電路設計及IRIG-B碼解碼、時間獲取軟件設計。
4.1 硬件電路設計
時統卡硬件總體主要包括B碼接收電路、VPX接口電路、B碼解碼電路和電源電路。具體硬件結構設計框圖如圖4所示。
B碼接收電路包含兩部分,即B(AC)碼和B(DC)碼兩種碼型的接收,通過接收電路后,最終兩種碼型都以TTL電平方式傳輸到B 碼解碼電路。
B碼解碼電路主要由FPGA芯片和外圍電路組成,通過FPGA編程開發完成B碼的解碼,實現時間信息的提取。
4.2 FPGA
FPGA通過完成B碼的解碼,以實現精準時間信息的提取,并與VPX接口通信。
FPGA內部設計框圖如圖5所示。
FPGA的B碼解碼模塊主要包括:B(DC)碼解碼模塊、B(AC)碼解碼模塊、時間選擇模塊、中斷產生模塊和VPX接口模塊。FPGA程序可以完成時間信息的提取、B(DC)碼和B(AC)碼的自動切換,還可以通過B碼解碼過程產生的PPS 秒脈沖,實現不同時間的中斷信號。VPX接口程序完成時間信息和中斷信號的接收并傳輸到VPX總線。
B(AC)碼解模塊和B(DC)解碼模塊分別對兩種時統信號根據B碼的碼型特點進行時間信息提取,并輸出有效時間信息、時間有效標志和PPS秒脈沖。
有效時間選擇模塊根據B(AC)和B(DC)碼解碼輸出的時間有效信號選擇輸出有效時間信號,這里優先選擇B(DC)碼時間信息。
中斷產生模塊根據PPS秒脈沖產生準確的、不同周期的中斷時間信號,為上位機提供更高分辨率時間信號。
守時模塊是FPGA在沒有B碼輸入時,通過內部時鐘計數產生秒脈沖和時間的更新。B碼解碼模塊在沒有成功解碼時間信息時輸出相應信號,通過時間選擇模塊完成守時時間的切換。守時模塊在有B碼輸入時每個秒周期自動更新時間,并且自行進行時間計數,完成守時功能。
5 實驗結果
將B碼終端與時統卡相連接,在接入GPS/北斗信號條件下,采用上位機對時統卡輸出的信號進行讀取。在讀取過程中,為了顯示直觀性與簡潔性,只在每秒初始時刻打印一次信息。另外,為了更加準確地反映時統系統及上位機讀取的延時,上位機測試軟件中加入了每秒讀取時各個中斷的最大及最小延遲。圖6為時統系統運行實驗結果。
經過多次長時間的測試,各個中斷最大延遲均滿足設計要求。
6 結論
本文的時統系統,其外圍硬件電路簡單, 可靠性高,時統卡使用VPX總線進行通信,滿足靶場計算平臺高性能、高帶寬、抗惡劣環境的性能要求,有巨大的發展應用前景,已成功應用于某設備之中。經過長時間工作檢驗可知,設備工作穩定,指標滿足要求。
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602045 -
同步信號
+關注
關注
0文章
17瀏覽量
10108 -
脈沖信號
+關注
關注
6文章
396瀏覽量
36920
原文標題:【學術論文】基于FPGA的VPX時間統一系統設計
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論