基于CPLD的HDB3编码器的建模与设计

来源 :青年科学·教师版 | 被引量 : 0次 | 上传用户:titicool
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:HDB3码是数字基带通信系统中重要组成部分之一,因其具有无直流成份、检错能力强、具有时钟恢复性能等优点,故成为了ITU推荐使用的基带传输码型之一。在概述HDB3码及其编码规则的基础上,基于CPLD研究了HDB3编码器的建模与设计,以期为HDB3编码器的研究提供有益的参考。
  关键词:数字基带通信;HDB3;CPLD;VHDL
  随着现代计算机技术和微电子技术的快速发展,电子产品的开发速度随之越来越快,利用高层次的VHDL/Verilog HDL等硬件描述语言对新型器件CPLD/FPGA进行专门的集成电路设计,也越来越流行。随着VHDL等设计语言的流行,现代通信技术也进入了一个快速的发展阶段。数字通信是重要的现代通信技术,其具有许多优良特性。数字信息在传输方面,原理上其可直接表示为数字代码序列,但实际上一般要进行编码后以离散波形表示。这种离散波形一般可视系统要求和信道情况,表示为数字带通信号或数字基带信号。
  一、HDB3码及其编码规则
  在编码过程中,不同码型一般来说都具有不同的特点,故也有不同的应用场合。AMI码是一种无直流成分的传号交替反转的码型,其只有很小的低频成分,故一般比较利于在基带信道中传输信号。然而,AMI码在某些情况下则可能会出现四连零的现象,故对于接收端的定时提取信号时,这种现象是十分不利的。为了保持AMI码的优点而克服其缺点提出了HDB3码(High Density Bipolar Code of three codes,三阶高密度双极性码)。[3]
  HDB3码是一种在数字基带通信系统中应用广泛的编码方式,属于AMI码的改进型,适用于串行数据传输。在HDB3中,"3阶"的含义是,限制连0数不超过3位。为减少连0数,有的做法采取"扰码",按一定规则将多个连0分散,尽量使码序列随机化。有效的办法是采用HDB_(n=1, 2, 3),一般多使用n=3,从而克服了AMI码长连0串现象,故HDB3码一般来说具有抗干扰性能强、无直流成分、具有时钟恢复、方便提取位定时信息等优点,与常用的非归零码(NRZ码)相比,其更适用于长距离的信道传输。此外,在检错能力方面,HDB3码也具有较强的能力,在用HDB3码传输数据序列的时候,如果在传输数据序列的过程中有单个的误码现象,那么便会破坏传输后数据序列的极性交替变化规律,故可根据这一特性,在接收端检测出误码,并对其进行纠正。
  一般而论,HDB3码的编码规则为[4]:(1)按AMI码的编码规则将数据序列代码变换成AMI码。(2)在AMI码中检查连0现象,如果没有无4个以上(含4个)的连0串,则不改变原AMI码;如果出现4个以上(含4个)的连0串,则将原AMI码中1后的第4个0改为用V表示的与原AMI码中前一非0符号同极性的符号,即:对于+1则记为+V,对于-1则记为-V。(3)扫描相邻V符号间的非0符号的数量n,如果n为偶数,则再将当前的V符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0符号从V符号开始再交替变化。
  二、HDB3编码器的建模思想
  从HDB3码的编码规则可见,由于涉及到由现在状态决定过去状态的问题,故而如何判决是否应该插"B"是HDB3编码器的设计难点之一。在实时信号处理领域,按照理论来说这个设计难点是难以解决的。然而,在实际电路领域,通过寄存器的方法则应该可以解决这一设计难点。这一方法实现插"B"功能的具体思路为:(1)先在寄存器中寄存信码;(2)设置一个计数器;(3)通过计数器来计算两个"V"之间"1"的数量;(3)经过4个码元时间后,通过判偶电路来判决是否要插"B",进而给寄存器发送是否要插"B"的判决符号。
  因为如果依据编码规则按上述思路来做,则其实现电路的结构将非常复杂,寄存器的需求数量也会非常大,所以在进行实际的信号处理过程中,通常不能先把数据序列代码串变换成为AMI码后,再完成插"V"工作,接着再完成插"B"工作,之后再依据编码规则对其后的"+1"、"-1"的极性进行变换。然而,如果变一下顺序(先插"V",接着再插"B",最后实现单极性变双极性的信号输出),则会有如下好处:由于输入信号、插"V"处理信号、插"B"处理信号都是单极性信号,故寄存器的需求数量也会少很多。
  从HDB3码的编码规则来说,另一个设计难点是如何在电路中实现的"1"、"V"和"B"的准确识别。因为在HDB3码的编码规则中,符号"V"、 符号"B"都是为了更好地描述编码而人为添加的标识符号,故其在电路中的逻辑电平的表现形式通常还是"1"。为解决这一设计难点,通常采用的方法是双相码。一般而论,双相码的编码规则是:分别利用具有两个不同相位的二进制代码去取代原来单个的二进制代码。例如对于二进制代码110010,其双相码为101001011001。这样采用双相码取代原二进制代码后,系统便能识别出电路中的"1"和符号"V"、 符号"B"的不同了。
  三、HDB3编码器的建模与设计
  通过上述的HDB3编码器建模思想分析,我们可知HDB3编码器的设计思路应该是:依据HDB3编码规则,在原数据序列代码的基础上,先进行插"V"操作,再进行插"B"操作,最后再将单极性信号转换成双极性信号。故本文所涉及的HDB3编码器的模型框图将会如图1所示。
  图1 HDB3编码器的模型框图
  由图1可见,本文所涉及的HDB3编码器包含插"V"模块、插"B"模块、单/双极性变换模块等三个功能模块。这三个功能模块之间通常会采用同步时钟且会带有异步复位端口(清零端口)。
  1、插"V"模块
  对于插"V"模块,从功能上来说,其实际上就是检测4个以上(含4个)的连0串。也就是说,如果出现4个以上(含4个)的连0串,则将原AMI码中1后的第4个0改为用V表示的与原AMI码中前一非0符号同极性的符号,即:对于+1则记为+V,对于-1则记为-V。而如果没有无4个以上(含4个)的连0串,则不改变原AMI码。同时,为了解决"1"、"V"和"B"的准确识别问题,用"11"标识"V",用"01"标识原AMI码中的"1",用"00"标识原AMI码中的"0", 其具体的流程图如图2所示。   图2 插"v"流程图
  2、插"B"模块
  对于插"B"模块,从功能上来说,其实际上就是保证附加"V"符号后的序列不破坏"极性交替反转"造成的无直流特性。也就是说,扫描相邻V符号间的非0符号的数量n,如果n为偶数,则再将当前的V符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0符号从V符号开始再交替变化。同时,为了解决"1"、"V"和"B"的准确识别问题,用"11"来标识"V", 用"10"来标识"B",用"01"来标识原AMI码中的"1",用"00"来标识原AMI码中的"0"。
  3、单/双极性变换模块
  根据HDB3的编码规则,我们可以知道,"V"的极性是正负交替的,余下的"1"和"B"看成为一体且是正负交替的,同时满足"V"的极性与前面的非零码极性一致。由此我们可以将其分别进行极性变换来实现。从前面的程序我们知道,"V"、"B"、"1"已经分别用双相码"11"、"10"、"01"标识,"0"用"00"标识,所以通过以下的程序我们可以很容易实现。
  根据编码规则:"B"符号的极性与前一非零符号相反,"V"极性符号与前一非零符号一致。因此将"V"单独拿出来进行极性变换,余下的"1"和"B"看成一体进行正负交替,这样就完成了HDB3的编码。这个部分遇到的难点在于:在quartusII软件仿真过程中,它无法识别"-1",在它的波形仿真中只有"1"和"0"。因此在这里我采用了双相码来分别表示"-1"、"+1"、"0"。要得到所需要的结果,仅仅在最后加一个硬件(如四选一数字开关CC4052)就可以将程序中所定义的"00"、"01"、"11"分别转换成"0"、"+1"、"-1",从而达到设计所需结果。
  由上述的程序下载到FPGA或CPLD中,其输出结果并不是"+1"、"-1"、"0"的多电平变化波形,而是单极性双电平信号。事实上,上面的程序输出的是给单/双变换器的硬件电路地址信号。利用一个四选一的数据选择器CC4052,二维数组作为CC4052的选择地址,在输出端out可以得到符合规则的"+1"、"-1"、"0"变化波形。
  4、HDB3编码器的仿真
  将前三个程序用结构描述方式组装起来便可对其实现了整个设计模块,进而可以对HDB3编码器进行仿真。
  在上述仿真结果中,输出波形相对于输入波形延时5个clk上升沿,第一个上升沿到来时,clr为高电平,输出为"0",所以codeout为"00";第二个上升沿到来时,输入为高电平,输出为"+1",所以codeout为"01";第三到第六个上升沿,输入为4连0,所以输出为0、0、0、+V,所以codeout为00、00、00、01;第七个上升沿到来时,输入为高电平,所以输出为"-1",所以codeout为"11";第八到第十一个上升沿,输入为4连0,因为此时两个V之间有一个"-1",所以输出为0、0、0、-V,所以codeout为00、00、00、11;第十二和第十三个上升沿,输入都是高电平,所以输出为"+1"、"-1",所以codeout为"01"、"11";第十四到第二十一个上升沿时,输入为8连0,前4个0中的V与上一个V中有"+1"与"-1",所以输出为+B、0、0、+V,所以codeout为01、00、00、01,后4个0中的V与上个V之间没有1,所以输出为-B、0、0、-V,所以codeout为11、00、00、11。
  四、结语
  一般而论,由于HDB3码具有无直流成份、低频成份少、频带较窄、可打破长连0、检错能力强、具有时钟恢复性能、提取同步方便等优点,故成为了ITU推荐使用的基带传输码型之一。鉴于HDB3码的明显优点,PCM系统各次群常采用其做接口码型标准。故此本文基于CPLD来研究HDB3编码器的建模与设计,以期为完成基带信号在信道中传输提供有益的参考。
  参考文献:
  [1]王光宇,张向东.一种使用VHDL语言实现HDB3编码的方法[J].通信技术,2007,(12).
  [2]苗睿锋.NRZ-HDB3码转换器的高速长距离通信田[J].单片机与嵌入式系统应用,2004,(1).
  [3]蒋青,吕诩.用可编程逻辑器件快速实现HDB3编码器[J].电子技术,2004,(7).
  [4]程斌.三阶高密度双极性HDB3码编解码的VHDL设计及仿真[D].苏州大学,2008.
  [5]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2006.
  [6]樊昌信,张甫诩,徐炳祥等.通信原理[M].北京:国防工业出版社,2005.
  作者简介:黄星,西安外事学院学生。
其他文献
目的探讨液基细胞学结合DNA定量分析鉴别诊断浆膜腔积液良恶性细胞的应用价值。方法收集297例(包括179例恶性、118例炎性,均经临床或病理诊断证实)胸腹水标本,每例标本采用液
目的 探讨电视支撑喉内窥镜下喉微创外科手术的应用价值.方法 治疗组67例应用电视支撑喉镜内窥镜下喉微创外科手术治疗,对照组60例采用传统支撑喉镜下显微镜喉显微手术治疗,所有病例采用气管插管全身麻醉.结果 治疗组的总有效率为98.5%,对照组的总有效率为85.0%,两组比较差异有统计学意义(P<0.05).结论 支撑喉镜下应用电视内窥镜的喉微创外科手术是一项较好的喉外科技术。
目的探讨急性脑卒中并发肺部感染的临床特点。方法观察急性脑卒中129例并发肺部感染者36例的感染时间、卒中类型、基础病存在等情况。结果脑出血患者的肺部感染发生率明显高
目的 探讨旋前型踝关节骨折脱位的临床特征、手术治疗方法及疗效.方法 自2005年2月至2007年2月,手术治疗旋前型踝关节骨折脱位42例.切开复住内固定,恢复踝关节内外侧结构的稳定性.下胫腓分离行皮质骨螺钉横向内固定,后踝骨折块超过关节面1/4者予复位螺钉固定,三角韧带完全损伤者予以修复.结果 42例均获随访,随访时间1~3年,骨折愈合时间10~16周,根据Baild-Jackson评分系统评分,
BACKGROUND: In addition to neuroprotective genes, the targeted genes of hypoxia-inducible factor 1α (HIF-1α) include pro-apoptotic genes. However, the influen
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
后现代社会中,御宅族已经在中国发展壮大起来,他们以A.C.G①为文本元代码,通过各种形式的符号解构大众文化,建构了属于自己的御宅文化.他们在利用媒介的同时,也产生了对媒介
摘 要:PKPM软件作为当前计算地上建筑物的常用软件,论文针对在建筑结构设计过程中应用PKPM系列软件所出现的问题,结合自己的实际工作经历,提出在应用PKPM软件进行结构设计时应注意的问题,以保证计算结果的准确性。  关键词:PKPM软件;建筑结构;设计;运用  一、PKPM软件概述  PKPM是目前国内结构工程设计中应用较为广泛的一种计算软件,它主要是针对各类地上建筑物的结构进行计算,包括建筑、
四川人事考试网是省内负责考友考试信息发布的重要政府网站,其开通的政务微博通过将考试信息和重要通知公布给所有用户,让用户第一时间知道最新的考试信息.本文试图简要分析
摘 要:本文在对整流滤波电路和逆变电路的分析中,选取了多种电路进行分析,通过参数对比、性能对比,以及根据小功率UPS应用中的实际要求,从中选择出较为合适的电路,例如在对整流滤波电路的选择中,详细对比了单相桥式整流滤波电路和单相全波整流滤波电路,并给出了选择单相桥式整流滤波电路的原因。  关键词:UPS;结构设计;供电系统  UPS电源已从上世纪60年代的旋转发电机发展至今天的具有智能化程度的静止式