0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用VHDL语言设计数据传输系统中的HDB3编码器

工程师 ? 2018-02-08 04:38 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。采用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”标识。而在实际应用中,CPLDFPGA端口的输出电压只有正极性电压,且在波形仿真中也只有“+1”和“0”,而无法识别“-1”。所以要得到所需HDB3编码的结果,需定义“00”、“01”、“10”来分别表示“0”、 “-1”、 “+1”。可将插“B”模块后输出的“00”、“01”、“10”、“11”组合转换为“00”、“01”、 “10”组合,再通过“00”、 “01”、“10”控制四选一数字开关的地址来选择输出通道,就可以实现0、-B、+B。本设计使用CC4052的一组通道作为四选一数字开关,从而将CPLD或FPGA目标芯片的标识性输出转换成双极性信号,最终实现HDB3非归零编码。CC4052的接线如图4所示,所实现的地址控制器的模型如图5所示。其VHDL结构代码如artd:

3 HDB3编码器的仿真

在此,以四连“0”的可能性通过如表1所列的多“0”消息代码进行分析,并利用EDA工具对VHDL源程序进行编译、适配、优化、逻辑综合与仿真。仿真结果显示其完全可以达到编码要求。其仿真图如图6所示。而将HDB3编码硬件描述下载到CPLD或FPGA目标芯片中,然后连接好CC4052进行实际应用测试(用示波器测得)的编码波形如图7所示。

4 结束语

将基于VHDL的HDB3编码用在光纤通信系统中作为误码仪测试误码的HDB3转换器,能满足实际测试的需要。且运用基于VHDL的可编程芯片开发技术将相关的信号处理电路进行硬件描述,并用CPLD/FPGA技术实现数字通信系统,不仅可以实现多种数字逻辑功能,而且可大大提高工作效率,减少电路设计的时间和可能发生的错误,同时也可降低开发成本。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3826

    浏览量

    138428
  • eda
    eda
    +关注

    关注

    71

    文章

    2942

    浏览量

    178624
  • vhdl
    +关注

    关注

    30

    文章

    820

    浏览量

    130087
  • HDB3
    +关注

    关注

    0

    文章

    9

    浏览量

    11085
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    像这样一款体积小巧的DTU数据传输终端你见过吗?

    数据传输
    才茂通信
    发布于 :2025年06月04日 14:33:29

    SPI数据传输缓慢问题求解

    我遇到了 SPI 数据传输速率问题。 尽管将 SPI 时钟频率设置为 20 MHz,但我只获得了 2 Kbps 的数据传输速率。 我正在以 115200 的波特率通过 UART 监控数据。 我正在 cyfxusbspidmamo
    发表于 05-15 08:29

    TLK1521在多路分组数据传输时的传输编码方式是怎么样的?

    TLK1521在多路分组数据传输时的传输编码方式是怎么样的?
    发表于 02-14 08:23

    请问ldc1000在与主机进行数据传输的过程数据传输速率设置为多大合适?

    你好,请问ldc1000在与主机进行数据传输的过程数据传输速率设置为多大合适(我的差不多1M),但数据一直不对····
    发表于 01-17 06:37

    MPU数据传输协议详解

    在现代电子系统,微控制(MPU)扮演着核心角色,负责处理各种任务和数据。为了实现这些功能,MPU需要与其他设备进行数据交换。
    的头像 发表于 01-08 09:37 ?943次阅读

    ptp对实时数据传输的影响

    在现代通信技术,点对点(P2P)网络已经成为数据传输的一种重要方式。P2P网络允许网络的每个节点既可以作为客户端也可以作为服务,直接进行数据
    的头像 发表于 12-29 09:53 ?703次阅读

    编码器的重要性

    编码器数据传输的一种重要设备,主要负责将原始信号(如模拟信号或数字信号)转换成适于信道传输的信号(通常为数字信号)。具体来说,编码器可以
    的头像 发表于 12-24 11:29 ?508次阅读

    编码器的作用与信号转换原理 编码器与解码的关系和作用

    :将模拟信号转换为数字信号,以便数字系统可以处理。 数据压缩 :减少数据的大小,以便于存储和传输。 错误检测与校正 :在数据传输过程中检测
    的头像 发表于 11-24 10:10 ?2088次阅读

    如何选择合适的编码器及其作用

    在数字通信和数据处理领域,编码器扮演着至关重要的角色。它们负责将信号或数据从一种格式转换为另一种格式,以适应不同的传输介质、存储设备或处理系统
    的头像 发表于 11-24 09:57 ?1007次阅读

    波特率对实时数据传输的影响

    在现代通信系统,实时数据传输是至关重要的。无论是工业自动化、远程医疗、在线游戏还是物联网(IoT)应用,都需要快速、可靠的数据传输来保证系统
    的头像 发表于 11-22 10:03 ?1283次阅读

    CAN总线数据传输速率设置

    CAN(Controller Area Network)总线是一种串行通信协议,主要用于汽车和工业控制系统,以实现电子控制单元(ECU)之间的通信。CAN总线的数据传输速率,也称为波特率,是衡量
    的头像 发表于 11-12 10:03 ?2777次阅读

    base64在数据传输的应用实例

    在现代互联网技术数据传输是核心功能之一。然而,并非所有数据都以文本形式存在,许多数据实际上是二进制格式。为了在基于文本的协议(如HTTP、SMTP等)
    的头像 发表于 11-10 10:50 ?1135次阅读

    LORA模块的数据传输速率

    LoRa(Long Range)是一种用于物联网(IoT)应用的低功耗广域网(LPWAN)技术。它以其长距离通信能力和低功耗特性而闻名。LoRa模块的数据传输速率可以根据不同的配置和地区的规定
    的头像 发表于 10-31 17:03 ?2922次阅读

    是德万表USB 接口数据传输

    在现代电子测量领域,数据传输界面技术的发展日新月异,已成为电子测量设备不可或缺的一部分。是德公司作为电子测量领域的领导者,其万表产品也配备了多种数据传输接口,包括USB接口。USB
    的头像 发表于 10-22 16:56 ?786次阅读
    是德万<b class='flag-5'>用</b>表USB 接口<b class='flag-5'>数据传输</b>

    网络数据传输速率的单位是什么

    网络数据传输速率的单位是 bps(bit per second) ,即比特每秒,也可以表示为b/s或bit/s。它表示的是每秒钟传输的二进制数的位数。比特(bit)是计算机数据量的单
    的头像 发表于 10-12 10:20 ?5001次阅读