基于FPGA的光纤通信系统的设计与实现

发布者:范隆最新更新时间:2012-06-28 来源: 现代电子技术关键字:光纤通信  FPGA  位同步时钟  Verilog 手机看文章 扫描二维码
随时随地手机看文章
   

摘要:光纤通信是现今数据通信系统的主要通信方式,其性能的好坏直接影响数据通信系统的质量。本文采用Verilog语言实现FPGA光纤通信系统的功能。光纤通信系统又包含位同步时钟提取模块、8B/10B编解码器模块和NRZI编解器模块;这些模块都利用了DA(Design Analyz er)、Quartus II以及Modelsim等EDA工具来完成综合与仿真,从仿真的结果可以看出该设计方法很好地满足了系统的要求。
关键词:光纤通信;FPGA;位同步时钟;Verilog

    光纤收发器与FPGA技术相结合的方案是现在光纤通信系统的主流解决方案。目前,在超高速光纤通信中还多采用专用的ASIC芯片,但最近各FPGA厂商也相继推出了40Gbps、4x10Gbps、100Gbps和10x10Gbps等FPGA芯片,使基于FPGA超高速光纤通信的实现成为可能。FPGA的可编程特性,具有ASIC芯片无法比拟的优越性。所以基于FPGA的光纤通信有很大的现实意义。

1 光纤通信系统结构设计
    光纤通信系统主要由位同步时钟提取模块、8B/10B编解码器模块和NRZI编解器模块组成.主要功能框图如图1所示。数据经8B/10编码后,能在很大程度上平衡位流中0与1的个数,而NRZI编码又做了进一步的平衡,主要是为了使信号状态变化趋于频繁以便位同步时钟提取模块更好、更快的提取出位同步时钟。编码后的信号为LVTTL电平信号,先经电平转换模块转换为PECL电平信号,再由光发送接收模块转换为光信号送入光纤传输介质。经光纤传输后,在接收端先经光发送接收模块把光信号转换为PECL电平信号,再由电平转换模块把PECL电平信号转换为LVTTL电平信号,同时位同步时钟提取模块提取出同步时钟,为解码模块提供参考时钟。最后,接收到的数据经解码后数据输出。

a.JPG



2 位同步时钟提取的FPGA实现
    在数字通信系统中,任何消息都是通过一连串的码元序列传送的,所以接收时需要知道每个码元的起止时刻,以便在恰当的时候取样判决。这就要求接收端必须提供一个位定时脉冲序列,该序列的重复频率与码元速率相同,相位与最佳取样判决时刻一致。这种提取定时脉冲序列的过程称为位同步。同步性能的好坏直接影响通信系统的性能,出现同步误差或失去同步就会导致通信系统性能下降或通信中断。
    提取位同步信号有多种方法,其中最常用的是数字锁相法。其基本原理是:在接收端利用鉴相器比较接收码元和本地产生的位同步信号的相位,若两者相位不一致(超前或滞后),鉴相器就产生误差信号去调整位同步信号的相位,直至获得准确的位同步信号为止。本设计采用数字锁相法提取位同步时钟,主要由鉴相器、分频器和相位选择调整模块等几大部分组成。其功能框图如图2所示。

h.JPG[page]

 

    CLK_local是利用FPGA内部的锁相环倍频后得到的高稳定度、高频时钟。CLK1是CLK_local经N次分频后得到的,分频系数N要求满足分频后的时钟CLK1等于所要提取出的位同步时钟R_clk。Din为接收到的码元。Valid为超前、滞后鉴相器的使能输出,Up_Down为超前、滞后鉴相器的比较输出,Valid为逻辑0时关闭模增/减计数器,Valid为逻辑1时开启模增/减计数器,如果位同步时钟滞后时Up_Down的输出为逻辑0,使模增/减计数器进行减计数,如果位同步时钟超前时Up_Down的输出为值为逻辑1,使模增/减计数器进行增计数。
    接收到的码元经超前、滞后鉴相器后,如果位同步时钟滞后则计数器减计数,从而通过多路选择器后减少一个单位的延迟,反之如果位同步时钟超前则计数器进行增计数,从而通过多路选择器后增加一个单位的延迟。

3 直流平衡8B/10B编/解码的FPGA实现
    8B/10B编码(以下简称8B/10B)作为一种高性能的串行数据编码标准,其基本思想就是将一个字节宽度的数据经过映射机制(Mapping Rule)转化为10为宽度的字符,但是平衡了位流中0与1的个数,也就是所谓的直流平衡特性。同时规定位流中0或1的游程长度(Run Length)的最大值不能大于5,以使得传输过程保持足够高的信号变换频率,这样不仅确保了时钟恢复也使得信息流的直流频谱分量为零或近乎为零,而正是这些特性使得8B/10B编码特别适合光纤等介质的连接和信息传输。
3.1 直流平衡8B/10B编码
    如图3所示,通信适配接口的输入由一个字节的数据(ABCDEFGH)、一个控制信号(Z)以及一个时钟信号组成,其中时钟采样以字节为单位。控制信号Z是数据信号或控制信号的标示位。输入数据ABCDEFGH被分成两部分,其中ABCDE经5B/6B编码生成6比特字符abcdei,而FGH经3B/4B编码得到fghi,最后组合输出得到10比特的传输字符abcdeifghi。

i.JPG[page]

 

    3.2 编码器设计
    从编码的种类看,直流平衡8B/10B编码可分为数据字符编码和控制字符编码两种,但是从编码的组成看,它又可分为3B/4B编码、5B/6B编码两部分。根据图3 8B/10B编码模块图将编码器设计划分为3个模块:3B/4B编码模块、5B/6B编码模块和Dispartity运算模块。基于Verilog语言的8B/10B编码模块图,如图4所示。

j.JPG


    datain[8:0]为编码数据输入引脚。datain[4:0]为5位5B/6B编码数据输入端,即为ABCDE,其中E为最高位,分别用ai、bi、ci、di和ei表示每一位。datain[7:5]为3位3B/4B编码数据输入端,即FGH,其中H为最高位,分别用fi、gi和hi表示每一位。datain[8]为控制字符编码标示位,用ki表示,ki为1表示为控制字符编码,为0表示为数据字符编码。dispin为8B/10B编码前的RD输入引脚;dispout为8B/10B编码后的RD输出引脚。dataout[9:0]为编码数据输出引脚。dataout[5:0]为8B/10B编码后5B/6B编码模块对应输出引脚。dataout[6:9]为
8B/10B编码后3B/4B编码模块对应输出引脚。

a.JPG


    8B10B编码器ModelSim仿真波形如图5所示。其中datain、dispin、dispout和dataout分别为图4编码模块图对应的信号。仿真时选取了D31.2(RD+)、D31.0(RD-)、D28.0(RD+)和K28.0(RD+)作为仿真输入信号。

4 NRZI编/解码的FPGA实现
    NRZI(Non-Return to Zero Inverted不归零反转)编码是在数据位1时发生跳变,为0时保持不变的一种编码。在光线通信中,由于光纤固有的特性,信号长时间的置0或置1容易造成数据传输错误,应当尽量避免这种情况发生,NRZI编码能够很好地解决这一问题。前面的8B/10B编码已经在很大程度上缓解了这个问题,但为了进一步提高数据传输质量,在8B/10B编码的基础上加入一级NRZI编码。
4.1 NISEI编码器设计
    NRZI的编码规则是:数据位为1时发生跳变,为0时保持当前状态。图6为本设计采用的NRZI编码电路。其中,DFF为D触发器,XOR为异或门;data_in为数据信号输入端,数据来自编码后的8B/10B码;clock为NRZI编码时钟,clock时钟频率为data_in码元速率的2倍频(由FPGA倍频电路实现);NRZI_data为NRZI编码器输出。

b.JPG


    下面以一具体实例说明NRZI的编码过程。8B/10B码D30.0(011110 0100)和D7.1(111000 0100)编码后的波形图如图7所示。经NRZI编码后信号状态变化更加频繁,这些状态变化使得接收器能够持续地与输入信号向相适应,这样就保证了发送设备和接收设备之间的同步。由于8B/10B码的有效编码中都至少有4位“1”,从而保证了传输的信号至少发生4此跳变,以利于接收端的时钟提取。

c.JPG[page]

 

     NRZI编码器ModelSim仿真波形如图8所示。data_in输入数据分别为D30.0和D7.1。

d.JPG


4.2 NRZI解码器设计
    NRZI解码器设计是NRZI编码器的逆过程。图9为本设计采用的NRZI解码电路。其中,DFF为D触发器,XOR为异或门。NRZI_data为信号输入端,数据来自经光纤传输的NRZI码;clock时钟频率同编码起时钟频率,即为NRZI_data码元速率的2倍(由FPGA倍频电路实现);data_out为解码器输出。

e.JPG


    NRZI解码器ModelSim仿真波形如图10所示。NRZI_data输入数据分别为D30.0和D7.1编码后的数据。

f.JPG



5 结束语
    文中主要用Verilog语言编写了位同步时钟提取模块、8B/10B编解码模块、NRZI编解码模块等来实现光纤通信。8B/10B编码很好地平衡了位流中0和1的个数,特别适合光纤介质的信息传输;NRZI编码使信号的状态变化更加频繁,进一步增强了发送设备与接收设备的可同步性;位同步时钟提取使得发送设备与接收设备保持同步,同时为接收端解码器提供可靠的时钟参考。这几大模块相辅相成,共同维持光纤通信系统可靠、高效的运行。

关键字:光纤通信  FPGA  位同步时钟  Verilog 引用地址:基于FPGA的光纤通信系统的设计与实现

上一篇:基于FPGA的高速AD转换
下一篇:基于FPGA的喷油脉宽处理系统的设计

推荐阅读最新更新时间:2024-05-02 22:09

IIS接口的FPGA实现
在嵌入式系统中经常采用IIS(Inter-IC Sound)总线连接专用音频器件以实现音频输入输出。不少嵌入式处理器带有专用的 IIS总线 ,通过操作特殊功能寄存器实现对外接音频器件的操作,但也有一些嵌入式处理器没有扩展IIS总线,如ARM7芯片S3C4510B。近年来,FPGA技术发展迅速,现已成为可编程片上系统(SoPC)的硬件载体。采用FPGA实现IIS总线及与总线相关的接口控制,一方面可以用硬件的方法实现IIS总线操作,使嵌入式系统很容易扩展音频功能;另一方面由于FPGA可以实现大量的组合逻辑和时序逻辑,还可以用来实现DSP算法,增加了系统的灵活性。   1 基本原理   1.1 系统方案   嵌入式处理器采用
[嵌入式]
IIS接口的<font color='red'>FPGA</font>实现
采用Cyclone FPGA,实现智能电网自动化
要实现对新的或者更新后的智能电网的最优控制,需要端到端通信和高效的供电网络,特别是传输和分配(T&D)子站。为能够支持自动化,设备应具有监视和控制功能,确保能够实时高效的管理电网,满足峰值负载要求。Altera FPGA技术在复杂智能电网辅助支持系统中扮演了关键角色。   典型子站自动化体系结构如下图所示:    图1.典型子站自动化体系结构   在子站和公用设施自动化应用中,以太网承载IEC 61850的IEC 62439-3 Clause 4并行冗余协议(PRP)和Clause 5高可用性无缝冗余(HSR)标准很快成为智能电网系统中高可用性网络的基础。设计人员在处理必须实时支持关键任务系统并具有较长生命周期的子站设备时,
[模拟电子]
采用Cyclone <font color='red'>FPGA</font>,实现智能电网自动化
基于DSP和FPGA的油田测井系统总线通信接口设计
0 引言     随着测井技术的发展,井下仪器的组合功能越来越强,处理的数据也随之倍增,要求片下仪器和地面系统之间具有实时双向通信功能,因此井下仪器与地面系统之间需要一个良好的接日电路以协调2部分的工作。     本文采用DSP+FPGA的方案,由FPGA实现编锯码和数据的存储,DSP完成数据处理和总线协议转换。两者结合将1553B总线运用于现代油田测井系统中可以更好地发挥其高可靠性、稳定性并能够和CAN总线形成互补,能够最大限度地提高系统的数据处理和通讯能力。和传统设计方法相比胲方法数字化程度高,速度和实时性更高。 1 测井系统中通信接口功能及组成     本没计完成油田测井系统中井下仪器与地面系统之间的通讯。需
[嵌入式]
基于FPGA的DES加密算法的高性能实现
   1 引言   随着通信系统和网络的快速发展,要求数据的通信、处理和存储的安全性和可靠性越来越高。开发安全加密机器,要求具备实时加密,可改变密钥,使用多种算法等性能,因此可重用、参数化的加密核成为一种理想的安全加密设计。   目前加密算法有单密钥和公用密钥2种体制。单密钥体制中最著名的是DES加密算法,它是目前应用广泛的分组对称加密算法,广泛应用于卫星通信、网关服务器、视频传输、数字电视接收等方面。文献指出,尽管软件实现的DES加密算法容易改变,但是其数据处理速率低;专用集成电路ASIC可提供高性能算法但灵活性差;而FPGA实现的加密算法具有对同一个FPGA使用不同算法的重新编程可增加其灵活性,使用同一个算法的不同版本和改
[嵌入式]
基于<font color='red'>FPGA</font>的DES加密算法的高性能实现
在有限的时间内打造高质量的FPGA项目
在一个研发项目进行的过程中,需求可能会变化,进度要求可能会改变,成本可能会溢出。每个项目都存在许多技术和运营挑战,但没有什么比FPGA硬件开发更危及项目或给工程师带来更大的压力。将一种电子产品推向市场会面临多种困难。当被要求引出多个IO,加上与FPGA设计相关的闪电般的信号速度,公司面临着超出项目进度的风险,这可能会严重影响产品的上市时间。 设计循环——包括原理图、布局、制作和验证——很少一次成功,因为在实现完整的功能性的解决方案之前通常需要多次迭代。因为每次迭代可能需要数周的时间,并需要生产新的电路板,成本可能从几千元到几万元不等,所以产品上市或交付给客户的进度时常无法按计划进行。因此,考虑到工程师面临的加速设计和产品
[嵌入式]
在有限的时间内打造高质量的<font color='red'>FPGA</font>项目
FPGA工程师应如何挑选ADC和DAC
将具有信号处理功能的FPGA与现实世界相连接,需要使用模数转换器(ADC)或数模转换器(DAC)   一旦执行特定任务,FPGA系统必须与现实世界相连接,而所有工程师都知道现实世界是以模拟信号而非数字信号运转的。这意味着需要在模拟信号域与数字信号域之间进行转换。针对手头工作选择恰当的FPGA时,用户面临着林林总总的选择,在为系统选择正确的ADC或DAC时也是如此,玲琅满目。 选择时首先要确定转换信号所需的采样频率。这个参数不仅将影响转换器的选择,同时也会影响对FPGA的选择,这样才能确保器件能够满足所需的处理速度及逻辑封装要求。转换器的采样频率至少为信号采样频率的2倍。因此,如果信号的采样频率为50MHz,则转换器采样频率至少
[电源管理]
<font color='red'>FPGA</font>工程师应如何挑选ADC和DAC
美乐威在其最新的HDMI视频采集卡上采用莱迪思半导体FPGA
美乐威在其最新的HDMI视频采集卡上采用莱迪思半导体FPGA 中国上海——2022年11月17日——莱迪思半导体公司, 低功耗可编程器件的领先供应商,近日宣布美乐威电子科技有限公司(下称“美乐威”)选择莱迪思CrossLink™-NX FPGA产品打造其最新的Eco Capture和视频编码传输类产品。 莱迪思CrossLink-NX FPGA基于屡获殊荣的莱迪思Nexus™平台,可提供行业领先的低功耗、小尺寸、可靠性和高性能,满足开发人员创建创新的嵌入式视觉和人工智能解决方案的需求。 美乐威总裁童涌先生 表示:“CrossLink-NX是一款出色的产品,其低功耗和可靠的PCIe性能使其成为我们视频采集设计的最佳选择。我们
[嵌入式]
一种并行存储器系统的FPGA实现
   摘 要: 介绍一种可在现代小卫星上应用的高(低)位交叉并行存储系统,并给出了该存储系统控制器的FPGA实现。该系统的应用将极大地增强星上计算机的数据通信和图象处理的能力,并提高整个系统的可靠性。     关键词: 现代小卫星 星载计算机 并行存储系统 FPGA 硬件描述语言     现代小卫星,通常指80年代以后发展起来的小卫星。它建立在微电子技术,计算机(包括软件)、微型光学和机械、轻型复合材料及高精机械加工的基础上,是航天高技术发展的产物。虽然现代小卫星的体积和重量很小,成本和风险都很低,但由于选用了高新技术,整个小卫星的容量和性能,即小卫星的功能密度是很高的。而且小卫星组成星座可拓宽全新的应用领
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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