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