- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 EDA 的数据传输系统的HDB3 编码器
作者:伍宗富
摘要:在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。
采用 AMI 码的信号交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取。
而 HDB3 码因其无直流成份、低频成份少和连 0 个数最多不超过三个等特点,而对定时信
号的恢复十分有利,并已成为 CCITT 协会推荐使用的基带传输码型之一。为此,本文利用
VHDL 语言对数据传输系统中的 HDB3 编码器进行了设计。
关键词:EDA ,VHDL 语言,HDB3 编码器,数字通信
1 引言
数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合可不经过载
波调制和解调过程,而对基带信号进行直接传输。采用 AMI 码的信号交替反转,有可能出
现四连零现象,这不利于接收端的定时信号提取。而 HDB3 码因其无直流成份、低频成份
少和连 0 个数最多不超过三个等特点,而对定时信号的恢复十分有利,并已成为 CCITT 协
会推荐使用的基带传输码型之一。为此,本文利用 VHDL 语言对数据传输系统中的 HDB3
编码器进行了设计。
1 HDB3 码的编码规则
HDB3 码是 AMI 码的改进型,称为三阶高密度双极性码,它克服了 AMI 码的长连 0 串现象。
HDB3 码的编码规则为先检查消息代码(二进制) 的连0 串,若没有4 个或 4 个以上连 0 串,
则按照 AMI 码的编码规则对消息代码进行编码;若出现 4 个或 4 个以上连 0 串,则将每4
个连 0 小段的第 4 个 0 变换成与前一非 0 符号(+1 或-1) 同极性的 V 符号,同时保证相邻 V
符号的极性交替(即+1 记为+V ,-1 记为-V);接着检查相邻V 符号间非 0 符号的个数是否为
偶数,若为偶,则将当前的 V 符号的前一非 0 符号后的第 1 个 0 变为+B 或-B 符号,且 B
的极性与前一非0 符号的极性相反,并使后面的非 0 符号从 V 符号开始再交替变化。
2 HDB3 编码器的 VHDL 建模与程序设计
HDB3 码的 VHDL 建模思想是在消息代码的基础上,依据 HDB3 编码规则进行插人“V ”符
号和“B ”符号的操作,且用2 位二进制代码分别表示。最后完成单极性信号变成双极性信
号的转换。其编码模型如图 1 所示。
2.1 插“V ”模块的实现
插“V ”模块主要是对消息代码里的四连0 串的检测,即当出现四个连0 串的时候,把第四
个“0 ”变换成符号“V ”,用“11”标识。 “1”用“01 ”标识,“0 ”用“00 ”标识。其模
型如图 2 所示,实现的 VHDL 结构代码如 artv :
2.2 插“B ”模块的实现
插“B ”模块的建模思路是当相邻“V ”符号之间有偶数个非 0 符号时,把后一小段的第 1
个“0 ”变换成一个“B ”符号。可用一个4 位的移位寄存器来实现延迟,这样经插“V ”处
理过的码元,可在同步时钟的作用下同时进行是否插“B ”的判决,等到码元从移位寄存器
里出来的时候,就可以决定是应该变换成“B ”符号,还是照原码输出。输出端用“11”表
示符号“V ”,“01 ”表示“1”码, “00 ”表示“0 ”码,“10”表示符号“B ”。其模型如图
3 所示,VHDL 的结构代码如artb :
2.3 单极性变双极性的实现
根据编码规则, “B ”符号的极性与前一非零符号相反,“V ”极性符号与前一非零符号一
致。因此,可对“V ”单独进行极性变换( “V ”已经由“11”标识,相邻“V ”的极性是正
负交替的) ,余下的“1”和“B ”看成一体进行正负交替,从而完成HDB3 的编码。
因为经过插“B ”模块后, “V ”、 “B ”、“1”已经分别用双相码“11”、 “10”、 “01 ”
标识。“0 ”用“00 ”标识。而在实际应用中,CPLD 或 FPGA 端口的输出电压只有正极性电
压,且在波形仿真中也只有“+1 ”和“0 ”,而无法识别“-1 ”。所以要得到所需HDB3 编码
的结果,需定义“00 ”、“01 ”、“10”来分别表示“0 ”、 “-1 ”、 “+1 ”。可将插“B ”模块
后输出的“00 ”、“01 ”、“10”、“11”组合转换为“00 ”、“01 ”、 “
10”组合,再通过“00 ”、
“01 ”、“10”控制四选一数字开关的地址来选择输出通道,就可以实现0、
原创力文档


文档评论(0)