CN111064537B - 基于不同厂商fpga片间高速接口通信方法 - Google Patents
基于不同厂商fpga片间高速接口通信方法 Download PDFInfo
- Publication number
- CN111064537B CN111064537B CN201911264482.0A CN201911264482A CN111064537B CN 111064537 B CN111064537 B CN 111064537B CN 201911264482 A CN201911264482 A CN 201911264482A CN 111064537 B CN111064537 B CN 111064537B
- Authority
- CN
- China
- Prior art keywords
- state
- jumping
- data
- sending
- frame
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
- H04J3/0605—Special codes used as synchronising signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于不同厂商FPGA片间高速接口通信方法,包括接口控制模块和FPGA底层PHY,所述接口控制模块完成两端接口同步、两端数据的接收和发送、以及两端的流量控制。与现有技术相比,本发明的积极效果是:本发明解决了不同厂商FPGA片间高速接口通信问题,具有低开销,有效带宽利用率高,控制简单,适用范围广等优点。能够在任何厂商的具有高速收发器的FPGA间移植。
Description
技术领域
本发明涉及一种基于不同厂商FPGA片间高速接口通信方法。
背景技术
随着用户对信息传输需求的不断增长,基带信号处理的带宽和吞吐量需求与日俱增。基于片上网络的多核处理器硬件设计和复杂程度不断增加,多片FPGA的设计应运而生。并行化处理机制需要在FPGA芯片间进行高速数据传递。FPGA厂商都有自己芯片间的互联互通IP。不同厂商间FPGA间互通就需要公共的通信协议。如PCIE、interlaken等。PCIE由于有复杂的协议支持,需要的开销太大,不适用于不同厂商FPGA片间通信;interlaken虽然比PCIE的协议简单,但也需要做复杂的控制。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于不同厂商FPGA片间高速接口通信方法,以FPGA最底层串行收发器为核心,通过设计同步机制及流量控制技术完成两端FPGA数据同步及流量控制。解决了不同厂商间FPGA间的高速接口通信问题。克服了现有通用协议间开销大,带宽有效利用率不足,控制复杂等弊端。
本发明解决其技术问题所采用的技术方案是:一种基于不同厂商FPGA片间高速接口通信方法,包括接口控制模块和FPGA底层PHY,所述接口控制模块完成两端接口同步、两端数据的接收和发送、以及两端的流量控制。
与现有技术相比,本发明的积极效果是:
本发明解决了不同厂商FPGA片间高速接口通信问题,具有低开销,有效带宽利用率高,控制简单,适用范围广等优点。能够在任何厂商的具有高速收发器的FPGA间移植。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为基于不同厂商间的FPGA片间高速通信接口信号示意图;
图2为数据同步流程示意图;
图3为数据接收处理流程示意图;
图4数据发送处理流程示意图。
具体实施方式
基于不同厂商间的FPGA片间高速通信接口示意图如图1所示,包括:串行接口、内部系统信号、数据接口和其他信号,接口信号说明如表1所示:
表1:信号说明
本发明方法主要由接口控制模块和FPGA底层PHY组成。接口控制模块完成两端接口同步,两端数据的接收和发送,两端的流量控制。全部由特定的码流实现。其数据编码表如表2所示:
表2:数据编码表
序号 | 信号 | 参数 | 说明 |
1 | S_TS1 | X"4A4A4A4A07070707" | 同步序列1 |
2 | S_TS2 | X"4545454507070707" | 同步序列2 |
3 | S_FC_READY | X"AAAAAAAA07070707" | 流控信息1 |
4 | S_FC_FULL | X"5555555507070707" | 流控信息2 |
5 | S_SFP | X"D5555555555555FB" | 帧开始 |
6 | S_DATA_IDLE | X"0707070707070707" | 空闲 |
7 | S_DATA_EOP | X"07070707070707FD" | 帧结束 |
数据同步流程如图2所示,包括如下步骤:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到同步状态一;
(2)在同步状态一下,进行如下操作:
1)接收同步序列1;
2)发送同步序列1;
3)判断数据高低位;
在同步状态一下,若链路断开,则跳转到空闲状态;若发送TS1序列64个或接收TS1序列8个,则跳转到同步状态二;
(3)在同步状态二下,进行如下操作:
1)接收同步序列2;
2)发送同步序列2;
在同步状态二下,若链路断开或超时,则跳转到空闲状态;若发送TS2序列64个或接收TS2序列8个,则跳转到流量控制状态;
(4)在流量控制状态下,进行如下操作:
1)发送流量控制信息;
2)接收流量控制信息;
在流量控制状态下,若链路断开或超时,则跳转到空闲状态;若收发流量控制信息完成,则跳转到同步完成状态;
(5)在同步完成状态下,进行状态监测,若链路断开或收到同步序列1,则跳转到空闲状态。
同步状态说明如表3所示:
表3:状态说明
数据接收流程如图3所示,包括如下步骤:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到帧头处理状态;
(2)在帧头处理状态下接收帧头序列,当收到帧开始序列时,跳转到数据接收状态;
(3)在数据接收状态接收数据时,若收到错误控制符,则跳转到错误处理状态;若收到帧结束序列,则跳转到帧尾处理状态;
(4)在错误处理状态进行错误数据处理时,若收到帧结束序列,则跳转到帧尾处理状态;若错误处理完成,则跳转到帧头处理状态;
(5)在帧尾处理状态进行数据帧尾处理后跳转到帧头处理状态。
数据接收状态说明如表4所示:
表4:数据接收状态说明
数据发送流程如图4所示,包括如下步骤:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到数据同步状态;
(2)在数据同步状态下收发同步序列码,数据同步完成后跳转到帧开始状态;
(3)在帧开始状态下,发送帧开始序列或空闲序列,若流量控制信息准备好,则跳转到流量控制状态;若数据准备好,则跳转到发送数据状态;
(4)在发送数据状态下发送数据,数据发送完成则跳转到帧结束状态;
(5)在帧结束状态下发送帧结束符,发送完成则跳转到帧开始状态;
(6)在流量控制状态下发送流量控制信息,发送完成则跳转到帧开始状态。
数据发送状态说明如表5所示:
表5:数据发送状态说明
流量控制说明:流量控制信息的产生由接收FIFO的使用情况决定,FIFO的深度设置为1K。
当使用深度小于512时,空闲计数开始,否则清零。当空闲计数达到255时发送空闲信息;
当使用深度大于512时,接收忙计数开始,否则清零。当接收忙计数达到255时发送接收忙信息。
Claims (6)
1.一种基于不同厂商FPGA片间高速接口通信方法,其特征在于:包括接口控制模块和FPGA底层PHY,所述接口控制模块完成两端接口同步、两端数据的接收和发送、以及两端的流量控制;其中,两端接口同步的流程为:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到同步状态一;
(2)在同步状态一下,进行如下操作:
1)接收同步序列TS1;
2)发送TS1序列;
3)判断数据高低位;
在同步状态一下,若链路断开,则跳转到空闲状态;若发送TS1序列64个或接收TS1序列8个,则跳转到同步状态二;
(3)在同步状态二下,进行如下操作:
1)接收同步序列TS2;
2)发送TS2序列;
在同步状态二下,若链路断开或超时,则跳转到空闲状态;若发送TS2序列64个或接收TS2序列8个,则跳转到流量控制状态;
(4)在流量控制状态下,进行如下操作:
1)发送流量控制信息;
2)接收流量控制信息;
在流量控制状态下,若链路断开或超时,则跳转到空闲状态;若收发流量控制信息完成,则跳转到同步完成状态;
(5)在同步完成状态下,进行状态监测,若链路断开或收到TS1序列,则跳转到空闲状态。
2.根据权利要求1所述的基于不同厂商FPGA片间高速接口通信方法,其特征在于:数据接收的流程为:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到帧头处理状态;
(2)在帧头处理状态下接收帧头序列,当收到帧开始序列时,跳转到数据接收状态;
(3)在数据接收状态接收数据时,若收到错误控制符,则跳转到错误处理状态;若收到帧结束序列,则跳转到帧尾处理状态;
(4)在错误处理状态进行错误数据处理时,若收到帧结束序列,则跳转到帧尾处理状态;若错误处理完成,则跳转到帧头处理状态;
(5)在帧尾处理状态进行数据帧尾处理后跳转到帧头处理状态。
3.根据权利要求1所述的基于不同厂商FPGA片间高速接口通信方法,其特征在于:数据发送的流程为:
(1)在空闲状态下等待链路同步,链路同步完成后跳转到数据同步状态;
(2)在数据同步状态下收发同步序列码,数据同步完成后跳转到帧开始状态;
(3)在帧开始状态下,发送帧开始序列或空闲序列,若流量控制信息准备好,则跳转到流量控制状态;若数据准备好,则跳转到发送数据状态;
(4)在发送数据状态下发送数据,数据发送完成则跳转到帧结束状态;
(5)在帧结束状态下发送帧结束符,发送完成则跳转到帧开始状态;
(6)在流量控制状态下发送流量控制信息,发送完成则跳转到帧开始状态。
4.根据权利要求1所述的基于不同厂商FPGA片间高速接口通信方法,其特征在于:在进行流量控制时,流量控制信息的产生由接收FIFO的使用情况决定,FIFO的深度设置为1K。
5.根据权利要求4所述的基于不同厂商FPGA片间高速接口通信方法,其特征在于:当使用深度小于512时,空闲计数开始,否则清零,当空闲计数达到255时发送空闲信息。
6.根据权利要求4所述的基于不同厂商FPGA片间高速接口通信方法,其特征在于:当使用深度大于512时,接收忙计数开始,否则清零,当接收忙计数达到255时发送接收忙信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264482.0A CN111064537B (zh) | 2019-12-11 | 2019-12-11 | 基于不同厂商fpga片间高速接口通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264482.0A CN111064537B (zh) | 2019-12-11 | 2019-12-11 | 基于不同厂商fpga片间高速接口通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064537A CN111064537A (zh) | 2020-04-24 |
CN111064537B true CN111064537B (zh) | 2021-07-09 |
Family
ID=70300469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911264482.0A Active CN111064537B (zh) | 2019-12-11 | 2019-12-11 | 基于不同厂商fpga片间高速接口通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064537B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949590B (zh) * | 2020-08-11 | 2022-05-06 | 国微集团(深圳)有限公司 | 一种可跨fpga平台的高速通讯方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792230B1 (en) * | 2007-01-18 | 2010-09-07 | Lockheed Martin Corporation | Remote synchronization of external majority voting circuits |
CN104142902A (zh) * | 2013-05-10 | 2014-11-12 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于耦合fpga模块的自适应接口 |
CN107480332A (zh) * | 2017-07-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种fpga芯片、高速接口互联系统及实现互联的方法 |
CN108880686A (zh) * | 2018-07-14 | 2018-11-23 | 苏州大学张家港工业技术研究院 | 面向多应用pon的fpga收发器的单芯片oun |
CN110445139A (zh) * | 2019-06-28 | 2019-11-12 | 北方工业大学 | 基于fpga的电力电子变换器的控制方法以及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187148B (zh) * | 2015-08-17 | 2017-12-08 | 武汉理工大学 | 一种基于arm的网络时钟同步系统及方法 |
US10673723B2 (en) * | 2017-01-13 | 2020-06-02 | A.T.E. Solutions, Inc. | Systems and methods for dynamically reconfiguring automatic test equipment |
-
2019
- 2019-12-11 CN CN201911264482.0A patent/CN111064537B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792230B1 (en) * | 2007-01-18 | 2010-09-07 | Lockheed Martin Corporation | Remote synchronization of external majority voting circuits |
CN104142902A (zh) * | 2013-05-10 | 2014-11-12 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于耦合fpga模块的自适应接口 |
CN107480332A (zh) * | 2017-07-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种fpga芯片、高速接口互联系统及实现互联的方法 |
CN108880686A (zh) * | 2018-07-14 | 2018-11-23 | 苏州大学张家港工业技术研究院 | 面向多应用pon的fpga收发器的单芯片oun |
CN110445139A (zh) * | 2019-06-28 | 2019-11-12 | 北方工业大学 | 基于fpga的电力电子变换器的控制方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111064537A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205781B (zh) | 用于低功率、高带宽通信的接口、方法和机器可读介质 | |
US20050165959A1 (en) | Method and apparatus for performing wire speed auto-negotiation | |
CN103049414A (zh) | Fc总线与can总线间数据的转换及传输方法 | |
EP2928108B1 (en) | System, method and apparatus for multi-lane auto-negotiation over reduced lane media | |
WO2012175050A1 (en) | Full duplex transmission method for high speed backplane system | |
CN105117319A (zh) | 基于fpga实现对多路mdio设备实时监控的方法 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN111835569B (zh) | 一种光口速率及模式的自适应方法、系统及存储介质 | |
CN103049413B (zh) | 基于FC与Camlink总线的数据转换与传输方法 | |
CN102323877A (zh) | 基于serdes的视频处理系统 | |
CN111064537B (zh) | 基于不同厂商fpga片间高速接口通信方法 | |
EP2936766A1 (en) | Apparatus and method for encoding mdio into sgmii transmissions | |
US9424226B1 (en) | Method and system for signal equalization in communication between computing devices | |
CN109586964B (zh) | 双向通信的本地端口及端口训练方法 | |
CN108667706B (zh) | 串口数量动态可调的以太网串口服务器及其数据传输方法 | |
US11252043B2 (en) | Link group configuration method and apparatus | |
CN110266442A (zh) | 一种数字信号串行传输方法 | |
CN114442514A (zh) | 一种基于fpga的usb3.0/3.1控制系统 | |
CN115982083A (zh) | Fpga芯片间数据传输方法、装置、系统及存储介质 | |
CN110875911B (zh) | 支持自动识别单个数据包数据位数的通信协议及通信方法 | |
CN112564864B (zh) | 一种arinc818总线链路速率自动适配的方法 | |
EP3618317A1 (en) | Message sending method and message receiving method and apparatus | |
CN111258946A (zh) | 一种gtx与tlk2711系列芯片的通信方法 | |
CN114143384B (zh) | 一种cpri和ecpri协议数据融合传输方法 | |
CN104917704A (zh) | 同一架构中复用10GBase-R PCS和40GBase-R PCS的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |