一种PCIE和RapidIO数据转换装置的制作方法

专利2022-05-10  38


一种pcie和rapidio数据转换装置
技术领域
1.本实用新型属于计算机通信技术领域,具体涉及一种pcie和rapidio数据转换装置。


背景技术:

2.rapid io是一种高性能、低引脚数、基于数据包交换的互连体系结构,是为满足高性能嵌入式系统需求而设计的一种开放式互连技术标准。主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯。rapidio作为一种关键的数据通信接口,其应用的越来越广泛。
3.现有技术包括两种技术方案:一种是采用pcie转rapidio转换芯片;另一种是通过处理器和fpga方式来实现处理器端pcie到fpga端rapidio数据的转换。其中,采用处理器和fpga的方案相较于采用pcie转rapidio转换芯片的方案,通过fpga来实现pcie到rapidio之间数据的转换,灵活性及扩展性更强,如专利授权公告号为cn208207795u《一种实现rapid io和pcie数据转换的系统》,但该现有技术仅用于rapidio接口功能测试,pcie端与rapidio端一一对应,没有进行多通道仲裁设计不便于处理器端操作,转换性能较差。


技术实现要素:

4.本实用新型的目的在于针对上述问题,提出一种pcie和rapidio数据转换装置,可实现处理器端pcie到rapidio、rapidio到处理器端pcie的数据双向转换,同时支持多个通道的数据转换功能,便于处理器端操作,转换性能高,灵活性及扩展性强。
5.为实现上述目的,本实用新型所采取的技术方案为:
6.本实用新型提出的一种pcie和rapidio数据转换装置,包括处理器和fpga芯片,fpga芯片包括pcie ip核、多个转换通道、一级仲裁模块和rapidio ip核,转换通道包括相互连接的dma模块和bridge模块,各转换通道的dma模块通过axi总线与pcie ip核连接,各转换通道的bridge模块与一级仲裁模块连接,一级仲裁模块和rapidio ip核连接,pcie ip核与处理器连接。
7.优选地,pcie和rapidio数据转换装置还包括多个doorbell模块,各doorbell模块的一端与axi总线连接,另一端与一级仲裁模块连接。
8.优选地,pcie和rapidio数据转换装置还包括axi bram控制器,axi bram控制器的一端与axi总线连接,另一端与各转换通道的bridge模块连接。
9.与现有技术相比,本实用新型的有益效果为:采用fpga芯片实现pcie与rapidio各功能之间的双向转换,如实现swrite、nwrite、nwrite_r、nread、msg、doorbell、maintenance功能的双向转换,并采用多通道二级仲裁提高转换性能及处理器操作的高效便捷性,满足低功耗、小体积需求,提高了使用性能的稳定性。
附图说明
10.图1为本实用新型pcie和rapidio数据转换装置整体结构示意图。
具体实施方式
11.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
12.需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本技术。
13.如图1所示,一种pcie和rapidio数据转换装置,包括处理器和fpga芯片,fpga芯片包括pcie ip核、多个转换通道、一级仲裁模块和rapidio ip核,转换通道包括相互连接的dma模块和bridge模块,各转换通道的dma模块通过axi总线与pcie ip核连接,各转换通道的bridge模块与一级仲裁模块连接,一级仲裁模块和rapidio ip核连接,pcie ip核与处理器连接。
14.其中,每个dma模块与bridge模块组成一个转换通道,如转换通道1由dma模块1与bridge模块1组成,其它转换通道同理,每个转换通道都能完成pcie与rapidio的所有功能(包括swrite、nwrite、nwrite_r、nread、msg、doorbell和maintenance功能)的双向转换。并采用多通道二级仲裁提高转换性能及处理器操作的高效便捷性,满足低功耗、小体积需求,提高了使用性能的稳定性。
15.具体地,各个模块的主要功能如下:
16.处理器:用于向pcie ip核下发命令以控制pcie和rapidio数据的双向转换,pcie ip核用于数据和命令的收发。
17.dma模块:在处理器发起rapidio操作流程时完成处理器的内存数据读取;在处理器接收rapidio操作流程时完成将rapidio ip核接收的数据写入到处理器的内存。
18.bridge模块:在处理器发起rapidio操作流程时完成对读取到的命令和数据进行解析,解析为rapidio命令和数据,包括地址、id、数据量大小以及功能类型等配置信息,然后将配置信息及数据写入到一级仲裁模块中;在处理器接收rapidio操作流程时完成对接收到的rapidio命令与数据解析为pcie协议命令和数据发送至dma模块;
19.一级仲裁模块的功能包括:1)处理器发起rapidio操作流程时各转换通道数据的仲裁轮转;2)处理器接收rapidio操作流程时命令和数据的分发处理。
20.rapidio ip核:在处理器发起rapidio操作流程时根据接收到的命令和数据转换为rapidio协议的数据格式发出;在处理器接收rapidio操作流程时将接收到的rapidio数据转换为rapidio命令,并将rapidio命令和数据发送到一级仲裁模块。
21.在一实施例中,pcie和rapidio数据转换装置还包括多个doorbell模块,各doorbell模块的一端与axi总线连接,另一端与一级仲裁模块连接。
22.其中,各doorbell模块的两端分别与axi总线和一级仲裁模块连接。用于中断响
应,如用于处理器发起rapidio操作流程(即pcie转rapidio)和处理器接收rapidio操作流程(即rapidio转pcie)时,处理器通过向一级仲裁模块发送中断指令来告知命令下发完成,以便执行后续操作。需要说明的是,在实际应用中,doorbell模块的数量和响应位置可根据实际需求进行设置。
23.在一实施例中,pcie和rapidio数据转换装置还包括axi bram控制器,axi bram控制器的一端与axi总线连接,另一端与各转换通道的bridge模块连接。axi bram控制器用于接收处理器下发的命令并发送至各转换通道的bridge模块。具有低延时、兼容性好、传输性能高的优势。
24.该装置的数据处理流程如下:
25.处理器发起rapidio操作流程(pcie转rapidio):
26.(1)pcie ip核接收处理器发送的命令及数据并经axi总线将命令下发至axi bram控制器,将数据下发至各转换通道的dma模块;
27.(2)各转换通道的bridge模块对应读取axi bram控制器中的命令,并根据读取的命令解析具体功能后再读取dma模块中对应的数据,bridge模块将读取的pcie协议命令和数据对应解析为rapidio协议命令和数据发送至一级仲裁模块;
28.(3)一级仲裁模块接收各转换通道的rapidio协议命令和数据,并根据仲裁规则进行轮转发送数据至rapidio ip核;
29.(4)rapidio ip核接收来自一级仲裁模块的rapidio协议命令和数据,并按rapidio协议的数据格式发送至外部处理器,完成处理器发起的rapidio操作流程(即数据完成pcie转rapidio)。
30.具体地,如根据pcie和rapidio各种功能的特点将swrite、nwrite、nwrite_r、nread、doorbell功能的数据归类为a类数据流;将maintenance功能的数据归为b类数据流;将msg功能的数据归类为c类数据流,共三种模式。
31.a类数据流仲裁时,根据转换通道1、转换通道2、转换通道3、转换通道4中数据发送的模式进行判断,由于nread有响应时间要求,需要对nread进行优先处理,其余模式的数据按各通道数据流量进行仲裁处理,即a类数据流仲裁优先处理nrerad功能的数据,其次根据各转换通道中a类数据流的数据流量进行仲裁处理。
32.b类数据流仲裁时,根据转换通道1、转换通道2、转换通道3、转换通道4中b类数据流的数据流量进行仲裁处理。
33.c类数据流仲裁时,根据转换通道1、转换通道2、转换通道3、转换通道4中c类数据流的数据流量进行仲裁处理。
34.该装置包括二级仲裁:第一级仲裁为一级仲裁模块的转换通道1、转换通道2、转换通道3、转换通道4之间的仲裁;第二级仲裁为a类数据流、b类数据流、c类数据流三类数据流模式之间的仲裁,通过rapidio ip核进行仲裁处理,如简单的根据数据的功能判定仲裁顺序,其仲裁顺序为:a类数据流>c类数据流>b类数据流。具体地,如转换通道1发起a类数据流、转换通道2发起b类数据流、转换通道3发起a类数据流、转换通道4发起c类数据流。其中,转换通道1中a类数据流的流量大于转换通道3中a类数据流的流量。
35.当处理器同时对各转换通道发起操作时,仲裁流程如下:
36.(1)转换通道1及转换通道3中的a类数据流对应的命令和数据会发送到一级仲裁
模块,根据转换通道内的数据量,一级仲裁模块先输出转换通道1中的命令和数据;
37.(2)转换通道2中的b类数据流的命令和数据会发送到一级仲裁模块,且4个转换通道中只有转换通道2有b类数据流,一级仲裁模块输出转换通道2中的命令和数据;
38.(3)转换通道4中的c类数据流的命令和数据会发送到一级仲裁模块,且4个转换通道中只有转换通道4有c类数据流,一级仲裁模块输出转换通道4中的命令和数据;
39.(4)当rapidio ip核接收到a、b、c三类数据流时会根据内部仲裁顺序,首先处理a类数据流;然后处理c类数据流;最后处理b类数据流。
40.其中,(1)、(2)、(3)同步进行,无先后顺序。
41.所以,当处理器同时对各转换通道发起以上操作时,最终一级仲裁模块的仲裁输出结果为:首先输出转换通道1中的a类数据流;其次输出转换通道3中的a类数据流;然后输出转换通道4中的c类数据流;最后处理转换通道2中的b类数据流。关于多通道轮转仲裁的仲裁逻辑可基于现有技术,如参考专利cn202404581u《优先级可调多通道dma控制器》。需要说明的是,同一转换通道还可包括多种数据流模式,仲裁流程根据每个转换通道三类数据流模式的数据流量进行仲裁处理,且转换通道的数量还可根据实际需求进行调整。
42.处理器接收rapidio操作流程(rapidio转pcie):
43.(1)pcie ip核接收处理器发送的命令并经axi总线将命令下发至axi bram控制器;
44.(2)rapidio ip核将接收的rapidio协议数据解析为rapidio协议命令,并将rapidio协议命令和数据发送至一级仲裁模块;
45.(3)一级仲裁模块根据rapidio协议命令中的地址和id,选择对应转换通道的bridge模块进行rapidio协议命令和数据的接收,如在接收数据时一级仲裁模块完成a、b、c三类数据流的分发,根据rapidio协议命令中的地址和id分发rapidio协议数据至对应转换通道的bridge模块;
46.(4)各bridge模块读取axi bram控制器中的命令,并将接收到的rapidio协议命令和数据解析为pcie协议命令和数据发送至dma模块;
47.(5)各dma模块根据对应接收的bridge模块的pcie协议命令将pcie协议数据写入到处理器的内存,完成处理器接收rapidio操作流程(即数据完成rapidio转pcie)。
48.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
49.以上所述实施例仅表达了本技术描述较为具体和详细的实施例,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://doc.8miu.com/read-1249981.html

最新回复(0)