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

发布者:时光如梦最新更新时间: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编码器

上一篇:冲击信号处理芯片设计、实现及应用
下一篇:高速数字电路的设计与仿真

推荐阅读最新更新时间:2024-05-02 20:38

STM8 入门学习与实验(二)TIM 定时
简介:这一章节将说明如何在stm8s上面部署一个TIM1,也就是定时器,我们将利用这一个定时器精准定时1ms单位,并用它来为LED灯闪烁时间作参考。 一、stm8定时器简述 打开用户手册,可以看到这张模块图鲜明的表明了STM8S103F3的外设内设都有哪些,我们可以看到右下角的几个定时器 可以得知,STM8S具有一个高级控制定时器TIM1,一个普遍应用定时器TIM2和一个基本定时器TIM4,可用的功能和配置逐级往下 二、配置TIM定时器 先看一条初始化TIM1的语句示例 TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 800, 0); 第一个参数0,是预分频值,这里为
[单片机]
STM8 入门学习与实验(二)TIM <font color='red'>定时</font>器
DSP与单片机通信的多种方案设计
  将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。下面就此问题分别设计串行SCI、SPI和并行HPI三种连接方式。 1 串行通信设计与实现 1 1 SCI串行通信设计 1.1.1 多通道缓冲串行口McBSP原理   TMS320VC5402(简称VC5402)提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口McBSP。MCESP分为数据通路和控制通路。①数据通路负责完成数据的收发。CPU或DMAC能够向数据发送寄存器DXR写入数据,DXR中的数据通过发送移位寄
[嵌入式]
利用FPGA解决TMS320C54x与SDRAM的接口问题
在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸多图片或图像暂存下来,需要将DSP处理后的数据转移到外存中以备后用。从目前的存储器市场看,SDRAM由于其性能价格比的优势,而被DSP开发者所青睐。DSP与SDRAM直接接口是不可能的。FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现场电路设计中。本文用FPGA作为接口芯片,提供控制信号和定时信号,来实现DSP到SDRAM的数据存取。 1 SDRAM介绍 本文采用的SDRAM为TMS626812A,图1为其功能框图。它内部分为两条,每条1M字节,数据宽度为8位,故存储总容量为2M
[应用]
51单片机实验——用定时器0实现流水灯,要求每个led轮流显示1s
1.实验题目: 用定时器0实现流水灯,要求每个led轮流显示1s。 2.KEIL代码 #include reg51.h void main() { TMOD &=0X0F; TMOD |=0x01; TH0 = (65536 - 50000)/256;//高四位初值 TL0 = (65536 - 50000)%256;//低四位初值,每隔50ms溢出 EA = 1; //开总中断 ET0 = 1; //T1开时定时器溢出 TR0 = 1; //开启定时器 P1=0xff; while(1); } void Time0(void) interrupt 1 //定时中断 {
[单片机]
51单片机实验——用<font color='red'>定时</font>器0实现流水灯,要求每个led轮流显示1s
msp430G2553时钟选择与分频程序
msp430G2553单片机的时钟选择和分频程序如下: #include "msp430G2553.h" #define unchar unsigned char #define uint unsigned int uint Fre; int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; BCSCTL2 |=SELM_1+DIVM_0; P1DIR &=~BIT3; P1REN |=BIT3; P1OUT |=BIT3; P1DIR |=BIT0; P1IE |=BIT3;
[单片机]
快速学Arm(23)--lpc2300系统时钟2
接着上一篇,我们来看看PLL的设置步骤: 1.如果PLL已经连接,我们先将其断开,方法就是用一个馈送系列断开与PLL的连接,馈送序列当然是通过写入馈送寄存器PLLFEED来实现的.馈送序列机制被用于避免PLL正在使用的相关参数被意外修改的情况.LPC2300系列ARM从硬件上提供了保护,只有先网PLL馈送寄存器写入0xAA,再写入0x55,PLL的相关参数才能有效更改. 2.用一个馈送序列禁止PLL,也就是说停止了流控振动器CCO的工作. 3.通过时钟源选择寄存器CLKSRCSEL来选择PLL输入时钟源. 4.写PLL配置寄存器PLLCFG,并用一个馈送序列使其生效,PLL配置寄存器只有在PLL被禁止时才有效. 5
[单片机]
「卓视智通」完成数千万Pre-B+融资,AI视觉大模型突围
我国智能交通产业发展迅猛,预计2025年规模将达万亿级。在 传感器 、通信、云计算等多项关键技术加速迭代的背景下,计算机视觉技术正处于机遇与挑战并存的关口。谁能够突破算法技术瓶颈,实现交通场景的精确智能感知,就能抢占这个万亿级蓝海。 近日,作为我国较早布局计算机视觉技术产业化应用的企业,卓视智通宣布完成数千万元Pre-B+轮融资。据悉,本轮融资由中交资本、腾飞资本联合投资,资金将主要用于市场拓展、AI打磨新等技术研发、AI训练平台建设,以及智能制造生产基地的升级扩容。 2012年成立的卓视智通,算得上中国计算机视觉领域的“老将军”。十余年,公司经历了从技术积累到商业化应用的蜕变,人工智能技术也完成了从传统模式识别,到深度学习,再到
[机器人]
ARM-WinCE分布式系统平台的时钟同步设计
随着计算机技术、网络通信技术的进步,组建分布式网络化测试系统,提高测试效率、共享信息资源,已成为现代测试系统发展的方向。分布式测试系统通过网络等通信媒介把分布于各测试点、独立完成特定功能的测试设备连接起来,以达到测试资源共享和协同工作等目的。时钟同步是分布式系统的核心技术之一,其目的是维护一个全局一致的物理或逻辑时钟,使得系统内各个节点中与时间有关的信息、事件及行为有一个全局一致的解释。IEEE1588精确时钟协议是当前分布式测试系统中时钟同步研究的热点。采用硬件支持的IEEE1588协议能够在以太网中不同结点之间实现纳秒级的时钟同步,为工厂自动化、测试和测量以及通信等领域需要高精度时钟同步的应用提供了一种有效的解决方案。本文采用具
[单片机]
ARM-WinCE分布式系统平台的<font color='red'>时钟</font>同步设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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