0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HDB3編解碼簡(jiǎn)析

OpenFPGA ? 來源:OpenFPGA ? 2023-05-15 10:41 ? 次閱讀

2.設(shè)計(jì)

2.1.需求分析

此次需求提供的十分明確,給出了編碼規(guī)則及示例,明確了編解碼端口要求;仿真模塊根據(jù)設(shè)計(jì)進(jìn)行適配。

2.2.HDB3編碼模塊

對(duì)HDB3編碼規(guī)則解讀如下:

復(fù)位(RST)有效(1)時(shí),進(jìn)行初始化,輸出VALID為0、HDB3_CODE為0編碼(000)。采用異步復(fù)位、同步釋放。當(dāng)復(fù)位(RST)無效(0)時(shí)進(jìn)行編碼。

在輸入時(shí)鐘CLK的上升沿進(jìn)行轉(zhuǎn)換。

在CLK上升沿進(jìn)行判別時(shí),當(dāng)輸入READY為有效(1),DATA_IN有效,為0或1。

對(duì)READY和DATA_IN打一節(jié)拍,人為產(chǎn)生1個(gè)CLK的延時(shí)。

在CLK上升沿進(jìn)行編碼判別,DATA_IN有效為1時(shí),立即進(jìn)行編碼,若存在待轉(zhuǎn)換的0,待轉(zhuǎn)換的0也進(jìn)行編碼,并加入待輸出編碼隊(duì)列;當(dāng)DATA_IN有效為0時(shí),若存在待轉(zhuǎn)換的0的個(gè)數(shù)為(0~3)、也即當(dāng)前為第4個(gè)0,則進(jìn)行編碼,并加入待輸出編碼隊(duì)列,否則暫停編碼。

在CLK上升沿進(jìn)行編碼輸出,若存在待輸出編碼,則輸出VALID為1、HDB3_CODE為對(duì)應(yīng)編碼。

一共7種編碼形式,對(duì)應(yīng)0、±1、±B、±V;1可能被編碼為+1、-1,0可能被編碼為0、+B、-B、+V、-V。1、B極性交替(+、-交替出現(xiàn))、V極性交替;第一個(gè)編碼極性為+。當(dāng)出現(xiàn)0時(shí),若是連續(xù)的第4個(gè)0,則替換為V(極性按交替規(guī)則),然后若V極性和前一個(gè)1或B的極性不同,則將連續(xù)4個(gè)0中的第1個(gè)0替換為B且極性和V相同,其余0編碼為0.由此可見,編碼應(yīng)在RST無效(為0)、READY有效(為1)時(shí)按照DATA_IN(0或1)、積累的待編碼0數(shù)量(0~3)、上一個(gè)1或B的極性、上一個(gè)V的極性開展,編碼后更新待輸出編碼數(shù)量和待輸出編碼隊(duì)列。故在編碼模塊“tt_hdb3_encoder”中設(shè)置了如下信號(hào)量:

tmp_rst:std_logic_vector(1 downto 0),初始化為00,用于復(fù)位同步釋放,同時(shí)將復(fù)位輸入RST有效性由1變?yōu)?.

tmp_din,tmp_ready:std_logic,分別對(duì)DATA_IN和READY打一節(jié)拍。

tmp_dataout,深度為4、寬度為3的輸出編碼緩沖,最多4個(gè)。

flag_1BPOL、flag_VPOL:std_logic,1或B極性、V極性標(biāo)志位,表征上一個(gè)1/B/V的極性,0表示-、1表示+。

cnt_tbpo:natural range 0 to 7 := 0,待輸出編碼個(gè)數(shù),實(shí)際范圍為(0~4)。

cnt_tbc:natural range 0 to 3 := 0,待編碼0個(gè)數(shù),范圍為(0~3)。當(dāng)cnt_tbpo>0時(shí),每個(gè)clk上升沿將輸出編碼緩沖的(cnt_tbpo-1)編碼對(duì)外輸出。具體代碼實(shí)現(xiàn)使用VHDL,在ISE14.7中完成,文件為“tt_hdb3_encoder.vhd”。2.3.HDB3解碼模塊相對(duì)于編碼,HDB3解碼較為簡(jiǎn)單,輸入有效時(shí),將±1解碼為1、將0/±B/±V解碼為0;解碼模塊tt_hdb3_decoder的復(fù)位、輸入打節(jié)拍處理同編碼模塊。

具體代碼實(shí)現(xiàn)使用VHDL,在ISE14.7中完成,文件為“tt_hdb3_decoder.vhd”。2.4.編解碼仿真模塊編解碼仿真需要提供可控的輸入數(shù)據(jù)流DATA_IN。此次,通過附加test_2bit模塊來提供仿真數(shù)據(jù)流,建立一個(gè)多位的std_logic_vector(80位),在CLK時(shí)鐘上升沿從低位逐位移出。仿真準(zhǔn)備:將test_2bit、tt_hdb3_encoder、tt_hdb3_decoder例化在test_top工程下,但是將test_2bit的輸入時(shí)鐘和編解碼模塊的輸入時(shí)鐘取反,便于在編解碼仿真時(shí)輸入數(shù)據(jù)穩(wěn)定。

a690e724-f0aa-11ed-90ce-dac502259ad0.png

3.驗(yàn)證

由于預(yù)建立了仿真工程test_top,仿真文件tbw_test_top處理較為簡(jiǎn)單,設(shè)置RST和READY即可。在ISE14.7環(huán)境下使用ISim完成了仿真驗(yàn)證。

在Vivado2018.3環(huán)境下(仿真Vivado Simulator)也進(jìn)行了仿真驗(yàn)證。

a6a93bbc-f0aa-11ed-90ce-dac502259ad0.png

資源使用情況(Target Device: xc7k325t-2ffg900,ISE14.7):

Module Name Slices Slice Reg LUTs BUFG 說明
test_top 1/36 0/47 1/79 1/1 測(cè)試top文件
Inst_test_2bit 3/3 8/8 8/8 0/0 測(cè)試激勵(lì)文件1
Inst_tt_hdb3_decoder 4/4 8/8 3/3 0/0 解碼模塊
Inst_tt_hdb3_encoder 28/28 31/31 67/67 0/0 編碼模塊






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • VHDL語言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    17931
  • 編解碼
    +關(guān)注

    關(guān)注

    1

    文章

    140

    瀏覽量

    19524
  • RST
    RST
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    7360
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    125

    瀏覽量

    17040

原文標(biāo)題:【手撕代碼】HDB3編解碼

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的HDB3編解碼系統(tǒng)

    基于FPGA的HDB3編解碼系統(tǒng),誰有這方面的資料,謝了!
    發(fā)表于 04-07 15:14

    基于XC9572實(shí)現(xiàn)HDB3編解碼的完整電路及VHDL程序

    請(qǐng)問各位大哥誰有基于XC9572實(shí)現(xiàn)HDB3編解碼的完整電路及VHDL程序,發(fā)一份給我,在此先謝謝了。郵箱251093703@qq.com
    發(fā)表于 05-30 15:00

    基于FPGA的HDB3編解碼的實(shí)現(xiàn)

    原理可以看出,HDB3碼的編碼雖然比較復(fù)雜,但解碼比較簡(jiǎn)單。編碼規(guī)則可以看出,每一個(gè)破壞脈沖V總是與前一個(gè)“0”脈沖同極性(包括B在內(nèi))。這就是說,從收到系列中可以容易地找到破壞點(diǎn)V,于是也斷定V符號(hào)及前面
    發(fā)表于 04-15 21:54

    HDB3碼 基于labview

    HDB3碼的labview
    發(fā)表于 11-13 20:50

    labview設(shè)計(jì)HDB3碼型輸出

    關(guān)于labview的HDB3碼型輸出的設(shè)計(jì)
    發(fā)表于 12-11 16:54

    如何設(shè)計(jì)一個(gè)簡(jiǎn)單的HDB3的電路?

    有懂得兩兆誤碼儀的么?哪位大神能幫忙設(shè)計(jì)一個(gè)簡(jiǎn)單的HDB3的電路?不求測(cè)試誤碼,能測(cè)通斷就行
    發(fā)表于 11-22 22:54

    怎樣去設(shè)計(jì)一種基帶HDB3編解碼系統(tǒng)

    【STM32】基帶HDB3編解碼系統(tǒng)設(shè)計(jì)一、設(shè)計(jì)背景及說明??長(zhǎng)期以來,人類進(jìn)行信息交互的基本方式不外乎語言、文字和圖像。隨著數(shù)字技術(shù)的發(fā)展,三大信息網(wǎng):電話、電視、和因特網(wǎng)在數(shù)字通信的平臺(tái)
    發(fā)表于 08-09 07:44

    基于CPLD的HDB3編解碼電路的設(shè)計(jì)

    HDB3碼是基帶傳輸系統(tǒng)中經(jīng)常采用的傳輸碼型。本文闡述了HDB3編解碼電路的基本原理,在MAX+PLUSⅡ軟件平臺(tái)上,給出了利用復(fù)雜可編程邏輯器件設(shè)計(jì)的HDB3
    發(fā)表于 02-24 15:59 ?52次下載

    基于CD22103的AMI/HDB3編解碼電路設(shè)計(jì)

    基于AMI/HDB3編解碼原理,設(shè)計(jì)了一種用CD22103集成芯片實(shí)~AMI/HDB3編解碼的硬件電路.詳細(xì)分析了編解碼的實(shí)現(xiàn)過程、單雙極性
    發(fā)表于 04-13 08:56 ?147次下載

    基于FPGA的HDB3編解碼器設(shè)計(jì)

    分析了HDB3編解碼原理,提出了一種適合于在現(xiàn)場(chǎng)可編程門陣列FPGA上實(shí)現(xiàn)的HDB3編譯碼器的硬件實(shí)現(xiàn)方案,在FPGA上完成了布局布線和時(shí)序仿真,最后給出了仿真和實(shí)驗(yàn)結(jié)果。結(jié)果表明該方
    發(fā)表于 07-28 17:36 ?33次下載

    用XC9572實(shí)現(xiàn)HDB3編解碼設(shè)計(jì)

    用XC9572實(shí)現(xiàn)HDB3編解碼設(shè)計(jì) 介紹了HDB3編解碼的原理和方法,給出了用CPLD(Complex Programmable Logic Device)實(shí)現(xiàn)E1信號(hào)
    發(fā)表于 03-28 15:15 ?1579次閱讀
    用XC9572實(shí)現(xiàn)<b class='flag-5'>HDB3</b><b class='flag-5'>編解碼</b>設(shè)計(jì)

    用XC9572實(shí)現(xiàn)HDB3編解碼設(shè)計(jì)

    摘要:介紹了HDB3編解碼的原理和方法,給出了用CPLD(Complex Programmable Logic Device)實(shí)現(xiàn)E1信號(hào)HDB3編解碼的方法,同時(shí)給出了它的實(shí)現(xiàn)原理圖
    發(fā)表于 06-20 13:44 ?1120次閱讀
    用XC9572實(shí)現(xiàn)<b class='flag-5'>HDB3</b><b class='flag-5'>編解碼</b>設(shè)計(jì)

    HDB3特點(diǎn)及編碼規(guī)則

      【HDB3的全稱 】  High Density Bipolar of order 3code,三階高密度雙極性碼。   【HDB3的編碼規(guī)則】   一、編碼規(guī)則:   1 先將消息代碼變換成AMI碼,若AMI碼
    發(fā)表于 07-28 17:39 ?2.3w次閱讀

    基于Verilog HDL語言設(shè)計(jì)用于數(shù)字通信系統(tǒng)中的HDB3編解碼

    G.703建議中規(guī)定,對(duì)于2 MHz、8 MHz、32 MHz速率的數(shù)字接口均采用HDB3(三階高密度雙極性)碼。HDB3碼具有無直流分量,低頻成分少,連零個(gè)數(shù)不超過3個(gè)等特點(diǎn),便于時(shí)鐘信號(hào)的提取和恢復(fù),適合在信道中直接傳輸。這
    發(fā)表于 07-16 09:32 ?4985次閱讀
    基于Verilog HDL語言設(shè)計(jì)用于數(shù)字通信系統(tǒng)中的<b class='flag-5'>HDB3</b><b class='flag-5'>編解碼</b>器

    基于VHDL語言的HDB3編解碼器設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VHDL語言的HDB3編解碼器設(shè)計(jì).doc》資料免費(fèi)下載
    發(fā)表于 10-13 09:22 ?4次下載
    基于VHDL語言的<b class='flag-5'>HDB3</b>碼<b class='flag-5'>編解碼</b>器設(shè)計(jì)