《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的IRTG-B碼編解碼器的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的IRTG-B碼編解碼器的設(shè)計(jì)與實(shí)現(xiàn)
電子元器件應(yīng)用
朱 敏,,雷 斌 西安工業(yè)大學(xué)
摘要: 基于FPGA的IRIG-B碼編解碼器有利于硬件電路的簡(jiǎn)化并縮短開發(fā)周期,,同時(shí)其工作穩(wěn)定,,可靠性高,可提供精確時(shí)間信息,,在工程實(shí)踐中得到日益廣泛的應(yīng)用,。本系統(tǒng)采用模塊化設(shè)計(jì),其系統(tǒng)的各個(gè)模塊之間有較好的關(guān)聯(lián)性,,又有一定的獨(dú)立性,,便于后期對(duì)系統(tǒng)功能的擴(kuò)展。當(dāng)以串行方式進(jìn)行數(shù)據(jù)傳輸,,用一個(gè)I/O端口即可完成數(shù)據(jù)的接收和發(fā)送,,因而既節(jié)省系統(tǒng)資源,,又可解決并行傳輸通道之間的相互干擾問(wèn)題,。
關(guān)鍵詞: FPGA IRTG-B 編解碼器 RAM
Abstract:
Key words :

摘要:為提高整個(gè)系統(tǒng)時(shí)間的同步精度,以便為測(cè)量設(shè)備提供可靠的時(shí)間信息和標(biāo)準(zhǔn)頻率信號(hào),,給出了一種基于FPGA" title="FPGA">FPGA的IRIG-B編解碼器" title="編解碼器">編解碼器的設(shè)計(jì)與實(shí)現(xiàn)方法,。新系統(tǒng)基于模塊化設(shè)計(jì),其中編碼部分完成標(biāo)準(zhǔn)時(shí)間信息及相應(yīng)的BCD碼的產(chǎn)生,,并在標(biāo)準(zhǔn)時(shí)間BCD碼中加入幀開始標(biāo)志位,、位置識(shí)別標(biāo)志和索引標(biāo)志識(shí)別,從而將BCD格式的時(shí)間信息變成IRIG-B格式碼,,同時(shí)數(shù)據(jù)并串處理可通過(guò)FPGA的一個(gè)I/O端口發(fā)送串行數(shù)據(jù),。解碼部分則完成串行IRIG-B格式碼的接收并判斷幀開始標(biāo)志位和位置識(shí)別標(biāo)志,再解出相應(yīng)原始時(shí)間信息并存儲(chǔ)到雙端口的RAM" title="RAM">RAM中,,最后以并行方式輸出,。
關(guān)鍵詞:IRIG-B;可編程邏輯器件,;FPGA,;編碼器;解碼器

0 引言
    時(shí)間統(tǒng)一(以下簡(jiǎn)稱時(shí)統(tǒng))系統(tǒng)是武器系統(tǒng)試驗(yàn)測(cè)試、通信,、氣象,、航天、工業(yè)控制,、電力系統(tǒng)測(cè)量與保護(hù)等領(lǐng)域的關(guān)鍵技術(shù),,主要為其他參試測(cè)試設(shè)備提供標(biāo)準(zhǔn)時(shí)間信號(hào)和標(biāo)準(zhǔn)頻率信號(hào)。隨著現(xiàn)代信息技術(shù)的不斷發(fā)展,,對(duì)標(biāo)準(zhǔn)化時(shí)間系統(tǒng)設(shè)備的要求越來(lái)越高,,IRIG-B碼以其優(yōu)越性成為時(shí)間系統(tǒng)設(shè)備的首選。而對(duì)信號(hào)的幀結(jié)構(gòu)的可編程度,、集成度的需求越來(lái)越高,,用于時(shí)間系統(tǒng)的IRIG-B碼源的設(shè)計(jì)也趨于高度集成化。FPGA可編程邏輯器件的規(guī)模比較大,,適合于時(shí)序,、組合等邏輯電路應(yīng)用場(chǎng)合,同時(shí)具有實(shí)時(shí)性好,、可靠性高,、成本低、可編程等優(yōu)勢(shì),。本文介紹了采用Ahera公司的EP20K200E器件所設(shè)計(jì)的IRIG-B時(shí)統(tǒng)信號(hào)發(fā)生及解碼電路,。
    IRIG-B編碼模塊主要利用外部時(shí)鐘脈沖信號(hào)來(lái)觸發(fā),它將用于產(chǎn)生IRIG-B碼的各種門電路集成在一個(gè)芯片,,以產(chǎn)生標(biāo)準(zhǔn)的IRIG-B串行時(shí)間碼并向設(shè)備終端發(fā)送,,從而完成DC碼編碼。通過(guò)設(shè)備終端對(duì)接收到的IRIG-B碼進(jìn)行解調(diào),,便能產(chǎn)生出系統(tǒng)所需的標(biāo)準(zhǔn)時(shí)間和各種控制信號(hào),,然后再存儲(chǔ)到相應(yīng)的雙端口RAM中。

1 系統(tǒng)整體硬件設(shè)計(jì)
    IRIG(Inter-Range Instrumentation Group)是美國(guó)靶場(chǎng)司令部委員會(huì)的下屬機(jī)構(gòu),,稱為“靶場(chǎng)時(shí)間組”,。IRIG-B碼(DC)以其實(shí)際的優(yōu)越性能而成為時(shí)統(tǒng)設(shè)備最佳選擇的標(biāo)準(zhǔn)碼型。IRIG時(shí)間標(biāo)準(zhǔn)有兩大類:一類是并行時(shí)間碼格式,,這類碼由于是并行格式,,傳輸距離較近,且是二進(jìn)制,,因此遠(yuǎn)不如串行格式廣泛,;另一類是串行時(shí)間碼,共有六種格式,,即A,、B,、D、E,、G,、H。它們的主要差別是時(shí)間碼的幀速率不同,,B碼的主要特點(diǎn)是時(shí)幀速率為1幀/s,;而且攜帶信息量大,經(jīng)譯碼后可獲得1,、10,、100、1000 c/s的脈沖信號(hào)和BCD編碼的時(shí)間信息及控制功能信息,;此外,,B碼的分辨率高,調(diào)制后的B碼帶寬能適用于遠(yuǎn)距離傳輸,,它分為直流,、交流兩種,而且接口標(biāo)準(zhǔn)化,,國(guó)際通用,。
    IRIG-B碼編碼器由時(shí)鐘脈沖發(fā)生器模塊、標(biāo)準(zhǔn)時(shí)間形成模塊,、BCD碼轉(zhuǎn)換模塊,、并串轉(zhuǎn)換、直流碼形成模塊和交流碼模塊組成,,其編碼器硬件設(shè)計(jì)總體框圖如圖1所示,。

a.JPG


    IRIG-B解碼器則由鎖相環(huán)PLL模塊、IRIG-B解碼模塊,、雙端口RAM,、RAM控制模塊等組成,。其解碼硬件的設(shè)計(jì)框圖如圖2所示,。

b.JPG



2 IRIG-B編碼模塊的設(shè)計(jì)
2.1 時(shí)鐘脈沖產(chǎn)生模塊設(shè)計(jì)
    為了達(dá)到系統(tǒng)所要求的精度,使頻率較為穩(wěn)定,,設(shè)計(jì)時(shí)可用更高的頻率作為時(shí)鐘分頻鏈的第一主時(shí)鐘,。這里采用鎖相環(huán)實(shí)現(xiàn)倍頻方法來(lái)提供所需的頻率,可選用Quartus II軟件中宏功能庫(kù)中自帶的PLL來(lái)提高整體的運(yùn)算速度,,同時(shí)也能合理的進(jìn)行資源綜合,。實(shí)事上,使用基本的宏定義模塊可以明顯地提高用戶的設(shè)計(jì)開發(fā)時(shí)間,。時(shí)鐘脈沖產(chǎn)生電路是IRIG-B碼產(chǎn)生器不可缺少的單元,,該電路主要由幾個(gè)分頻器級(jí)聯(lián)和一些邏輯門組成,。
    電路中的數(shù)字分頻器可對(duì)外部提供的頻率進(jìn)行分頻,以產(chǎn)生系統(tǒng)所需時(shí)序脈沖和B碼的三種基本編碼形式脈沖,,其寬度(高電平)分別為2ms,、5 ms、8 ms,,頻率為100Hz的脈沖信號(hào):其中第一種是高電平為2 ms,、低電平為8 ms的脈沖(代表邏輯“0”);第二種是高,、低電平均為5 ms的脈沖(代表邏輯“1”),;第三種是高電平為8ms、低電平為2 ms的脈沖(作為位置識(shí)別標(biāo)志和參考碼元),。Quartus II軟件下的仿真模塊結(jié)果如圖3所示,。

c.JPG


2.2 標(biāo)準(zhǔn)時(shí)間信息和BCD碼轉(zhuǎn)換模塊設(shè)計(jì)
    該模塊由百分秒計(jì)數(shù)器、秒計(jì)數(shù)器,、分計(jì)數(shù)器,、時(shí)計(jì)數(shù)器和天計(jì)數(shù)器級(jí)連而成。它可對(duì)預(yù)置的時(shí)間進(jìn)行秒加一,,每隔一秒對(duì)時(shí)間信息刷新一次,,從而形成動(dòng)態(tài)BCD碼,并使時(shí)間信息符合IRIG-B碼的格式,。標(biāo)準(zhǔn)時(shí)間信息和BCD碼轉(zhuǎn)換模塊如圖4所示,。

d.JPG


2.3 IRIG-B碼DC格式的生成
    IRIG-B(DC)時(shí)間碼格式的時(shí)間格式幀從幀參考標(biāo)志開始,因此,,連續(xù)兩個(gè)8ms寬脈沖中的第二個(gè)8ms脈沖的前沿為秒的準(zhǔn)時(shí)點(diǎn),,該點(diǎn)標(biāo)志著一個(gè)時(shí)間格式幀的開始,稱為參考碼元,。從第二個(gè)8ms開始,,分別為第1、2,、…,、99、0個(gè)碼元,。B碼時(shí)間格式中含有秒,、分、時(shí),、天等信息,,其位置在P0~P5間。時(shí)間信息中,,高電平用5ms脈沖表示,,低電平用2 ms脈沖表示,,其中秒信息占用第2、3,、4,、5、7,、8,、9碼元;分信息占用第11,、12,、13、14,、16,、17碼元;時(shí)信息占用第20,、21,、22、24,、26,、27碼元;天信息占用第31,、32,、33、34,、36,、37、38,、38,、41、42碼元,;P6~P10包含其他控制信息(這里沒有應(yīng)用),。另外,第6,、15,、25、35,、…、95碼元為索引標(biāo)志,,用2ms脈沖寬度表示,,固定為“0”,。時(shí)、分,、秒均用相應(yīng)BCD碼表示,,低位在前,高位在后,,個(gè)位在前,,十位、百位在后,。圖5所示是IRIG-B時(shí)間碼的格式幀示意圖,。

e.JPG


    一般每個(gè)IRIG-B碼都包含有豐富的碼信息。它必須包含幀開始標(biāo)志位,、位置識(shí)別標(biāo)志和索引標(biāo)志,,以使接受方能進(jìn)行數(shù)據(jù)卸載,或通過(guò)位置識(shí)別標(biāo)志和索引標(biāo)志識(shí)別出相應(yīng)的天,、時(shí),、分、秒等信息,。圖6所示是IRIG-B碼編碼模塊的設(shè)計(jì)圖,。

f.JPG



3 IRRIG-B解碼模塊設(shè)計(jì)
3.1 鎖相環(huán)PLL模塊
    PLL鎖相環(huán)模塊用于實(shí)現(xiàn)系統(tǒng)同步功能,以使外部信號(hào)脈沖和提供的標(biāo)準(zhǔn)時(shí)鐘脈沖相位同步,,從而實(shí)現(xiàn)輸入信號(hào)頻率對(duì)標(biāo)準(zhǔn)信號(hào)頻率的自動(dòng)跟蹤,。PLL主要由鑒相器(PD)、環(huán)路濾波器(LPF)和壓控振蕩器(VCO)等三個(gè)基本部件組成,。本文選用Ouartus II軟件中宏功能庫(kù)中自帶的PIX模塊來(lái)實(shí)現(xiàn)其相位同步功能,。
3.2 IRIG-B解碼模塊
    對(duì)IRIG-B碼進(jìn)行解碼就是將B中包含的標(biāo)準(zhǔn)時(shí)間信號(hào)和天、時(shí),、分,、秒信息提取出來(lái)。解碼的關(guān)鍵在于判別IRIG-B碼的幀開始標(biāo)志位和相應(yīng)的秒,、時(shí),、分、天的位置和信息,。通過(guò)檢測(cè)B碼中各個(gè)碼元的寬度(高電平),,可以判斷相應(yīng)的時(shí)間信息。該模塊可完成對(duì)IRIG-B碼的寬度檢測(cè),。如果寬度為8,,則確定是位置識(shí)別標(biāo)志,如果檢測(cè)到兩個(gè)連續(xù)的寬度都是8,,第二個(gè)寬度為8的脈沖則作為幀開始標(biāo)志位,。如果寬度為5,,則對(duì)應(yīng)的數(shù)值為“1”,如果寬度為2,,則對(duì)應(yīng)的數(shù)值為“0”,。
    本設(shè)計(jì)采用10 kHz基準(zhǔn)信號(hào)來(lái)采樣IRIG-B碼信號(hào)以提取碼元相關(guān)信息。由于10kHz與外部頻率脈沖不能完全同步,,有一定時(shí)間誤差,。所以,利用10 kHz脈沖信號(hào)來(lái)采樣B碼信號(hào),,可使三種碼元不會(huì)出現(xiàn)重疊,,從而可以提高采樣精度。在捕獲方式下,,當(dāng)滿足捕獲條件時(shí),,硬件可自動(dòng)將計(jì)數(shù)器中的數(shù)據(jù)寫入存儲(chǔ)器中,當(dāng)B碼信號(hào)的上升沿到來(lái)時(shí),,計(jì)數(shù)器開始計(jì)數(shù),,下降沿到來(lái)時(shí)則停止計(jì)數(shù),并通過(guò)采樣計(jì)數(shù)數(shù)值范圍來(lái)判斷對(duì)應(yīng)的碼元,,從而將直流碼解出,。表1所列是用10kHz采樣B碼的信息表,圖7所示是IRIG-B解碼模塊示意圖,。

g.JPG

h.JPG


3.3 雙端口RAM和控制模塊
    本系統(tǒng)中的RAM模塊主要完成時(shí)間信息的存儲(chǔ),,RAM通過(guò)讀寫控制信號(hào)來(lái)進(jìn)行讀寫控制。當(dāng)讀寫信號(hào)為高電平時(shí)進(jìn)行寫操作,,此時(shí)可以通過(guò)寫地址線控制把數(shù)據(jù)存儲(chǔ)到相應(yīng)的存儲(chǔ)單元中,;為低電平時(shí)則進(jìn)行讀操作,此時(shí)可通過(guò)讀地址線控制把相應(yīng)存儲(chǔ)單元的數(shù)據(jù)讀出,。從而完成整個(gè)數(shù)據(jù)存儲(chǔ)的讀取,,圖8所示是該雙端口RAM和控制模塊的示意圖。

i.JPG



4 結(jié)束語(yǔ)
    基于FPGA的IRIG-B碼編解碼器有利于硬件電路的簡(jiǎn)化并縮短開發(fā)周期,,同時(shí)其工作穩(wěn)定,,可靠性高,可提供精確時(shí)間信息,,在工程實(shí)踐中得到日益廣泛的應(yīng)用,。本系統(tǒng)采用模塊化設(shè)計(jì),其系統(tǒng)的各個(gè)模塊之間有較好的關(guān)聯(lián)性,,又有一定的獨(dú)立性,,便于后期對(duì)系統(tǒng)功能的擴(kuò)展。當(dāng)以串行方式進(jìn)行數(shù)據(jù)傳輸,用一個(gè)I/O端口即可完成數(shù)據(jù)的接收和發(fā)送,,因而既節(jié)省系統(tǒng)資源,,又可解決并行傳輸通道之間的相互干擾問(wèn)題,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。