一种基于AXI总线传输数据的方法、装置及系统.pdf

上传人:a*** 文档编号:4561213 上传时间:2018-10-20 格式:PDF 页数:16 大小:5.28MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310277499.6

申请日:

2013.07.03

公开号:

CN104281548A

公开日:

2015.01.14

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 13/38申请公布日:20150114|||实质审查的生效IPC(主分类):G06F 13/38申请日:20130703|||公开

IPC分类号:

G06F13/38

主分类号:

G06F13/38

申请人:

炬芯(珠海)科技有限公司

发明人:

吴虹政

地址:

519085 广东省珠海市唐家湾镇高新区科技四路1号1#厂房一层C区

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司 11291

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明公开了一种基于高级可扩展接口AXI总线传输数据的方法、装置及系统,在基于AXI总线传输数据时,将AXI总线支持的数据通过PCIe总线传输,也就是在设备中,将AXI总线支持的数据转为PCIe总线支持的传输数据,通过PCIe总线在设备之间传输后,再将PCIe总线支持的传输数据转换为AXI总线支持的数据。由于PCIe总线在设备之间传输数据时,只有四根通过交流耦合的互联线以及完全独立的另外五根直流耦合的互联线传输AXI总线的准备信号,所以减少了用AXI总线传输数据的互联线数量。又由于PCIe总线是高速串行的点对点双通道高带宽的总线,其传输数据效率不低于AXI总线,所以不会影响AXI总线所传输数据的传输效率。

权利要求书

权利要求书
1.  一种基于高级可扩展接口AXI总线传输数据的方法,其特征在于,该方法包括:
发送设备将AXI总线支持的数据转为高速的局部总线的标准PCIe总线支持的传输数据;
发送设备将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
接收设备接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。

2.  如权利要求1所述的方法,其特征在于,该方法还包括:接收设备采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备。

3.  如权利要求1所述的方法,其特征在于,所述将AXI总线支持的数据转换为PCIe总线支持的传输数据为:
在发送设备中设置多个异步先进先出FIFO通道、应用层状态机及出口RP,所设置的异步FIFO通道接收AXI总线支持的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行的内部数据后,设置的应用层状态机将该内部数据进行PCIe总线协议层TLP打包,该PCIe总线TLP包携带所述AXI支持的不同类型的数据及该数据的地址信息。

4.  如权利要求1、2或3所述的方法,其特征在于,所述将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备为:
PCIe总线有四根互联线,分别为两根差分输出互联线,TxN和TxP,以及两根差分输入互联线,RxN和RxP,采用输出与输入两两分别交流耦合,发送设备的出口RP将PCIe总线TLP包经过TxN和TxP,交流耦合到RxN和RxP,传输给接收设备设置的入口EP。

5.  如权利要求3所述的方法,其特征在于,所述接收PCIe总线支持的传输数据,转换为AXI总线支持的数据的过程为:
接收设备的EP将接收的PCIe总线TLP包发送给接收设备设置的应用 层状态机,该应用层状态机根据PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将AXI总线支持的数据转换为AXI总线支持的数据。

6.  如权利要求5所述的方法,其特征在于,所述发送设备为主设备,接收设备为从设备,所述AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;
或者所述发送设备为从设备,接收设备为主设备,所述AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。

7.  一种基于高级可扩展接口AXI总线传输数据的系统,其特征在于,包括发送设备及接收设备,其中,
发送设备,用于将AXI总线支持的数据转为高速的局部总线的标准PCIe总线支持的传输数据;将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
接收设备,用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。

8.  如权利要求7所述的系统,其特征在于,接收设备还用于采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备。

9.  如权利要求7所述的系统,其特征在于,所述发送设备,具体用于设置多个异步先进先出FIFO通道、应用层状态机及出口RP,将AXI总线支持的数据转为PCIe总线支持的传输数据,所设置的异步FIFO通道接收AXI总线的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行内部数据后,设置的应用层状态机将该内部数据进行PCIe总线协议层TLP打包后,该PCIe总线TLP包携带所述AXI支持的不同类型的数据及该数据的地址信息。

10.  如权利要求7、8或9所述的系统,其特征在于,所述发送设备, 具体用于将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备,PCIe总线有四根互联线,分别为两根差分输出互联线,TxN和TxP,以及两根差分输入互联线,RxN和RxP,采用输出与输入两两分别交流耦合,RP将PCIe总线TLP包经过TxN和TxP,输出与输入两两分别交流耦合到RxN和RxP,传输给接收设备设置的入口EP。

11.  如权利要求10所述的系统,其特征在于,所述接收设备,具体用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据,EP将接收的PCIe总线TLP包发送给设置的应用层状态机,该应用层状态机根据PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将AXI总线支持的数据转换为AXI总线支持的数据。

12.  如权利要求11所述的系统,其特征在于,所述发送设备为主设备,接收设备为从设备,所述AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;
或者所述发送设备为从设备,接收设备为主设备,所述AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。

13.  一种基于高级可扩展接口AXI总线传输数据的装置,其特征在于,包括:多条异步先进先出FIFO通道、第一应用层状态机、第二应用层状态机及出入口,其中,
多条异步FIFO通道,用于分别接收AXI总线的不同类型数据,转换为串行内部数据,发送第一应用层状态机,或者从第二应用层状态机接收对应的不同类型数据后,转换为AXI总线支持的数据;
第一应用层状态机,用于将从多条异步FIFO通道接收的串行内部数据进行高速的局部总线的标准PCIe总线协议层TLP打包后,该PCIe总线TLP包携带不同类型的数据及该数据的地址信息,传输给出入口;
第二应用层状态机,用于将从出入口接收的PCIe总线TLP包,根据该 PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道;
出入口,用于将从第一应用层状态机接收的PCIe总线TLP包发送;将所接收的PCIe总线TLP包发送给第二应用层状态机。

14.  如权利要求13所述的装置,其特征在于,还包括AXI总线模块,用于采用五根直流耦合的互联线将AXI总线的准备信号发送。

说明书

说明书一种基于AXI总线传输数据的方法、装置及系统
技术领域
本发明涉及片上系统(SoC)领域,特别涉及一种基于高级可扩展接口(AXI,Advanced eXtensible Interface)总线传输数据的方法、装置及系统。
背景技术
AXI总线是一种高性能、高带宽及低延迟的芯片内总线。它的地址/控制信息和数据传输所采用的传输通道是分离的,支持不对齐的数据传输,同时在突发传输中,只需要数据的首地址就可以传输数据,同时分离读写数据传输通道、并支持显著传输访问和乱序访问。
在设备之间传输数据时,可以采用AXI总线实现。图1为现有技术设备之间基于64位AXI总线传输数据的示意图,如图所示,基于AXI总线传输数据时,在主设备和从设备之间进行,在主设备和从设备分别建立不同类型的传输通道,实现读数据和写数据。具体地,在主设备和从设备之间建立写地址传输通道、写数据传输通道和写响应传输通道,写地址传输通道由56根互联线连接主设备和从设备,用于主设备将写数据信息的写地址信息传输给从设备,写数据传输通道由151根互联线连接主设备和从设备,用于主设备将写数据信息传输给从设备,从设备将接收到的写数据信息写入相应的写地址下,写响应传输通道由8根互联线连接主设备和从设备,用于从设备将写数据信息写入相应的写地址后,反馈写入状态响应给主设备。在主设备和从设备之间建立读地址传输通道和读数据传输通道,读地址传输通道由56根互联线连接主设备和从设备,用于主设备将要读取数据的读地址信息发送给从设备,读数据传输通道由137根互联线连接主设备和从设备,用于从设备根据将读地址信息对应的数据发送给主设备。
在图1中,对于每个传输通道,分别有一条互联线传输数据的准备(ready)信号,用于在每个传输通道要发送或接收数据时,接收设备告知发送设备其准备好了。
采用AXI总线传输数据有三点不足:
第一:采用AXI总线传输数据实现了地址/控制信息所采用传输通道和数据传输所采用传输通道的分离,但导致了主设备和从设备之间的互联线数量很大。如图1所述,对于128位的AXI,其互联线数量超过400根,这给芯片的封装及在印刷线路板(PCB)的布线造成困难,工程技术上不易实施。
第二:采用AXI总线传输数据存在数据传输不对齐的情况。在传输数据时,由于时钟频率的限制,要求互联线间数据不对齐的时间间隔(skew)很小,比如,当时钟频率为1Ghz时,则互联线传输数据的时钟周期为1ns,则互联线之间的不对齐的时间间隔要远远小于1ns,才能使得读数据传输通道或写数据传输通道中的多根互联线在一个时钟周期内都正确传输数据。如图2所示的互联线所传输数据的不对齐的时间间隔时序示意图,对于数量很大的互联线在实现数据传输时,工程技术上很难满足。
第三:采用AXI总线传输数据时没有检错机制,如果传输过程中由于时序或其他原因导致数据传输错误,则接收设备无法确认。
可以看出,造成采用AXI总线传输数据不易实施的最主要原因就是采用的互联线数量大,在印刷电路板PCB布线且在一个时钟周期内进行数据传输时,工程技术上实施就很困难。为了解决这个问题,就需要将互联线数量减少。实现主设备和从设备之间的互联线数量少的方式就是在发送设备上对数据进行并串转换,再在接收设备上对数据进行串并转换,如图3所示,图3为现有技术发送设备和接收设备之间一个传输通道传输数据的示意图,包括:在由主设备向从设备通过写数据传输通道写数据信息时,由从设备将该写传输通道的数据准备(ready)信号经过并转串转换后得到串行的ready信号,将串行的ready信号通过串行总线发送给主设备后,再进行串并转换后得到并行的ready信号解析后,根据该并行的ready信号发送基于该写数 据传输通道的各个互联线的并行的数据有效(data VALID)信号,该dataVALID信号携带的为要传输的数据有效信号,该并行的data VALID信号经过并串转换得到串行的data VALID信号,通过串行总线发送给从设备,经过串并转换后,得到并行的data VALID信号,写入到相应的写地址下。这样,由于串并数据转换技术及串行总线的引入,就可以大幅减少写数据传输通道的互联线。按照这种方法,也可以大幅减少读数据传输通道的互联线。但是,由于在传输数据时,写数据传输通道在一个并行周期和一个串行周期内ready信号与data VALID信号的传输都要完成,在该并行周期内就要完成该写数据传输通道所有互联线的ready信号的并串转换与串并转换,data VALID信号的并串转换与串并转换,且ready信号与data VALID信号还不是实时信号,这就使得设置的并行时钟周期很长才能满足需要,最终导致AXI总线并行时钟的频率降低,传输数据效率变低,降低了AXI总线传输数据的效率。
发明内容
有鉴于此,本发明提供一种基于AXI总线传输数据的方法、该方法能够在不影响AXI总线传输数据效率的前提下,减少主设备和从设备之间的互联线数量。
本发明还提供一种基于AXI总线传输数据的装置,该装置能够在不影响AXI总线传输数据效率的前提下,减少主设备和从设备之间的互联线数量。
本发明还提供一种基于AXI总线传输数据的系统,该系统能够在不影响AXI总线传输数据效率的前提下,减少主设备和从设备之间的互联线数量。
为了达到上述发明目的,本发明实施的技术方案是这样实现的:
一种基于高级可扩展接口AXI总线传输数据的方法,该方法包括:
发送设备将AXI总线支持的数据转为PCIe总线支持的传输数据;
发送设备将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
接收设备接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。
该方法还包括:接收设备采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备。
所述将AXI总线支持的数据转换为PCIe总线支持的传输数据为:
在发送设备中设置多个异步先进先出FIFO通道、应用层状态机及出口RP,所设置的异步FIFO通道接收AXI总线支持的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行的内部数据后,设置的应用层状态机将该内部数据进行PCIe总线协议层TLP打包,该PCIe总线TLP包携带所述AXI支持的不同类型的数据及该数据的地址信息。
所述将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备为:
PCIe总线有四根互联线,分别为两根差分输出互联线,TxN和TxP,以及两根差分输入互联线,RxN和RxP,采用输出与输入两两分别交流耦合,发送设备的出口RP将PCIe总线TLP包经过TxN和TxP,交流耦合到RxN和RxP,传输给接收设备设置的入口EP。
所述接收PCIe总线支持的传输数据,转换为AXI总线支持的数据的过程为:
接收设备的EP将接收的PCIe总线TLP包发送给接收设备设置的应用层状态机,该应用层状态机根据PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将AXI总线支持的数据转换为AXI总线支持的数据。
所述发送设备为主设备,接收设备为从设备,所述AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;
或者所述发送设备为从设备,接收设备为主设备,所述AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。
一种基于高级可扩展接口AXI总线传输数据的系统,包括发送设备及接收设备,其中,
发送设备,用于将AXI总线支持的数据转为PCIe总线支持的传输数据;将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
接收设备,用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。
接收设备还用于采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备。
所述发送设备,具体用于设置多个异步先进先出FIFO通道、应用层状态机及出口RP,将AXI总线支持的数据转为PCIe总线支持的传输数据,所设置的FIFO通道接收AXI总线的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行内部数据后,设置的应用层状态机将该内部数据进行PCIe总线协议层TLP打包后,该PCIe总线TLP包携带所述AXI支持的不同类型的数据及该数据的地址信息。
所述发送设备,具体用于将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备,PCIe总线有四根互联线,分别为两根差分输出互联线,TxN和TxP,以及两根差分输入互联线,RxN和RxP,采用输出与输入两两分别交流耦合,RP将PCIe总线TLP包经过TxN和TxP,输出与输入两两分别交流耦合到RxN和RxP,传输给接收设备设置的EP。
所述接收设备,具体用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据,EP将接收的PCIe总线TLP包发送给设置的应用层状态机,该应用层状态机根据PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将AXI总线支持的数据转换为AXI总线支持的数 据。
所述发送设备为主设备,接收设备为从设备,所述AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;
或者所述发送设备为从设备,接收设备为主设备,所述AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。
一种基于高级可扩展接口AXI总线传输数据的装置,包括:多条异步先进先出FIFO通道、第一应用层状态机、第二应用层状态机及出入口,其中,
多条异步FIFO通道,用于分别接收AXI总线的不同类型数据,转换为串行内部数据,发送第一应用层状态机,或者从第二应用层状态机接收对应的不同类型数据后,转换为AXI总线支持的数据;
第一应用层状态机,用于将从多条异步FIFO通道接收的串行内部数据进行PCIe总线TLP打包后,该PCIe总线协议层TLP包携带不同类型的数据及该数据的地址信息,传输给出入口;
第二应用层状态机,用于将从出入口接收的PCIe总线TLP包,根据该PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道;
出入口,用于将从第一应用层状态机接收的PCIe总线TLP包发送;将所接收的PCIe总线TLP包发送给第二应用层状态机。
还包括AXI总线模块,用于采用五根直流耦合的互联线将AXI总线的准备信号发送。
所述出入口中出口为RP,入口为EP。
由上述方案可以看出,本发明在基于AXI总线传输数据时,将AXI总线支持的数据通过PCIe总线传输,也就是在设备中,将AXI总线支持的数据转为高速的局部总线的标准(PCIe)总线支持的传输数据,通过PCIe总 线在设备之间传输后,再将PCIe总线支持的传输数据转换为AXI总线支持的数据。由于PCIe总线在设备之间传输数据时,只有四根通过交流耦合的互联线以及完全独立的另外五根直流耦合的互联线传输AXI总线的准备信号,所以减少了AXI总线传输数据的互联线数量。又由于PCIe总线是高速串行的点对点双通道高带宽的总线,其传输数据效率不低于AXI总线,所以不会影响AXI总线所传输数据的传输效率。
附图说明
图1为现有技术设备之间基于64位AXI总线传输数据的示意图;
图2为现有技术的互联线所传输数据的不对齐数据的时间间隔时序示意图;
图3为现有技术发送设备和接收设备之间一个传输通道传输数据的示意图;
图4为本发明实施例提供的基于AXI总线传输数据的方法流程图;
图5为本发明实施例提供的基于AXI总线传输数据的系统结构示意图;
图6为本发明实施例提供的基于AXI总线传输数据的装置结构示意图;
图7为采用本发明的主设备和从设备之间传输数据的结构示意图;
图8为本发明实施例提供的第一应用层状态机的状态转移流程图;
图9为本发明实施例提供的异步FIFO通道读取AIX总线的不同类型数据,并转换为内部数据的方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明为了在不影响AXI总线传输数据效率的前提下,减少主设备和从设备之间的互联线数量,使得采用AXI总线传输数据易于实施,在基于AXI总线传输数据时,将AXI总线支持的数据通过PCIe总线传输,也就是 在设备中,将AXI总线支持的数据转为PCIe总线支持的传输数据,通过PCIe总线在设备之间传输后,再将PCIe总线支持的传输数据转换为AXI总线支持的数据。由于PCIe总线在设备之间传输数据时,只有四根通过交流耦合的互联线以及完全独立的另外五根互联线传输AXI总线的准备信号,所以减少了AXI总线传输数据的互联线数量。又由于PCIe总线是高速串行的点对点双通道高带宽的总线,其传输数据效率不低于AXI总线,所以不会影响AXI总线所传输数据的传输效率。
图4为本发明实施例提供的基于AXI总线传输数据的方法流程图,其具体步骤为:
步骤401、发送设备将AXI总线支持的数据转为PCIe总线支持的传输数据;
步骤402、发送设备将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
步骤403、接收设备接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。
在图4执行步骤401之前,该方法还包括:发送设备和接收设备的AXI总线之间设置有五根直流耦合的互联线,接收设备采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备,告知发送设备其准备接收数据。五根直流耦合的互连线分别对应了AXI总线的写地址传输通道、写数据传输通道、写响应传输通道、读地址传输通道和读数据传输通道,分别作为各个数据传输通道的准备信号。
在图4所述的步骤401中,发送设备将AXI总线支持的数据转换为PCIe总线支持的传输数据的过程为:
在发送设备中设置多个异步先进先出(FIFO)通道,设置应用层状态机及出口(RP,Root Port),所设置的FIFO通道接收AXI总线的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行内部数据后,设置的应用层状态机将该串行内部数据进行PCIe总线处理层协议(TLP)打 包后,该PCIe总线TLP包携带不同类型的数据及该数据的地址信息,传输给发送设备的RP发送。
在图4所述的步骤402中,发送设备将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备的过程为:
PCIe总线有四根互联线,分别为两根差分输出互联线(TxN和TxP)以及两根差分输入互联线(RxN和RxP),采用输出与输入两两分别交流耦合方式互联,发送设备的RP将PCIe总线TLP包经过TxN和TxP,交流耦合到RxN和RxP,传输给接收设备设置的入口(EP,End Port)。
在图4所述的步骤403中,接收设备接收PCIe总线支持的传输数据,转换为AXI总线支持的数据的过程为:
接收设备的EP将接收的PCIe总线TLP包发送给设置的应用层状态机,该应用层状态机根据PCIe TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将数据转换为AXI总线支持的数据。
在本发明实施例中,发送设备可以为主设备或从设备,其中,当发送设备为主设备时,其AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;当发送设备为从设备时,其AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。
图5为本发明实施例提供的基于AXI总线传输数据的系统结构示意图,包括发送设备及接收设备,其中,
发送设备,用于将AXI总线支持的数据转为PCIe总线支持的传输数据;将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备;
接收设备,用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据。
在该系统中,发送设备,具体用于设置多个异步先进先出FIFO通道、应用层状态机及出口RP,将AXI总线支持的数据转为PCIe总线支持的传 输数据,所设置的FIFO通道接收AXI总线的不同类型的数据,AXI总线支持的数据经过异步FIFO通道转换为串行内部数据后,设置的应用层状态机将该内部数据进行PCIe总线TLP打包后,该PCIe总线TLP包携带不同类型的数据及该数据的地址信息,传输给发送设备的RP发送。
在该系统中,接收设备,具体用于采用五根直流耦合的互联线将AXI总线的准备信号发送给发送设备,在图6中,标识为5根带箭头的直线。
在该系统中,发送设备,具体用于将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给接收设备,PCIe总线有四根互联线,分别为两根差分输出互联线,TxN和TxP,以及两根差分输入互联线,RxN和RxP,采用输出与输入两两分别交流耦合,RP将PCIe总线TLP包经过发送设备的TxN和TxP,输出与输入两两分别交流耦合到接收设备的RxN和RxP,传输给接收设备设置的EP。
在该系统中,接收设备,具体用于接收PCIe总线支持的传输数据,转换为AXI总线支持的数据,EP将接收的PCIe总线TLP包发送给设置的应用层状态机,该应用层状态机根据PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道,通过对应的异步FIFO通道将数据转换为AXI总线支持的数据。
在该系统中,所述发送设备为主设备或从设备,其中,当发送设备为主设备时,其AXI总线的不同类型的数据包括:写地址信息、写数据信息及读地址信息,分别接入不同的异步FIFO通道;当发送设备为从设备时,其AXI总线的不同类型的数据包括:写响应信息及读数据信息,分别接入不同的异步FIFO通道。
图6为本发明实施例提供的基于AXI总线传输数据的装置结构示意图,该装置既可以作为发送设备也可以作为接收设备,包括:多条异步FIFO通道、第一应用层状态机、第二应用层状态机及出入口,其中,
多条异步FIFO通道,只处理AXI总线的准备信号之外的AXI总线数据,用于分别接收AXI总线的不同类型数据,转换为串行内部数据,发送第一 应用层状态机,或者从第二应用层状态机接收对应的不同类型数据后,转换为AXI总线支持的数据;
第一应用层状态机,用于将从多条异步FIFO通道接收的串行内部数据进行PCIe总线TLP打包后,该PCIe总线TLP包携带不同类型的数据及该数据的地址信息,传输给出入口;
第二应用层状态机,用于将从出入口接收的PCIe总线TLP包,根据该PCIe总线TLP包标识的地址信息,将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步FIFO通道;
出入口,用于将从第一应用层状态机接收的PCIe总线TLP包发送;将所接收的PCIe总线TLP包发送给第二应用层状态机。
在装置中,还包括AXI总线模块,用于采用五根直流耦合的互联线将AXI总线的准备信号发送。
在该装置中,出口为RP,入口为EP。
在本发明中,涉及到了状态机,对于主设备,其作为发送设备时,具有RP的第一应用层状态机,其作为接收设备时,具有RP的第二应用层状态机,对于从设备,其作为发送设备时,具有EP的第一应用层状态机,其作为接收设备时,具有EP的第二应用层状态机。具体地采用本发明的主设备和从设备之间传输数据的结构示意图如图7所示。
在本发明中,状态机在处理AXI总线的不同类型数据时,进行不同的状态转移。以主设备的第一应用层状态机及第二应用层状态机为例,进行状态机的状态转移说明。
图8为本发明实施例提供的第一应用层状态机的状态转移流程图。其具体步骤为:
步骤801、对主设备和从设备之间的PCIe总线复位;
步骤802、主设备和从设备之间的PCIe总线建立连接;
步骤803、对主设备的PCIe总线的RP进行配置;
步骤804、对从设备的PCIe总线的EP进行配置;
步骤805、主设备确定是否配置完成,如果是,执行步骤806;如果否,则返回步骤804继续执行;
步骤806、主设备的RP采用PCIe的存储器写动作,通知从设备的EP发送读数据信息及写响应信息,将所接收的读数据信息及写响应信息寄存后分别发送给两个异步的FIFO通道,转换为AIX总线的数据;
步骤807、主设备的RP从三个异步的FIFO通道中分别读取写数据信息、写地址信息及读地址信息,发送给从设备的EP;
步骤808、主设备的RP判断是否传输正常,如果否,结束本流程;如果是,则返回步骤807继续执行。
图9为本发明实施例提供的异步FIFO通道读取AIX总线的不同类型数据,并转换为串行内部数据的方法流程图,其具体步骤为:
步骤901、主设备读取AIX总线的写地址信息的第一FIFO通道的空标志位;
步骤902、判断第一FIFO通道的空标志位是否为非空,如果是,则执行步骤907;如果否,则执行步骤903;
步骤903、主设备读取AIX总线的写数据信息的第二FIFO通道的空标志位;
步骤904、判断第二FIFO通道的空标志位是否为非空,如果是,则执行步骤907;如果否,则执行步骤905;
步骤905、主设备读取AIX总线的读地址信息的第三FIFO通道的空标志位;
步骤906、判断第三FIFO通道的空标志位是否为非空,如果是,则执行步骤907;如果否,返回执行步骤901;
在本步骤中,实现三个FIFO通道的遍历判断;
步骤907、提取第一FIFO通道中的写地址信息、第二FIFO通道中的写数据信息或第三FIFO通道中的读地址信息后,转换为PCIe总线TLP包;
步骤908、传输该PCIe总线TLP包;
步骤909、主设备判断是否传输正常,如果否,则结束,如果是,则执行步骤910;
步骤910、主设备判断要处理的下一个AIX总线的数据是否为写数据通道,如果是,执行步骤903;如果否,则转入执行步骤911;
步骤911、主设备判断要处理的下一个AIX总线的数据是否为读地址通道,如果是,执行步骤905;如果否,则转入执行步骤912;
步骤912、主设备判断要处理的下一个AIX总线的数据是否为写地址通道,如果是,执行步骤901;如果否,则转入执行步骤913;
步骤913、主设备报错后,结束本流程。
采用本发明,主设备和从设备之间的互联线只有9根,即TxP、TxN、RxP和RxN,设备之间的互联线通过交流耦合方式互联,以及完全独立的另外五根直流耦合的互联线传输AXI总线的准备信号。可以看出,与基于AIX总线在主设备和从设备之间传输数据需要400根互联线相比,大大减少了互联线数量,克服了AXI总线传输数据的第一点不足。同时,由于只有四根交流耦合互联线以及完全独立的另外五根直流耦合的互联线传输AXI总线的准备信号,在PCB板上布线简单,降低成本和布线难度,克服了AXI总线传输数据的第二点不足。在设备之间采用PCIe总线传输数据,由于PCIe总线本身含有循环冗余校验(CRC)功能,如果设备之间传输数据由于强干扰导致出错可以实现在设备连接层自动报错重传,克服了AXI总线传输数据的第三点不足。
更进一步地,在设备中采用了异步FIFO通道转换AXI总线,实现了数据的有效信号和数据的准备信号隔离,使得AXI总线的时钟频率不会降低。
以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种基于AXI总线传输数据的方法、装置及系统.pdf_第1页
第1页 / 共16页
一种基于AXI总线传输数据的方法、装置及系统.pdf_第2页
第2页 / 共16页
一种基于AXI总线传输数据的方法、装置及系统.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种基于AXI总线传输数据的方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于AXI总线传输数据的方法、装置及系统.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104281548 A (43)申请公布日 2015.01.14 CN 104281548 A (21)申请号 201310277499.6 (22)申请日 2013.07.03 G06F 13/38(2006.01) (71)申请人 炬芯 (珠海) 科技有限公司 地址 519085 广东省珠海市唐家湾镇高新区 科技四路 1 号 1# 厂房一层 C 区 (72)发明人 吴虹政 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 黄志华 (54) 发明名称 一种基于 AXI 总线传输数据的方法、 装置及 系统 (57) 摘要 本发明公开了一种基。

2、于高级可扩展接口 AXI 总线传输数据的方法、 装置及系统, 在基于 AXI 总 线传输数据时, 将 AXI 总线支持的数据通过 PCIe 总线传输, 也就是在设备中, 将 AXI 总线支持的数 据转为PCIe总线支持的传输数据, 通过PCIe总线 在设备之间传输后, 再将 PCIe 总线支持的传输数 据转换为AXI 总线支持的数据。 由于 PCIe总线在 设备之间传输数据时, 只有四根通过交流耦合的 互联线以及完全独立的另外五根直流耦合的互联 线传输AXI总线的准备信号, 所以减少了用AXI总 线传输数据的互联线数量。 又由于PCIe总线是高 速串行的点对点双通道高带宽的总线, 其传输数 据。

3、效率不低于AXI总线, 所以不会影响AXI总线所 传输数据的传输效率。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图5页 (10)申请公布号 CN 104281548 A CN 104281548 A 1/2 页 2 1. 一种基于高级可扩展接口 AXI 总线传输数据的方法, 其特征在于, 该方法包括 : 发送设备将 AXI 总线支持的数据转为高速的局部总线的标准 PCIe 总线支持的传输数 据 ; 发送设备将 PCIe 总线支持的传输数据通过 PCIe 总线在设备之间传输。

4、给接收设备 ; 接收设备接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据。 2. 如权利要求 1 所述的方法, 其特征在于, 该方法还包括 : 接收设备采用五根直流耦合 的互联线将 AXI 总线的准备信号发送给发送设备。 3. 如权利要求 1 所述的方法, 其特征在于, 所述将 AXI 总线支持的数据转换为 PCIe 总 线支持的传输数据为 : 在发送设备中设置多个异步先进先出 FIFO 通道、 应用层状态机及出口 RP, 所设置的异 步 FIFO 通道接收 AXI 总线支持的不同类型的数据, AXI 总线支持的数据经过异步 FIFO 通 道转换为串行的内部数据后, 设置的。

5、应用层状态机将该内部数据进行 PCIe 总线协议层 TLP 打包, 该 PCIe 总线 TLP 包携带所述 AXI 支持的不同类型的数据及该数据的地址信息。 4. 如权利要求 1、 2 或 3 所述的方法, 其特征在于, 所述将 PCIe 总线支持的传输数据通 过 PCIe 总线在设备之间传输给接收设备为 : PCIe 总线有四根互联线, 分别为两根差分输出互联线, TxN 和 TxP, 以及两根差分输入 互联线, RxN 和 RxP, 采用输出与输入两两分别交流耦合, 发送设备的出口 RP 将 PCIe 总线 TLP 包经过 TxN 和 TxP, 交流耦合到 RxN 和 RxP, 传输给接收。

6、设备设置的入口 EP。 5.如权利要求3所述的方法, 其特征在于, 所述接收PCIe总线支持的传输数据, 转换为 AXI 总线支持的数据的过程为 : 接收设备的 EP 将接收的 PCIe 总线 TLP 包发送给接收设备设置的应用层状态机, 该应 用层状态机根据 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类型数 据分别传输到所设置的对应的异步 FIFO 通道, 通过对应的异步 FIFO 通道将 AXI 总线支持 的数据转换为 AXI 总线支持的数据。 6. 如权利要求 5 所述的方法, 其特征在于, 所述发送设备为主设备, 接收设备为从设 备, 所述 A。

7、XI 总线的不同类型的数据包括 : 写地址信息、 写数据信息及读地址信息, 分别接 入不同的异步 FIFO 通道 ; 或者所述发送设备为从设备, 接收设备为主设备, 所述 AXI 总线的不同类型的数据包 括 : 写响应信息及读数据信息, 分别接入不同的异步 FIFO 通道。 7. 一种基于高级可扩展接口 AXI 总线传输数据的系统, 其特征在于, 包括发送设备及 接收设备, 其中, 发送设备, 用于将AXI总线支持的数据转为高速的局部总线的标准PCIe总线支持的传 输数据 ; 将 PCIe 总线支持的传输数据通过 PCIe 总线在设备之间传输给接收设备 ; 接收设备, 用于接收 PCIe 总线。

8、支持的传输数据, 转换为 AXI 总线支持的数据。 8. 如权利要求 7 所述的系统, 其特征在于, 接收设备还用于采用五根直流耦合的互联 线将 AXI 总线的准备信号发送给发送设备。 9. 如权利要求 7 所述的系统, 其特征在于, 所述发送设备, 具体用于设置多个异步先进 先出FIFO通道、 应用层状态机及出口RP, 将AXI总线支持的数据转为PCIe总线支持的传输 数据, 所设置的异步 FIFO 通道接收 AXI 总线的不同类型的数据, AXI 总线支持的数据经过 权 利 要 求 书 CN 104281548 A 2 2/2 页 3 异步 FIFO 通道转换为串行内部数据后, 设置的应用。

9、层状态机将该内部数据进行 PCIe 总线 协议层 TLP 打包后, 该 PCIe 总线 TLP 包携带所述 AXI 支持的不同类型的数据及该数据的地 址信息。 10. 如权利要求 7、 8 或 9 所述的系统, 其特征在于, 所述发送设备, 具体用于将 PCIe 总 线支持的传输数据通过 PCIe 总线在设备之间传输给接收设备, PCIe 总线有四根互联线, 分 别为两根差分输出互联线, TxN和TxP, 以及两根差分输入互联线, RxN和RxP, 采用输出与输 入两两分别交流耦合, RP 将 PCIe 总线 TLP 包经过 TxN 和 TxP, 输出与输入两两分别交流耦 合到 RxN 和 R。

10、xP, 传输给接收设备设置的入口 EP。 11.如权利要求10所述的系统, 其特征在于, 所述接收设备, 具体用于接收PCIe总线支 持的传输数据, 转换为 AXI 总线支持的数据, EP 将接收的 PCIe 总线 TLP 包发送给设置的应 用层状态机, 该应用层状态机根据 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携 带的不同类型数据分别传输到所设置的对应的异步 FIFO 通道, 通过对应的异步 FIFO 通道 将 AXI 总线支持的数据转换为 AXI 总线支持的数据。 12. 如权利要求 11 所述的系统, 其特征在于, 所述发送设备为主设备, 接收设备为从。

11、设 备, 所述 AXI 总线的不同类型的数据包括 : 写地址信息、 写数据信息及读地址信息, 分别接 入不同的异步 FIFO 通道 ; 或者所述发送设备为从设备, 接收设备为主设备, 所述 AXI 总线的不同类型的数据包 括 : 写响应信息及读数据信息, 分别接入不同的异步 FIFO 通道。 13. 一种基于高级可扩展接口 AXI 总线传输数据的装置, 其特征在于, 包括 : 多条异步 先进先出 FIFO 通道、 第一应用层状态机、 第二应用层状态机及出入口, 其中, 多条异步 FIFO 通道, 用于分别接收 AXI 总线的不同类型数据, 转换为串行内部数据, 发送第一应用层状态机, 或者从第。

12、二应用层状态机接收对应的不同类型数据后, 转换为 AXI 总线支持的数据 ; 第一应用层状态机, 用于将从多条异步 FIFO 通道接收的串行内部数据进行高速的局 部总线的标准 PCIe 总线协议层 TLP 打包后, 该 PCIe 总线 TLP 包携带不同类型的数据及该 数据的地址信息, 传输给出入口 ; 第二应用层状态机, 用于将从出入口接收的 PCIe 总线 TLP 包, 根据该 PCIe 总线 TLP 包 标识的地址信息, 将PCIe总线TLP包携带的不同类型数据分别传输到所设置的对应的异步 FIFO 通道 ; 出入口, 用于将从第一应用层状态机接收的PCIe总线TLP包发送 ; 将所接收。

13、的PCIe总 线 TLP 包发送给第二应用层状态机。 14. 如权利要求 13 所述的装置, 其特征在于, 还包括 AXI 总线模块, 用于采用五根直流 耦合的互联线将 AXI 总线的准备信号发送。 权 利 要 求 书 CN 104281548 A 3 1/8 页 4 一种基于 AXI 总线传输数据的方法、 装置及系统 技术领域 0001 本发明涉及片上系统 (SoC)领域, 特别涉及一种基于高级可扩展接口 (AXI, Advanced eXtensible Interface) 总线传输数据的方法、 装置及系统。 背景技术 0002 AXI总线是一种高性能、 高带宽及低延迟的芯片内总线。 它。

14、的地址/控制信息和数 据传输所采用的传输通道是分离的, 支持不对齐的数据传输, 同时在突发传输中, 只需要数 据的首地址就可以传输数据, 同时分离读写数据传输通道、 并支持显著传输访问和乱序访 问。 0003 在设备之间传输数据时, 可以采用 AXI 总线实现。图 1 为现有技术设备之间基于 64 位 AXI 总线传输数据的示意图, 如图所示, 基于 AXI 总线传输数据时, 在主设备和从设备 之间进行, 在主设备和从设备分别建立不同类型的传输通道, 实现读数据和写数据。具体 地, 在主设备和从设备之间建立写地址传输通道、 写数据传输通道和写响应传输通道, 写地 址传输通道由 56 根互联线连。

15、接主设备和从设备, 用于主设备将写数据信息的写地址信息 传输给从设备, 写数据传输通道由 151 根互联线连接主设备和从设备, 用于主设备将写数 据信息传输给从设备, 从设备将接收到的写数据信息写入相应的写地址下, 写响应传输通 道由 8 根互联线连接主设备和从设备, 用于从设备将写数据信息写入相应的写地址后, 反 馈写入状态响应给主设备。在主设备和从设备之间建立读地址传输通道和读数据传输通 道, 读地址传输通道由 56 根互联线连接主设备和从设备, 用于主设备将要读取数据的读地 址信息发送给从设备, 读数据传输通道由 137 根互联线连接主设备和从设备, 用于从设备 根据将读地址信息对应的数。

16、据发送给主设备。 0004 在图 1 中, 对于每个传输通道, 分别有一条互联线传输数据的准备 (ready) 信号, 用于在每个传输通道要发送或接收数据时, 接收设备告知发送设备其准备好了。 0005 采用 AXI 总线传输数据有三点不足 : 0006 第一 : 采用 AXI 总线传输数据实现了地址 / 控制信息所采用传输通道和数据传输 所采用传输通道的分离, 但导致了主设备和从设备之间的互联线数量很大。如图 1 所述, 对 于 128 位的 AXI, 其互联线数量超过 400 根, 这给芯片的封装及在印刷线路板 (PCB) 的布线 造成困难, 工程技术上不易实施。 0007 第二 : 采用。

17、 AXI 总线传输数据存在数据传输不对齐的情况。在传输数据时, 由于 时钟频率的限制, 要求互联线间数据不对齐的时间间隔 (skew) 很小, 比如, 当时钟频率为 1Ghz 时, 则互联线传输数据的时钟周期为 1ns, 则互联线之间的不对齐的时间间隔要远远 小于 1ns, 才能使得读数据传输通道或写数据传输通道中的多根互联线在一个时钟周期内 都正确传输数据。如图 2 所示的互联线所传输数据的不对齐的时间间隔时序示意图, 对于 数量很大的互联线在实现数据传输时, 工程技术上很难满足。 0008 第三 : 采用 AXI 总线传输数据时没有检错机制, 如果传输过程中由于时序或其他 原因导致数据传输。

18、错误, 则接收设备无法确认。 说 明 书 CN 104281548 A 4 2/8 页 5 0009 可以看出, 造成采用 AXI 总线传输数据不易实施的最主要原因就是采用的互联线 数量大, 在印刷电路板 PCB 布线且在一个时钟周期内进行数据传输时, 工程技术上实施就 很困难。为了解决这个问题, 就需要将互联线数量减少。实现主设备和从设备之间的互联 线数量少的方式就是在发送设备上对数据进行并串转换, 再在接收设备上对数据进行串并 转换, 如图 3 所示, 图 3 为现有技术发送设备和接收设备之间一个传输通道传输数据的示 意图, 包括 : 在由主设备向从设备通过写数据传输通道写数据信息时, 由。

19、从设备将该写传输 通道的数据准备 (ready) 信号经过并转串转换后得到串行的 ready 信号, 将串行的 ready 信号通过串行总线发送给主设备后, 再进行串并转换后得到并行的 ready 信号解析后, 根 据该并行的 ready 信号发送基于该写数据传输通道的各个互联线的并行的数据有效 (data VALID) 信号, 该 dataVALID 信号携带的为要传输的数据有效信号, 该并行的 data VALID 信 号经过并串转换得到串行的 data VALID 信号, 通过串行总线发送给从设备, 经过串并转换 后, 得到并行的 data VALID 信号, 写入到相应的写地址下。这样。

20、, 由于串并数据转换技术及 串行总线的引入, 就可以大幅减少写数据传输通道的互联线。 按照这种方法, 也可以大幅减 少读数据传输通道的互联线。 但是, 由于在传输数据时, 写数据传输通道在一个并行周期和 一个串行周期内ready信号与data VALID信号的传输都要完成, 在该并行周期内就要完成 该写数据传输通道所有互联线的 ready 信号的并串转换与串并转换, data VALID 信号的并 串转换与串并转换, 且 ready 信号与 data VALID 信号还不是实时信号, 这就使得设置的并 行时钟周期很长才能满足需要, 最终导致 AXI 总线并行时钟的频率降低, 传输数据效率变 低。

21、, 降低了 AXI 总线传输数据的效率。 发明内容 0010 有鉴于此, 本发明提供一种基于 AXI 总线传输数据的方法、 该方法能够在不影响 AXI 总线传输数据效率的前提下, 减少主设备和从设备之间的互联线数量。 0011 本发明还提供一种基于 AXI 总线传输数据的装置, 该装置能够在不影响 AXI 总线 传输数据效率的前提下, 减少主设备和从设备之间的互联线数量。 0012 本发明还提供一种基于 AXI 总线传输数据的系统, 该系统能够在不影响 AXI 总线 传输数据效率的前提下, 减少主设备和从设备之间的互联线数量。 0013 为了达到上述发明目的, 本发明实施的技术方案是这样实现的。

22、 : 0014 一种基于高级可扩展接口 AXI 总线传输数据的方法, 该方法包括 : 0015 发送设备将 AXI 总线支持的数据转为 PCIe 总线支持的传输数据 ; 0016 发送设备将 PCIe 总线支持的传输数据通过 PCIe 总线在设备之间传输给接收设 备 ; 0017 接收设备接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据。 0018 该方法还包括 : 接收设备采用五根直流耦合的互联线将 AXI 总线的准备信号发送 给发送设备。 0019 所述将 AXI 总线支持的数据转换为 PCIe 总线支持的传输数据为 : 0020 在发送设备中设置多个异步先进先出 FI。

23、FO 通道、 应用层状态机及出口 RP, 所设置 的异步 FIFO 通道接收 AXI 总线支持的不同类型的数据, AXI 总线支持的数据经过异步 FIFO 通道转换为串行的内部数据后, 设置的应用层状态机将该内部数据进行 PCIe 总线协议层 说 明 书 CN 104281548 A 5 3/8 页 6 TLP 打包, 该 PCIe 总线 TLP 包携带所述 AXI 支持的不同类型的数据及该数据的地址信息。 0021 所述将 PCIe 总线支持的传输数据通过 PCIe 总线在设备之间传输给接收设备为 : 0022 PCIe 总线有四根互联线, 分别为两根差分输出互联线, TxN 和 TxP, 。

24、以及两根差分 输入互联线, RxN 和 RxP, 采用输出与输入两两分别交流耦合, 发送设备的出口 RP 将 PCIe 总 线 TLP 包经过 TxN 和 TxP, 交流耦合到 RxN 和 RxP, 传输给接收设备设置的入口 EP。 0023 所述接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据的过程为 : 0024 接收设备的 EP 将接收的 PCIe 总线 TLP 包发送给接收设备设置的应用层状态机, 该应用层状态机根据 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类 型数据分别传输到所设置的对应的异步 FIFO 通道, 通过对应。

25、的异步 FIFO 通道将 AXI 总线 支持的数据转换为 AXI 总线支持的数据。 0025 所述发送设备为主设备, 接收设备为从设备, 所述 AXI 总线的不同类型的数据包 括 : 写地址信息、 写数据信息及读地址信息, 分别接入不同的异步 FIFO 通道 ; 0026 或者所述发送设备为从设备, 接收设备为主设备, 所述 AXI 总线的不同类型的数 据包括 : 写响应信息及读数据信息, 分别接入不同的异步 FIFO 通道。 0027 一种基于高级可扩展接口 AXI 总线传输数据的系统, 包括发送设备及接收设备, 其中, 0028 发送设备, 用于将AXI总线支持的数据转为PCIe总线支持的。

26、传输数据 ; 将PCIe总 线支持的传输数据通过 PCIe 总线在设备之间传输给接收设备 ; 0029 接收设备, 用于接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据。 0030 接收设备还用于采用五根直流耦合的互联线将 AXI 总线的准备信号发送给发送 设备。 0031 所述发送设备, 具体用于设置多个异步先进先出 FIFO 通道、 应用层状态机及出口 RP, 将 AXI 总线支持的数据转为 PCIe 总线支持的传输数据, 所设置的 FIFO 通道接收 AXI 总 线的不同类型的数据, AXI 总线支持的数据经过异步 FIFO 通道转换为串行内部数据后, 设 置的应用层。

27、状态机将该内部数据进行 PCIe 总线协议层 TLP 打包后, 该 PCIe 总线 TLP 包携 带所述 AXI 支持的不同类型的数据及该数据的地址信息。 0032 所述发送设备, 具体用于将 PCIe 总线支持的传输数据通过 PCIe 总线在设备之间 传输给接收设备, PCIe 总线有四根互联线, 分别为两根差分输出互联线, TxN 和 TxP, 以及两 根差分输入互联线, RxN 和 RxP, 采用输出与输入两两分别交流耦合, RP 将 PCIe 总线 TLP 包 经过 TxN 和 TxP, 输出与输入两两分别交流耦合到 RxN 和 RxP, 传输给接收设备设置的 EP。 0033 所述接。

28、收设备, 具体用于接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的 数据, EP 将接收的 PCIe 总线 TLP 包发送给设置的应用层状态机, 该应用层状态机根据 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类型数据分别传输到所设置的 对应的异步 FIFO 通道, 通过对应的异步 FIFO 通道将 AXI 总线支持的数据转换为 AXI 总线 支持的数据。 0034 所述发送设备为主设备, 接收设备为从设备, 所述 AXI 总线的不同类型的数据包 括 : 写地址信息、 写数据信息及读地址信息, 分别接入不同的异步 FIFO 通道 ; 00。

29、35 或者所述发送设备为从设备, 接收设备为主设备, 所述 AXI 总线的不同类型的数 据包括 : 写响应信息及读数据信息, 分别接入不同的异步 FIFO 通道。 说 明 书 CN 104281548 A 6 4/8 页 7 0036 一种基于高级可扩展接口 AXI 总线传输数据的装置, 包括 : 多条异步先进先出 FIFO 通道、 第一应用层状态机、 第二应用层状态机及出入口, 其中, 0037 多条异步 FIFO 通道, 用于分别接收 AXI 总线的不同类型数据, 转换为串行内部数 据, 发送第一应用层状态机, 或者从第二应用层状态机接收对应的不同类型数据后, 转换为 AXI 总线支持的数。

30、据 ; 0038 第一应用层状态机, 用于将从多条异步 FIFO 通道接收的串行内部数据进行 PCIe 总线 TLP 打包后, 该 PCIe 总线协议层 TLP 包携带不同类型的数据及该数据的地址信息, 传 输给出入口 ; 0039 第二应用层状态机, 用于将从出入口接收的 PCIe 总线 TLP 包, 根据该 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类型数据分别传输到所设置的对应 的异步 FIFO 通道 ; 0040 出入口, 用于将从第一应用层状态机接收的 PCIe 总线 TLP 包发送 ; 将所接收的 PCIe 总线 TLP 包发送给第二应用层。

31、状态机。 0041 还包括 AXI 总线模块, 用于采用五根直流耦合的互联线将 AXI 总线的准备信号发 送。 0042 所述出入口中出口为 RP, 入口为 EP。 0043 由上述方案可以看出, 本发明在基于AXI总线传输数据时, 将AXI总线支持的数据 通过 PCIe 总线传输, 也就是在设备中, 将 AXI 总线支持的数据转为高速的局部总线的标准 (PCIe) 总线支持的传输数据, 通过PCIe总线在设备之间传输后, 再将PCIe总线支持的传输 数据转换为 AXI 总线支持的数据。由于 PCIe 总线在设备之间传输数据时, 只有四根通过交 流耦合的互联线以及完全独立的另外五根直流耦合的互。

32、联线传输 AXI 总线的准备信号, 所 以减少了 AXI 总线传输数据的互联线数量。又由于 PCIe 总线是高速串行的点对点双通道 高带宽的总线, 其传输数据效率不低于AXI总线, 所以不会影响AXI总线所传输数据的传输 效率。 附图说明 0044 图 1 为现有技术设备之间基于 64 位 AXI 总线传输数据的示意图 ; 0045 图 2 为现有技术的互联线所传输数据的不对齐数据的时间间隔时序示意图 ; 0046 图 3 为现有技术发送设备和接收设备之间一个传输通道传输数据的示意图 ; 0047 图 4 为本发明实施例提供的基于 AXI 总线传输数据的方法流程图 ; 0048 图 5 为本发。

33、明实施例提供的基于 AXI 总线传输数据的系统结构示意图 ; 0049 图 6 为本发明实施例提供的基于 AXI 总线传输数据的装置结构示意图 ; 0050 图 7 为采用本发明的主设备和从设备之间传输数据的结构示意图 ; 0051 图 8 为本发明实施例提供的第一应用层状态机的状态转移流程图 ; 0052 图 9 为本发明实施例提供的异步 FIFO 通道读取 AIX 总线的不同类型数据, 并转换 为内部数据的方法流程图。 具体实施方式 0053 为使本发明的目的、 技术方案及优点更加清楚明白, 以下参照附图并举实施例, 对 说 明 书 CN 104281548 A 7 5/8 页 8 本发明。

34、作进一步详细说明。 0054 本发明为了在不影响 AXI 总线传输数据效率的前提下, 减少主设备和从设备之间 的互联线数量, 使得采用 AXI 总线传输数据易于实施, 在基于 AXI 总线传输数据时, 将 AXI 总线支持的数据通过 PCIe 总线传输, 也就是在设备中, 将 AXI 总线支持的数据转为 PCIe 总 线支持的传输数据, 通过PCIe总线在设备之间传输后, 再将PCIe总线支持的传输数据转换 为 AXI 总线支持的数据。由于 PCIe 总线在设备之间传输数据时, 只有四根通过交流耦合的 互联线以及完全独立的另外五根互联线传输 AXI 总线的准备信号, 所以减少了 AXI 总线传。

35、 输数据的互联线数量。又由于 PCIe 总线是高速串行的点对点双通道高带宽的总线, 其传输 数据效率不低于 AXI 总线, 所以不会影响 AXI 总线所传输数据的传输效率。 0055 图 4 为本发明实施例提供的基于 AXI 总线传输数据的方法流程图, 其具体步骤 为 : 0056 步骤 401、 发送设备将 AXI 总线支持的数据转为 PCIe 总线支持的传输数据 ; 0057 步骤402、 发送设备将PCIe总线支持的传输数据通过PCIe总线在设备之间传输给 接收设备 ; 0058 步骤 403、 接收设备接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据。 0059 在。

36、图4执行步骤401之前, 该方法还包括 : 发送设备和接收设备的AXI总线之间设 置有五根直流耦合的互联线, 接收设备采用五根直流耦合的互联线将 AXI 总线的准备信号 发送给发送设备, 告知发送设备其准备接收数据。五根直流耦合的互连线分别对应了 AXI 总线的写地址传输通道、 写数据传输通道、 写响应传输通道、 读地址传输通道和读数据传输 通道, 分别作为各个数据传输通道的准备信号。 0060 在图 4 所述的步骤 401 中, 发送设备将 AXI 总线支持的数据转换为 PCIe 总线支持 的传输数据的过程为 : 0061 在发送设备中设置多个异步先进先出 (FIFO)通道, 设置应用层状态。

37、机及出口 (RP, Root Port) , 所设置的 FIFO 通道接收 AXI 总线的不同类型的数据, AXI 总线支持的数 据经过异步 FIFO 通道转换为串行内部数据后, 设置的应用层状态机将该串行内部数据进 行 PCIe 总线处理层协议 (TLP) 打包后, 该 PCIe 总线 TLP 包携带不同类型的数据及该数据 的地址信息, 传输给发送设备的 RP 发送。 0062 在图 4 所述的步骤 402 中, 发送设备将 PCIe 总线支持的传输数据通过 PCIe 总线 在设备之间传输给接收设备的过程为 : 0063 PCIe 总线有四根互联线, 分别为两根差分输出互联线 (TxN 和 。

38、TxP) 以及两根差分 输入互联线 (RxN 和 RxP) , 采用输出与输入两两分别交流耦合方式互联, 发送设备的 RP 将 PCIe 总线 TLP 包经过 TxN 和 TxP, 交流耦合到 RxN 和 RxP, 传输给接收设备设置的入口 (EP, End Port) 。 0064 在图 4 所述的步骤 403 中, 接收设备接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据的过程为 : 0065 接收设备的 EP 将接收的 PCIe 总线 TLP 包发送给设置的应用层状态机, 该应用层 状态机根据 PCIe TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的。

39、不同类型数据分别传 输到所设置的对应的异步 FIFO 通道, 通过对应的异步 FIFO 通道将数据转换为 AXI 总线支 持的数据。 说 明 书 CN 104281548 A 8 6/8 页 9 0066 在本发明实施例中, 发送设备可以为主设备或从设备, 其中, 当发送设备为主设备 时, 其 AXI 总线的不同类型的数据包括 : 写地址信息、 写数据信息及读地址信息, 分别接入 不同的异步 FIFO 通道 ; 当发送设备为从设备时, 其 AXI 总线的不同类型的数据包括 : 写响 应信息及读数据信息, 分别接入不同的异步 FIFO 通道。 0067 图 5 为本发明实施例提供的基于 AXI 。

40、总线传输数据的系统结构示意图, 包括发送 设备及接收设备, 其中, 0068 发送设备, 用于将AXI总线支持的数据转为PCIe总线支持的传输数据 ; 将PCIe总 线支持的传输数据通过 PCIe 总线在设备之间传输给接收设备 ; 0069 接收设备, 用于接收 PCIe 总线支持的传输数据, 转换为 AXI 总线支持的数据。 0070 在该系统中, 发送设备, 具体用于设置多个异步先进先出 FIFO 通道、 应用层状态 机及出口RP, 将AXI总线支持的数据转为PCIe总线支持的传输数据, 所设置的FIFO通道接 收 AXI 总线的不同类型的数据, AXI 总线支持的数据经过异步 FIFO 。

41、通道转换为串行内部数 据后, 设置的应用层状态机将该内部数据进行 PCIe 总线 TLP 打包后, 该 PCIe 总线 TLP 包携 带不同类型的数据及该数据的地址信息, 传输给发送设备的 RP 发送。 0071 在该系统中, 接收设备, 具体用于采用五根直流耦合的互联线将 AXI 总线的准备 信号发送给发送设备, 在图 6 中, 标识为 5 根带箭头的直线。 0072 在该系统中, 发送设备, 具体用于将PCIe总线支持的传输数据通过PCIe总线在设 备之间传输给接收设备, PCIe 总线有四根互联线, 分别为两根差分输出互联线, TxN 和 TxP, 以及两根差分输入互联线, RxN 和 。

42、RxP, 采用输出与输入两两分别交流耦合, RP 将 PCIe 总线 TLP包经过发送设备的TxN和TxP, 输出与输入两两分别交流耦合到接收设备的RxN和RxP, 传输给接收设备设置的 EP。 0073 在该系统中, 接收设备, 具体用于接收PCIe总线支持的传输数据, 转换为AXI总线 支持的数据, EP 将接收的 PCIe 总线 TLP 包发送给设置的应用层状态机, 该应用层状态机根 据 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类型数据分别传输到 所设置的对应的异步 FIFO 通道, 通过对应的异步 FIFO 通道将数据转换为 AXI 总线支持。

43、的 数据。 0074 在该系统中, 所述发送设备为主设备或从设备, 其中, 当发送设备为主设备时, 其 AXI 总线的不同类型的数据包括 : 写地址信息、 写数据信息及读地址信息, 分别接入不同的 异步 FIFO 通道 ; 当发送设备为从设备时, 其 AXI 总线的不同类型的数据包括 : 写响应信息 及读数据信息, 分别接入不同的异步 FIFO 通道。 0075 图 6 为本发明实施例提供的基于 AXI 总线传输数据的装置结构示意图, 该装置既 可以作为发送设备也可以作为接收设备, 包括 : 多条异步 FIFO 通道、 第一应用层状态机、 第 二应用层状态机及出入口, 其中, 0076 多条异。

44、步 FIFO 通道, 只处理 AXI 总线的准备信号之外的 AXI 总线数据, 用于分别 接收 AXI 总线的不同类型数据, 转换为串行内部数据, 发送第一应用层状态机, 或者从第二 应用层状态机接收对应的不同类型数据后, 转换为 AXI 总线支持的数据 ; 0077 第一应用层状态机, 用于将从多条异步 FIFO 通道接收的串行内部数据进行 PCIe 总线 TLP 打包后, 该 PCIe 总线 TLP 包携带不同类型的数据及该数据的地址信息, 传输给出 入口 ; 说 明 书 CN 104281548 A 9 7/8 页 10 0078 第二应用层状态机, 用于将从出入口接收的 PCIe 总线。

45、 TLP 包, 根据该 PCIe 总线 TLP 包标识的地址信息, 将 PCIe 总线 TLP 包携带的不同类型数据分别传输到所设置的对应 的异步 FIFO 通道 ; 0079 出入口, 用于将从第一应用层状态机接收的 PCIe 总线 TLP 包发送 ; 将所接收的 PCIe 总线 TLP 包发送给第二应用层状态机。 0080 在装置中, 还包括AXI总线模块, 用于采用五根直流耦合的互联线将AXI总线的准 备信号发送。 0081 在该装置中, 出口为 RP, 入口为 EP。 0082 在本发明中, 涉及到了状态机, 对于主设备, 其作为发送设备时, 具有 RP 的第一应 用层状态机, 其作为。

46、接收设备时, 具有 RP 的第二应用层状态机, 对于从设备, 其作为发送设 备时, 具有 EP 的第一应用层状态机, 其作为接收设备时, 具有 EP 的第二应用层状态机。具 体地采用本发明的主设备和从设备之间传输数据的结构示意图如图 7 所示。 0083 在本发明中, 状态机在处理 AXI 总线的不同类型数据时, 进行不同的状态转移。以 主设备的第一应用层状态机及第二应用层状态机为例, 进行状态机的状态转移说明。 0084 图 8 为本发明实施例提供的第一应用层状态机的状态转移流程图。其具体步骤 为 : 0085 步骤 801、 对主设备和从设备之间的 PCIe 总线复位 ; 0086 步骤 。

47、802、 主设备和从设备之间的 PCIe 总线建立连接 ; 0087 步骤 803、 对主设备的 PCIe 总线的 RP 进行配置 ; 0088 步骤 804、 对从设备的 PCIe 总线的 EP 进行配置 ; 0089 步骤 805、 主设备确定是否配置完成, 如果是, 执行步骤 806 ; 如果否, 则返回步骤 804 继续执行 ; 0090 步骤806、 主设备的RP采用PCIe的存储器写动作, 通知从设备的EP发送读数据信 息及写响应信息, 将所接收的读数据信息及写响应信息寄存后分别发送给两个异步的 FIFO 通道, 转换为 AIX 总线的数据 ; 0091 步骤 807、 主设备的 。

48、RP 从三个异步的 FIFO 通道中分别读取写数据信息、 写地址信 息及读地址信息, 发送给从设备的 EP ; 0092 步骤 808、 主设备的 RP 判断是否传输正常, 如果否, 结束本流程 ; 如果是, 则返回步 骤 807 继续执行。 0093 图 9 为本发明实施例提供的异步 FIFO 通道读取 AIX 总线的不同类型数据, 并转换 为串行内部数据的方法流程图, 其具体步骤为 : 0094 步骤 901、 主设备读取 AIX 总线的写地址信息的第一 FIFO 通道的空标志位 ; 0095 步骤902、 判断第一FIFO通道的空标志位是否为非空, 如果是, 则执行步骤907 ; 如 果。

49、否, 则执行步骤 903 ; 0096 步骤 903、 主设备读取 AIX 总线的写数据信息的第二 FIFO 通道的空标志位 ; 0097 步骤904、 判断第二FIFO通道的空标志位是否为非空, 如果是, 则执行步骤907 ; 如 果否, 则执行步骤 905 ; 0098 步骤 905、 主设备读取 AIX 总线的读地址信息的第三 FIFO 通道的空标志位 ; 0099 步骤906、 判断第三FIFO通道的空标志位是否为非空, 如果是, 则执行步骤907 ; 如 说 明 书 CN 104281548 A 10 8/8 页 11 果否, 返回执行步骤 901 ; 0100 在本步骤中, 实现三个 FIFO 通道的遍历判断 ; 0101 步骤 907、 提取第一 FIFO 通道中的写地址信息、 第二 FIFO 通道中的写数据信息或 第三 FIFO 通道中的读地址信息后, 转换为 PCIe。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1