基于EDA的数据传输系统的HDB3编码器

发布者:science56最新更新时间:2007-11-16 来源: 电子元器件应用关键字:定时  双极  模型  时钟 手机看文章 扫描二维码
随时随地手机看文章

0 引言

数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。采用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、-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技术实现数字通信系统,不仅可以实现多种数字逻辑功能,而且可大大提高工作效率,减少电路设计的时间和可能发生的错误,同时也可降低开发成本。

关键字:定时  双极  模型  时钟 引用地址:基于EDA的数据传输系统的HDB3编码器

上一篇:基于DSP Builder的软件无线电调制器的设计与实现
下一篇:高速数字电路的设计与仿真

推荐阅读最新更新时间:2024-05-13 18:39

AVR多功能实验箱DS1302时钟实验源码资源
/****************************************************************************************************************** 程序功能:DS1302时钟实验 开发环境:WINAVR/GCC20100110 硬件环境:eeskill多功能开发学习板/实验箱(2017版):ATMEGA16,12M晶振 接线说明:使用杜邦线连接核心板PA0~PA2口与底板JP26 具体接法,PA2-STCP,PA1-SHCP,PA0-DS 使用杜邦线连接核心板PA3~PA5口与底板JP45 具体接法,PA3-SCLK,PA4-IO
[单片机]
AVR多功能实验箱DS1302<font color='red'>时钟</font>实验源码资源
stm32单片机引脚介绍及功能
stm32是一种ARM Cortex-M内核单片机,下面小编为大家介绍一下单片机引脚介绍及功能。单片机旁边的一排金属针脚就是引脚,不同的引脚有不同的功能。 引脚大概分为4种,分别是电源、时钟、控制和I/O引脚。stm32的引脚一般有GPIO和AFIO两种用途。 比如有的引脚是电源正极和黑色标记的电源负极,这是来给单片机提供电源的,要把电流引到对应的引脚才能正常工作。 还有晶体震荡电路反向输入端和输出端引脚,晶体能够为单片机提供基本的震荡源。如果没有晶振的话,单有电源单片机是不能启动的,就和人们的心跳一样。 RESET(PC6)复位信号输入端引脚是用来重启单片机的,和电脑一样,有时候单片机也会死机,这个时候就需要RE
[单片机]
stm32v3.5库的时钟配置
在基于STM32的3.5版本库函数的开发应用中,其时钟初始化函数SystemInit()函数是在启动文件中被调用的,而且其调用是在Main()函数之前,所以说,如果不打算修改其默认的系统时钟(sysclk72M,AHB 72M,PCLK1 36M,PCLK2 72M,PLL 72M),在main函数中可以不添加系统时钟初始化函数SystemInit()函数,其在相应的函数文件中已经被设置好了。 如果要对系统时钟进行重新设置,可以在main()函数中对其进行重新配置,也就回到了较早版本的ST开发库的应用之中,现举例如下: 1、以外部高速晶振为时钟源 void RCC_PLL_Configuration(void) { R
[单片机]
HAL库_RTC定时器时间卡住
在使用HAL库驱动RTC的时候,遇到过一个BUG,那就是读出来的时间没有变化,后来找到原因。 那就是在读取RTC时间的时候必须日期和时间一起读,且最好保证先读时间,再读日期。 在 HAL_RTC_GetDate 这个函数中有如下注释: * @note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values * in the higher-order calendar shadow registers to ensure consistency between the time and date values.
[单片机]
MSP430F5438A 指令周期 和 时钟周期
MSP430的一个时钟周期 = 晶振的倒数。如果晶振是8M,则一个时钟周期为1/8微秒; 一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作; 一个指令周期 = 1~6个机器周期; 也就是说执行一条指令最多花6*1/8微秒。 另外,_NOP()是单周期的指令,I/O口赋值是4周期的。
[单片机]
外部中断、定时中断、串口中断C51程序
/******************************** 文件所用资源 1.外部中断0、1 定时中断0、1 串口中断 2.端口:P3.0,P3.1,P3.3,P3.4,P3.5 ********************************/ sfr ISP_CONTR = 0xe7; /*************************** 外部中断0服务子程序 ****************************/ /*void Int0() interrupt 0 { }*/ /*************************** 定时中断0服务子程序 **********************
[单片机]
stm32定时器主从模式
TIM2作master;TIM3,TIM4作slave 定时器2事件更新被用作触发输出TRGO 从定时器TIM3,TIM4工作在从模式:门控模式 触发选择设为:ITR1,这样TIM2的TRGO就连到了TIM3和TIM4的内部触发输入ITR1上,经过一系列选择器之后TIM2的TRGO就是TIM3和tim4的TRGI; 这样一来就可以通过控制TIM2的period和Pulse来控制TIM3和TIM4输出一定的脉冲个数;
[单片机]
stm32<font color='red'>定时</font>器主从模式
基于IBIS模型的仿真分析在高速DSP系统设计中的应用
    摘要: 通过对基于IBIS模型的信号完整性仿真,分析在一个高速160MHzDSP(TMS320C6701)系统设计中成功应用的实例,阐述了基于IBIS模型的仿真分析在高速、复杂系统设计中的重要作用和实用性,描述了基于IBIS模型的仿真分析的一般过程。     关键词: IBIS模型  信号完整性  高速设计  仿真分析     对于高速系统而言,在设计过程中对设计进行仿真分析,将信号的完整性(SI)和时序问题解决在制版之前,尽可能地保证设计的一次成功是现在设计人员普遍采用的做法。仿真分析就是在设计的过程中,由EDA工具利用输入的器件模型数据进行分析,将成功的设计和有问题的地方直观地反馈给设计
[半导体设计/制造]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved