999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的IRIG-B(DC)碼的解碼方案的設(shè)計與實現(xiàn)

2012-06-15 01:32:02王麗敏胡永輝侯雷劉軍良
時間頻率學(xué)報 2012年4期
關(guān)鍵詞:信號設(shè)計

王麗敏,胡永輝,侯雷,劉軍良,3

?

基于FPGA的IRIG-B(DC)碼的解碼方案的設(shè)計與實現(xiàn)

王麗敏1,2,胡永輝1,3,侯雷1,3,劉軍良1,2,3

(1. 中國科學(xué)院國家授時中心,西安 710600;2. 中國科學(xué)院研究生院,北京 100039;3. 中國科學(xué)院精密導(dǎo)航定位與定時技術(shù)重點實驗室,西安 710600)

IRIG-B碼是國際上通用的時間碼格式,廣泛應(yīng)用于各種系統(tǒng)的時間同步。針對IRIG-B(DC)碼的調(diào)制特性,介紹一種基于FPGA的B碼解調(diào)方案。重點描述了如何在同步時序中準(zhǔn)確提取秒同步信號并解調(diào)B碼中包含的時間信息。整個方案中采用Verilog HDL語言進(jìn)行設(shè)計,已成功實現(xiàn),并給出了驗證結(jié)果。

IRIG-B(DC)碼;現(xiàn)場可編程門陣列;同步;解調(diào)

0 引言

在靶場,我們把為常規(guī)武器試驗、導(dǎo)彈試驗、航天器發(fā)射、測控系統(tǒng)提供標(biāo)準(zhǔn)時間信號和標(biāo)準(zhǔn)頻率信號的一整套電子設(shè)備稱為時間統(tǒng)一系統(tǒng),簡稱“時統(tǒng)”[1]。時統(tǒng)設(shè)備是向各個設(shè)備提供標(biāo)準(zhǔn)時間信號和標(biāo)準(zhǔn)頻率信號的設(shè)備。

時統(tǒng)設(shè)備送給用戶的是標(biāo)準(zhǔn)格式的時間編碼信號,我們可以將時間統(tǒng)一系統(tǒng)產(chǎn)生的編碼信號轉(zhuǎn)化為B碼信號,用B碼進(jìn)行傳輸,在其他用戶端通過IRIG-B碼解碼器來獲得各種時間和頻率信號[2]。IRIG-B碼解碼器又稱為IRIG-B碼解碼終端,它是用戶設(shè)備的有機(jī)組成部分,能否實現(xiàn)系統(tǒng)的時間統(tǒng)一,IRIG-B時間碼接口終端是重要的一環(huán)[3]。

1 IRIG-B時間碼簡介

IRIG(inter range instrumentation group)是美國RCC(Range Commanders Council)所屬的負(fù)責(zé)制訂靶場標(biāo)準(zhǔn)等工作的機(jī)構(gòu)。靶場時統(tǒng)和通信系統(tǒng)的標(biāo)準(zhǔn)化工作是IRIG所屬的TCG(tele-communication group)負(fù)責(zé)的,它所制訂的標(biāo)準(zhǔn)時間格式有兩大類:一類是并行時間碼格式,另一類是串行時間碼格式。

IRIG-B碼是一種串行格式的時間碼,分為直流碼(DC)和交流碼(AC)2種。B(DC)碼的幀周期為1s,碼元速率為每秒100脈沖,從秒準(zhǔn)時點起,按秒、分、時、天等時間信息進(jìn)行編碼,如圖1所示。B碼中每個脈沖稱為碼元,每個碼元的準(zhǔn)時參考點是該脈沖的前沿。B碼的信息采用脈寬調(diào)制的方式表示,碼元寬度有3種,即2、5和8ms,如圖2所示。為了便于提取B碼中的信息,每10個碼元中有一個位置識別標(biāo)志,其寬度為8 ms,位置識別標(biāo)志分別稱為P1,P2,…,P9,P0。參考標(biāo)志是由位置識別標(biāo)志P0和相鄰的參考碼元PR組成的,參考碼元PR的寬度也為8ms,而且PR的前沿即該幀B碼的準(zhǔn)秒時刻,因此可以說參考碼元PR是B碼中最重要的碼元。B碼中表示時間信息的碼元共有30個,這些碼元稱為碼字。表示二進(jìn)制“1”的碼字寬度為5 ms,表示二進(jìn)制“0”的碼字寬度為2 ms。

圖1 IRIG-B(DC)碼波形示意圖

圖2 B碼碼元類型

2 FPGA解碼及其算法

與傳統(tǒng)使用單片機(jī)及其外圍電路進(jìn)行B碼解調(diào)相比,使用FPGA(現(xiàn)場可編程門陣列),具有運行速度快,效率高和內(nèi)部時延小的優(yōu)點,并且FPGA有大量軟核,可以方便地進(jìn)行二次開發(fā)。因此,使用FPGA來實現(xiàn)B碼的同步解碼具有很大的優(yōu)勢[4]。

采用FPGA進(jìn)行B(DC)碼的解碼最終是要同步提取出1 PPS和8421BCD格式的時間信息[4],其關(guān)鍵是碼元的識別與提取。整個方案采用Verilog HDL語言進(jìn)行設(shè)計,其解碼過程示意于圖3。

圖3 B碼解調(diào)過程示意圖

2.1 碼元識別

2.1.1 脈寬計數(shù)

B碼是脈寬調(diào)制的串行格式的時間碼,因而對碼元的識別最直接的方式是對碼元時寬計數(shù),再根據(jù)計數(shù)值判斷相應(yīng)碼元的值“0”、“1”和標(biāo)志位。本方案采用1 kHz的時鐘對碼元的持續(xù)高電平計數(shù),并在低電平時對計數(shù)值清零。由于輸入的B碼信號與時鐘可能存在同步誤差,所以對于碼元寬度的計數(shù)值不能采用固定的計數(shù)值。對于寬度為2 ms的碼元,計數(shù)值為1,或2,或3時,判斷碼元的值為二進(jìn)制數(shù)“0”;寬度為5 ms的碼元,當(dāng)計數(shù)值為4,或5,或6時,判斷碼元的值為二進(jìn)制數(shù)“1”;寬度為8 ms的碼元,當(dāng)計數(shù)值為7,或8,或9時,判斷碼元為參考標(biāo)志。

2.1.2 碼元賦值

碼元的賦值是在脈寬計數(shù)完成之后,碼元的下降沿處完成的。定義一個2位的寄存器用來存儲碼元的值,值為0的碼元存儲為“00”,值為1的碼元存儲為“01”,位置識別標(biāo)志分別為碼元P1,P2,…,P9,P0,它們的值存儲為“10”。

用Verilog HDL設(shè)計的可綜合模塊,必須避免使用異步時序邏輯,這是因為許多綜合器不支持異步時序邏輯的綜合,而且用異步時序邏輯確實很難控制由組合邏輯和延遲所產(chǎn)生的冒險和競爭[5]。

為了滿足以上FPGA的同步時序設(shè)計原則,首先同步提取出B碼中碼元上升沿和下降沿處的窄脈沖,碼元的上升沿窄脈沖在之后的碼元計數(shù)時會用到。這樣在設(shè)計中可以采用這些窄脈沖作為使能條件,而始終采用時鐘的上升沿作為唯一確定的觸發(fā)條件,即保證了同步時序的設(shè)計原則。碼元邊沿窄脈沖如圖4所示。

注:clk表示10 MHz的計數(shù)時鐘,bdc_in表示輸入的B(DC)碼信號,rst表示復(fù)位信號,ena_d表示碼元下降沿窄脈沖,ena_u表示碼元上升沿窄脈沖。

為了得到碼元的上升沿窄脈沖,將輸入的B碼信號延遲一個計數(shù)時鐘,并與其取反信號進(jìn)行相與操作即可得到碼元上升沿的窄脈沖ena_u;同時,將B碼輸入信號延遲取反之后與原輸入信號進(jìn)行相與即可得到碼元下降沿的窄脈沖ena_d。其產(chǎn)生原理如圖5所示。

圖5 上升沿、下降沿窄脈沖產(chǎn)生原理

2.2 秒信號1PPS的同步提取

要獲得1 PPS信號,首先要判斷出B碼中每一幀的秒準(zhǔn)時點。

在圖1中可以看到,連續(xù)2個P碼元的第2個P碼元的前沿即為秒的幀頭。對幀頭的定位設(shè)計了一個三段式狀態(tài)機(jī)。所謂三段式狀態(tài)機(jī),就是使用3個always模塊,其中一個always模塊采用同步時序的方式,描述狀態(tài)轉(zhuǎn)移,第2個always模塊采用組合邏輯的方式,判斷狀態(tài)轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移條件,描述狀態(tài)轉(zhuǎn)移規(guī)律,第3個always模塊使用同步時序電路描述每個狀態(tài)的輸出。這種三段式結(jié)構(gòu)的優(yōu)勢是使?fàn)顟B(tài)機(jī)做到了同步寄存器輸出,消除了組合邏輯輸出的不穩(wěn)定與毛刺的隱患,而且更利于時序路徑分組。一般來說在FPGA/CPLD等可編程邏輯器件上采用這種結(jié)構(gòu)會使得綜合與布局布線的效果更佳[6]。

在這個狀態(tài)機(jī)中,設(shè)計了3個狀態(tài):IDLE,STATE 1和STATE 2,其中初接始狀態(tài)是IDLE,STATE 1表示接收到一個P碼元,STATE 2表示連續(xù)接收到2個P碼元,圖6是狀態(tài)示意圖。

狀態(tài)機(jī)的初始狀態(tài)是IDLE,當(dāng)接收到P碼元時,狀態(tài)轉(zhuǎn)移到STATE 1,否則保持IDLE狀態(tài)不變;當(dāng)處于STATE 1狀態(tài)時,若接收到P碼元,則狀態(tài)轉(zhuǎn)移到STATE 2,否則狀態(tài)回到IDLE;當(dāng)轉(zhuǎn)到狀態(tài)STATE 2時,接收到任何碼元,狀態(tài)都跳轉(zhuǎn)到IDLE。

在進(jìn)入狀態(tài)STATE 2時,狀態(tài)機(jī)產(chǎn)生一個高電平信號,此后整個解碼工作將在高電平持續(xù)期間進(jìn)行。對高電平持續(xù)期間,設(shè)計了一個碼元計數(shù)器,這個計數(shù)器在每個碼元的上升沿實現(xiàn)加1操作,當(dāng)加到99個碼元的時候?qū)⒏唠娖叫盘柷辶悖瑫r產(chǎn)生一個1PPS的控制脈沖pps_pulse。這個脈沖相當(dāng)于一個門限信號,與下一個碼元的上升沿窄脈沖進(jìn)行與操作可以準(zhǔn)確地得到B碼地秒準(zhǔn)時點1 PPS信號。如圖7所示。

圖6 狀態(tài)機(jī)示意圖

圖7 1 PPS的產(chǎn)生原理

2.3 時間信息的獲取

由之前對B碼的介紹可知,B碼的每一幀中1~41個碼元用來表示秒、分、時、天個位、天十位、天百位的時間信息,所以定義一個41位的寄存器Memory[41:1]來存儲1~29碼元的值,同時定義9個4位的寄存器分別用來存儲秒個位(second_l),秒十位(second_h),分個位(minute_l),分十位(minute_h),時個位(hour_l),時十位(hour_h),天個位(day),天十位(m_day)和天百位(h_day)的信息。

B碼的編碼采用的是8421BCD格式,因而在進(jìn)行B碼的解調(diào)時,當(dāng)獲得二進(jìn)制表示的每個碼元值時,只需要將碼元值的最低位“0”或“1”,存到寄存器中,便可進(jìn)行8421BCD與二進(jìn)制的轉(zhuǎn)換。

當(dāng)碼元計數(shù)器的值為99時,對之前定義的秒、分、時、天個位、天十位、天百位寄存器賦值,Verilog HDL語句實現(xiàn)如下:

Second_l<=Memory[1]×1'd1+Memory[2]×2'd2+Memory[3]×3'd4+Memory[4]×4'd8;

Second_h<=Memory[6]×1'd1+Memory[7]×2'd2+Memory[8]×3'd4;

Minute_l<=Memory[10]×1'd1+Memory[11]×2'd2+Memory[12]×3'd4+Memory[13]×4'd8;

Minute_h<=Memory[15]×1'd1+Memory[16]×2'd2+Memory[17]×3'd4;

Hour_l <=Memory[20]×1'd1+Memory[21]×2'd2+Memory[22]×3'd4+Memory[23]×4'd8;

Hour_h<=Memory[25]×1'd1+Memory[26]×2'd2;

Day<=Memory[30]×1'd1+Memory[31]×2'd2+Memory[32]×3'd4+Memory[33]×4'd8;

M_day<=Memory[35]×1'd1+Memory[36]×2'd2+Memory[37]×3'd4+Memory[38]×4'd8;

H_day<=Memory[40]×1'd1+Memory[41]×2'd2;

其中,1'd1、2'd2、3'd4和4'd8分別代表二進(jìn)制形式轉(zhuǎn)化為8421BCD格式時,對應(yīng)位相乘的加權(quán)值,即十進(jìn)制的1、2、4和8。

3 實驗結(jié)果與分析

整個方案采用Verilog HDL語言編寫代碼,并在Altera公司的cycloneii系列型號為EP2C20Q240C8的芯片中成功實現(xiàn),圖8是FPGA解碼模塊方框圖。

圖8 FPGA解碼模塊圖

使用Altera的QUARTUSⅡ進(jìn)行Verilog HDL語言的設(shè)計與編譯,并用Modelsim進(jìn)行仿真,結(jié)果如圖9所示。如圖中豎線所示,在參考碼元上升沿處準(zhǔn)確同步提取了1PPS信號,且顯示解調(diào)的時間為 115d 21 h 18 min 59 s與輸入的時間一致,其中second_l,second_h,minute_l,minute_h,hour_l,hour_h,day,m_day,h_day分別代表秒個位,秒十位,分個位,分十位,時個位,時十位,天個位,天十位,天百位。解調(diào)的時間可以通過接口電路在七段數(shù)碼管上正確顯示,證明了本方案的可行性。

圖9 解碼結(jié)果圖

4 結(jié)語

以上介紹了一種基于FPGA的IRIG-B(DC)碼的解碼方案,本方案在altera公司的cycloneii系列型號為EP2C20Q240C8的芯片中實現(xiàn),占用芯片資源非常少,不到5%,完全可以在同一塊芯片上完成后續(xù)B(AC)碼的解調(diào),這在很大程度上節(jié)約了芯片資源。此外,與傳統(tǒng)利用單片機(jī)實現(xiàn)相比,大大減小了電路設(shè)計的復(fù)雜度,增加了設(shè)計的靈活性。在整個解碼中,采用Verilog HDL代碼實現(xiàn),具有方法簡單、易讀和可重用性強(qiáng)的特點。設(shè)計完全在同步時序中完成,避免了異步時序可能導(dǎo)致的競爭與冒險,因而在時間同步系統(tǒng)中應(yīng)用前景廣闊。

[1] 劉凱. 時間統(tǒng)一技術(shù)研究及應(yīng)用[D].西安: 西安電子科技大學(xué), 2010.

[2] 吳坤, 張君. 基于 GPS 的靶場時統(tǒng)系統(tǒng)技術(shù)研究[J].國防技術(shù)基礎(chǔ), 2009, 3: 57-59.

[3] 童寶潤. 時間統(tǒng)一系統(tǒng)[M]. 北京: 國防工業(yè)出版社, 2000.

[4] 陳曦, 劉方. 基于FPGA的IRIG-B(DC)碼的解碼方案[J]. 儀器儀表用戶, 2009, 16(3): 94-96.

[5] 夏宇聞. Verilog數(shù)字系統(tǒng)設(shè)計教程[M]. 2版. 北京: 航空航天大學(xué)出版社, 2008.

[6] 吳繼華, 王誠. 設(shè)計與驗證: Verilog HDL[M]. 北京: 人民郵電出版社, 2006.

Design and implementation of IRIG-B(DC) codedemodulation based on FPGA

WANG Li-min1,3, HU Yong-hui1,2, HOU Lei1,2, LIU Jun-liang1,2,3

(1. National Time Service Centre, Chinese Academy of Sciences, Xi′an 710600, China;2. Graduate University of Chinese Academy of Sciences, Beijing 100039, China;3. Key Laboratory of Precision Navigation and Timing Technology, National Time Service Center,Chinese Academy of Sciences, Xi′an 710600, China)

IRIG-B code is an universal format of time code in the world and is widely used in timing systems.According to the characteristics of IRIG-B code modulation, a decoding plan based on FPGA is introduced with emphases on how to extract the synchronous second signal accurately from the synchronous timing sequency and how to get the time information included in the B code. The whole project is designed by using Verilog HDL and has been implemented successfully with the results shown.

IRIG-B(DC) code; FPGA; synchronization; demodulation

TN76

A

1674-0637(2012)04-0228-07

2011-12-28

中國科學(xué)院“西部之光”人才培養(yǎng)計劃重點資助項目(Y001YR1601)

王麗敏,女,碩士研究生,主要從事時間統(tǒng)一系統(tǒng)技術(shù)研究。

猜你喜歡
信號設(shè)計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設(shè)計的守護(hù)之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 不卡网亚洲无码| 麻豆AV网站免费进入| 国产手机在线ΑⅤ片无码观看| 青青草原国产av福利网站| 多人乱p欧美在线观看| yjizz视频最新网站在线| 色偷偷av男人的天堂不卡| 全免费a级毛片免费看不卡| 国产人成在线观看| 青青青伊人色综合久久| 亚洲一区二区在线无码| 国产欧美日韩91| 91黄色在线观看| 免费中文字幕一级毛片| 欧美专区在线观看| 成人免费视频一区| 五月激情婷婷综合| 一级成人欧美一区在线观看| 日韩精品视频久久| 精品久久久久成人码免费动漫| 欧美激情伊人| 99伊人精品| 国产视频资源在线观看| 波多野结衣的av一区二区三区| 黄色一级视频欧美| 亚洲91在线精品| 高清不卡一区二区三区香蕉| 青草午夜精品视频在线观看| 国产精品视频第一专区| 欧美色综合网站| 久99久热只有精品国产15| 亚洲欧美日本国产综合在线 | 亚洲天堂视频在线播放| 日日拍夜夜操| 日韩免费毛片视频| 欧美成人一级| 色综合久久久久8天国| 成人蜜桃网| 精品久久人人爽人人玩人人妻| а∨天堂一区中文字幕| 国产日本欧美在线观看| 精品国产aⅴ一区二区三区| 成人一级黄色毛片| 欧美精品综合视频一区二区| 97色伦色在线综合视频| 99视频在线观看免费| 国产免费人成视频网| 青青青伊人色综合久久| 综合色在线| 午夜在线不卡| 亚洲天堂区| jizz亚洲高清在线观看| 免费又黄又爽又猛大片午夜| 另类重口100页在线播放| 五月婷婷综合色| 蜜桃视频一区二区三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 免费又黄又爽又猛大片午夜| 午夜视频www| 99久久精品国产自免费| 夜夜操狠狠操| 婷婷综合亚洲| 欧美日在线观看| 午夜少妇精品视频小电影| 国产成人一区免费观看| 久久这里只有精品免费| 巨熟乳波霸若妻中文观看免费| 91视频区| 999国产精品永久免费视频精品久久 | a级毛片免费看| 欧美午夜视频在线| 麻豆精品在线视频| 熟女成人国产精品视频| 日本欧美中文字幕精品亚洲| 久久五月天国产自| Aⅴ无码专区在线观看| 任我操在线视频| 国产成人夜色91| 国产欧美视频在线观看| 91精品视频在线播放| a免费毛片在线播放| 国产在线视频导航|