CN110297797A - 异构协议转换装置和方法 - Google Patents
异构协议转换装置和方法 Download PDFInfo
- Publication number
- CN110297797A CN110297797A CN201910601318.8A CN201910601318A CN110297797A CN 110297797 A CN110297797 A CN 110297797A CN 201910601318 A CN201910601318 A CN 201910601318A CN 110297797 A CN110297797 A CN 110297797A
- Authority
- CN
- China
- Prior art keywords
- packet
- rapidio
- data
- format
- data packet
- 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.)
- Granted
Links
Classifications
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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
- G06F13/4226—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 with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种异构协议转换装置和方法,其中,该装置中的第一控制器对第一通信接口发送的PCIE格式的数据包进行PCIE协议解析;映射器对PCIE格式的数据包进行包解析;根据负载数据对PCIE格式的数据包进行切分处理;根据第一包头信息对PCIE格式的数据包进行包头映射;将负载数据和第二包头信息进行RapidIO格式的封包处理,得到数据包;第二控制器对RapidIO协议物理层格式的数据包进行RapidIO协议封装,得到RapidIO数据包,并将其发送至第二通信接口。本发明提高了协议转换的效率,且可扩展性好,便于后期更新维护。
Description
技术领域
本发明涉及协议转换技术领域,尤其是涉及一种异构协议转换装置和方法。
背景技术
随着高性能计算需求的不断强化,嵌入式系统进行了高速发展,更先进的处理器架构和高速缓存的出现,使处理器的性能得到很大提高,但是,处理器总线频率的增长速度相对于处理器的发展相差很大,处理器速率的增加虽然可以提升系统的数据处理速度,但是却无助于提升处理器与其他芯片或部件的通讯速度,高速串行总线成为解决问题、提高系统性能的选择,但是,现有的高速串行总线的互联互通方式可扩展性不高,对总线协议的解析效率低下,跟不上嵌入式系统的高速发展。
发明内容
有鉴于此,本发明的目的在于提供一种异构协议转换装置和方法,以提高协议转换的效率,增强可扩展性,便于后期进行更新维护。
第一方面,本发明实施例提供了一种异构协议转换装置,其中,该装置包括依次连接的第一控制器、映射器和第二控制器;第一控制器与第一通信接口连接;第二控制器与第二通信接口连接;第一控制器用于对第一通信接口发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;映射器用于对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;第二控制器用于对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,映射器包括解析器、切包器、包头映射器和逆解析器;解析器分别与第一控制器、切包器和包头映射器连接;逆解析器分别与第二控制器、切包器和包头映射器连接。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,解析器用于通过可编程的TCAM模块,根据用户需要对协议解析后的PCIE格式的数据包进行解析,得到负载数据和第一包头信息。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,切包器用于按照数据处理流水线的方式对负载数据进行切分处理,得到切分后的负载数据;切包器还包括直通转发和存储转发的处理数据模式,用于实现处理过程中的时延指标。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,包头映射器用于根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,逆解析器用于将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,第一控制器包括第一物理层和第一媒体访问控制子层;第一物理层分别与第一通信接口和第一媒体访问控制子层连接,第一媒体访问控制子层还与解析器连接;第一物理层用于对第一通信接口发送的PCIE格式的数据包进行第一物理层的协议解析,第一媒体访问控制子层用于对第一物理层发送的PCIE格式的数据包进行PCIE链路层的协议解析。
结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,第一媒体访问控制子层还包括DMA引擎,DMA引擎与解析器连接,用于对数据处理过程进行多线程处理。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,第二控制器包括第二媒体访问控制子层和第二物理层;第二媒体访问控制子层分别与逆解析器和第二物理层连接,第二物理层还与第二通信接口连接;第二媒体访问控制子层用于对逆解析器发送的数据包进行RapidIO协议传输层和部分逻辑层的协议封装,第二物理层用于对第二媒体访问控制子层发送的数据包进行RapidIO协议物理层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口。
第二方面,本发明实施例还提供了一种异构协议转换方法,其中,该方法应用于上述第一方面的异构协议转换装置,该方法包括:第一控制器对第一通信接口发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;映射器对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;第二控制器对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口。
本发明实施例带来了以下有益效果:
本发明提供的一种异构协议转换装置和方法,其中,该装置包括第一控制器、映射器、第二控制器、第一通信接口和第二通信接口;第一控制器对第一通信接口发送的PCIE格式的数据包进行PCIE协议解析;映射器对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;第二控制器对RapidIO协议物理层格式的数据包进行RapidIO协议封装,得到RapidIO数据包,并将其发送至第二通信接口。本发明提高了协议转换的效率,且可扩展性好,便于后期更新维护。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种异构协议转换装置的结构示意图;
图2为本发明实施例提供的另一种异构协议转换装置的结构示意图;
图3为本发明实施例提供的一种异构协议转换方法的流程图;
图4为本发明实施例提供的一种异构协议转换方法的数据流向图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,普遍采用RapidlO(基于数据包交换的互连体系)总线和PCIE(PeripheralComponent Interconnect Express,外部设备互连快线)总线这两种高速串行总线,这两种总线协议的互联互通普遍通过CPU(Central Processing Unit,中央处理器)进行互联或者通过专门的桥接芯片进行通信,但是,若采用CPU进行互联,由于CPU价格昂贵,如果通用CPU专门用于协议转换的话成本太高,其次,CPU处理性能受限,上层软件协议栈的解析效率比较低完全做不到线速处理;若采用专门的PCIE转RapidIO的桥接芯片(如TSI721芯片)也存在较为明显的缺点,桥接芯片支持的传输线程数较少,当前专用的桥接芯片的线程个数一般小于8个;而且专用的桥接芯片的支持温度范围较窄,商用的温度范围一般在-40°~85°,且其可扩展性不足,更新速度也较慢,跟不上当前嵌入式系统的发展速度。基于此,本发明实施例提供的一种异构协议转换装置和方法,可以应用于嵌入式系统中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种异构协议转换装置进行详细介绍。
参见图1所示的一种异构协议转换装置的结构示意图,其中,该装置也可以称为PCIE转RapidIO的异构协议转换装置;该装置包括依次连接的第一控制器101、映射器102和第二控制器103;第一控制器101与第一通信接口104连接;所述第二控制器103与第二通信接口105连接;该第一通信接口具体可以为PCIE通信接口:该第二通信接口也可以称为RapidIO通信接口;
上述第一控制器101用于对第一通信接口104发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;该第一控制器也可以称为第一控制器;该PCIE格式的数据包也可以称为PCIE数据包。
上述映射器102用于对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;该映射器也可以称为PCIE转RapidIO映射器;该第一包头信息具体可以为PCIE包头信息;该第二包头信息具体可以为第二包头信息;上述负载数据也可以称为负载信息。
上述第二控制器103用于对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口105。该第二控制器也可以称为第二控制器。
具体的,上述RapidlO总线是为高速嵌入式处理的前端总线开发的专用结构,专门针对嵌入式系统设备的应用设计,被定义为嵌入式系统芯片到芯片、板到板、机架到机架的高性能互连技术,PCIE总线是对外部设备互联PCI(Peripheral Component Interconnect,外部设备互连总线)总线的改进,取代PCI以提供更高带宽的最新I/O界面。PCIE总线关注向后兼容性,其重要的特点是完全兼容PCI,能够在不改动驱动程序和BIOS(Basic InputOutput System,基本输入输出系统)的情况下复用现有的设计和芯片。
具体的,上述RapidIO和PCIE都应用于嵌入式系统内互联总线。RapidIO串行总线可以应用于处理器总线、本地I/O总线和背板总线。RapidlO串行总线灵活的拓扑结构和多样的处理部件,适应了嵌入式系统处理单元多样性的要求;它允许存在冗余的主机和交换机,提高了系统的健壮性。PCIE串行总线与PCI总线高度兼容,实现简单,成本低廉,应用广泛。
具体的,上述映射器102能够完成支持软件定义的PCIE格式的数据包至RapidIO数据包的灵活解析,其在实现过程中主通路统一采用的是标准的axi-stream(AdvancedeXtensible Interface stream,高级可扩展接口流)总线接口,用于连接需要进行数据交换的两个部件的标准接口,支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。
具体的,由于采用的是PCIE至RapidIO协议的包头映射技术及负载数据切包技术,有效避免了当前over(承载)技术带来的额外包头信息的开销,大大提高了转换效率,over技术是将一个完整的PCIE格式的数据包当做负载数据再封装成RapidIO数据包的技术。
本发明实施例提供了一种异构协议转换装置,其中,该装置包括第一控制器、映射器、第二控制器、第一通信接口和第二通信接口;第一控制器对第一通信接口发送的PCIE格式的数据包进行PCIE协议解析;映射器对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;第二控制器对RapidIO协议物理层格式的数据包进行RapidIO协议封装,得到RapidIO数据包,并将其发送至第二通信接口。本发明实施例提高了协议转换的效率,且可扩展性好,便于后期更新维护。
参见图2所示的另一种异构协议转换装置的结构示意图,该装置在图1所示的装置的基础上实现,该装置包括:
上述映射器102包括解析器1021、切包器1022、包头映射器1023和逆解析器1024;解析器1021分别与第一控制器101、切包器1022和包头映射器1023连接;逆解析器1024分别与第二控制器103、切包器1022和包头映射器1023连接。该解析器也可以称为PCIE解析器;该逆解析器也可以称为RapidIO逆解析器。
上述解析器1021用于通过可编程的TCAM(Ternary Content AddressableMemory,三态内容寻址存储器)模块,根据用户需要对协议解析后的PCIE格式的数据包进行解析,得到负载数据和第一包头信息。
具体的,上述解析器1021借助于TCAM模块完成PCIE格式包的解析,包括Length(长度)字段、Attr(属性)字段、Type(类型)字段、Tag(标签)字段等字段的解析,TCAM模块支持灵活的配置,且TCAM模块内部存放的是控制指令,因此用户可以通过灵活的配置TCAM模块来灵活地支持DMA(Direct Memory Access,直接内存访问)多线程处理。
上述切包器1022用于按照数据处理流水线的方式对负载数据进行切分处理,得到切分后的负载数据;切包器1022还包括直通转发和存储转发的处理数据模式,用于实现处理过程中的时延指标。
具体的,由于PCIE格式的数据包最大支持4096个字节,而RapidIO格式的数据包最大支持256个字节,因此需要根据PCIE格式的数据包进行实时的切包处理,根据数据流的长度进行实时计算,把超过256字节的负载数据进行实时切包处理,整个过程都是基于数据处理流水线方式进行处理,可以有效节省缓存控制,且省去了存储访问的时延,降低了整个装置数据通路上的整体时延,可以大大的提高转换性能。
具体的,上述直通转发处理数据模式因为数据包不用进行存储,整个处理数据的过程是流水处理的,所以整个处理数据的过程时延较小,而存储转发处理数据模式因为数据要完全存储下来后,才可以进行转发,整个存储过程耗时较长,所以整个处理数据的过程时延较长,采用这两种处理数据模式,可以满足嵌入式系统在不同需求下的不同时延需求。
上述包头映射器1023用于根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息。
具体的,上述包头映射器1023采用包头映射技术,可以有效避免over技术带来的额外包头开销,RapidIO协议是一种基于包的数据交换协议且规定了各种事务操作的基本接口,常见的包括:SWRITE(流写事务)、NREAD(数据读事务)、NWRITE_R(带响应的数据写事务)、NWRITE(不带响应的数据写事务)、Maintenance(系统维护事务)。其中SWRITE和NWRITE适合于大量数据流的传输,实现与PCIE的DMA对接;NREAD、NWRITE_R和Maintenance适合实现寄存器的读写进而可以与PCIE的指令对应。
具体的,一个完整的PCIE格式的包通过转换成RapidIO格式的SWRITE+Doorbell或NWRITE+Doorbell的组合拳进而进行两种异构协议的负载数据的传输。其中,Doorbell(门铃)包只用于告知远端的RapidIO端点设备当前的组合拳已经结束,由于Doorbell(最小可以是8字节)包中可以不含负载数据只是用于门铃控制,因此不影响整体的转换性能。
上述逆解析器1024用于将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包。
具体的,上述逆解析器1024是为了得到RapidIO协议物理层格式的数据包,除了封装逻辑层字段、传输层字段,还需要封装物理层字段的CRC-16(Cyclic Redundancy Check,循环冗余校验码),通过这种方式可以避免第二物理层逻辑包的再次CRC计算,可以有效降低数据通路的时延。
具体的,上述映射器102还包括寄存器1025,寄存器1025分别与解析器1021、包头映射器1023和逆解析器连接,用户可以通过配置相应的寄存器实现一种可扩展、可移植、高灵活性的PCIE to Rapidio的异构协议转换,解析器1021通过寄存器控制实现DMA多线程处理,根据实际的应用场景动态调整实际工作的DMA线程个数,具有灵活的扩展性和移植性。
具体的,由于使用解析器1021和逆解析器,第一控制器和第二控制器只需完成协议定义的物理层、传输层部分的协议处理即可,无须进行上层协议的解析,因此能有效降低各自上层协议解析部分的时延。
上述第一控制器101包括第一物理层1011和第一媒体访问控制子层1012;该第一物理层也可以称为PCIE物理层;该第一媒体访问控制子层也可以称为PCIE媒体访问控制子层;第一物理层1011分别与第一通信接口104和第一媒体访问控制子层1012连接,第一媒体访问控制子层1012还与解析器1021连接;第一物理层1011用于对所述第一通信接口104发送的PCIE格式的数据包进行第一物理层的协议解析,第一媒体访问控制子层1012用于对第一物理层1011发送的PCIE格式的数据包进行PCIE链路层的协议解析。
上述第一媒体访问控制子层1012还包括DMA引擎10121,用于对数据处理过程进行多线程处理。
上述第二控制器103包括第二媒体访问控制子层1031和第二物理层1032;该第二媒体访问控制子层也可以称为RapidIO媒体访问控制子层;该第二物理层也可以称为RapidIO物理层。
第二媒体访问控制子层1031分别与逆解析器1024和第二物理层1032连接,第二物理层1032还与第二通信接口105连接;第二媒体访问控制子层1031用于对逆解析器1024发送的数据包进行RapidIO协议传输层和部分逻辑层的协议封装,第二物理层1032用于对第二媒体访问控制子层1031发送的数据包进行RapidIO协议物理层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口105。
具体的,上述装置还包括功耗管理模块,用户可以通过配置相应的寄存器关断相关部分的时钟进而降低整个装置的功耗。
本发明实施例通过对第一通信接口发送的PCIE格式的数据包进行PCIE协议解析,再对经过协议解析的PCIE格式的数据包进行包解析,得到负载数据和第一包头信息,对负载数据进行切分处理,对第一包头信息进行包头映射,得到对应的第二包头信息,对切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包,对RapidIO数据包进行RapidIO协议封装,并将其发送至第二通信接口,实现PCIE与RapidIO的协议转换,通过使用该装置,可以提高协议转换的效率,而且用户可以灵活配置寄存器,装置的可扩展性好,且成本较低,也便于后期的更新维护以适应嵌入式系统的发展速度。
对应于上述的装置实施例,参见图3所示的一种异构协议转换方法的流程图,该方法步骤如下:
步骤S302,第一控制器101对第一通信接口发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;
具体的,对应图4所示的一种异构协议转换方法的数据流向图,由第一控制器101的第一物理层1011和第一媒体访问控制子层1012对第一通信接口104发送的PCIE格式的数据包进行协议解析,DMA引擎10121控制该处理过程的多线程处理。
步骤S304,映射器102对协议解析后的PCIE格式的数据包进行包解析,得到PCIE格式的数据包的负载数据和第一包头信息;
具体的,如图4所示,经过第一控制器101处理过后的PCIE格式的数据包经由映射器102的解析器1021处理,得到PCIE格式的数据包的负载数据和第一包头信息。
步骤S306,根据负载数据对PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据第一包头信息对PCIE格式的数据包进行包头映射,得到对应的第二包头信息;
具体的,如图4所示,经过PCIE Parser处理后的负载数据经由切包器1022进行切分,得到切分后的负载数据;经过解析器1021处理后的第一包头信息经由包头映射器1023进行包头映射,得到对应的第二包头信息。
步骤S308,将切分后的负载数据和第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;
具体的,如图4所示,切分后的负载数据和第二包头信息经由逆解析器1024进行封包处理,得到RapidIO协议物理层格式的数据包。
具体的,上述PCIE to RapidIO MAP还包括寄存器1025,由用户根据实际需要进行配置,控制解析器1021、包头映射器1023和逆解析器1024的数据处理过程。
步骤S310,第二控制器103对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将RapidIO数据包发送至第二通信接口。
具体的,如图4所示,上述RapidIO协议物理层格式的数据包由第二控制器103的第二媒体访问控制子层1031和第二物理层1032进行协议封装,并发送至第二通信接口105。
本发明实施例提供的异构协议转换方法,与上述实施例提供的异构协议转换装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述异构协议转换方法,具体实现可参见方法实施例,在此不再赘述。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种异构协议转换装置,其特征在于,所述装置包括依次连接的第一控制器、映射器和第二控制器;所述第一控制器与第一通信接口连接;所述第二控制器与第二通信接口连接;
所述第一控制器用于对所述第一通信接口发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;
所述映射器用于对协议解析后的所述PCIE格式的数据包进行包解析,得到所述PCIE格式的数据包的负载数据和第一包头信息;根据所述负载数据对所述PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据所述第一包头信息对所述PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和所述第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;
所述第二控制器用于对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将所述RapidIO数据包发送至所述第二通信接口。
2.根据权利要求1所述的装置,其特征在于,所述映射器包括解析器、切包器、包头映射器和逆解析器;
所述解析器分别与所述第一控制器、所述切包器和所述包头映射器连接;所述逆解析器分别与所述第二控制器、所述切包器和所述包头映射器连接。
3.根据权利要求2所述的装置,其特征在于,所述解析器用于通过可编程的TCAM模块,根据用户需要对协议解析后的所述PCIE格式的数据包进行解析,得到所述负载数据和所述第一包头信息。
4.根据权利要求2所述的装置,其特征在于,所述切包器用于按照数据处理流水线的方式对所述负载数据进行切分处理,得到切分后的负载数据;
所述切包器还包括直通转发和存储转发的处理数据模式,用于实现处理过程中的时延指标。
5.根据权利要求2所述的装置,其特征在于,所述包头映射器用于根据所述第一包头信息对所述PCIE格式的数据包进行包头映射,得到对应的第二包头信息。
6.根据权利要求2所述的装置,其特征在于,所述逆解析器用于将切分后的负载数据和所述第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包。
7.根据权利要求1所述的装置,其特征在于,所述第一控制器包括第一物理层和PCIE媒体访问控制子层;
所述PCIE物理层分别与所述第一通信接口和所述第一媒体访问控制子层连接,所述第一媒体访问控制子层还与所述解析器连接;
所述第一物理层用于对所述第一通信接口发送的PCIE格式的数据包进行第一物理层的协议解析,所述第一媒体访问控制子层用于对所述第一物理层发送的PCIE格式的数据包进行PCIE链路层的协议解析。
8.根据权利要求7所述的装置,其特征在于,所述第一媒体访问控制子层还包括DMA引擎,所述DMA引擎与所述解析器连接,用于对数据处理过程进行多线程处理。
9.根据权利要求1所述的装置,其特征在于,所述第二控制器包括第二媒体访问控制子层和第二物理层;
所述第二媒体访问控制子层分别与所述逆解析器和所述第二物理层连接,所述第二物理层还与所述第二通信接口连接;
所述第二媒体访问控制子层用于对所述逆解析器发送的数据包进行RapidIO协议传输层和部分逻辑层的协议封装,所述第二物理层用于对所述第二媒体访问控制子层发送的数据包进行RapidIO协议物理层的协议封装,得到RapidIO数据包,将所述RapidIO数据包发送至所述第二通信接口。
10.一种异构协议转换方法,其特征在于,所述方法应用于权利要求1-9任一项所述的异构协议转换装置,所述方法包括:
第一控制器对第一通信接口发送的PCIE格式的数据包进行第一物理层和链路层的协议解析;
映射器对协议解析后的所述PCIE格式的数据包进行包解析,得到所述PCIE格式的数据包的负载数据和第一包头信息;根据所述负载数据对所述PCIE格式的数据包进行切分处理,得到切分后的负载数据;根据所述第一包头信息对所述PCIE格式的数据包进行包头映射,得到对应的第二包头信息;将切分后的负载数据和所述第二包头信息进行RapidIO格式的封包处理,得到RapidIO协议物理层格式的数据包;
第二控制器对RapidIO协议物理层格式的数据包进行RapidIO协议物理层、传输层和部分逻辑层的协议封装,得到RapidIO数据包,将所述RapidIO数据包发送至第二通信接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601318.8A CN110297797B (zh) | 2019-07-04 | 2019-07-04 | 异构协议转换装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601318.8A CN110297797B (zh) | 2019-07-04 | 2019-07-04 | 异构协议转换装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297797A true CN110297797A (zh) | 2019-10-01 |
CN110297797B CN110297797B (zh) | 2021-05-04 |
Family
ID=68030393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910601318.8A Active CN110297797B (zh) | 2019-07-04 | 2019-07-04 | 异构协议转换装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297797B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148651A (zh) * | 2020-10-10 | 2020-12-29 | 中国人民解放军国防科技大学 | 一种增强型rapidio互联装置及设备 |
CN112328521A (zh) * | 2020-11-05 | 2021-02-05 | 杭州华澜微电子股份有限公司 | 一种总线适配器和数据传输方法 |
CN113391589A (zh) * | 2021-06-29 | 2021-09-14 | 西北工业大学 | 一种无人机异构设备统一接入与协议转换板卡 |
CN113515482A (zh) * | 2021-09-14 | 2021-10-19 | 北京国科天迅科技有限公司 | 数据传输系统、方法、计算机设备和存储介质 |
CN114244910A (zh) * | 2021-12-17 | 2022-03-25 | 天津芯海创科技有限公司 | 异构协议的转换装置和方法 |
CN115357541A (zh) * | 2022-10-17 | 2022-11-18 | 井芯微电子技术(天津)有限公司 | 一种请求数据转换方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
CN103368959A (zh) * | 2013-07-05 | 2013-10-23 | 华为技术有限公司 | RapidIO报文和InfiniBand报文之间的转换方法及装置 |
US20160365924A1 (en) * | 2015-06-15 | 2016-12-15 | Electronics And Telecommunications Research Institute | Sata host bus adapter using optical signal and method for connecting sata storage using the same |
CN108055290A (zh) * | 2018-02-07 | 2018-05-18 | 天津芯海创科技有限公司 | 异构协议网络系统及其数据交换方法 |
CN208207795U (zh) * | 2018-06-12 | 2018-12-07 | 济南浪潮高新科技投资发展有限公司 | 一种实现Rapid IO和PCIE数据转换的系统 |
CN109005170A (zh) * | 2018-07-27 | 2018-12-14 | 天津芯海创科技有限公司 | 一种RapidIO协议到FC协议的转换方法 |
CN109947376A (zh) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | 一种基于fpga实现的多协议接口固态存储系统 |
-
2019
- 2019-07-04 CN CN201910601318.8A patent/CN110297797B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
CN103368959A (zh) * | 2013-07-05 | 2013-10-23 | 华为技术有限公司 | RapidIO报文和InfiniBand报文之间的转换方法及装置 |
US20160365924A1 (en) * | 2015-06-15 | 2016-12-15 | Electronics And Telecommunications Research Institute | Sata host bus adapter using optical signal and method for connecting sata storage using the same |
CN108055290A (zh) * | 2018-02-07 | 2018-05-18 | 天津芯海创科技有限公司 | 异构协议网络系统及其数据交换方法 |
CN208207795U (zh) * | 2018-06-12 | 2018-12-07 | 济南浪潮高新科技投资发展有限公司 | 一种实现Rapid IO和PCIE数据转换的系统 |
CN109005170A (zh) * | 2018-07-27 | 2018-12-14 | 天津芯海创科技有限公司 | 一种RapidIO协议到FC协议的转换方法 |
CN109947376A (zh) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | 一种基于fpga实现的多协议接口固态存储系统 |
Non-Patent Citations (2)
Title |
---|
YING-HUI JI: "Design of RapidIO User-Level Communication Interface Based on Socket in Real-Time Applications", 《 2010 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SOFTWARE ENGINEERING》 * |
陈 臻: "基于 RAID-5的机载阵列存储技术", 《 舰 船 电 子 对 抗》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148651A (zh) * | 2020-10-10 | 2020-12-29 | 中国人民解放军国防科技大学 | 一种增强型rapidio互联装置及设备 |
CN112148651B (zh) * | 2020-10-10 | 2022-05-03 | 中国人民解放军国防科技大学 | 一种增强型rapidio互联装置及设备 |
CN112328521A (zh) * | 2020-11-05 | 2021-02-05 | 杭州华澜微电子股份有限公司 | 一种总线适配器和数据传输方法 |
CN113391589A (zh) * | 2021-06-29 | 2021-09-14 | 西北工业大学 | 一种无人机异构设备统一接入与协议转换板卡 |
CN113391589B (zh) * | 2021-06-29 | 2022-12-27 | 西北工业大学 | 一种无人机异构设备统一接入与协议转换板卡 |
CN113515482A (zh) * | 2021-09-14 | 2021-10-19 | 北京国科天迅科技有限公司 | 数据传输系统、方法、计算机设备和存储介质 |
CN114244910A (zh) * | 2021-12-17 | 2022-03-25 | 天津芯海创科技有限公司 | 异构协议的转换装置和方法 |
CN115357541A (zh) * | 2022-10-17 | 2022-11-18 | 井芯微电子技术(天津)有限公司 | 一种请求数据转换方法和装置 |
CN115357541B (zh) * | 2022-10-17 | 2022-12-30 | 井芯微电子技术(天津)有限公司 | 一种请求数据转换方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110297797B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297797A (zh) | 异构协议转换装置和方法 | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
US20040151170A1 (en) | Management of received data within host device using linked lists | |
US9280297B1 (en) | Transactional memory that supports a put with low priority ring command | |
CN106155960A (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN108833237A (zh) | 智能家居网关及其管控方法 | |
US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
CN103077148B (zh) | 一种基于pcie的主机通讯方法和主机 | |
CN104679702B (zh) | 多路高速串行接口控制器 | |
CN110109872B (zh) | 一种遥感卫星异构数据统一存储管理装置 | |
CN104714904B (zh) | 采用窗口映射机制的RapidIO控制器及其控制方法 | |
CN102158435B (zh) | 一种支持虚连接的基于can总线和以太网实时嵌入式网关 | |
CN103714026B (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
CN110442534A (zh) | 用于相干消息的高带宽链路层 | |
CN105516142A (zh) | 一种智能电网系统中的相互通讯方法 | |
CN103558812B (zh) | 基于fpga和arm的mvb网络四类设备网卡 | |
CN104008082A (zh) | 1553b总线rt节点与can总线的转换器 | |
CN103942014A (zh) | Fc-ae-1553协议接口卡存储器映射装置及存储器映射方法 | |
US6856619B1 (en) | Computer network controller | |
CN107957971A (zh) | 一种基于fpga的多处理器之间的通信系统及通信方法 | |
CN108614792A (zh) | 1394事务层数据包存储管理方法及电路 | |
CN103560982B (zh) | 用于Interlaken增强型调度的切包装置及方法 | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
CN107888337A (zh) | 一种fpga、fpga处理信息的方法、加速装置 |
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 |