CN111147522A - 多通道RocketIO协议与FC协议实时转换方法 - Google Patents
多通道RocketIO协议与FC协议实时转换方法 Download PDFInfo
- Publication number
- CN111147522A CN111147522A CN202010018295.0A CN202010018295A CN111147522A CN 111147522 A CN111147522 A CN 111147522A CN 202010018295 A CN202010018295 A CN 202010018295A CN 111147522 A CN111147522 A CN 111147522A
- Authority
- CN
- China
- Prior art keywords
- protocol
- channel
- data
- rocktio
- real
- 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.)
- Pending
Links
Images
Classifications
-
- 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/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Abstract
本发明提出了一种多通道RocketIO协议与FC协议实时转换的设计方法,该方法由FPGA作为主控芯片,内部由RocketIO协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,FC协议接口模块组成。其中RocketIO协议接口模块、FC协议接口模块负责多路数据流输入输出,协议转换模块完成RocketIO协议与FC协议的格式转换,多通道缓存模块与实时控制模块配合完成多通道的总线占用切换。本发明在实现RocketIO协议与FC协议实时转换的基础上,通过实时反馈控制的办法,实现了多路RocketIO协议与FC协议的转换,解决了多通道数据需同时占用FC协议总线的冲突问题。
Description
技术领域
本发明涉及通信技术领域。
背景技术
在现代雷达电子装备中,通信网络涉及信号处理机、数据处理机、显示计算机、预处理机与控制器等若干子系统,各子系统因硬件平台不同而采用了不同的通信总线协议,比如信号处理机采用了RapidIO 接口;控制器使用了FC光纤通道;预处理机则使用了基于RocketIO 的用户自定义协议等。如前所述,为保障各子系统之间的高效互联,协议间的桥接模块发挥着至关重要的作用。
FC协议与RapidIO协议桥接方面,由天津芯海创科技有限公司在2018年提出了一种RapidIO协议到FC协议的转换方法,而在与RocketIO协议转换方面,浙江大学硕士论文《FC协议处理引擎优化及RocketIO桥接技术研究》一文中有所介绍,但该文的每个FC端口与每个RocketIO端口一一对应。而在实际使用时,RocketIO数据有可能只分时占用了很小带宽,如果为每一路数据分别配置一个FC端口,会造成FC总线带宽的极大浪费。为充分利用FC总线带宽,将多路RocketIO协议数据同时送入单个FC端口,需要设计一种多通道RocketIO协议与FC协议实时转换方法。
发明内容
本发明提供了一种多通道RocketIO协议与FC协议实时转换方法。
本发明包含RocketIO协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,FC协议接口模块。FPGA接收RocketIO协议数据后经过协议转换模块将多路RocketIO协议转换成多路FC协议数据包,然后FC协议的数据进入多通道缓存模块,该模块由实时控制模块控制轮流输出到单路FC协议接口模块,完成数据流的转换。
多通道RocketIO协议与FC协议实时转换方法其硬件架构采用标准VPX后插卡形式,如图1所示,主要由1片Xilinx Kintex7 FPGA,4个6.25Gbps速率4收4发MPO接口850nm多模光模块以及VPX接插件组成,本设计的RocketIO端口可以从面板光模块输入也可从后插VPX的RP6插座输入输出,FC协议从光模块2输入输出,可支持双冗余的2个FC节点。
协议转换模块是基于一个长位宽的数据寄存器和控制状态机组成的,该数据寄存器包含了FC协议所需的:字节有效控制字、数据包包头标识、数据包包尾标识。该模块时钟采用RocketIO协议的恢复时钟,每个时钟接将收到RocketIO协议数据从高位依次向低位填入寄存器,填满四个周期达到FC协议所需的位宽后,将整个数据写入下一级缓存,若接收到数据结束但未填满数据寄存器,则也将数据寄存器写入下级缓存,由寄存器中的字节数据有效控制字指示数据是否有效。
实时控制模块检测多通道缓存模块的状态,以此控制缓存输出,使得多通道数据依次进入FC协议接口模块。该模块主要分为3个状态,设初始状态也是状态1下读取通道K_Current的数据,然后依次检测通道1~N缓存是否存在将满状态是否为满,若检测到通道X将满,则进入状态2读通道X缓存数据直到读空返回状态1;若通道1~N缓存不存在将满状态,则检测当前通道K_Current是否读空,若检测到当前通道缓存为空,则进入状态3,首先检测通道1~N缓存是否全部为空,若全为空返回状态1,若存在缓存不为空设通道Y非空,则读取通道Y数据并固定每256个时钟检测一次通道1~Y是否有数据,若通道K_Next有数据则返回状态1将K_Next通道作为当前通道。以此实现了优先级为1至N的多通道互相切换,有效利用FC总线。
通过实时检测,本发明各RocketIO通道速率控制每路在FC端口占用时间,将多路RocketIO协议数据同时送入单个FC端口,改进了FC总线利用率。
附图说明
图1是多通道RocketIO协议与FC协议实时转换方法硬件示意图;
图2是多通道RocketIO协议与FC协议实时转换方法实现流程图;
图3是协议转换模块寄存器设置;
图4是实时控制模块实现流程图。
具体实施方式
本发明提供了一种用于多通道RocketIO协议与FC协议的实时转换方法。该方法使用协议转换模块先将多路RocketIO协议分别转换成FC协议数据格式,然后将数据送入多通道缓存模块,该模块由实时控制模块控制轮流输出到FC协议接口模块,完成数据流的转换,整体架构图如附图1所示,具体实施方法为:
1、协议转换模块是RocketIO协议转换成FC协议的核心模块,本发明中,FPGA接收的2G线速率RocketIO协议数据,经过串并转换后,数据为16bit位宽,参考时钟100M。RocketIO协议数据流中包含了自定义的帧头、帧尾、空闲码,因此协议转换过程中须将解析帧头帧尾作为FC协议的帧标识,并将16bit位宽组合成64bit位宽。本发明中,采取数据寄存器和控制状态机实现协议转换,该数据寄存器排列如图2所示,前8位是字节有效控制字每一位分别代表8个字节的数据是否有效,第9位为包头标识,第10位为包尾标识,后64位为数据位依次缓存4个RocketIO协议数据。FPGA每个时钟接收到16位位宽RocketIO协议数据从高位依次向低位填入寄存器,填满四个周期的数据后,将整个74为数据写入下一级缓存,若接收到数据结束但未填满4个数据位置,则也将74位数据写入下级缓存,由前8位的数据有效控制字指示数据是否有效。
2、实时控制模块控制多通道缓存模块的各个通道读使能rd_en,而多通道缓存模块上报各个通道的空标志fifo_empty和将满标准prog_full。实施流程如图3所示,初始状态以选取通道K_Current为当前通道,在初始状态下读取通道K_Current数据,即通道K_Current占用FC总线接口,在此同时检测通道1~N是否将满,若通道X检测到快满标识,则进入通道X的读取,FC总线切换到通道X直到通道X读空为止;若在初始状态下检测到通道K_Current缓存为空,则检测通道1~N缓存是否全部为空,若通道Y非空,则读取通道Y数据同时每间隔固定的256个时钟检测一次通道1~Y-1是否有数据,以确保组成完整的FC包,直到检测到通道K_Next缓存非空,则将K_Next设定为当前通道返回初始状态。以此循环,实现N个通道的自适应切换输出。
Claims (2)
1.多通道RocketIO协议与FC协议实时转换方法,其特征在于:包含RocketIO协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,FC协议接口模块;FPGA接收RocketIO协议数据后经过协议转换模块将多路RocketIO协议转换成多路FC协议数据包,然后FC协议的数据进入多通道缓存模块,再由实时控制模块控制该模块将数据轮流输出到单路FC协议接口模块,完成数据流的转换。
2.根据权利要求1所述多通道RocketIO协议与FC协议实时转换方法,其特征在于:协议转换模块将接收到的多路16位位宽RocketIO协议数据流转换成FC协议所需的64位位宽数据包格式,采用了先组帧后缓存的方式,将FC协议的包控制字与数据对应并行缓存进相应的FIFO;多通道缓存模块,实时控制模块配合完成多通道数据竞争FC总线问题,实时控制模块检测各通道缓存的数据量,根据一定优先级自适应完成FC协议数据帧输出,以此提高总线利用率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010018295.0A CN111147522A (zh) | 2020-01-08 | 2020-01-08 | 多通道RocketIO协议与FC协议实时转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010018295.0A CN111147522A (zh) | 2020-01-08 | 2020-01-08 | 多通道RocketIO协议与FC协议实时转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111147522A true CN111147522A (zh) | 2020-05-12 |
Family
ID=70523991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010018295.0A Pending CN111147522A (zh) | 2020-01-08 | 2020-01-08 | 多通道RocketIO协议与FC协议实时转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147522A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148660A (zh) * | 2020-09-29 | 2020-12-29 | 中国船舶重工集团公司第七二四研究所 | 一种RapidIO双通道数据实时组包传输方法 |
CN112666905A (zh) * | 2020-12-21 | 2021-04-16 | 哈尔滨天达控制股份有限公司 | 一种多通道通信控制系统及通道控制方法 |
CN113810109A (zh) * | 2021-10-29 | 2021-12-17 | 西安微电子技术研究所 | 一种多协议多业务光纤通道控制器及其工作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188996A1 (en) * | 2012-12-31 | 2014-07-03 | Advanced Micro Devices, Inc. | Raw fabric interface for server system with virtualized interfaces |
CN105763258A (zh) * | 2016-03-18 | 2016-07-13 | 苏州盛森集成电路科技有限公司 | 一种基于fpga的数字处理及控制系统 |
CN109005170A (zh) * | 2018-07-27 | 2018-12-14 | 天津芯海创科技有限公司 | 一种RapidIO协议到FC协议的转换方法 |
CN110309086A (zh) * | 2019-05-17 | 2019-10-08 | 全球能源互联网研究院有限公司 | 一种多通道低速口与单通道高速口数据交互方法 |
-
2020
- 2020-01-08 CN CN202010018295.0A patent/CN111147522A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188996A1 (en) * | 2012-12-31 | 2014-07-03 | Advanced Micro Devices, Inc. | Raw fabric interface for server system with virtualized interfaces |
CN105763258A (zh) * | 2016-03-18 | 2016-07-13 | 苏州盛森集成电路科技有限公司 | 一种基于fpga的数字处理及控制系统 |
CN109005170A (zh) * | 2018-07-27 | 2018-12-14 | 天津芯海创科技有限公司 | 一种RapidIO协议到FC协议的转换方法 |
CN110309086A (zh) * | 2019-05-17 | 2019-10-08 | 全球能源互联网研究院有限公司 | 一种多通道低速口与单通道高速口数据交互方法 |
Non-Patent Citations (1)
Title |
---|
史卫民等: "《基于FPGA的RapidIO-FC转接桥设计》", 《计算机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148660A (zh) * | 2020-09-29 | 2020-12-29 | 中国船舶重工集团公司第七二四研究所 | 一种RapidIO双通道数据实时组包传输方法 |
CN112666905A (zh) * | 2020-12-21 | 2021-04-16 | 哈尔滨天达控制股份有限公司 | 一种多通道通信控制系统及通道控制方法 |
CN112666905B (zh) * | 2020-12-21 | 2024-01-30 | 哈尔滨天达控制股份有限公司 | 一种多通道通信控制系统及通道控制方法 |
CN113810109A (zh) * | 2021-10-29 | 2021-12-17 | 西安微电子技术研究所 | 一种多协议多业务光纤通道控制器及其工作方法 |
CN113810109B (zh) * | 2021-10-29 | 2022-09-27 | 西安微电子技术研究所 | 一种多协议多业务光纤通道控制器及其工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147522A (zh) | 多通道RocketIO协议与FC协议实时转换方法 | |
US5872822A (en) | Method and apparatus for memory sequencing | |
US5796739A (en) | Subscriber input/output device of high-speed packet switching system with parallel common bus type | |
US8165120B2 (en) | Buffering architecture for packet injection and extraction in on-chip networks | |
CN101866328B (zh) | 一种自动访问的串行总线读写控制方法 | |
EP0772323A2 (en) | Method and apparatus for tracking buffer availability | |
KR20080087588A (ko) | 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
US5592160A (en) | Method and apparatus for transmission code decoding and encoding | |
CN112148651A (zh) | 一种增强型rapidio互联装置及设备 | |
CN116737624B (zh) | 一种高性能数据存取装置 | |
CN113014880A (zh) | 一种基于高速数据交换的多源图像共享系统 | |
JP3370025B2 (ja) | スイッチ装置 | |
CN108650160B (zh) | 一种基于链式端口的总线桥接器及其工作方法 | |
CN115834804A (zh) | 多路srio转多路arinc818的视频传输系统 | |
CN114157731B (zh) | 一种基于FPH-trie树和动态优先级调度的FC-AE协议解析仪 | |
US20040151175A1 (en) | Transparent data format within host device supporting differing transaction types | |
CN116248758A (zh) | 一种高效的内核-片上网络的桥式连接结构 | |
CN113726693B (zh) | 一种fpga片间低速并行异步通信方法及通信系统 | |
US6990095B2 (en) | Self-routing data switching system | |
CN111104353B (zh) | 基于fpga的多功能航空总线接口卡 | |
CN112104489B (zh) | 一种对通讯无干扰的高速实时数据捕获方法 | |
RU2642383C2 (ru) | Способ передачи информации | |
JP4930554B2 (ja) | 入出力制御装置 | |
KR100211059B1 (ko) | 폴링 주소 제어 장치 및 그 방법 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200512 |