CN106303759B - 一种基于fpga的高速串行收发接口及其工作方法 - Google Patents
一种基于fpga的高速串行收发接口及其工作方法 Download PDFInfo
- Publication number
- CN106303759B CN106303759B CN201610787092.1A CN201610787092A CN106303759B CN 106303759 B CN106303759 B CN 106303759B CN 201610787092 A CN201610787092 A CN 201610787092A CN 106303759 B CN106303759 B CN 106303759B
- Authority
- CN
- China
- Prior art keywords
- data
- custom
- parallel
- receiving
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 108091006146 Channels Proteins 0.000 claims description 112
- 230000002159 abnormal effect Effects 0.000 claims description 33
- 239000000872 buffer Substances 0.000 claims description 23
- 230000006978 adaptation Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000007613 environmental effect Effects 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000002904 solvent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 230000008263 repair mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000002636 symptomatic treatment Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/02—Constructional details
- H04Q1/028—Subscriber network interface devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种基于FPGA的高速串行收发接口及其工作方法。所述接口用于并行数据和串行数据的转换,包括:Custom MAC端、Custom IP端;所述Custom MAC端,用于与所述Custom IP端进行并行数据收发;所述Custom IP端,用于与对端Custom IP端进行串行数据收发;所述Custom IP端与对端Custom IP端通过同轴电缆相互连接。所述高速串行收发接口基于FPGA技术,实现的电路为纯硬件电路;占用硬件空间小;可以实现数据透明传输;通过PHY通道的复用,具备一定的扩展能力;环境适应性强,稳定性高。
Description
技术领域
本发明涉及接口技术领域,尤其涉及一种基于FPGA的高速串行收发接口及其工作方法。
背景技术
传统的数据收发接口可分为并行接口和串行接口两种,并行接口传输速度快、单位时间信息量大,但是对硬件资源的需求大;串行接口对硬件资源要求低但速率相对慢。随着科技的发展,人们对信息处理及传输的要求越来越高,如何同时满足资源和速率的要求越来越受到业界重视,各种改进后的串行接口应运而生。
目前通用的串行接口主要有USB、SATA、PCI-E、RapidIO、SDI等数据接口,其中;
USB 3.0是在USB2.0的数据线4线结构(电源,地线,2条数据)的基础上增加了4条线路,用于接收和传输信号,总线带宽高达5.0Gbps全双工,由于增加了4条线路,USB 3.0的线缆会更“厚”,同时受限于主板接口、存储介质;
SATA 3.0总线带宽提升至6Gbps,但需要硬件芯片的支持;
PCI-E 3.0总线带宽达到了10Gbps,但是PCI-E接口协议庞大、硬件接口占用面积大,有些应用场景不适合,主要用于硬盘及显卡接口;
RapidIO 2.x标准支持5GHz和6.25GHz的传输速率,但是是基于数据包交换的互连体系结构,配置复杂,主要应用于嵌入式***内部互连,支持芯片到芯片、板到板间的通讯,主要作为嵌入式设备的背板(Backplane)连接,适用于突发性通信,不适用于长报文、会话式的通信;
SDI接口使用同轴电缆传输,硬件结构简洁,SDI接口能通过270Mbps的串行数字分量信号,对于16:9格式图像,能传送360Mbps的信号,但是SDI接口是专为建立数字音视频网络而设计的,使用同步网络技术,而不像计算机网络那样使用握手协议。
可见,上述现有串行接口存在着空间、成本、能力、扩展性等要素间的平衡问题以及应用领域的限制问题。因此,需要一种相比其他现有串行接口,成本合适、性能高、硬件占用空间小、对包传输长度没有限制,同时稳定性、扩展性、维护性等方面都更好的数据收发接口。
发明内容
鉴于上述的分析,本发明旨在提供一种基于FPGA的高速串行收发接口及其工作方法,用以解决现有高速串行接口数据收发接口在空间、成本、能力、扩展性等要素间的平衡问题。
本发明的目的主要是通过以下技术方案实现的:
一种基于FPGA的高速串行收发接口,所述接口用于并行数据和串行数据的转换,包括:Custom MAC端、Custom IP端;其特征在于,
所述Custom MAC端,用于与所述Custom IP端进行并行数据收发;
所述Custom IP端,用于与对端Custom IP端进行串行数据收发;
所述Custom IP端与对端Custom IP端通过同轴电缆相互连接。
其中,每根所述同轴电缆作为一个通道;每个Custom IP端收发两个方向各拥有最多32个通道。
其中,Custom MAC端包括:收/发缓存区FIFO、IP核初始化及配置电路、空闲码自检电路、失步恢复保护电路、收发并行驱动电路、通道纠码电路、超时保护电路。
其中,IP核初始化及配置电路用于:上电对IP核进行复位及初始化操作,对寄存器进行参数配置;初始化前后对信道进行封锁保护。
其中,收发并行驱动电路包括发并行驱动电路和收并行驱动电路;发并行驱动电路按照通道并行数据位宽将发缓存FIFO中的数据增加特征字段,然后按使用PHY核提供的并行发送时钟输送到PHY核并行入口内;收并行驱动电路将PHY核并行出口数据以PHY核提供的并行接收时钟为参考送入通道纠码模块,处理后写入收缓存FIFO,供外部提取。
其中,Custom IP端包括:PCS物理编码子层、PMA物理媒介适配层。
其中,PCS物理编码子层负责8b/10b编码和CRC校验,并集成了负责channel绑定和时钟修正的弹性缓冲。
其中,PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流。
一种基于FPGA的高速串行收发接口的数据发送方法,其特征在于,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;
步骤二、Custom MAC端从外部接收数据,并行发送给Custom IP端;
步骤三、Custom IP端接收并行数据,并转换为串行数据流,通过FPGA收发器发送至对端FPGA收发器。
所述Custom IP核初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP核进行复位并初始化;在复位及初始化期间进行信道保护;
1.2、Custom IP端初始化后,进行空闲码实时自检及纠正。
所述空闲码实时自检及纠正包括:
当有数据时,接收数据;当无数据时,进行自检,接收空闲自检码,监测通道空闲状态是否异常;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据接收;
完成本次数据接收后再次进行自检,重复上述步骤。
所述基于FPGA的高速串行收发接口的数据发送方法的步骤二进一步包括:
Custom MAC端通过FPGA内***逻辑从主机接收数据;
收/发缓存区FIFO模块写使能,将从主机接收到的数据的写入收/发缓存区FIFO模块;
发并行驱动电路按照通道并行数据位宽对收/发缓存区FIFO模块中的数据增加特征字段,然后按Custom IP端提供的并行发送时钟发送到Custom IP端的并行入口。
所述基于FPGA的高速串行收发接口的数据发送方法的步骤三进一步包括:
PCS物理编码子层对接收到的并行数据进行8B/10B变换;
PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流通过同轴电缆发送。
一种基于FPGA的高速串行收发接口的数据接收方法,其特征在于,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;
步骤二、Custom IP端通过FPGA收发器从对端Custom IP端接收串行数据流;将接收到的串行数据流转换为并行数据,并发送给Custom MAC端;
步骤三、Custom MAC端从Custom IP端并行接收数据,发送给外部。
所述Custom IP核初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP核进行复位并初始化;在复位及初始化期间进行信道保护;
1.2、Custom IP端初始化后,进行空闲码实时自检及纠正。
所述空闲码实时自检及纠正包括:
当有数据时,接收数据;当无数据时,进行自检,接收空闲自检码,监测通道空闲状态是否异常;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据接收;
完成本次数据接收后再次进行自检,重复上述步骤。
所述基于FPGA的高速串行收发接口的数据接收方法的步骤二进一步包括:
通过同轴电缆接收串行数据流;
PMA物理媒介适配层进行串并转换;
PCS物理编码子层对并行数据进行10B/8B解码;
通过PHY核并行出口发送数据;
所述基于FPGA的高速串行收发接口的数据接收方法的步骤三进一步包括:
收并行驱动输出电路以Custom IP端提供的并行发送时钟为参考从PHY核并行出口接收并行数据;送入通道纠码电路;
通道纠码电路对所述并行数据进行处理;解决通道间由于到达时间顺序与发送时不一致且具有随机性的问题;
收/发缓存区FIFO模块写使能,将处理后的数据的写入收/发缓存区FIFO模块;
Custom MAC端通过FPGA内***逻辑向主机发送数据。
本发明有益效果如下:
所述接口基于FPGA技术,实现的电路为纯硬件电路(FPGA同时可做辅助业务逻辑处理);占用硬件空间小;可以实现数据透明传输;通过PHY通道的复用,具有一定的扩展能力;环境适应性强,稳定性高。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例公开的基于FPGA的高速串行收发接口硬件宏观结构图;
图2为本发明实施例公开的基于FPGA的高速串行收发接口***组成结构示意图;
图3为本发明实施例公开的基于FPGA的高速串行收发接口模块结构示意图。
图4为本发明实施例公开的基于FPGA的高速串行收发接口初始化过程中的自检与自修复流程图;
图5为本发明实施例公开的基于FPGA的高速串行收发接口接收过程中通道纠错流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
缩略语和关键术语定义
定制PHY(Custom PHY,一种IP核,可定制使用的以太网物理层收发器);
PCS(PHYsical Coding Sublayer,物理编码子层);
PMA(PHYsical Medium Attachment,物理媒介适配层)。
根据本发明的一个具体实施例,公开了一种基于FPGA的高速串行收发接口,所述接口实现了并行数据和串行数据的转换,包括:Custom MAC端、Custom IP端;其中,
所述Custom MAC端,用于与所述Custom IP端进行并行数据收发;
所述Custom IP端,用于与对端Custom IP端进行串行数据收发;
所述Custom IP端与对端Custom IP端通过同轴电缆相互连接;每根同轴电缆作为一个串行通道;每个Custom IP端收发两个方向各拥有最多32个通道,每个通道支持8、16、32bit等位宽模式,单路通道最大能力3.125Gbit。
在本实施例中,所述接口具有6倍扩展能力,通过配置lanes(通路数)的值(1到6整数),同时配置单通道的位宽模式,则并行端口位宽为“通道数乘以单通道位宽值”,同时串行端口数目为lanes(通道数)。
所述Custom IP端为定制PHY,内部设置有一个源时钟补偿驱动所有级联通道的工作方式。各工作通道实际上是独立的,捆绑在一起将宏观通道的总能力成倍提高。级联后的PHY接口工作能力从0到2万兆之间阶梯可调,而反映到硬件电路上只有同轴电缆的条数区别,只需根据扩展的规划预留串行线接口即可,后续升级不需要重新设计硬件就可以对信道能力进行提升,降低了成本消耗及开发周期。实际使用中可以根据需要的能力对模块进行相应的配置,硬件环境只增减同轴电缆数目,其余操作通过FPGA编程实现即可,操作简捷,开发周期短,效果显著。
如图3所示,所述Custom MAC端包括:收/发缓存区FIFO、IP核初始化及配置电路、空闲码自检电路、失步恢复保护电路、收发并行驱动电路、通道纠码电路、超时保护电路;其中,
收发缓存FIFO主要有两大功能:一是时钟域隔离,因为应用场合的时钟频率与高速接口设置输入频率可能存在差异,增加收发缓存FIFO可以不受跨时钟域影响。二是缓冲数据,方便进行特征头***等帧操作,可以增加数据传输保障能力。
IP核初始化及配置电路:一是上电对IP核进行复位及初始化操作,对必要寄存器进行参数配置;二是初始化前后对信道进行一段时间的封锁保护,一般为2秒钟。
空闲码自检电路:***初始化完毕后,空闲码自检电路在发端对信道非使用时间段循环发送十六进制“BC”空闲码,同时在收端信道非使用时段核验空闲码字,返回码字正常和异常两种状态。
失步恢复保护电路:当空闲码检测返回为异常状态时启动失步恢复保护电路,对整个高速接口驱动及定制PHY核进行快速重置,自动保障通道恢复正常。(实验表明,通道异常状态总是可能出现在启动阶段,启动正常后没有出现过失步,失步恢复保护电路可以有效保障通道的正常启动,同时可为正常工作期间提供保险支持。)
收发并行驱动电路:发并行驱动电路按照通道并行数据位宽将发缓存FIFO中的数据增加特征字段,然后按使用PHY核提供的并行发送时钟输送到PHY核并行入口内;收并行驱动电路将PHY核并行出口数据以PHY核提供的并行接收时钟为参考送入通道纠码模块,处理后写入收缓存FIFO,供外部提取。
通道纠码电路:主要解决通道间由于到达时间顺序与发送时不一致且具有随机性的问题。
超时保护电路:主要是假定信道长时间保持发送中状态,超过设定时间,认为高速通道出现了一种特殊状态,即信道对外表现为一直被占用并拒绝接受新帧,该状态起源于启动过程中。由于该状态会减弱空闲码检测电路的监测力度,所以需要设置超时时间加以保护,发生超时按异常情况处理,启动恢复机制。超时时间需要设计者根据应用环境实际情况设定,如需以数据流模式使用通道则需要在初始化信道封锁保护2秒时间完成后再撤销超时保护电路。
所述Custom IP端包括:PCS物理编码子层、PMA物理媒介适配层;其中,
PCS物理编码子层负责8b/10b编码,避免数据流中出现连0连1的情况,便于时钟的恢复。PCS物理编码子层对接收到的并行数据进行8B/10B变换;每8bit增加2bit的检错码;8B/10B变换的特性之一就是保证直流平衡,即编码后二进制数据流中“0”和“1”的数量基本保持一致,因为当高速串行流的逻辑1和逻辑0有多个位没有产生变化时(即所谓的长连0和长连1),信号的转换就会因为电压位阶的关系而造成信号错误,直流平衡可以克服这个问题。变换的时候,连续的“0”或者“1”数量不超过5位,即每5个连续的“0”或者“1”后必须***一位“1”或者“0”,从而保证信号DC平衡。这样可以保证串行数据可以在接收端被正确复原,同时利用特殊代码(K码)也可以帮助接收端进行复原工作,且可以在早期发现数据位传输错误,抑制错误继续发生。
PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流通过同轴电缆发送;提供对link状态的判断和载波侦听的功能。
本实施例中,PCS和PMA都由硬件逻辑实现,整个定制PHY的IP核部分使用了约1%的FPGA资源。
根据本发明的一个具体实施例,公开了一种所述基于FPGA的高速串行收发接口的数据发送工作方法,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;
具体地,如图4所示,
Custom IP核初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP核进行复位并初始化;在复位及初始化期间进行信道保护;
首先,需要在Custom IP端的入口和出口增加保护,将实际***不需要的数据滤掉,排除通信双方收到无关数据进而造成的误响应;
其次,由于定制PHY复位完成后有一个极短时间的准备过程,但对于高速接口来说这个时间是不能忽略的,需要对其有一个简单保护;
其中,在在复位及初始化期间进行信道保护进一步包括:
IP核初始化及配置电路在***启动复位后对信道并行出口做一段时间的封锁保护,一般为2秒钟,提高PHY初始化稳定性和初始同步能力;
1.2、Custom IP端初始化后,针对开机时通信双方Custom IP端启动不同步问题进行空闲码实时自检及纠正;
当有数据时,发送数据;当无数据时,进行自检,发送空闲自检码,监测通道空闲状态是否异常;具体地,空闲码自检电路在发端对信道非使用时间段循环发送十六进制“BC”空闲码,同时根据收端信道的空闲码自检电路返回的码字正常和异常两种状态;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据发送;
完成本次数据发送后再次进行自检,重复上述步骤。
对于修复问题有多种手段可采用,例如实时空闲码检测和实时数据状态监测等,有效掌握接口实时状态,发现异常第一时间对症处理的必要手段,这种手段运用在各种通信***之中可以极大提高设备的生存能力。
当信道长时间保持发送中状态,超过设定时间,则认为出现了特殊状态,即信道对外表现为一直被占用并拒绝接受新帧,该状态起源于启动过程。由于该状态会减弱空闲码检测电路的监测力度,所以需要设置超时时间加以保护,发生超时则按异常情况处理,启动修复机制。超时时间需要设计者根据应用环境实际情况设定,如需以数据流模式使用通道则需要在初始化信道封锁保护2秒时间完成后再撤销超时保护电路。
步骤二、Custom MAC端从外部接收数据,并行发送给Custom IP端;具体地,
Custom MAC端通过FPGA内***逻辑(如PCI/PCIE接口)从主机接收数据;
收/发缓存区FIFO模块写使能,将从主机接收到的数据的写入收/发缓存区FIFO模块;收/发缓存区FIFO模块缓冲数据,方便***特征头等帧操作进行,增加数据传输保障能力;定义传输特征头,结合包络将信道中的无用数据滤除,提高接口使用效率并降低故障出现概率。发送时***,接收时判定用;特征头加包络滤除无用数据是在接收端对数据的筛选环节,目的是防止非用户协议数据到达接收终端,影响终端处理进程。
发并行驱动电路按照通道并行数据位宽对收/发缓存区FIFO模块中的数据增加特征字段,然后按Custom IP端提供的并行发送时钟发送到Custom IP端(即PHY核)的并行入口;
步骤三、Custom IP端接收并行数据,并转换为串行数据流,通过FPGA收发器发送至对端FPGA收发器。
具体地,PCS物理编码子层负责8b/10b编码和CRC校验,并集成了负责channel绑定和时钟修正的弹性缓冲。8b/10b编码可以避免数据流中出现连0连1的情况,便于时钟的恢复。PCS物理编码子层对接收到的并行数据进行8B/10B变换;每8bit增加2bit的检错码;8B/10B变换的特性之一就是保证直流平衡,即编码后二进制数据流中“0”和“1”的数量基本保持一致,因为当高速串行流的逻辑1和逻辑0有多个位没有产生变化时(即所谓的长连0和长连1),信号的转换就会因为电压位阶的关系而造成信号错误,直流平衡可以克服这个问题。转换的时候,连续的“0”或者“1”数量不超过5位,即每5个连续的“0”或者“1”后必须***一位“1”或者“0”,从而保证信号DC平衡。这样可以保证串行数据可以在接收端被正确复原,同时利用特殊代码(K码)也可以帮助接收端进行复原工作,且可以在早期发现数据位传输错误,抑制错误继续发生。
PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流,通过同轴电缆发送;提供对link状态的判断和载波侦听的功能。
根据本发明的另一个具体实施例,公开了一种基于FPGA的高速串行收发接口的数据接收工作方法,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;具体地,
如图4所示,Custom IP核初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP核进行复位并初始化;在复位及初始化期间进行信道保护;
首先,需要在Custom IP端的入口和出口增加保护,将实际***不需要的数据滤掉,排除通信双方收到无关数据进而造成的误响应;
其次,由于定制PHY复位完成后有一个极短时间的准备过程,但对于高速接口来说这个时间是不能忽略的,需要对其有一个简单保护;
其中,在复位及初始化期间进行信道保护进一步包括:
IP核初始化及配置电路在***启动复位后对信道并行出口做一段时间的封锁保护,一般为2秒钟,提高PHY初始化稳定性和初始同步能力;
1.2、Custom IP端初始化后,针对开机时通信双方Custom IP端启动不同步问题进行空闲码实时自检及纠正;
当有数据时,接收数据;当无数据时,进行自检,接收空闲自检码,监测通道空闲状态是否异常;具体地,接收对端空闲码自检电路对信道非使用时间段循环发送十六进制“BC”空闲码,同时空闲码自检电路向对端返回码字正常和异常两种状态;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据接收;
完成本次数据接收后再次进行自检,重复上述步骤。
对于修复问题有多种手段可采用,例如实时空闲码检测和实时数据状态监测等,有效掌握接口实时状态,发现异常第一时间处理,可以提高设备的生存能力。
当信道长时间保持接收中状态,超过设定时间,则认为出现了一种特殊状态,即信道对外表现为一直被占用并拒绝接受新帧。由于该状态会减弱空闲码检测电路的监测力度,所以设置超时时间加以保护,发生超时按异常情况处理,启动修复机制。超时时间根据应用环境实际情况设定,如需以数据流模式使用通道则需要在初始化信道封锁保护2秒时间完成后再撤销超时保护电路。
步骤二、Custom IP端通过FPGA外部收发器从对端Custom IP端接收串行数据流到FPGA内部收发器;将接收到的串行数据流转换为并行数据,并发送给Custom MAC端;具体地,
通过同轴电缆接收串行数据流;
PMA物理媒介适配层进行串并转换;
PCS物理编码子层对并行数据进行10B/8B解码;
通过PHY核并行出口发送数据;
其中,Custom IP端将接收到的串行数据转换为并行数据,并发送给Custom MAC端,进一步包括:
由于通道在多字节位宽模式下字节数据间排列无规律,利用硬件高速处理的优势对其实现全排列处理,数据的重组主要依据通道内各子通道数据出现的时间先后进行;同时由于所述子通道是指多字节位宽宏观上表现出来的字节间相对独立的情况,即一种虚拟叫法。由于PHY核在接收端解码后以字节为单位并行输出信息,单一通道被虚拟出若干子通道来。各子通道的字节包络相对独立,整合成多字节位宽之后需要构建与之对应的新数据有效包络。
例如:数据发送前为一个位宽32的字段X“11223344”,经过高速接口到达对端解码后得出X“BCBC3344”,X“1122BCBC”(注:BC为空闲自检码,此处可能出现16种组合);通过恢复电路将发端数据无误恢复出来供给后级,同时后级需要的包络也须运算得出。
除寄存操作外,恢复发端组合的运算基于组合电路实时运算,如图5所示,
步骤1:将高速接口输入的数据按通道分别寄存1个时钟周期,用于数据重组;同时,将通道包络在寄存器中寄存1个时钟周期;
步骤2:以对应的通道包络到达时间为参考将寄存数据排序重组,重组后数据寄存,等待包络运算后得到对应包络;
步骤3:在每个时钟周期T内查看一次各通道原包络值和寄存器里的包络值,以总线数据方式查看(每一通道对应一比特位);例如4通道时,原包络值只区分全无效和非全有效两种情况,寄存器包络值有16种。将2种原包络值和16种寄存器包络值做组合判断:原包络值全无效且寄存器包络值全有效时,输出包络值为任一通道寄存器包络值;原包络值非全无效时,输出包络值为最高有效比特位对应通道的寄存器包络值。得知当前时刻的包络有效值后作为重组后的包络输出;(即:实际输出包络为最晚有效的那一个通道的寄存包络。)
将重组后的数据加入对应包络,传送给后级处理。
步骤三、Custom MAC端从Custom IP端并行接收数据,发送给外部;具体地,
收并行驱动输出电路以Custom IP端提供的并行发送时钟为参考从PHY核并行出口接收并行数据;送入通道纠码电路;
通道纠码电路对所述并行数据进行处理;解决通道间由于到达时间顺序与发送时不一致且具有随机性的问题;
收/发缓存区FIFO模块写使能,将处理后的数据的写入收/发缓存区FIFO模块;
Custom MAC端通过FPGA内***逻辑(如PCI/PCIE接口)向主机发送数据。
本发明有益效果如下:
所述高速串行收发接口基于FPGA技术,实现的电路为纯硬件电路(FPGA同时可做辅助业务逻辑处理);占用硬件空间小;可以实现数据透明传输;通过PHY通道的复用,有一定的扩展能力;环境适应性强,稳定性高。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (15)
1.一种基于FPGA的高速串行收发接口,所述接口用于并行数据和串行数据的转换,包括:Custom MAC端、Custom IP端;其特征在于,
所述Custom MAC端,用于与所述Custom IP端进行并行数据收发;
所述Custom MAC端包括:收/发缓存区FIFO、IP核初始化及配置电路、空闲码自检电路、失步恢复保护电路、收发并行驱动电路、通道纠码电路、超时保护电路;
所述Custom IP端,用于与对端Custom IP端进行串行数据收发;
所述Custom IP端与对端Custom IP端通过同轴电缆相互连接。
2.根据权利要求1所述的基于FPGA的高速串行收发接口,其特征在于,
每根所述同轴电缆作为一个通道;每个Custom IP端收发两个方向各拥有最多32个通道。
3.根据权利要求1所述的基于FPGA的高速串行收发接口,其特征在于,
所述IP核初始化及配置电路用于:上电对IP核进行复位及初始化操作,对寄存器进行参数配置;初始化前后对信道进行封锁保护。
4.根据权利要求1所述的基于FPGA的高速串行收发接口,其特征在于,
所述收发并行驱动电路包括发并行驱动电路和收并行驱动电路;发并行驱动电路按照通道并行数据位宽将发缓存FIFO中的数据增加特征字段,然后按使用PHY核提供的并行发送时钟输送到PHY核并行入口内;收并行驱动电路将PHY核并行出口数据以PHY核提供的并行接收时钟为参考送入通道纠码模块,处理后写入收缓存FIFO,供外部提取。
5.根据权利要求1所述的基于FPGA的高速串行收发接口,其特征在于,
所述Custom IP端包括:PCS物理编码子层、PMA物理媒介适配层。
6.根据权利要求5所述的基于FPGA的高速串行收发接口,其特征在于,
所述PCS物理编码子层负责8b/10b编码和CRC校验,并集成负责channel绑定和时钟修正的弹性缓冲。
7.根据权利要求5所述的基于FPGA的高速串行收发接口,其特征在于,
所述PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流。
8.一种利用权利要求4所述基于FPGA的高速串行收发接口所实现的数据发送方法,其特征在于,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;
步骤二、Custom MAC端从外部接收数据,并行发送给Custom IP端;
所述步骤二进一步包括:
Custom MAC端通过FPGA内***逻辑从主机接收数据;
收/发缓存区FIFO模块写使能,将从主机接收到的数据写入收/发缓存区FIFO模块;
发并行驱动电路按照通道并行数据位宽对收/发缓存区FIFO模块中的数据增加特征字段,然后按Custom IP端提供的并行发送时钟发送到Custom IP端的并行入口;
步骤三、Custom IP端接收并行数据,并转换为串行数据流,通过FPGA收发器发送至对端FPGA收发器。
9.根据权利要求8所述的数据发送方法,其特征在于,所述Custom IP端初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP端进行复位并初始化;在复位及初始化期间进行信道保护;
1.2、Custom IP端初始化后,进行空闲码实时自检及纠正。
10.根据权利要求9所述的数据发送方法,其特征在于,所述空闲码实时自检及纠正包括:
当有数据时,接收数据;当无数据时,进行自检,接收空闲自检码,监测通道空闲状态是否异常;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据接收;
完成本次数据接收后再次进行自检,重复上述步骤。
11.根据权利要求8所述的数据发送方法,其特征在于,所述步骤三进一步包括:
PCS物理编码子层对接收到的并行数据进行8B/10B变换;
PMA物理媒介适配层对变化后的并行数据进行并串转换,转换为串行数据流;通过同轴电缆发送。
12.一种利用权利要求4所述基于FPGA的高速串行收发接口所实现的数据接收方法,其特征在于,包括以下步骤:
步骤一、Custom MAC端、Custom IP端初始化;
步骤二、Custom IP端通过FPGA收发器从对端Custom IP端接收串行数据流;将接收到的串行数据流转换为并行数据,并发送给Custom MAC端;
步骤三、Custom MAC端从Custom IP端并行接收数据,发送给外部;
所述步骤三进一步包括:
收并行驱动输出电路以Custom IP端提供的并行发送时钟为参考从PHY核并行出口接收并行数据;送入通道纠码电路;
通道纠码电路对所述并行数据进行处理;解决通道间由于到达时间顺序与发送时不一致且具有随机性的问题;
收/发缓存区FIFO模块写使能,将处理后的数据的写入收/发缓存区FIFO模块;
Custom MAC端通过FPGA内***逻辑向主机发送数据。
13.根据权利要求12所述的数据接收方法,其特征在于,所述Custom IP端初始化进一步包括:
1.1、IP核初始化及配置电路上电,对Custom IP端进行复位并初始化;在复位及初始化期间进行信道保护;
1.2、Custom IP端初始化后,进行空闲码实时自检及纠正。
14.根据权利要求13所述的数据接收方法,其特征在于,所述空闲码实时自检及纠正包括:
当有数据时,接收数据;当无数据时,进行自检,接收空闲自检码,监测通道空闲状态是否异常;
如果通道空闲状态异常则进入重新同步机制进行修复;如果通道空闲状态正常则进一步监测数据传输是否异常;
如果数据传输异常则进入数据同步处理机制进行修复;如果数据传输正常则继续数据发送直至完成本次数据接收;
完成本次数据接收后再次进行自检,重复上述步骤。
15.根据权利要求12所述的数据接收方法,其特征在于,所述步骤二进一步包括:
通过同轴电缆接收串行数据流;
PMA物理媒介适配层进行串并转换;
PCS物理编码子层对并行数据进行10B/8B解码;
通过PHY核并行出口发送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787092.1A CN106303759B (zh) | 2016-08-30 | 2016-08-30 | 一种基于fpga的高速串行收发接口及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787092.1A CN106303759B (zh) | 2016-08-30 | 2016-08-30 | 一种基于fpga的高速串行收发接口及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106303759A CN106303759A (zh) | 2017-01-04 |
CN106303759B true CN106303759B (zh) | 2019-07-12 |
Family
ID=57672901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610787092.1A Active CN106303759B (zh) | 2016-08-30 | 2016-08-30 | 一种基于fpga的高速串行收发接口及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106303759B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109378009B (zh) * | 2018-09-21 | 2023-06-27 | 中国航空无线电电子研究所 | 机载告警语音输出装置 |
CN109948788B (zh) * | 2019-03-07 | 2021-01-15 | 清华大学 | 基于fpga的神经网络加速器 |
CN111708724B (zh) * | 2020-05-29 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种PCIe板卡的资源分配的方法和设备 |
CN111949590B (zh) * | 2020-08-11 | 2022-05-06 | 国微集团(深圳)有限公司 | 一种可跨fpga平台的高速通讯方法 |
CN112084736B (zh) * | 2020-08-17 | 2024-04-05 | 武汉汇迪森信息技术有限公司 | 一种基于fpga的usb3.0物理层收发装置 |
CN111984574A (zh) * | 2020-08-17 | 2020-11-24 | 北京中新创科技有限公司 | 一种基于通用串行收发接口背板总线交换*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174283A (zh) * | 2007-12-03 | 2008-05-07 | 电子科技大学 | 一种基于网络的软硬件协同仿真平台 |
CN101330328A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 多种速率光接口的实现方法和装置 |
US7913104B1 (en) * | 2007-10-12 | 2011-03-22 | Xilinx, Inc. | Method and apparatus for receive channel data alignment with minimized latency variation |
CN102104427A (zh) * | 2009-12-18 | 2011-06-22 | 东软飞利浦医疗设备***有限责任公司 | 基于fpga的核磁共振数据通信实现装置和方法 |
CN103326236A (zh) * | 2013-06-19 | 2013-09-25 | 华中科技大学 | 一种半导体激光器调制驱动*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120188885A1 (en) * | 2011-01-20 | 2012-07-26 | Mehmet Tazebay | Method and system for self-adapting dynamic power reduction mechanism for physical layer devices in packet data networks |
-
2016
- 2016-08-30 CN CN201610787092.1A patent/CN106303759B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7913104B1 (en) * | 2007-10-12 | 2011-03-22 | Xilinx, Inc. | Method and apparatus for receive channel data alignment with minimized latency variation |
CN101174283A (zh) * | 2007-12-03 | 2008-05-07 | 电子科技大学 | 一种基于网络的软硬件协同仿真平台 |
CN101330328A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 多种速率光接口的实现方法和装置 |
CN102104427A (zh) * | 2009-12-18 | 2011-06-22 | 东软飞利浦医疗设备***有限责任公司 | 基于fpga的核磁共振数据通信实现装置和方法 |
CN103326236A (zh) * | 2013-06-19 | 2013-09-25 | 华中科技大学 | 一种半导体激光器调制驱动*** |
Non-Patent Citations (1)
Title |
---|
"100G以太网PCS子层研究及其在FPGA的实现";张立鹏;《中国优秀硕士学位论文全文数据库信息科技辑》;20110415;摘要,第3、6章 |
Also Published As
Publication number | Publication date |
---|---|
CN106303759A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106303759B (zh) | 一种基于fpga的高速串行收发接口及其工作方法 | |
US5617419A (en) | Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates | |
US8903000B2 (en) | Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor | |
CA2450825C (en) | Protocol independent transmission using a 10 gigabit attachment unit interface | |
JP5252292B2 (ja) | インタフェース装置及び電子装置 | |
JP3247571B2 (ja) | 送信されたデータフレームの連続性を保持する方法、通信ノード内のアダプタ装置及びデータフレーム連続性保持装置 | |
CN108259127B (zh) | Pcie双冗余万兆网ip核 | |
US8572300B2 (en) | Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks | |
WO2013062709A1 (en) | Multi-protocol serdes phy apparatus | |
CN111064545B (zh) | 基于fpga实现具有spw接口的专网地检装置及方法 | |
US6934301B2 (en) | Method and apparatus for converting data packets between a higher bandwidth network and a lower bandwidth network | |
EP2579513A1 (en) | Node device, integrated circuit and control method in ring transmission system | |
CN111352887B (zh) | 一种pci总线到可配置帧长度串行总线适配和传输方法 | |
US7734965B1 (en) | Methods, architectures, circuits and systems for transmission error determination | |
EP1988470B1 (en) | Network device and transmission method thereof | |
CN114442514B (zh) | 一种基于fpga的usb3.0/3.1控制*** | |
CN113765582A (zh) | 一种国产化设计的冗余光口单向传输数据实现***和方法 | |
US20050220232A1 (en) | Circuit arrangement and a method to transfer data on a 3-level pulse amplitude modulation (PAM-3) channel | |
CN116244245A (zh) | 一种基于FPGA的CoaXpress低速链路数据恢复方法、***及存储介质 | |
CN117083820A (zh) | 数据传输方法、通信设备及*** | |
US10425268B2 (en) | UART with line activity detector | |
CN102325069B (zh) | 一种总线互连的装置及方法 | |
US20240163010A1 (en) | Operation method for an electronic device and an electronic device capable of performing an advanced line coding | |
EP4340232A1 (en) | Encoding method, decoding method, and optical module | |
US20240121326A1 (en) | Operation method for an electronic device and an electronic device capable of performing an advanced line coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |