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

        ?

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

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

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

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

        1553B總線是廣泛應(yīng)用于飛機(jī)綜合航電系統(tǒng)、外掛物管理與集成系統(tǒng)的總線系統(tǒng)。并逐步擴(kuò)展到飛行控制等系統(tǒng)及坦克、艦船、航天等領(lǐng)域。我國(guó)于1987年頒布了相應(yīng)的軍標(biāo)GJB289《數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線》。但是由于該標(biāo)準(zhǔn)的核心技術(shù)為歐美公司所壟斷,因此,倘若能夠自主研發(fā)基于1553B總線標(biāo)準(zhǔn)的協(xié)議芯片或產(chǎn)品具有重要的戰(zhàn)略和經(jīng)濟(jì)意義[1]。隨著可編程邏輯器件的高速發(fā)展,越來越多的設(shè)計(jì)者在FPGA、CPLD等的硬件基礎(chǔ)上開展設(shè)計(jì)研究。本文基于FPGA的硬件基礎(chǔ)設(shè)計(jì)實(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擇地提取信息以備后用的終端。遠(yuǎn)程終端(RT)是總線系統(tǒng)中不作為總線控制器或總線監(jiān)視器的所有終端[3]。

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

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

        2 1553信號(hào)的3種傳輸方式

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

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

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

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

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

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

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

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

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

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

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

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

        圖4 信號(hào)采樣方式Fig.4 Example of data sampling

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

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

        狀態(tài)機(jī)狀態(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)機(jī)以及轉(zhuǎn)移條件示意圖Fig.5 State machine indicator

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

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

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

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

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

        4.1 信息編碼部分

        根據(jù)1553B協(xié)議分析,在1 Mb/s的傳輸速度下,每個(gè)bit的傳輸時(shí)長(zhǎng)為1 000 ns[6]。而本次編碼的核心思想就是生成一個(gè)和同為1 Mb/s的周期信號(hào)phase,將并口接收的信號(hào)通過移位寄存器從高至低的一位一位的在符合1553B要求的時(shí)鐘傳輸速率下與phase進(jìn)行異或操作,當(dāng)phase的波形與移位寄存器中的信號(hào)異或,若信號(hào)為0與之異或,結(jié)果為其本身,而當(dāng)信號(hào)為1與之異或,結(jié)果phase的波形相反,正好符合1553B的傳輸方式。而得到的波形稱之為enc_data。同時(shí)需設(shè)置一個(gè)busy編碼指示位和bit_count編碼計(jì)數(shù)器,分別用來標(biāo)示當(dāng)前是否處于編碼階段,能否讀取新的并口數(shù)據(jù)和編碼已經(jīng)進(jìn)行了多少位。編碼是否完畢來將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è)置一個(gè)計(jì)數(shù)器,在3 000 ns(一個(gè)有效同步頭所占用的時(shí)間)內(nèi)計(jì)數(shù),當(dāng)計(jì)數(shù)完成后(生成一個(gè)完整的同步頭所需時(shí)間結(jié)束),對(duì)編碼標(biāo)志位busy置1(即可以開始數(shù)據(jù)編碼)。而同步頭的生成只需要根據(jù)需要生成的同步頭在1 501 ns的位置跳變電平即可生成。以本次設(shè)計(jì)采用的100 MHz的系統(tǒng)時(shí)鐘為例,即系統(tǒng)時(shí)鐘周期為10 ns,利用一個(gè)系統(tǒng)時(shí)鐘上升沿敏感觸發(fā)的計(jì)數(shù)器,在同步頭前半部分開始時(shí)計(jì)數(shù),當(dāng)計(jì)數(shù)到150時(shí),也就是下一時(shí)刻在1 501 ns時(shí)讓生成波形電平跳變,再持續(xù)150個(gè)計(jì)數(shù)器時(shí)間生成的同步頭的后半部分。而這時(shí)具有同步頭的波形叫enc_wave,然后在同步頭生成結(jié)束后(即進(jìn)入并口數(shù)據(jù)編碼段)將enc_data的波形賦給enc_wave即可。這樣得到的enc_wave即是符合1553B傳輸規(guī)則和速率的串口信號(hào)。

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

        5 結(jié)束語

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

        [1]武鵬,畢君懿.1553B總線中曼徹斯特編解碼器的設(shè)計(jì)[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)機(jī)的1553B總線解碼器設(shè)計(jì)[J].電子測(cè)試,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控制實(shí)現(xiàn)的1553B總線通訊設(shè)計(jì)[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ì)[J].計(jì)算機(jī)測(cè)量與控制,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é)議的總線控制器和遠(yuǎn)程終端的FPGA 實(shí)現(xiàn)[J].中國(guó)科學(xué)院研究生院學(xué)報(bào),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é)報(bào):自然科學(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遠(yuǎn)程終端的設(shè)計(jì) [J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),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è)計(jì)[M].北京:北京航空航天大學(xué)出版社,2008.

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

        猜你喜歡
        曼徹斯特狀態(tài)機(jī)解碼
        《解碼萬噸站》
        觀電影《海邊的曼徹斯特》
        觀電影《海邊的曼徹斯特》
        解碼eUCP2.0
        基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
        NAD C368解碼/放大器一體機(jī)
        Quad(國(guó)都)Vena解碼/放大器一體機(jī)
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        基于VHDL的一個(gè)簡(jiǎn)單Mealy狀態(tài)機(jī)
        无码啪啪熟妇人妻区| 亚洲精品欧美精品日韩精品| 欧美国产综合欧美视频| 日本理伦片午夜理伦片| 欧美国产日本精品一区二区三区 | 人妖在线一区二区三区| 日韩av无码中文字幕| 精品一区二区三区a桃蜜| 91九色免费视频网站| 亚洲av永久无码精品网址| 亚洲成色在线综合网站| 国产精彩刺激对白视频| 亚洲一区亚洲二区中文字幕| 日产精品高潮一区二区三区5月| 亚洲av一二三四区四色婷婷| 精品国精品无码自拍自在线| 91亚洲欧洲日产国码精品 | 中文字幕有码无码人妻av蜜桃 | 国产欧美在线观看不卡| 欧美成人片在线观看| 亚洲av成人一区二区三区av| 亚洲天堂中文字幕君一二三四| av在线播放免费观看| 国产精品女同久久久久电影院| 成av免费大片黄在线观看| 久久久久久99精品| 国产视频一区二区三区免费| 亚洲精品中文字幕乱码| 久久99亚洲精品久久久久| 国模欢欢炮交啪啪150| 视频国产精品| 亚洲国产av精品一区二| 日韩在线观看入口一二三四| 亚洲av无码精品蜜桃| 精品少妇大屁股白浆无码| 国产在线视频网站不卡| 国产日产一区二区三区四区五区| 免费人妻无码不卡中文字幕系| 97免费人妻在线视频| 国产美女久久久亚洲综合| 中文字幕亚洲综合久久综合|