一种基于fpga实现光纤高速实时通信的装置制造方法

文档序号:7798577阅读:269来源:国知局
一种基于fpga实现光纤高速实时通信的装置制造方法
【专利摘要】本发明公开了一种基于FPGA实现光纤高速实时通信的装置,包括应用层、传输层和物理层,传输层包括由发送端和接收端构成的FPGA内核控制模块,发送端包括接收并缓存应用层数据的第一存储模块、根据应用层同步周期完成数据成帧发送的发送端控制器和对数据编码并发送至物理层的编码模块;接收端包括从物理层接收数据并解码的解码模块、完成数据解帧接收并将从物理层接收的10位串行数据流中恢复出的时钟作为接收端工作时钟,通过同步字符中间对齐方式调整其相位以保证发送端和接收端数据同步实时传输的接收端控制器和用于接收并缓存数据并将其发送至应用层的第二存储模块。实施本发明能满足光纤高速通信系统对高速实时数据传输的需求。
【专利说明】—种基于FPGA实现光纤高速实时通信的装置
【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种基于FPGA实现光纤高速实时通信的装置。
【背景技术】
[0002]光纤通信技术作为一种新兴技术,已成为现代通信的主要支柱之一。它具有通信容量大,传输距离远,传输速度快,信号干扰小,保密性能好等优点,广泛应用于电力网络通信、计算机网络通信、电子装置通信等相关信息通信领域。
[0003]针对一些对通信速度和实时性有较高要求的装置,比如,光刻机扫描工作台超精密同步运动控制装置,涉及到超过40个运动轴的纳米级同步控制,以及数百个传感器信号的同步采样处理。这种装置对数据传输的速度和实时性、同步性有较高的要求。光纤媒介,能够满足该类装置的物理要求,但实现该要求更需要提出支持光纤高速通信的控制结构。
[0004]目前,国际上对于该类IC装备的关键技术处于封锁状态,国内做此类高要求的IC设备的不多。针对光纤通信,相关的控制装置各不相同,有的基于ARM的实现信号采集,但是其采集速率只是达到us级;有的基于DSP实现光纤信号的运算处理,但是对于数据逻辑控制不足,以及装置之间的同步性要求难以达到;有的是基于FPGA实现装置的逻辑控制,但是由于对数据帧的定义不合理或过于复杂、数据的编解码方式不对、接收时钟域的时钟配置和数据恢复对齐方式不对等因素,极大地增大设计成本,难以实现高速实时要求。

【发明内容】

[0005]针对现有技术的以上缺陷或改进需求,本发明的目的在于提供一种基于FPGA实现光纤高速实时通信的装置,以FPGA为控制核心,实现光纤链路中数据的高速传输、物理层到传输层的协议处理和数据的实时通信,能够满足日益广泛的高速实时通信要求。
[0006]本发明解决其技术问题所采用的技术方案是,提供一种基于FPGA实现光纤高速实时通信的装置,所述装置包括应用层、传输层和物理层,
[0007]传输层包括由发送端和接收端构成的FPGA内核控制模块,所述发送端包括用于接收并缓存应用层数据的第一存储模块;与第一存储模块相连的发送端控制器,用于根据应用层的同步周期完成数据的成帧发送和物理层的发送逻辑控制;与发送端控制器相连的8B10B编码模块,用于对成帧数据按照8B10B编码机制进行编码并发送至物理层;
[0008]接收端包括8B10B解码模块,用于从物理层接收所述编码后的数据并按照8B10B解码机制进行解码;与8B10B解码模块相连的接收端控制器,用于完成解码数据的解帧接收,将从物理层接收的10位串行数据流中恢复出的时钟作为接受端工作时钟并通过同步字符中间对齐方式来调整接收端工作时钟的相位,以保证发送端和接收端数据传输的同步性;与接收端控制器相连的第二存储模块,用于接收并缓存所述解帧后的数据,并通过应用层数据访问接口将数据发送至应用层。
[0009]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述同步字符中间对齐的方式为:发送端在数据帧中添加同步字符,发送端工作时钟的上升沿对齐到同步字符的中点,接收端检测到字符时,如果当前接收端工作时钟相位并未对正,则选择最靠近同步字符中心的插值相位来调整接收端工作时钟,始终保证接收端工作时钟相位与同步字符对齐。
[0010]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,物理层包括与8B10B编码模块相连的第一串并转换器,与8B10B解码模块相连的第二串并转换器,所述第一串并转换器与第二串并转换器通过光纤头进行数据传输,用于实现数据的串并转换、时钟倍速、时钟恢复和光电转换。
[0011]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述串并转换器为TLK1221芯片,用于实现串并转换、时钟倍速和时钟恢复;同时光纤接口型号为HFBR-53A5VM,用于实现光电转换功能,两者结合以保证物理层的高速传输。
[0012]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述FPGA内核控制模块还包括光纤链路检测模块,用于对物理层错误进行实时监测。
[0013]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述FPGA内核控制模块还包括初始化PRBS自检模块,用于完成对串并转换器的PRBS自检反馈。
[0014]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述FPGA内核控制模块还包括状态处理模块,用于采集发送端、接收端、光纤链路以及PRBS自检状态,并反馈给发送端控制器,发送端控制器根据反馈得到的状态信息进行链路控制。
[0015]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述FPGA内核控制模块还包括与状态处理模块相连的LED驱动模块,所述物理层还包括LED指示灯,所述LED驱动模块根据状态处理模块采集到的不同状态实现LED指示灯的控制。
[0016]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述发送端控制器与接收端控制器之间设置有D触发器模块,所述D触发器模块为两级D触发器串联,用于增强接收端控制器给发送端控制器反馈信息的稳定性;所述发送端控制器、8B10B编码模块、第一串并转换器之间设置有时延模块,接收端控制器、8B10B解码模块、第二串并转换器之间设置有时延模块,所述时延模块用于对传输的数据进行延时。
[0017]在本发明所述的基于FPGA实现光纤高速实时通信的装置中,所述第一存储模块、第二存储模块为FPGA内部的DPRAM存储模块。
[0018]因此,本发明可以获得以下的有益效果:通过FPGA内核控制模块中的发送端控制器能够完成数据的成帧发送以及物理层串并转换器的发送逻辑控制,保证数据的发送的准确性;通过FPGA内核控制模块中的接收端控制器完成数据的解帧接收存储,实现恢复时钟的系统同步,保证数据接收的准确性;FPGA内核控制模块通过同步字符中间对齐的方式来调整接收端时钟域的时钟相位,实现了正确时钟信号恢复,保证了高速光纤系统的实时同步通信。
【专利附图】

【附图说明】
[0019]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0020]图1是本发明基于FPGA实现光纤高速实时通信的装置连接结构图;
[0021]图2是本发明FPGA内核控制模块结构示意图;[0022]图3是本发明一个实施例中发送DPRAM2接口示意图;
[0023]图4是本发明发送端控制器的状态机跃迁图;
[0024]图5是本发明接收端控制器的状态机跃迁图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0026]图1为本发明基于FPGA实现光纤高速实时通信的装置连接结构图。本发明所述装置包括应用层、位于传输层的FPGA内核控制模块和物理层。其中,FPGA内核控制模块用于完成数据的发送和接收、数据的成帧与解帧、数据的编码和解码、光纤通信链路控制、数据流控制和差错控制。
[0027]应用层主要用于实现数据含义、地址约定以及系统触发命令等面向具体应用的问题,为本发明所述装置最顶层的模块,应用层包括应用层访问接口,用于实现应用层与传输层的数据传输。
[0028]物理层包括串并转换器和光纤接口。在本发明一个优选实施例中,串并转换器采用TLK1221芯片,并与型号为HFBR-53A5VM的光纤接口相配合,以适用于速度要求为
0.6Gbps到1.3Gbps的系统,用于实现系统中数据的串并转换、时钟倍频和时钟恢复功能,满足物理层数据高速稳定传输的需求。同时,若系统要求更高的传输速率,则TLK1221芯片和HFBR-53A5VM光纤接口可以被相应满足速度要求的元件替换。TLK1221串并转换器能够将10位的并行LVTTL信号按照差分PECL电平串行输出,同时也能将接收的PECL电平信号10位并行输出给FPGA内核控制模块。TLK1221串并转换器接受FPGA内核控制模块提供的参考时钟REFCLK,将其十倍频后作为输出PECL信号的工作时钟;同时从接受的串行数据流中提取时钟信号,作为FPGA内核控制模块中接收时钟域的工作时钟,以保证发送端控制器和接收端控制器的时钟同步性。另外,TLK1221串并转换器支持高速串行信号链路PRBS检测,以检测该光纤链路的误码率。TLK1221串并转换器最大能够支持1.3Gbps的传出速率,本发明一个优选实施例中使用1.25Gbps,即参考时钟选定为125M,满足大多数系统要求,同时也是实现高速数据传输的物理保证。
[0029]本发明物理层接口处的光纤接口优选HFBR-53A5VM光纤接口,与串并转换器TLK1221芯片相配合。该光纤接口能够实现光电转换,支持PECL差分电平发送与接收以及Gbps级的速率传输。且HFBR-53A5VM光纤接口还能够提供光检测信息,便于位于传输层的FPGA内核控制模块对硬件通信状况作出判断,同时为信号的高速远距离传播提供硬件接口支持。
[0030]物理层中还设置有LED指示灯,LED指示灯与FPGA内核控制模块相连,能够显示本发明所述装置的不同工作状态。
[0031]本发明所述装置在现场工作中,既可以作为数据发送端,也可以作为数据接收端,适用于两系统之间的高速实时通信。对于数据采集,光信号经过光纤接口,经过光电转换后,输出2位串行PECL信号到TLK1221串并转换器,然后以10位并行输入到FPGA内核控制模块并进行存储。对于数据发送流程,则与采集流程相反。
[0032]图2是本发明FPGA内核控制模块结构示意图。如图2所示,FPGA内核控制模块位于传输层,用于实现数据的收发逻辑控制、数据存储以及对外围接口的逻辑控制。
[0033]FPGA内核控制模块包括发送端和接收端,所述发送端包括用于接收并缓存应用层数据的第一存储模块;与第一存储模块相连的发送端控制器Tx_Ctrl,用于根据应用层的同步周期完成数据的成帧发送并负责物理层串并转换器的发送逻辑控制;与发送端控制器相连的8B10B编码模块,用于对成帧数据按照8B10B编码机制进行编码并发送至物理层;
[0034]接收端包括8B10B解码模块,用于从物理层接收所述编码后的数据并按照8B10B解码机制进行解码;与8B10B解码模块相连的接收端控制器Rx_Ctrl,用于完成解码后的数据的解帧接收,将从物理层接收的10位串行数据流中恢复出的时钟作为接受端时钟域的工作时钟,并通过同步字符中间对齐方式来调整接收端工作时钟的相位,以保证发送端和接收端数据传输的同步性和实时性;与接收端控制器相连的第二存储模块,用于接收并缓存所述解帧后的数据,并通过应用层数据访问接口将数据发送至应用层。
[0035]本发明的FPGA内核控制模块还包括光纤链路检测模块,用于对物理层错误进行实时监测;初始化PRBS自检模块,用于完成对串并转换器的PRBS自检反馈;状态处理模块,用于采集发送端、接收端、光纤链路以及串并转换器PRBS错误自检的状态,并反馈给发送端控制器,发送端控制器根据采集到的相关状态进行链路控制;LED灯驱动模块,用于根据状态处理模块采集到的不同状态实现对位于物理层的LED指示灯的控制;以及分别与发送端控制器、接收端控制器相连的D触发器模块,所述D触发器模块为两级D触发器串联,用于增强接收端控制器给发送端控制器反馈信息的稳定性;所述发送端控制器、8B10B编码模块、第一串并转换器之间设置有时延模块,接收端控制器、8B10B解码模块、第二串并转换器之间设置有时延模块,所述时延模块用于对传输的数据进行延时。
[0036]在本发明一个优选实施例中,第一存储模块为DPRAMl存储模块,第二存储模块为DPRAM2存储模块。DPRAMl存储模块和DPRAM2存储模块是直接调用FPGA内部的block ram,以实现数据在应用层和传输层的异步缓冲。block ram是由一定数量固定大小的存储块构成,使用block ram资源不占用额外的逻辑资源,并且速度快。选取的DPRAMl和DPRAM2数据线宽度为32位,深度为256wordS,地址线宽度为8bit,如图3所示。DPRAMl用于存储应用层传输的地址数据和控制字符命令,DPRAM2用于存储从物理层接收的数据,FPGA按照存储块的时序逻辑来读写数据,能达到高速缓冲的效果。在本发明其它情况下,DPRAM存储模块可以由其它存储模块代替,以用于数据缓冲,使用时修改其对应读写时序;使用DPRAM存储模块的好处在于读写时钟可以分开,时序要求容易实现,且不占用FPGA逻辑资源。
[0037]本发明所述装置中的8B10B编码和解码模块利用硬件描述语言,根据标准的8010B编码解码机制编写对应的功能模块。8010B编码方法为一种将Sbit源数据通过运算编码为IObit的算法,编码后的数据没有5个长的连“O”或连“I”串,因为这种连“O”或连“ I”串所含的数据信息量小,不利于驱动参考时钟和数据随路时钟的对齐,会造成恢复时钟的抖动或漂移。8B10B解码模块则与编码模块相反,将IObit的数据解析为Sbit的源数据,其使用的时钟为从串行数据流中提取。
[0038]发送端控制器为FPGA内核控制模块中的核心模块,其主要完成DPRAMl存储模块的数据读取、32位数据的成帧、光纤通信发送时序逻辑控制和内部链路的使能等功能。其中,32位数据的成帧指的是按照光纤通信协议中对数据帧的定义来封装数据,同时为了保证传输过程中不至于失真,添加了相关特殊字符,如表1所示。
[0039]
【权利要求】
1.一种基于FPGA实现光纤高速实时通信的装置,所述装置包括应用层、传输层和物理层,其特征在于, 传输层包括由发送端和接收端构成的FPGA内核控制模块,所述发送端包括用于接收并缓存应用层数据的第一存储模块;与第一存储模块相连的发送端控制器,用于根据应用层的同步周期完成数据的成帧发送和物理层的发送逻辑控制;与发送端控制器相连的8B10B编码模块,用于对成帧数据按照8B10B编码机制进行编码并发送至物理层; 接收端包括8B10B解码模块,用于从物理层接收所述编码后的数据并按照8B10B解码机制进行解码;与8B10B解码模块相连的接收端控制器,用于完成解码数据的解帧接收,将从物理层接收的10位串行数据流中恢复出的时钟作为接受端工作时钟并通过同步字符中间对齐方式来调整接收端工作时钟的相位,以保证发送端和接收端数据传输的同步性;与接收端控制器相连的第二存储模块,用于接收并缓存所述解帧后的数据,并通过应用层数据访问接口将数据发送至应用层。
2.如权利要求1所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述同步字符中间对齐的方式为:发送端在数据帧中添加同步字符,发送端工作时钟的上升沿对齐到同步字符的中点,接收端检测到字符时,如果当前接收端工作时钟相位并未对正,则选择最靠近同步字符中心的插值相位来调整接收端工作时钟,始终保证接收端工作时钟相位与同步字符对齐。
3.如权利要求1或2所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,物理层包括与8B10B编码模块相连的第一串并转换器,与8B10B解码模块相连的第二串并转换器,所述第一串并转换器与第二串并转换器通过光纤头进行数据传输,用于实现数据的串并转换、时钟倍速、 时钟恢复和光电转换。
4.如权利要求3所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述串并转换器为TLK1221芯片,用于实现串并转换、时钟倍速和时钟恢复;同时光纤接口型号为HFBR-53A5VM,用于实现光电转换功能,两者结合以保证物理层的高速传输。
5.如权利要求1或2所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述FPGA内核控制模块还包括光纤链路检测模块,用于对物理层错误进行实时监测。
6.如权利要求5所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述FPGA内核控制模块还包括初始化PRBS自检模块,用于完成对串并转换器的PRBS自检反馈。
7.如权利要求6所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述FPGA内核控制模块还包括状态处理模块,用于采集发送端、接收端、光纤链路以及PRBS自检状态,并反馈给发送端控制器,发送端控制器根据反馈得到的状态信息进行链路控制。
8.如权利要求7所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述FPGA内核控制模块还包括与状态处理模块相连的LED驱动模块,所述物理层还包括LED指示灯,所述LED驱动模块根据状态处理模块采集到的不同状态实现LED指示灯的控制。
9.如权利要求8所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述发送端控制器与接收端控制器之间设置有D触发器模块,所述D触发器模块为两级D触发器串联,用于增强接收端控制器给发送端控制器反馈信息的稳定性;所述发送端控制器、8B10B编码模块、第一串并转换器之间设置有时延模块,接收端控制器、8B10B解码模块、第二串并转换器之间设置有时延模块,所述时延模块用于对传输的数据进行延时。
10.如权利要求1或2所述的基于FPGA实现光纤高速实时通信的装置,其特征在于,所述第一存储模块、第二存储`模块为FPGA内部的DPRAM存储模块。
【文档编号】H04B10/25GK103825696SQ201410086954
【公开日】2014年5月28日 申请日期:2014年3月11日 优先权日:2014年3月11日
【发明者】涂骁, 周云飞, 霍立刚, 周柔刚 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1