• 
    

    
    

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

      ?

      基于FPGA的曼徹斯特編解碼器設(shè)計

      2011-10-09 09:45:58湯曉曦陳泉根
      電子設(shè)計工程 2011年23期
      關(guān)鍵詞:曼徹斯特狀態(tài)機解碼

      湯曉曦,尹 蕾,許 晏,陳泉根

      (中國工程物理研究院 電子工程研究所,四川 綿陽 621900)

      1553B總線是廣泛應(yīng)用于飛機綜合航電系統(tǒng)、外掛物管理與集成系統(tǒng)的總線系統(tǒng)。并逐步擴展到飛行控制等系統(tǒng)及坦克、艦船、航天等領(lǐng)域。我國于1987年頒布了相應(yīng)的軍標GJB289《數(shù)字式時分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線》。但是由于該標準的核心技術(shù)為歐美公司所壟斷,因此,倘若能夠自主研發(fā)基于1553B總線標準的協(xié)議芯片或產(chǎn)品具有重要的戰(zhàn)略和經(jīng)濟意義[1]。隨著可編程邏輯器件的高速發(fā)展,越來越多的設(shè)計者在FPGA、CPLD等的硬件基礎(chǔ)上開展設(shè)計研究。本文基于FPGA的硬件基礎(chǔ)設(shè)計實現(xiàn)了1553B總線中曼徹斯特II型碼的編解碼器。

      1 1553B總線

      MIL-STD-1553B總線網(wǎng)絡(luò)由終端、子系統(tǒng)和總線傳輸介質(zhì)組成。終端是使數(shù)據(jù)總線和子系統(tǒng)相連接的電子組件。子系統(tǒng)為從多路數(shù)據(jù)總線上接收數(shù)據(jù)傳輸服務(wù)的裝置或功能單元[2]??偩€控制器(BC)是總線系統(tǒng)組織信息傳輸?shù)慕K端??偩€監(jiān)視器(BM)是總線系統(tǒng)中指定作接收且記錄總線上傳輸?shù)男畔⒉⒂羞x擇地提取信息以備后用的終端。遠程終端(RT)是總線系統(tǒng)中不作為總線控制器或總線監(jiān)視器的所有終端[3]。

      1553B總線的傳輸速度是1 Mb/s,采用曼切斯特Ⅱ型編碼,半雙工工作方式。信號以串行數(shù)字脈沖編碼調(diào)制(PCM)形式在數(shù)據(jù)總線上傳輸。邏輯1為雙極編碼信號1/0,即一個正脈沖繼之一個負脈沖,邏輯0為雙極編碼信號0/1[4],即一個負脈沖繼之一個正脈沖。

      圖1 曼徹斯特II型碼與NRZ碼對比Fig.1 Compare of the Manchester II code and NRZ code

      2 1553信號的3種傳輸方式

      1553B信息流由一串1553B消息構(gòu)成。1553B消息由命令字、數(shù)據(jù)字、狀態(tài)字組成。所有1553B字都是20 bit[5]長,每個字都應(yīng)是:

      3位同步頭+16位數(shù)據(jù)/命令/狀態(tài)位+1位奇偶校驗

      3 曼徹斯特解碼器設(shè)計以及仿真結(jié)果

      解碼器的工作方式就是從收發(fā)器接收曼徹斯特II型編碼的串行數(shù)據(jù),然后以并行數(shù)據(jù)的方式送出。而為實現(xiàn),首先得實現(xiàn)同步頭的檢出,通過同步頭來區(qū)別命令字數(shù)據(jù)字和狀態(tài)字。然后解碼串行數(shù)據(jù),通過末尾的奇偶校驗之后,再并行輸出。

      圖2 1553B的3種數(shù)據(jù)傳輸格式Fig.2 3 formats of 1553B transmit in

      根據(jù)圖2可以得知,1553B的同步頭分為兩種,而根據(jù)1553B協(xié)議,傳輸速率為1 Mb/s,因為一個有效的同步頭占3個bit,它的傳輸時長應(yīng)該為3 000 ns,而因為同步頭前后電平的不同,以數(shù)據(jù)字同步頭為例,分為以下幾種情況[2]。

      圖3 數(shù)據(jù)幀同步頭可能出現(xiàn)的情況Fig.3 Possible results of data-frame syncode

      解碼部分首先因該由判斷同步頭開始,這里用狀態(tài)機來實現(xiàn)同步頭的檢測,而狀態(tài)機的狀態(tài)變化由在相應(yīng)時間內(nèi)有多少個連續(xù)相同電平的采樣點決定。本次設(shè)計的采樣與解碼時鐘頻率均可采用5 MHz。這樣以一個時鐘上升沿作為采樣點的間隔為200 ns。那么無論同步頭的前半或者后半部分都應(yīng)該采到大于7次,若少于7次,則判定為同步頭檢測失敗,不能進入下一狀態(tài)。而整個同步頭應(yīng)該采樣15次。圖3顯示了數(shù)據(jù)字可能遇到的幾種同步頭的情況。

      圖3中A為理想情況的同步頭。在檢測出有效同步頭后即進入數(shù)據(jù)接收解碼狀態(tài)。

      圖3中B為同步頭開始前一直為低電平的情況,這需要狀態(tài)機在第一個同步頭計數(shù)器采樣到7后如果采集點還為同樣電平則一直將計數(shù)器置7,直道出現(xiàn)跳變再繼續(xù)計數(shù)進入同步頭的后半部分檢測。

      圖3中C為在有效頭部頭之前有一個長度大于1 500 ns的干擾信號會直接導(dǎo)致狀態(tài)機進入狀態(tài)字或者數(shù)據(jù)字檢測完畢的狀態(tài),這時需要在第一次采樣時糾錯,在進入預(yù)計的同步完畢的情況下(其實是誤碼干擾),若第一次采樣的結(jié)果為同1或者(即采集到了同步頭的真正后半部分),則狀態(tài)機修正狀態(tài)從判斷為狀態(tài)字或命令字進入數(shù)據(jù)字(或者從數(shù)據(jù)字進入命令字或者狀態(tài)字),而所采集的第一個誤碼bit的數(shù)據(jù)會在下次采集時被覆蓋。為下面介紹下本次設(shè)計的數(shù)據(jù)采樣方式。

      由于1553B使用的是曼徹斯特碼II型碼。不論傳輸?shù)氖?還是1,在該bit中間位置都會產(chǎn)生跳變,所以我用一個寄存器data2將該bit復(fù)制并延后半個bit位。然后同時對原信號data1和延后的data2采樣如下圖所示。

      圖4 信號采樣方式Fig.4 Example of data sampling

      如果data1為1,data2為 0,即為信號從 0變成1,則解碼結(jié)果為0,反之則為1。在嚴格控制采樣時刻必為data2的前半個電平后,采樣結(jié)果中data1和data2是肯定不同的,倘若出現(xiàn)相同的情況,則必為電平錯誤或者正在傳輸?shù)男盘枮橥筋^。

      狀態(tài)字和命令字的狀態(tài)轉(zhuǎn)移條件和示意圖將在圖5中給出。

      狀態(tài)機狀態(tài):idle(空閑)、s0(同步頭前半部分為 0)、s01(同步頭前半部分為 0后半部分為 1)、s01_r(數(shù)據(jù)字采集態(tài))、s1(同步頭前半部分為 1)、s10(同步頭前半部分為 1后半部分為0、s10_r(命令字或者狀態(tài)字采集態(tài))。

      圖5 狀態(tài)機以及轉(zhuǎn)移條件示意圖Fig.5 State machine indicator

      在接收完16 bit的數(shù)據(jù)后,通過最末位bit的奇校驗位校驗完數(shù)據(jù)正確性后,通過并口dataout輸出,至此,一字的解碼采集結(jié)束。

      解碼通過串口以數(shù)據(jù)幀輸入16 bit(1110001010001100)仿真時序結(jié)果如圖6所示。

      圖6 曼徹斯特解碼Modelsim仿真結(jié)果Fig.6 Modelsim result of Manchester decoder

      4 曼徹斯特編碼器設(shè)計以及仿真結(jié)果

      本次設(shè)計的曼徹斯特編碼主要由兩部分組成:同步頭生成部分和攜帶信息編碼部分。

      4.1 信息編碼部分

      根據(jù)1553B協(xié)議分析,在1 Mb/s的傳輸速度下,每個bit的傳輸時長為1 000 ns[6]。而本次編碼的核心思想就是生成一個和同為1 Mb/s的周期信號phase,將并口接收的信號通過移位寄存器從高至低的一位一位的在符合1553B要求的時鐘傳輸速率下與phase進行異或操作,當phase的波形與移位寄存器中的信號異或,若信號為0與之異或,結(jié)果為其本身,而當信號為1與之異或,結(jié)果phase的波形相反,正好符合1553B的傳輸方式。而得到的波形稱之為enc_data。同時需設(shè)置一個busy編碼指示位和bit_count編碼計數(shù)器,分別用來標示當前是否處于編碼階段,能否讀取新的并口數(shù)據(jù)和編碼已經(jīng)進行了多少位。編碼是否完畢來將busy置0來接收新的并口數(shù)據(jù)。其波形如圖7所示。

      圖7 phase的波形Fig.7 Shape of phase

      4.2 同步頭生成部分

      同步頭分為兩種,狀態(tài)字和命令字為一種[7],數(shù)據(jù)字為一種,這里還是以數(shù)據(jù)字為例。在相應(yīng)的系統(tǒng)時鐘下,設(shè)置一個計數(shù)器,在3 000 ns(一個有效同步頭所占用的時間)內(nèi)計數(shù),當計數(shù)完成后(生成一個完整的同步頭所需時間結(jié)束),對編碼標志位busy置1(即可以開始數(shù)據(jù)編碼)。而同步頭的生成只需要根據(jù)需要生成的同步頭在1 501 ns的位置跳變電平即可生成。以本次設(shè)計采用的100 MHz的系統(tǒng)時鐘為例,即系統(tǒng)時鐘周期為10 ns,利用一個系統(tǒng)時鐘上升沿敏感觸發(fā)的計數(shù)器,在同步頭前半部分開始時計數(shù),當計數(shù)到150時,也就是下一時刻在1 501 ns時讓生成波形電平跳變,再持續(xù)150個計數(shù)器時間生成的同步頭的后半部分。而這時具有同步頭的波形叫enc_wave,然后在同步頭生成結(jié)束后(即進入并口數(shù)據(jù)編碼段)將enc_data的波形賦給enc_wave即可。這樣得到的enc_wave即是符合1553B傳輸規(guī)則和速率的串口信號。

      下面是并口依次輸入11001001101000011和11100011 10001110后自動生成奇偶校驗位和串口波形的modelsim仿真結(jié)果。

      5 結(jié)束語

      本設(shè)計根據(jù)曼徹斯特碼型特點,設(shè)計出一種符合MIL-S TD-1553B協(xié)議的曼徹斯特編解碼器。硬件描述語言采用verilog[8],選用ISE作為硬件綜合工具,Modelsim作為仿真工具,通過準確的時間約束實現(xiàn)了1553B總線曼徹斯特碼[9]編碼器的設(shè)計,通過mealy狀態(tài)機實現(xiàn)了1553B總線曼徹斯特碼解碼器的設(shè)計。與組合邏輯電路實現(xiàn)相比較更具有優(yōu)越性。本模塊已應(yīng)用于基于硬件FPGA來實現(xiàn)1553B總線和光纖總線的協(xié)議轉(zhuǎn)換板,經(jīng)過驗證,解碼正確。具有很強實用性。

      [1]武鵬,畢君懿.1553B總線中曼徹斯特編解碼器的設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(4):61-64.

      WU Peng,BI Jun-yi.Design of manchester codec in 1553B bus[J].Modern Electronics Technique,2011,34(4):61-64.

      [2]牛茜,靳鴻,基于有限狀態(tài)機的1553B總線解碼器設(shè)計[J].電子測試,2010(12):74-78.

      NIU Qian,JIN Hong.Design of the Manchester II decoders for the 1553B bus by state machine[J].Electronic Test,2011(12):74-78.

      [3]張飛,王煥玉,徐玉朋,等.基于FPGA控制實現(xiàn)的1553B總線通訊設(shè)計[J].航天控制,2010,28(6):67-71.

      ZHANG Fei,WANG Huan-yu,Xu yu-peng,et al.1553B2Bus communica tion design based on FPGA control[J].Aerospace Control,2010,28(6):67-71.

      [4]曹素芝,張善從.光纖通道與MIL-STD-1553B協(xié)議的兼容性設(shè)計[J].計算機測量與控制,2010,18(7):1624-1626.

      CAO Su-zhi,ZHANG Shan-cong.Design on bridge between fiber channel and MIL-STD-1553B[J].Computer Measurement&Control,2010,28(6):67-71.

      [5]孫濤,張華春.基于1553B協(xié)議的總線控制器和遠程終端的FPGA 實現(xiàn)[J].中國科學(xué)院研究生院學(xué)報,2010,27(4):523-529.

      SUN Tao,ZHANG Hua-chun.Realization of FPGA-based MIL-STD-1553B bus remote terminal’s controller[J].Journal of the Graduate School of the Chinese Academy of Sciences,2010,27(4):523-529.

      [6]張傳武,黃勤珍.Mil-Std-1553總線協(xié)議分析[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2007,33(2):381-383.

      ZHANG Chuan-wu,HUANG Qin-zhen.Protocol analysis of the Mil-Std-1553 bus[J].Journal of Southwest University of Nationalities:Natural Science Edition,2007,33(2):381-383.

      [7]胡亞平.1553B遠程終端的設(shè)計 [J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2008,7(4):55-56.

      HU Ya-ping.The design of 1553B remote terminal[J].Journal of Anhui Vocational College Electronics& Information Technology,2008,7(4):55-56.

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

      [9]USA:Department of Defence.MIL2STD21553B digital time divi2sion command/response multiplex data bus[S].1978.

      猜你喜歡
      曼徹斯特狀態(tài)機解碼
      《解碼萬噸站》
      觀電影《海邊的曼徹斯特》
      揚子江詩刊(2020年5期)2020-11-12 02:57:14
      觀電影《海邊的曼徹斯特》
      揚子江(2020年5期)2020-09-26 10:32:25
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      FPGA設(shè)計中狀態(tài)機安全性研究
      基于反熔絲FPGA的有限狀態(tài)機加固設(shè)計
      基于VHDL的一個簡單Mealy狀態(tài)機
      偃师市| 靖远县| 澄迈县| 上饶市| 莱州市| 昭通市| 图木舒克市| 海兴县| 漠河县| 平度市| 邛崃市| 陇南市| 玉龙| 县级市| 阳信县| 西宁市| 宾川县| 德昌县| 渝北区| 图片| 久治县| 赣州市| 海晏县| 铁岭县| 长沙县| 丰台区| 连平县| 含山县| 巩义市| 宜兰县| 塘沽区| 平谷区| 元江| 乐亭县| 曲麻莱县| 马山县| 河西区| 阳新县| 青阳县| 武义县| 泊头市|