• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 1553B總線中曼徹斯特編解碼器的設計

    1553B總線中曼徹斯特編解碼器的設計

    作者: 時間:2011-04-11 來源:網絡 收藏
    cnt_clk2是一個6進制計數器,當計數到1時通過比較器給出同步置位脈沖set,它將對clk2_en同步置1。
    (2)同步頭識別模塊
    該模塊始終檢測同步頭,并給出同步頭類型。檢測方法如下,在采樣到時鐘使能信號clk2_en有效時,將rx_data_reg_2存入移位寄存器sync_reg[9:0]中,當檢測到sync_reg[5:0]為“111000”或“000111”時,給出同步頭有效信號sync_1,用于觸發計數器和碼型轉換移位模塊工作。
    (3)計數模塊
    計數器cnt是一個40進制計數器,在cnt的控制下完成整個解碼過程。當收到同步頭有效信號sync_1時,將計數器使能信號cnt_enb置為有效(高電平),并在其控制下開始計數。
    (4)碼型轉換與移位電路
    該模塊在移位使能信號data_sample有效,且采樣到采樣使能信號clk2_en時,將rx_data_reg_2移入一個17位寄存器data_reg[16:O]中,移位完成后,將得到一個16位并行數據data_reg[16:1]和一個奇偶校驗位data_reg[0]。
    (5)校驗模塊
    該電路將檢測并輸出同步頭類型、奇偶校驗結果、碼檢測結果、字連續性檢測結果。
    同步頭類型檢測:當cnt計數到3時,將同步頭檢測結果sync_csw和syn_dw分別寄存輸出給csw和dw。
    奇偶校驗:將17位并行數據data_reg[16:O]按位同或后在cnt計數到33時將效驗結果輸出給parity_right。
    碼型的有效性校驗:對16位碼和1位奇偶校驗碼的碼型進行檢測。當收到同步頭有效信號sync_1時將mangchester_rig-ht信號置為1,之后將每個碼元曼徹斯特檢測結果與mangchester_right做與運算,再寄存輸出到mangchester_right。當中間某個碼元曼徹斯特碼出錯時,mangchester_right將變為0,并在之后的檢測中一直保持為0,直到收到下一個字的sync_1信號。
    字連續性檢測:若前一個字與當前字連續,則在前一個字cnt計數到39時,當前字的同步頭有效信號sync_1應為高電平,若不連續,sync _1為低電平。所以在cnt=39時將sync_1寄存輸出給word_continue可表征字的連續性。
    (6)數據有效輸出模塊
    當所有校驗和移位都完成時,在cnt為34~38之間輸出數據有效信號data_ready。

    4 仿真及FPGA實現
    在TESTBENCH中將編碼器曼徹斯特碼的輸出直接連到解碼器曼徹斯特碼的輸入端。圖6為正確曼徹斯特碼的時序仿真波形圖,傳輸速率為10 Mb/s,系統時鐘為120 MHz。圖6的上半部分為編碼器信號波形,下半部分為解碼器信號波形。發送消息為連續的4個字:第1個為命令字,后3個為數據字。

    本文引用地址:http://www.czjhyjcfj.com/article/187559.htm


    為了全面驗證設計功能,需要注入不同類型的錯誤來檢測解碼器的查錯能力。其中,包括同步頭類型錯,曼徹斯特碼型錯,奇偶校驗錯,字不連續錯等。測試過程完全按照GJB5186相關要求進行。
    該設計在XlLINX公司Spartan3E系列的XC3S500E型號FPGA上進行了實現。當時鐘約束為7 ns時,編碼器最高跑到143 MHz,解碼器最高到157 MHz。

    5 結語
    根據曼徹斯特碼型特點,設計出一種符合MIL-STD-協議的曼徹斯特,并兼容1 Mb/s和10 Mb/s兩種傳輸速率的協議。該設計通過了GJB5186規定的測試點驗證,實驗結果證明所設計的曼徹斯特具有高速、高可靠性的特點。


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平南县| 沾益县| 灯塔市| 永安市| 南召县| 铅山县| 高淳县| 宜宾县| 丹棱县| 清原| 康乐县| 永川市| 平江县| 云浮市| 大足县| 饶平县| 涞水县| 奇台县| 南安市| 邻水| 沁源县| 铜山县| 老河口市| 沙洋县| 韶关市| 日照市| 双辽市| 铜山县| 莱西市| 同仁县| 旌德县| 维西| 元阳县| 廉江市| 乌兰浩特市| 桐柏县| 察哈| 孙吴县| 庆安县| 洛隆县| 丰都县|