摘要:為提高整個系統(tǒng)時間的同步精度,以便為測量設備提供可靠的時間信息和標準頻率信號,給出了一種基于FPGA" title="FPGA">FPGA的IRIG-B編解碼器" title="編解碼器">編解碼器的設計與實現(xiàn)方法。新系統(tǒng)基于模塊化設計,其中編碼部分完成標準時間信息及相應的BCD碼的產(chǎn)生,并在標準時間BCD碼中加入幀開始標志位、位置識別標志和索引標志識別,從而將BCD格式的時間信息變成IRIG-B格式碼,同時數(shù)據(jù)并串處理可通過FPGA的一個I/O端口發(fā)送串行數(shù)據(jù)。解碼部分則完成串行IRIG-B格式碼的接收并判斷幀開始標志位和位置識別標志,再解出相應原始時間信息并存儲到雙端口的RAM" title="RAM">RAM中,最后以并行方式輸出。
關鍵詞:IRIG-B;可編程邏輯器件;FPGA;編碼器;解碼器
0 引言
時間統(tǒng)一(以下簡稱時統(tǒng))系統(tǒng)是武器系統(tǒng)試驗測試、通信、氣象、航天、工業(yè)控制、電力系統(tǒng)測量與保護等領域的關鍵技術,主要為其他參試測試設備提供標準時間信號和標準頻率信號。隨著現(xiàn)代信息技術的不斷發(fā)展,對標準化時間系統(tǒng)設備的要求越來越高,IRIG-B碼以其優(yōu)越性成為時間系統(tǒng)設備的首選。而對信號的幀結構的可編程度、集成度的需求越來越高,用于時間系統(tǒng)的IRIG-B碼源的設計也趨于高度集成化。FPGA可編程邏輯器件的規(guī)模比較大,適合于時序、組合等邏輯電路應用場合,同時具有實時性好、可靠性高、成本低、可編程等優(yōu)勢。本文介紹了采用Ahera公司的EP20K200E器件所設計的IRIG-B時統(tǒng)信號發(fā)生及解碼電路。
IRIG-B編碼模塊主要利用外部時鐘脈沖信號來觸發(fā),它將用于產(chǎn)生IRIG-B碼的各種門電路集成在一個芯片,以產(chǎn)生標準的IRIG-B串行時間碼并向設備終端發(fā)送,從而完成DC碼編碼。通過設備終端對接收到的IRIG-B碼進行解調,便能產(chǎn)生出系統(tǒng)所需的標準時間和各種控制信號,然后再存儲到相應的雙端口RAM中。
1 系統(tǒng)整體硬件設計
IRIG(Inter-Range Instrumentation Group)是美國靶場司令部委員會的下屬機構,稱為“靶場時間組”。IRIG-B碼(DC)以其實際的優(yōu)越性能而成為時統(tǒng)設備最佳選擇的標準碼型。IRIG時間標準有兩大類:一類是并行時間碼格式,這類碼由于是并行格式,傳輸距離較近,且是二進制,因此遠不如串行格式廣泛;另一類是串行時間碼,共有六種格式,即A、B、D、E、G、H。它們的主要差別是時間碼的幀速率不同,B碼的主要特點是時幀速率為1幀/s;而且攜帶信息量大,經(jīng)譯碼后可獲得1、10、100、1000 c/s的脈沖信號和BCD編碼的時間信息及控制功能信息;此外,B碼的分辨率高,調制后的B碼帶寬能適用于遠距離傳輸,它分為直流、交流兩種,而且接口標準化,國際通用。
IRIG-B碼編碼器由時鐘脈沖發(fā)生器模塊、標準時間形成模塊、BCD碼轉換模塊、并串轉換、直流碼形成模塊和交流碼模塊組成,其編碼器硬件設計總體框圖如圖1所示。
IRIG-B解碼器則由鎖相環(huán)PLL模塊、IRIG-B解碼模塊、雙端口RAM、RAM控制模塊等組成。其解碼硬件的設計框圖如圖2所示。
2 IRIG-B編碼模塊的設計
2.1 時鐘脈沖產(chǎn)生模塊設計
為了達到系統(tǒng)所要求的精度,使頻率較為穩(wěn)定,設計時可用更高的頻率作為時鐘分頻鏈的第一主時鐘。這里采用鎖相環(huán)實現(xiàn)倍頻方法來提供所需的頻率,可選用Quartus II軟件中宏功能庫中自帶的PLL來提高整體的運算速度,同時也能合理的進行資源綜合。實事上,使用基本的宏定義模塊可以明顯地提高用戶的設計開發(fā)時間。時鐘脈沖產(chǎn)生電路是IRIG-B碼產(chǎn)生器不可缺少的單元,該電路主要由幾個分頻器級聯(lián)和一些邏輯門組成。
電路中的數(shù)字分頻器可對外部提供的頻率進行分頻,以產(chǎn)生系統(tǒng)所需時序脈沖和B碼的三種基本編碼形式脈沖,其寬度(高電平)分別為2ms、5 ms、8 ms,頻率為100Hz的脈沖信號:其中第一種是高電平為2 ms、低電平為8 ms的脈沖(代表邏輯“0”);第二種是高、低電平均為5 ms的脈沖(代表邏輯“1”);第三種是高電平為8ms、低電平為2 ms的脈沖(作為位置識別標志和參考碼元)。Quartus II軟件下的仿真模塊結果如圖3所示。
2.2 標準時間信息和BCD碼轉換模塊設計
該模塊由百分秒計數(shù)器、秒計數(shù)器、分計數(shù)器、時計數(shù)器和天計數(shù)器級連而成。它可對預置的時間進行秒加一,每隔一秒對時間信息刷新一次,從而形成動態(tài)BCD碼,并使時間信息符合IRIG-B碼的格式。標準時間信息和BCD碼轉換模塊如圖4所示。
2.3 IRIG-B碼DC格式的生成
IRIG-B(DC)時間碼格式的時間格式幀從幀參考標志開始,因此,連續(xù)兩個8ms寬脈沖中的第二個8ms脈沖的前沿為秒的準時點,該點標志著一個時間格式幀的開始,稱為參考碼元。從第二個8ms開始,分別為第1、2、…、99、0個碼元。B碼時間格式中含有秒、分、時、天等信息,其位置在P0~P5間。時間信息中,高電平用5ms脈沖表示,低電平用2 ms脈沖表示,其中秒信息占用第2、3、4、5、7、8、9碼元;分信息占用第11、12、13、14、16、17碼元;時信息占用第20、21、22、24、26、27碼元;天信息占用第31、32、33、34、36、37、38、38、41、42碼元;P6~P10包含其他控制信息(這里沒有應用)。另外,第6、15、25、35、…、95碼元為索引標志,用2ms脈沖寬度表示,固定為“0”。時、分、秒均用相應BCD碼表示,低位在前,高位在后,個位在前,十位、百位在后。圖5所示是IRIG-B時間碼的格式幀示意圖。
一般每個IRIG-B碼都包含有豐富的碼信息。它必須包含幀開始標志位、位置識別標志和索引標志,以使接受方能進行數(shù)據(jù)卸載,或通過位置識別標志和索引標志識別出相應的天、時、分、秒等信息。圖6所示是IRIG-B碼編碼模塊的設計圖。
3 IRRIG-B解碼模塊設計
3.1 鎖相環(huán)PLL模塊
PLL鎖相環(huán)模塊用于實現(xiàn)系統(tǒng)同步功能,以使外部信號脈沖和提供的標準時鐘脈沖相位同步,從而實現(xiàn)輸入信號頻率對標準信號頻率的自動跟蹤。PLL主要由鑒相器(PD)、環(huán)路濾波器(LPF)和壓控振蕩器(VCO)等三個基本部件組成。本文選用Ouartus II軟件中宏功能庫中自帶的PIX模塊來實現(xiàn)其相位同步功能。
3.2 IRIG-B解碼模塊
對IRIG-B碼進行解碼就是將B中包含的標準時間信號和天、時、分、秒信息提取出來。解碼的關鍵在于判別IRIG-B碼的幀開始標志位和相應的秒、時、分、天的位置和信息。通過檢測B碼中各個碼元的寬度(高電平),可以判斷相應的時間信息。該模塊可完成對IRIG-B碼的寬度檢測。如果寬度為8,則確定是位置識別標志,如果檢測到兩個連續(xù)的寬度都是8,第二個寬度為8的脈沖則作為幀開始標志位。如果寬度為5,則對應的數(shù)值為“1”,如果寬度為2,則對應的數(shù)值為“0”。
本設計采用10 kHz基準信號來采樣IRIG-B碼信號以提取碼元相關信息。由于10kHz與外部頻率脈沖不能完全同步,有一定時間誤差。所以,利用10 kHz脈沖信號來采樣B碼信號,可使三種碼元不會出現(xiàn)重疊,從而可以提高采樣精度。在捕獲方式下,當滿足捕獲條件時,硬件可自動將計數(shù)器中的數(shù)據(jù)寫入存儲器中,當B碼信號的上升沿到來時,計數(shù)器開始計數(shù),下降沿到來時則停止計數(shù),并通過采樣計數(shù)數(shù)值范圍來判斷對應的碼元,從而將直流碼解出。表1所列是用10kHz采樣B碼的信息表,圖7所示是IRIG-B解碼模塊示意圖。
3.3 雙端口RAM和控制模塊
本系統(tǒng)中的RAM模塊主要完成時間信息的存儲,RAM通過讀寫控制信號來進行讀寫控制。當讀寫信號為高電平時進行寫操作,此時可以通過寫地址線控制把數(shù)據(jù)存儲到相應的存儲單元中;為低電平時則進行讀操作,此時可通過讀地址線控制把相應存儲單元的數(shù)據(jù)讀出。從而完成整個數(shù)據(jù)存儲的讀取,圖8所示是該雙端口RAM和控制模塊的示意圖。
4 結束語
基于FPGA的IRIG-B碼編解碼器有利于硬件電路的簡化并縮短開發(fā)周期,同時其工作穩(wěn)定,可靠性高,可提供精確時間信息,在工程實踐中得到日益廣泛的應用。本系統(tǒng)采用模塊化設計,其系統(tǒng)的各個模塊之間有較好的關聯(lián)性,又有一定的獨立性,便于后期對系統(tǒng)功能的擴展。當以串行方式進行數(shù)據(jù)傳輸,用一個I/O端口即可完成數(shù)據(jù)的接收和發(fā)送,因而既節(jié)省系統(tǒng)資源,又可解決并行傳輸通道之間的相互干擾問題。