• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2021-04-16 13:07:42盧韋明
      導(dǎo)航定位與授時 2021年2期
      關(guān)鍵詞:碼元計數(shù)器時序

      盧韋明

      (西安鼎晟電子科技有限公司,西安 710061)

      0 引言

      靶場間測量組(Inter-Range Instrumentation Group,IRIG)時間碼通常簡稱IRIG時碼[1],是由美國靶場指揮官委員會(Range Commanders Council, RCC)的通信時間組(Telecommunication and Timing Group)制定,用于系統(tǒng)中進行時間信息傳輸?shù)臅r間碼。 《中華人民共和國電力行業(yè)標(biāo)準(zhǔn)》、《中華人民共和國國家軍用標(biāo)準(zhǔn) GJB2991-1997》中明確規(guī)定了 B 時間碼的格式,其目的是統(tǒng)一不同生產(chǎn)廠家的授時設(shè)備的B碼輸出格式,在時間同步系統(tǒng)與被對時設(shè)備互聯(lián)時可替換。IRIG時間碼有A碼、B碼、C碼、D碼、E碼、G碼、H碼7種,本文只研究其中的B碼。

      隨著電網(wǎng)的快速發(fā)展和電廠自動化設(shè)備的大規(guī)模應(yīng)用,在生產(chǎn)和控制中對高精度時間同步設(shè)備的需求迅速增加。電力系統(tǒng)中的高精度時間同步是電網(wǎng)操作控制和故障分析的重要保障[2]。

      電廠控制系統(tǒng)可從IRIG-B(DC)碼獲取天、時、分、秒時間信息,然后對系統(tǒng)內(nèi)的時間進行校準(zhǔn),從而實現(xiàn)全部設(shè)備之間的時間同步。為了確保自動化設(shè)備接收到精確的時間同步信號,安全、穩(wěn)定、可靠的時間源非常關(guān)鍵,本文B碼時間源采用我國自主研發(fā)、獨立運行的北斗衛(wèi)星導(dǎo)航系統(tǒng)作為標(biāo)準(zhǔn)時間源,能夠擺脫美國全球定位系統(tǒng)(Global Positioning System,GPS)的限制,向電廠提供安全可靠的授時[3-4]。

      通過對現(xiàn)有的IRIG-B (DC)碼授時設(shè)備的調(diào)查研究發(fā)現(xiàn),大多設(shè)備采用CPLD+AVR MCU或FPGA+DSP實現(xiàn)[5],該方法各個芯片之間的連線較多,PCB設(shè)計復(fù)雜,面積較大,加工費用昂貴。

      Xilinx ZYNQ-7000系列器件將處理器的軟件可編程能力和FPGA(Field Programmable Gate Array)的硬件可編程能力完美結(jié)合,通過硬件、軟件和I/O的可編程性,實現(xiàn)了擴展式系統(tǒng)級差異、集成和靈活性,并具有低功耗、低成本等優(yōu)勢,憑借其無與倫比的系統(tǒng)性價比,加速了其產(chǎn)品上市進程。在單個芯片上完成以前需要多個芯片相互配合才能實現(xiàn)的功能,使得設(shè)計設(shè)備的集成度更高、可靠性更高,將是未來電子產(chǎn)品設(shè)計發(fā)展的必然趨勢[6]。

      ZYNQ平臺在PL(Programmable Logic)和PS(Processing System)端能夠?qū)崿F(xiàn)根據(jù)客戶要求而定制的邏輯和軟件,修改方便且不增加硬件成本[7]。本文主要從以下兩個方面進行研究:

      1)研究PL和PS之間的DMA(Direct Memory Access)數(shù)據(jù)傳輸,代替FPGA+DSP方案中SRIO(Serial RapidIO)芯片之間的數(shù)據(jù)傳輸。FPGA中的SRIO IP核需要付費才能使用,增加了開發(fā)成本。

      2)研究PL和PS之間的AXI(Advanced eX-tensible Interface)數(shù)據(jù)傳輸,AXI數(shù)據(jù)傳輸是芯片內(nèi)部數(shù)據(jù)傳輸,代替FPGA+DSP方案中芯片間數(shù)據(jù)傳輸?shù)钠x信號、讀寫使能信號、數(shù)據(jù)總線和地址總線,避免了芯片之間的過多連線,降低了PCB設(shè)計難度,提高了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

      1 硬件組成

      硬件組成框圖如圖1所示。

      圖1 硬件組成框圖Fig.1 Hardware composition block diagram

      圖1中,天線:接收北斗B1頻點信號;北斗模塊:完成北斗B1頻點信號的捕獲和跟蹤,解算出位置和時間信息;晶振:ZYNQ工作時鐘;ZYNQ:完成北斗模塊輸出時間信息的接收、解析和提取,以及B碼的生成等功能。

      2 軟件設(shè)計

      2.1 IRIG-B(DC)碼介紹

      IRIG-B(DC)碼格式[8]如圖2所示。

      IRIG-B(DC)碼碼元分為三種,分別為0碼元,1碼元和P碼元,如圖3所示。

      圖2 IRIG-B(DC)標(biāo)準(zhǔn)時間碼Fig.2 IRIG-B(DC) time code

      圖3 IRIG-B(DC)碼碼元Fig.3 IRIG-B(DC) code element

      IRIG-B(DC)碼每幀周期1s,共100個碼元,每個碼元10ms,碼元索引計數(shù)從0到99。在準(zhǔn)時沿時刻碼元的索引計數(shù)值為0,向后順次累加,直到該幀結(jié)束。

      IRIG-B(DC)碼共包含10個位置識別標(biāo)志,記為P0,P1,P2,…,P9,即每10個碼元就包含1個位置識別標(biāo)志。每幀碼元中的第0個碼元為參考碼元PR,每幀碼元中第99個碼元為位置識別標(biāo)志P0,參考碼元PR和位置識別標(biāo)志P0 組成了幀參考標(biāo)志[9]。

      IRIG-B(DC)碼中的時間表示采用BCD碼,共占30個碼元,第1,2,3,4碼元為秒的個位,表示從0到9計數(shù),第6,7,8碼元為秒的十位,表示從0到5計數(shù);第10,11,12,13碼元為分的個位,表示從0到9計數(shù),第15,16,17碼元為分的十位,表示從0到5計數(shù);第20,21,22,23碼元為時的個位,表示從0到9計數(shù),第 25,26碼元為時的十位,表示從0到2計數(shù);第30,31,32,33碼元為天的個位,表示從0到9計數(shù),第35,36,37,38碼元為天的十位,表示從0到9計數(shù),第40,41碼元為天的百位,表示從0到3計數(shù)。一天中的秒數(shù)用二進制表示需17位,從第80碼元到第88碼元和從第90碼元到第97碼元,低位在前,高位在后,表示從 0秒到86399秒計數(shù),計數(shù)的0秒對應(yīng)0點0分0秒[10]。IRIG-B(DC)碼中其他碼元為控制碼元,用于控制、識別及多種特殊目的,本次設(shè)計預(yù)留,默認為0。

      2.2 時間信息接收模塊

      本文設(shè)計中將PS端串口用作調(diào)試串口,時間信息接收模塊串行接收設(shè)計在PL端,一方面擴展方便,特別適合多串口接收的硬件設(shè)計方案;另一方面減少了PS端中斷,使PS端主要處理復(fù)雜的運算[11]。

      時間信息接收模塊串行接收北斗模塊輸出的“$BDZDA,153256.00,08,07,19,,*ff”協(xié)議,其狀態(tài)圖如圖4所示。

      圖4 串行接收狀態(tài)圖Fig.4 Serial receiving status chart

      時間信息接收模塊串行接收北斗模塊輸出數(shù)據(jù),采用Verilog硬件描述語言實現(xiàn)[12-13],時序圖如圖5所示。

      圖5 時間信息接收模塊時序圖Fig.5 Sequence diagram of time information receiving module

      圖5中,clk:接收時鐘1.8432MHz;rx:接收信號,由高變到低即認為檢測到起始位,準(zhǔn)備接收數(shù)據(jù);cnt:接收位計數(shù)器,起始位和數(shù)據(jù)位采樣16次,停止位采樣9次,故計數(shù)到152即可;flag:計數(shù)器標(biāo)志位,當(dāng)開始計數(shù)時置1,到停止位第9次采樣時置0;en:一個字符接收完畢,使能輸出;valid:輸出接收字符有效標(biāo)志;data:輸出接收字符數(shù)據(jù)。

      時間信息接收模塊接收一幀數(shù)據(jù)后,再將一幀數(shù)據(jù)組包傳送給FIFO(First Input First Output),時序如圖6所示。

      圖6 時間信息組包時序圖Fig.6 Sequence diagram of time information package

      圖6中,clk:輸入時鐘,125MHz;gpio_io: 輸入信號,PS端初始化完成后,通過AXI總線將gpio_io置1,表示可以向FIFO寫入數(shù)據(jù);pl2ps_tready:輸入信號,每個時鐘周期判斷FIFO的輸入信號ready是否置1,置1則數(shù)據(jù)寫入,準(zhǔn)備下一個數(shù)據(jù),置0則數(shù)據(jù)未寫入,等待下一個時鐘周期寫入;pl2ps_data_valid:輸出數(shù)據(jù)有效標(biāo)志;pl2ps_data_gga_rmc:輸出拼位數(shù)據(jù),32bit;pl2ps_keep:輸出數(shù)據(jù)字節(jié)有效標(biāo)志,32bit拼位數(shù)據(jù)共4個字節(jié),1個字節(jié)用1bit表示,共需4bit;pl2ps_tlast:輸出最后一個數(shù)據(jù)標(biāo)志,最后一個數(shù)據(jù)寫入時,pl2ps_tlast信號置1,其他時刻置0。

      2.3 DMA數(shù)據(jù)傳輸模塊

      DMA在工程中可以將數(shù)據(jù)從PL端FIFO傳遞到PS端DDR3,也可以從PS端DDR3傳遞到PL端FIFO,如圖7所示。圖7中,AXI_DMA和AXI_DATA_FIFO在ZYNQ PL端,DDR3在ZYNQ PS端。AXI-lite總線實現(xiàn)了處理器配置AXI_DMA模塊的建立、初始化和監(jiān)測數(shù)據(jù)傳遞。AXI_MM2S和AXI_S2MM是DMA訪問DDR3存儲器。AXIS_MM2S和AXIS_S2MM是AXI4-streaming總線,它是傳遞給DMA的一個沒有地址的連續(xù)數(shù)據(jù)流[14]。

      圖7 DMA數(shù)據(jù)傳輸示意圖Fig.7 DMA data transmission diagram

      本文用到的FIFO模塊在從PL端到PS端的數(shù)據(jù)傳送過程中起到異步時鐘的跨時鐘域處理功能。FIFO接收到一幀數(shù)據(jù)后,啟動DMA傳輸,DMA模塊將時間信息從PL端搬移到PS端DDR3中。

      2.4 PS端數(shù)據(jù)處理

      PS端上電初始化后,循環(huán)檢測接收的北斗時間信息,查詢到DMA中斷標(biāo)志位后,PS端從DDR3開始讀取數(shù)據(jù)并存儲在數(shù)組中,讀取結(jié)束后按照協(xié)議進行計算校驗,校驗成功后提取定位有效標(biāo)志和時間信息。北斗模塊輸出的是UTC時間,需要轉(zhuǎn)換成北京時間,并同時計算當(dāng)前時刻在一天中的累計秒數(shù),通過AXI總線[15]寫入PL端,供碼元控制模塊使用。在校驗錯誤或無效時則進入守時狀態(tài)工作,通過AXI總線寫入PL端無效標(biāo)志,其流程如圖8所示。

      圖8 PS端軟件流程圖Fig.8 PS software flow chart

      2.5 碼元控制模塊

      碼元控制模塊的主要功能是完成接收到PS端有效/無效時間信息時時間變量的賦值/計時和控制碼元輸出等,需要1ms計數(shù)器、10ms計數(shù)器、秒計數(shù)器、分計數(shù)器、時計數(shù)器和天計數(shù)器來共同完成。

      計數(shù)器cnt_8ns從0計到124999是1ms,用來控制碼元在1ms內(nèi)的輸出值,IRIG-B(DC)碼在1ms內(nèi)輸出“1”或者“0”電平。

      計數(shù)器cnt_1ms從0計到9是10ms,用來控制碼元種類,即‘1’、‘0’、‘P’碼元,時序圖如圖9所示。

      圖9 毫秒計數(shù)器時序圖Fig.9 Sequence diagram of millisecond counter

      計數(shù)器cnt_10ms從0計到99是1s,既用作碼元的索引,又用來控制本地時間的守時。如果碼元控制模塊收到PS端的時間信息有效時,在1PPS信號上升沿時刻將接收到的天、時、分、秒、一天的秒數(shù)轉(zhuǎn)換成整型賦給相應(yīng)時間變量;否則當(dāng)計數(shù)器cnt_10ms從99變到0時刻,時間整型變量做相應(yīng)進位,秒計數(shù)器cnt_1s加1,其他時間計數(shù)器也做相應(yīng)進位,計數(shù)器cnt_1s從0計到59是1min,時序圖如圖10所示。

      圖10 秒計數(shù)器時序圖Fig.10 Sequence diagram of second counter

      分計數(shù)器cnt_1m從0到59是1h,小時計數(shù)器cnt_1h從0計到23是1天,1天中的秒數(shù)計數(shù)器cnt_sod從0計到86399是1天,天計數(shù)器cnt_1d從0計到365或366是1年,時序圖如圖11所示。

      圖11 分時天計數(shù)器時序圖Fig.11 Sequence diagram of minute/hour/day counter

      碼元控制模塊在1PPS上升沿下一個時鐘周期將整型時間變量個、十、百位分別做BCD碼轉(zhuǎn)換。

      用計數(shù)器cnt_10ms控制碼元輸出位置,根據(jù)秒、分、時、天的BCD碼和一天中的秒數(shù)(二進制)確定該碼元位置輸出“0”、“1”、“P”碼碼元,用計數(shù)器cnt_1ms控制1ms內(nèi)碼元的輸出值。

      3 IRIG-B(DC)碼測試

      本文在ZC706開發(fā)板進行實驗,硬件實驗環(huán)境搭建如圖12所示。為了測試驗證方便,設(shè)置B碼模塊輸入時間固定為275天10時55分56秒,1天中的秒數(shù)為39356進行測試。用邏輯分析儀采集輸出的b_dc_code信號如圖13所示。

      圖12 硬件開發(fā)環(huán)境Fig.12 Hardware development environment

      圖13 b_dc_code信號Fig.13 b_dc_code signal

      圖13中,doutb_1為IRIG-B(DC)碼,從第一個test_1pps上升沿開始,到第二個test_1pps上升沿結(jié)束共100個B碼碼元。

      從圖13中黑色標(biāo)志線開始為IRIG-B(DC)碼的幀頭,開始依次讀出碼元為P01100101P101001010P000001000P101001110P01,按照圖2所示IRIG-B標(biāo)準(zhǔn)時間碼格式,對應(yīng)的秒為56秒,分為55分,時為10時,天為275天;從圖13中test_cnt_3_temp計數(shù)器為108時為一天中的秒數(shù)最低位,125時為一天中的秒數(shù)最高位,依次讀出碼元為001111011P00110010,按照圖2所示對應(yīng)的一天的秒數(shù)為39356,表示當(dāng)天的第39356秒,證明了B碼讀出時間與設(shè)置時間一致。

      IRIG-B(DC)碼幀頭從兩個連續(xù)P碼碼元的第二個P碼碼元上升沿開始,IRIG-B(DC)碼(doutb_1)幀頭如圖14所示,幀頭在紅色標(biāo)志線處。

      圖14 IRIG-B(DC)碼幀頭Fig.14 IRIG-B(DC) code frame head

      4 結(jié)束語

      本文針對電力設(shè)備授時要求,提出了一種IRIG-B(DC)碼設(shè)計方案并完成了軟硬件設(shè)計,經(jīng)過測試IRIG-B(DC)時間碼輸出正確。采用北斗衛(wèi)星導(dǎo)航系統(tǒng)為時間源的IRIG-B(DC)碼儀器的成功研制,使我國擺脫了依賴國外GPS的現(xiàn)狀,對于保障國家安全、促進經(jīng)濟社會的發(fā)展都具有重要的意義。

      猜你喜歡
      碼元計數(shù)器時序
      時序坐標(biāo)
      采用虛擬計數(shù)器的電子式膜式燃氣表
      煤氣與熱力(2022年2期)2022-03-09 06:29:30
      基于Sentinel-2時序NDVI的麥冬識別研究
      LFM-BPSK復(fù)合調(diào)制參數(shù)快速估計及碼元恢復(fù)
      雷達與對抗(2020年2期)2020-12-25 02:09:26
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      基于極大似然準(zhǔn)則的短猝發(fā)信號盲解調(diào)
      計數(shù)器競爭冒險及其處理的仿真分析
      DPBUS時序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      任意N進制計數(shù)器的設(shè)計方法
      河南科技(2014年10期)2014-02-27 14:09:30
      基于單片機的仰臥起坐計數(shù)器
      叶城县| 阳春市| 河间市| 宁化县| 日土县| 乐东| 闸北区| 积石山| 榆林市| 吐鲁番市| 威信县| 长宁区| 张家川| 蕉岭县| 平陆县| 教育| 镇雄县| 马鞍山市| 肥乡县| 嘉禾县| 车致| 台中县| 绥滨县| 木兰县| 阳江市| 东源县| 湖北省| 莫力| 岑溪市| 历史| 延安市| 富平县| 黄冈市| 乌兰县| 社会| 高陵县| 铅山县| 太原市| 濮阳县| 星子县| 阳东县|