亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DCF77時(shí)間碼解碼方案的設(shè)計(jì)

        2017-06-26 11:36:30周振洲席自強(qiáng)
        電子科技 2017年6期
        關(guān)鍵詞:碼元狀態(tài)機(jī)解碼

        周振洲,席自強(qiáng),王 平

        (1.太陽(yáng)能高效利用湖北省協(xié)同創(chuàng)新中心,湖北 武漢 430068;2.上海交通大學(xué) 電子信息工程與電氣工程學(xué)院,上海200240)

        ?

        DCF77時(shí)間碼解碼方案的設(shè)計(jì)

        周振洲1,席自強(qiáng)1,王 平2

        (1.太陽(yáng)能高效利用湖北省協(xié)同創(chuàng)新中心,湖北 武漢 430068;2.上海交通大學(xué) 電子信息工程與電氣工程學(xué)院,上海200240)

        提出了一種基于FPGA的DCF77解碼方案設(shè)計(jì)。實(shí)現(xiàn)過(guò)程中著重針對(duì)碼元識(shí)別部分進(jìn)行分析,設(shè)計(jì)了一種有限狀態(tài)機(jī)來(lái)完成對(duì)不同碼元的識(shí)別以及數(shù)據(jù)寫入等。通過(guò)Modelsim軟件對(duì)程序進(jìn)行了功能仿真,驗(yàn)證了該方案可以正確的進(jìn)行時(shí)間解碼。相比常用的IRIG-B碼,增加了星期的信息,并且每一幀只有60位,恰好與時(shí)間進(jìn)制相同,具有代碼簡(jiǎn)單、工作穩(wěn)定性強(qiáng)、易于移植等優(yōu)點(diǎn)。

        DCF77碼;解碼;有限狀態(tài)機(jī);碼元識(shí)別

        DCF77碼是德國(guó)無(wú)線長(zhǎng)波對(duì)時(shí)信號(hào)的時(shí)間碼,該時(shí)間格式碼包含年、月、日、時(shí)、分、星期等完整的絕對(duì)時(shí)間信息,在法國(guó)、德國(guó)等主要?dú)W洲國(guó)家得到了廣泛應(yīng)用[1-2]。我國(guó)電力、通訊、石化、冶金、國(guó)防、金融等一些行業(yè)中也都將DCF77作為一種重要的時(shí)間格式來(lái)使用[3-4]。本文介紹了DCF77碼的格式與規(guī)范,針對(duì)目前DCF77碼解碼方案較少,解碼過(guò)程不連續(xù)等問(wèn)題,提出了一種新的解碼方案。

        1 DCF77時(shí)間碼

        DCF77時(shí)間碼是一種串行格式[5]的時(shí)間碼,它在秒信號(hào)的間隙傳輸時(shí)間信息;為方便理解時(shí)間碼的格式,這里引入“碼元”的概念[6]。將每幀信號(hào)中最小的單位定義為1個(gè)碼元。由于是在秒信號(hào)的間隙傳輸信息,所以得出在DCF77碼中,每幀包括60個(gè)碼元,每個(gè)碼元長(zhǎng)度都為1 000 ms,剛好對(duì)應(yīng)時(shí)間信息里的“秒”。

        根據(jù)DCF77碼的特點(diǎn),共引入3種不同的碼元,如圖1所示。一個(gè)秒脈沖持續(xù)0.1 s(脈寬為0.1 s)表示二進(jìn)制編碼的“0”;持續(xù)0.2 s(脈寬為0.2 s)表示二進(jìn)制編碼的“1”;第59 s通常不進(jìn)行傳輸,脈寬為0。利用59 s的這種特殊性,將其作為起始標(biāo)志,用來(lái)檢測(cè)輸入時(shí)間信息的起點(diǎn)。

        格式方面,由3個(gè)測(cè)試位P1,P2,P3擴(kuò)展成時(shí)間碼的3個(gè)主要段落:7位表示分鐘,6位表示小時(shí),22位表示包含星期數(shù)在內(nèi)的日期,具體編碼規(guī)則如表1所示。

        圖1 3種碼元

        碼元標(biāo)識(shí)數(shù)代表意義0分鐘,常為01~14保留,常為0續(xù)表115天線(0表示正常天線,1表示備用天線)16時(shí)區(qū)變化通告(0表示正常,1表示提前1h)17~18夏令時(shí)(01表示正常,10表示夏令時(shí)開啟)19潤(rùn)秒通告[7],一般提前1h通告(0表示潤(rùn),1表示不潤(rùn))20時(shí)間碼的起始位,常為121~27分鐘信息(位權(quán)分別為1,2,4,8,10,20,40min)28P1測(cè)試位,21~28位的奇偶校驗(yàn)應(yīng)為偶數(shù),常為129~34小時(shí)信息(位權(quán)分別為1,2,4,8,10,20h)35P2測(cè)試位,29~35位的奇偶校驗(yàn)應(yīng)為奇數(shù),常為036~41所在月的日信息(位權(quán)分別為1,2,4,8,10,20日)42~44星期信息(位權(quán)分別為1,2,4)45~49月份信息(位權(quán)分別為1,2,4,8,10月)50~57年份信息(位權(quán)分別為1,2,4,8,10,20,40,80年)58P3測(cè)試位,36~58的奇偶校驗(yàn)應(yīng)為奇數(shù),常為059通常,這一位不被傳輸;本文中當(dāng)作“起始標(biāo)志”來(lái)使用。

        圖2給出了一幀完整的數(shù)據(jù)示意圖,其包含的二進(jìn)制信息[8]為: 000000000000000000101_1001101_ 0_110001 _1_100101111_1100000000000_1_0。為了更清晰地表示出起始標(biāo)志,把第59位碼元放到第1位。本文將就對(duì)此幀數(shù)據(jù)進(jìn)行解碼并進(jìn)行驗(yàn)證。根據(jù)前邊DCF77編碼規(guī)則可知,此幀數(shù)據(jù)代表的時(shí)間信息為:2000年2月29日23時(shí)59分,星期日。

        圖2 DCF77編碼幀示意圖

        2 解碼程序設(shè)計(jì)

        程序首先需要對(duì)碼元進(jìn)行識(shí)別[9],通過(guò)對(duì)輸入的脈沖進(jìn)行計(jì)數(shù),首先找到起始標(biāo)志,然后根據(jù)脈沖的個(gè)數(shù)判斷該碼元是“0”還是“1”,接著采用狀態(tài)機(jī)對(duì)0~58位的數(shù)據(jù)依次進(jìn)行采集,最后根據(jù)DCF77的格式有序的對(duì)所采集到的信息進(jìn)行解碼,提取出所需要的時(shí)間信息[8]。

        2.1 分頻模塊設(shè)計(jì)

        為完成對(duì)數(shù)據(jù)的采樣,采用歸一化的時(shí)鐘[10-11],這里采用頻率為1 kHz的時(shí)鐘,每個(gè)間隔為1 ms。由于59 s作為起始標(biāo)志,是連續(xù)1 000 ms的低電平,為便于檢測(cè),這里統(tǒng)一選取對(duì)時(shí)鐘的負(fù)邊沿進(jìn)行計(jì)數(shù),完成時(shí)間數(shù)據(jù)采樣。當(dāng)data_in處于低電平時(shí),count_1_valid標(biāo)志置1,count_1開始計(jì)數(shù)。

        2.2 碼元識(shí)別有限狀態(tài)機(jī)設(shè)計(jì)

        針對(duì)碼元的幾種不同類型以及所代表的不同意義,本文設(shè)計(jì)了一個(gè)有限狀態(tài)機(jī)[12](FSM),包括5個(gè)狀態(tài):Idle,Judge,Start,St0,St1。該狀態(tài)機(jī)可以完成狀態(tài)的檢測(cè),脈沖計(jì)數(shù),開始標(biāo)志的判斷以及數(shù)據(jù)的寫入等功能。狀態(tài)轉(zhuǎn)移過(guò)程如圖3所示。其中,Idle為空閑狀態(tài),count_1_valid為計(jì)數(shù)有效標(biāo)志,只有在輸入數(shù)據(jù)處于負(fù)邊沿時(shí)才有效。同時(shí),狀態(tài)轉(zhuǎn)移到Judge狀態(tài),進(jìn)行判斷。

        Judge為判斷狀態(tài),這里設(shè)置一個(gè)計(jì)數(shù)器count_1,來(lái)對(duì)1ms間隔的個(gè)數(shù)進(jìn)行計(jì)數(shù),通過(guò)間隔數(shù)的不同判斷采集到的碼元屬于哪種,并跳到對(duì)應(yīng)的狀態(tài)。前邊提到過(guò),為了方便檢測(cè),統(tǒng)一采取時(shí)鐘負(fù)邊沿進(jìn)行計(jì)數(shù)。所以碼元0,1以及起始標(biāo)志的計(jì)數(shù)應(yīng)分別為900,800,1 000。但是由于實(shí)際時(shí)間信息不可能做到絕對(duì)精確,所以,這里需要適當(dāng)?shù)姆艑挋z測(cè)門限[13]。經(jīng)過(guò)實(shí)際測(cè)試,這里選取880-920與780-820分別作為碼元0,1的門限,選取960作為起始標(biāo)志的門限。

        Start為開始狀態(tài),前文中曾經(jīng)提到過(guò)由于59 s的特殊性,將其作為起始標(biāo)志來(lái)使用。所以當(dāng)Judge檢測(cè)到脈沖個(gè)數(shù)為>960時(shí)(59 s在低電平持續(xù)1 000 ms),視為檢測(cè)到起始標(biāo)志,同時(shí)置Start_f=1,采集信息開始。否則,返回Idle狀態(tài)。

        St0,St1狀態(tài)分別在檢測(cè)到的脈沖個(gè)數(shù)為880-920和780-820時(shí)由Judge狀態(tài)跳入,同時(shí)分別置St0_f=1,St1_f=1,并且分別在寄存器data中寫入二進(jìn)制信息”0”或”1”。否則,返回Idle狀態(tài)。

        圖3 狀態(tài)轉(zhuǎn)移圖

        2.3 進(jìn)位模塊設(shè)計(jì)

        由于DCF77碼的格式問(wèn)題,要在第21位開始才是有效的時(shí)間信息,但是真實(shí)時(shí)間的分鐘位在0 s的時(shí)候就會(huì)完成進(jìn)位,而不會(huì)等到21 s再進(jìn)位。所以需要在時(shí)間信息初始化后,完成自動(dòng)進(jìn)位操作。然后,再分別在分(data[28]),時(shí)(data[35]),日(data[42]),周(data[45]),月(data[50]),年(data[58])信息解析完畢時(shí)進(jìn)行核對(duì)。

        具體進(jìn)位規(guī)則如下:分每逢60進(jìn)1,時(shí)每逢24進(jìn)1,月每逢12進(jìn)1,周每逢7進(jìn)1;需要特別關(guān)注的是月份[14],因?yàn)樯婕暗矫磕暧写笤?1天和小月30天的區(qū)別以及閏年2月份天數(shù)的不同,所以根據(jù)圖4所示的流程進(jìn)行設(shè)計(jì)。

        圖4 月份進(jìn)位模塊設(shè)計(jì)流程圖

        2.4 信息解析模塊設(shè)計(jì)

        按照DCF77碼的格式,根據(jù)BCD編碼的規(guī)則,分別將解析出的時(shí)間信息賦給寄存器minute,hour,day,week,month,year。Verilog算法[15-16]描述如下:

        assign year=data[50]+2*data[51]+4*data[52]+8*data[53]+10*data[54]+20*data[55]+40*data[56]+80*data[57];assign month=data[45]+2*data[46]+4*data[47]+8*data[48]+10*data[49];

        assign week=data[42]+2*data[43]+4*data[44];assign day=data[36]+2*data[37]+4*data[38]+8*data[39]+10*data[40]+20*data[41];

        assign hour=data[29]+2*data[30]+4*data[31]+8*data[32]+10*data[33]+20*data[34];assign minute=data[21]+2*data[22]+4*data[23]+8*data[24]+10*data[25]+20*data[26]+40*data[27];

        assign second=count_2;

        由于minute,hour,day,week,month,year分別在第27,34,41,44,49,57位接受信息完畢,所以均在接受完畢后的下一位將信息賦給對(duì)應(yīng)的值寄存器XX_r,并且與自進(jìn)位的數(shù)值進(jìn)行判斷,如果相同,則保持不變,如果不同,就把賦予的值代替自進(jìn)位的數(shù)值,完成自動(dòng)糾正。Verilog算法描述如下:

        always @ (count_2)

        begin

        if (count_2==0) minute_r<=minute_r+1'd1;

        if (count_2==28) minute_r<=minute;

        if (count_2==35) hour_r<=hour;

        if (count_2==42) day_r<=day;

        if (count_2==45) week_r<=week;

        if (count_2==50) month_r<=month;

        if (count_2==58) year_r<=year;

        end

        3 Modelsim仿真驗(yàn)證

        3.1 狀態(tài)機(jī)功能驗(yàn)證

        如圖8所示,首先查找到起始標(biāo)志start_f,并開始記錄時(shí)間信息。通過(guò)狀態(tài)機(jī)進(jìn)行判斷,確定碼元的類型,并激活不同的標(biāo)志位st0_f,st1_f,然后在data中分別寫入0或這1。直到第59位,這一分鐘的信息寫入完畢,然后清空data寄存器,準(zhǔn)備下一分鐘信息的記錄[16]。

        圖5 狀態(tài)機(jī)仿真示意圖

        3.2 信息解析驗(yàn)證

        由圖6可以看出解析得到的時(shí)間信息為2000年2月29日23時(shí)59分,星期日,與上文所得結(jié)論一致,證明解碼正確。

        3.3 進(jìn)位模塊功能驗(yàn)證

        通過(guò)圖7中的對(duì)比可以看出,New Group中并未采用進(jìn)位模塊設(shè)計(jì),所以信息只有在下一分鐘的第28,35,42,45,50,58位才會(huì)分別解析出來(lái),中間出現(xiàn)了明顯的“斷層現(xiàn)象”,這與日常計(jì)時(shí)明顯不符。而采用了進(jìn)位模塊設(shè)計(jì)后則可以在起始標(biāo)志位之后(00 s)完成自動(dòng)進(jìn)位,使時(shí)間解碼保持了連續(xù)性。從圖中可以看出,在檢測(cè)到第2個(gè)start_f之后時(shí)間變?yōu)?000年3月1日0時(shí)0分,星期一,驗(yàn)證成功。

        圖6 解碼結(jié)果驗(yàn)證

        圖7 進(jìn)位功能驗(yàn)證

        4 結(jié)束語(yǔ)

        本文采用有限狀態(tài)機(jī)的方法解決了碼元識(shí)別的問(wèn)題,并且使用進(jìn)位模塊設(shè)計(jì)避免了可能遇到的時(shí)間信息解析不連貫的問(wèn)題,可以成功的對(duì)DCF77碼進(jìn)行解碼,得到所需的時(shí)間信息。整體基于Verilog語(yǔ)言設(shè)計(jì),代碼簡(jiǎn)單、移植性強(qiáng),經(jīng)過(guò)Modelsim仿真軟件驗(yàn)證,該解碼方案正確可靠。

        [1] 于斌,米秀杰.ModelSim電子系統(tǒng)分析及仿真[M].北京:電子工業(yè)出版社,2011.

        [2] 周國(guó)平,屈少君.DCF77時(shí)間格式碼產(chǎn)生器的設(shè)計(jì)[C].西安:第20屆測(cè)控、計(jì)量、儀器儀表學(xué)術(shù)年會(huì),2010.

        [3] 高志遠(yuǎn),劉長(zhǎng)虹.廠站自動(dòng)化系統(tǒng)中應(yīng)用網(wǎng)絡(luò)時(shí)間同步技術(shù)探討[J].電力自動(dòng)化設(shè)備,2006,26(7):84-89.

        [4] 童寶潤(rùn).時(shí)間統(tǒng)一系統(tǒng)[M].北京:國(guó)防工業(yè)出版社,2003.

        [5] 馬紅皓,胡永輝.GPS&IRIG-B時(shí)間系統(tǒng)分析[J].電子科技,2007,190(7):21-25.

        [6] 顧陽(yáng)陽(yáng),付道文.基于FPGA的IRIG-B碼解碼器設(shè)計(jì)[J].電子科技,2015,28(5):39-42.

        [7] 楊志剛,鄭麗麗.IRIG-B碼終端中閏秒時(shí)間的處理[J].電子科技,2013,26(6):89-93.

        [8] 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京:高等教育出版社,2004.

        [9] 盧偉明,盧偉平.基于FPGA的IRIG-B(DC)碼解碼[J].現(xiàn)代電子技術(shù),2012,35(11):88-90.

        [10] Zhou Caiqin,Li Shizhong,Liang Guoqiang.Design of IRIG-B(AC) encoder based on FPGA[J].Journal of Measurement Science and Instrumentation,2015,6(3):291-294.

        [11] 秦娟,徐月超.利用FPGA的IRIG-B碼解碼新方法[J].信號(hào)處理,2015,31(12):1654-1657.

        [12] 周國(guó)平,邢燦華.IRIG-B格式時(shí)間編碼電路的設(shè)計(jì)[J].機(jī)械制造與自動(dòng)化,2005,34(2):88-90.

        [13] 王麗敏,胡永輝.基于FPGA的IRIG-B(DC)碼的解碼方案設(shè)計(jì)與實(shí)現(xiàn)[J].時(shí)間頻率學(xué)報(bào),2012,35(4):228-234.

        [14] 賈磊,崔永俊等.基于FPGA的IRIG-B(DC)碼解碼卡的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(6):2143-2155.

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

        [16] 張明.Verilog HDL實(shí)用教程[M].成都:電子科技大學(xué)出版社,1999.

        Design of a DCF77 Code Decoding Scheme

        ZHOU Zhenzhou1,XI Ziqiang1,WANG Ping2

        (1.Hubei Collaborative Innovation Center for High-efficiency Utilization of Solar Energy, Wuhan 430068, China;
        2. School of Electronic Information and Electrical Engineering, Shanghai Jiaotong University, Shanghai 200240, China)

        A decoding scheme based on FPGA is proposed with emphasis on analyzing and processing code element re-cognition. A FSM is designed for recognition of different code-elements and data recording. Modelsim functional simulation validates the accuracy and availability of the scheme. Compared with the IRIG-B code, the proposed scheme adds the week information at a frame length of only 60 bit, which is the same with time radix. This scheme has the advantage of simplicity, stability and easy implementation.

        DCF77 code; decode; finite-state machine; code-element recognition

        2016- 07- 27

        周振洲(1991-),男,碩士研究生。研究方向:數(shù)字化故障錄波器。席自強(qiáng)(1960-),男,博士,教授。研究方向:電能質(zhì)量檢測(cè)與控制技術(shù)。

        10.16180/j.cnki.issn1007-7820.2017.06.023

        TN919.3+1

        A

        1007-7820(2017)06-085-04

        猜你喜歡
        碼元狀態(tài)機(jī)解碼
        《解碼萬(wàn)噸站》
        LFM-BPSK復(fù)合調(diào)制參數(shù)快速估計(jì)及碼元恢復(fù)
        解碼eUCP2.0
        基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
        NAD C368解碼/放大器一體機(jī)
        Quad(國(guó)都)Vena解碼/放大器一體機(jī)
        基于極大似然準(zhǔn)則的短猝發(fā)信號(hào)盲解調(diào)
        一種碼元同步時(shí)鐘信號(hào)的提取方法及單片機(jī)實(shí)現(xiàn)
        基于FPGA的IRIG-B(DC)碼的解碼方案的設(shè)計(jì)與實(shí)現(xiàn)
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        99偷拍视频精品一区二区| 日本一区二区三区不卡在线| 日本一二三区在线观看视频| 国产ww久久久久久久久久| 婷婷丁香社区| 人片在线观看无码| 中文字幕一区乱码在线观看| 免费人成在线观看视频高潮| 日本一卡2卡3卡四卡精品网站| 亚洲一级无码片一区二区三区| 精品一区二区三区女同免费| 日本免费在线不卡一区二区| 极品少妇被猛的白浆直喷白浆 | 国产伦精品一区二区三区视| 蜜桃av夺取一区二区三区| 美艳善良的丝袜高跟美腿| 白丝兔女郎m开腿sm调教室| 极品尤物高潮潮喷在线视频| 日韩精品中文字幕人妻系列| 91三级在线观看免费| 色综合久久88色综合天天| 水蜜桃久久| 久久夜色精品国产亚洲av老牛 | 亚洲中文久久精品无码ww16| 综合图区亚洲另类偷窥| 国产片在线一区二区三区| 无码人妻精品一区二区蜜桃网站| 麻豆精品久久久久久久99蜜桃| 国产亚洲青春草在线视频| 国产精品一区二区黄色| 48沈阳熟女高潮嗷嗷叫| 亚洲欧美在线观看一区二区| 国产视频免费一区二区| 麻豆亚洲av熟女国产一区二| 色欲aⅴ亚洲情无码av蜜桃| 高跟丝袜一区二区三区| 91国产精品自拍在线观看| 日本中文字幕一区二区高清在线| 国产污污视频| 国产激情在线观看视频网址| 东北少妇不戴套对白第一次 |