长距离PCIe延长系统及数据发送方法

文档序号:6550133阅读:264来源:国知局
长距离PCIe延长系统及数据发送方法
【专利摘要】本发明公开了一种长距离PCIe延长系统及其数据传输方法,所述长距离PCIe延长系统包括:主机端接口装置、延长线、设备端接口装置;所述主机端接口装置根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,所述设备端接口装置根据接收到的命令伪装成主机,所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据。通过本发明的上述长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。
【专利说明】长距离PCIe延长系统及数据发送方法

【技术领域】
[0001]本发明涉及一种PCIe的延长系统及其数据发送方法,特别是有关于一种长距离的PCIe的延长系统及其数据发送方法。

【背景技术】
[0002]目前,有很多主机采用PCIe总线与PCIe设备进行通信。由于PCIe总线的抗衰减能力较弱,仅适合短距离传输。但对于某些特殊的领域,需要将主机与PCIe设备长距离分开,从而避免主机暴露在恶劣的工作环境或为了保密要求。
[0003]当主机与PCIe设备距离较远时,需要采用PCIe延长系统来实现PCIe总线的延长。现有的PCIe延长系统的一种方式,是采用短距离PCIe延长线,如通过USB3.0cable进行延长的PCIe延长线。但这些PCIe延长线仍然存在距离不够长的缺点。现有的PCIe延长系统的另一种方式,是通过FPGA进行协议转换,达到PCIe设备延长的目的,但这种方式存在着设计复杂、成本过高等缺点。


【发明内容】

[0004]本发明为了解决上述问题,设计了一种长距离PCIe延长系统及其数据发送方法。
[0005]实现上述目的本发明的技术方案为:
[0006]一种长距离PCIe延长系统,其特征在于,包括:主机端接口装置、延长线、设备端接口装置;
[0007]所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式发送到所述设备端接口装置;
[0008]所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息发送到所述主机端接口装置,所述设备端接口装置还根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
[0009]所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
[0010]所述主机端接口装置和所述设备端接口装置为嵌入式装置。
[0011 ] 一种主机端接口装置,应用于长距离PCIe延长系统中,其特征在于,
[0012]所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置按照自定义格式经延长线发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式经延长线发送到设备端接口装置;
[0013]所述配置信息为所述设备端接口装置的PCIe插槽中插入的PCIe设备的配置信息,所述发送到设备端接口装置的命令使得所述设备端接口装置伪装成主机,按照PCIe设备的协议规范向所述PCIe设备发送命令,或者命令和数据;
[0014]所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
[0015]所述主机端接口装置为嵌入式装置。
[0016]一种设备端接口装置,应用于长距离PCIe延长系统中,其特征在于,
[0017]所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息按照自定义格式经延长线发送到主机端接口装置,
[0018]所述设备端接口装置还用于接收所述主机端接口装置发送的命令,所述命令为所述主机端接口装置根据配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析的主机发送的命令,所述主机端接口装置将所述命令通过延长线采用自定义格式发送到所述设备端接口装置;
[0019]所述设备端接口装置还用于根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
[0020]所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
[0021 ] 所述设备端接口装置为嵌入式装置。
[0022]一种长距离PCIe延长系统的数据传输方法,其特征在于,包括以下步骤:
[0023]主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置;
[0024]主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延长线,发送到设备端接口装置,若此命令是一笔发送数据的命令,也会将相关的数据一起发送到设备端接口装置;
[0025]设备端接口装置接收到此命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令;
[0026]PCIe设备接收到命令后,根据命令接收或者发送数据,执行完此命令后,会向设备端接口装置返回命令执行结果;
[0027]设备端接口装置按照PCIe设备的协议规范进行解析,然后将这些命令执行结果按照自定义格式发送到主机端接口装置,若是读取数据,同时将读取到的数据发送到主机端接口装置;
[0028]主机端接口装置接收命令执行结果,若是读取数据,则将收到的数据存放到主机指定的缓冲区,并按照PCIe设备的协议规范,告知主机命令执行结果,如果是读取数据,则向主机发送所述数据。
[0029]本发明的长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。

【专利附图】

【附图说明】
[0030]图1是本发明较佳实施例中的长距离PCIe延长系统的结构示意图;
[0031]图2是本发明较佳实施例中的长距离PCIe延长系统的初始化流程图;
[0032]图3是本发明较佳实施例中的长距离PCIe延长系统的数据交互流程图。

【具体实施方式】
[0033]下面结合附图对本发明进行具体描述。
[0034]图1是本发明较佳实施例中的长距离PCIe延长系统的结构示意图。所述长距离PCIe延长系统包括:主机端接口装置102、延长线103、设备端接口装置104。所述主机端接口装置102可以插入到主机101的PCIe插槽中;所述设备端接口装置104具有PCIe插槽,PCIe设备105可以插入到所述设备端接口装置104的PCIe插槽中;所述延长线103为高速连接线,可以为光纤或以太网网线,其连接所述主机端接口装置102和所述设备端接口装置104。主机101与PCIe设备105间的数据交互通过所述主机端接口装置102、所述延长线103和所述设备端接口装置104进行传递。所述主机端接口装置102和所述设备端接口装置104为两套嵌入式系统。
[0035]图2是本发明较佳实施例中的长距离PCIe延长系统的初始化流程图。所述初始化流程为:主机端接口装置102和设备端接口装置104分别进行上电初始化,此时,PCIe设备105可以插入到所述设备端接口装置104的PCIe插槽中;主机端接口装置102插到主机101的PCIe插槽后,按照自定义的协议格式,向设备端接口装置104发送查询命令,探测是否有PCIe设备105插到设备端接口装置104的PCIe插槽;设备端接口装置104响应此命令,向主机端接口装置102反馈查询结果,如果有PCIe设备105插到设备端接口装置104的PCIe插槽,此时将此PCIe设备105的配置信息,也回传给主机端接口装置102 ;然后主机端接口装置102依照此配置信息伪装成设备端接口装置104上的PCIe设备105,报告给主机101。主机101发现有PCIe设备105连接后,会加载此PCIe设备105的驱动,对PCIe设备105进行初始化;主机端接口装置102将初始化的命令与数据记录下来,发送到设备端接口装置104 ;设备端接口装置104根据这些信息对其上的PCIe设备105进行初始化。
[0036]图3是本发明较佳实施例中的长距离PCIe延长系统的数据交互流程图。主机101与PCIe设备105间的数据交互流程为:主机101若发送数据到PCIe设备105或从PCIe设备105中读取数据,会先准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置102 ;主机端接口装置102按照PCIe设备105的协议规范解析此命令,并依据此命令,按照自己定义的格式,发送到设备端接口装置104,若此命令是一笔发送数据的命令,也会将相关的数据一起发送到设备端接口装置104 ;设备端接口装置104接收到此命令后,会解析此命令或将数据存放到设备端接口装置104为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备105发送此命令;PCIe设备105接收到命令后,根据命令接收或者发送数据,执行完此命令后,会向设备端接口装置104返回命令执行结果;设备端接口装置104按照PCIe设备105的协议规范进行解析,然后将这些命令执行结果按照自己定义的格式发送到主机端接口装置102,若是读取数据,同时将读取到的数据发送到主机端接口装置102 ;主机端接口装置102收到这些信息后,若是读取数据,则将收到的数据存放到主机指定的缓冲区,并按照PCIe设备105的协议规范,告知主机101命令执行结果,如果是读取数据,则向主机101发送读取数据。通过上述过程,就完成了一次主机101与PCIe设备105间的数据交互过程。因此,在整个系统中,对主机101而言,主机端接口装置102扮演PCIe设备105,对PCIe设备105而言,设备端接口装置104扮演主机101,而延长线仅作为数据传递的物理链路。
[0037]通过本发明的上述长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。
[0038]上述技术方案仅体现了本发明技术方案的优选技术方案,本【技术领域】的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
【权利要求】
1.一种长距离PCIe延长系统,其特征在于,包括:主机端接口装置、延长线、设备端接口装置; 所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式发送到所述设备端接口装置; 所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息发送到所述主机端接口装置,所述设备端接口装置还根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据; 所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据; 所述主机端接口装置和所述设备端接口装置为嵌入式装置。
2.根据权利要求1所述的系统,其特征在于,所述主机端接口装置和所述设备端接口装置分别进行上电初始化; 所述主机端接口装置还用于按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽; 所述设备端接口装置还用于响应所述查询命令,向主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则将所述PCIe设备的配置信息,回传给主机端接口装置。
3.根据权利要求1所述的系统,其特征在于,所述延长为光纤或以太网网线。
4.一种主机端接口装置,应用于长距离PCIe延长系统中,其特征在于, 所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置按照自定义格式经延长线发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式经延长线发送到设备端接口装置; 所述配置信息为所述设备端接口装置的PCIe插槽中插入的PCIe设备的配置信息,所述发送到设备端接口装置的命令使得所述设备端接口装置伪装成主机,按照PCIe设备的协议规范向所述PCIe设备发送命令,或者命令和数据; 所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据; 所述主机端接口装置为嵌入式装置。
5.根据权利要求4所述的装置,其特征在于,所述主机端接口装置还用于在上电初始化后,按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽; 所述主机端接口装置接收所述设备端接口装置反馈的查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则所述主机端接口装置还接收所述设备端接口装置反馈的所述PCIe设备的配置信息。
6.一种设备端接口装置,应用于长距离PCIe延长系统中,其特征在于, 所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息按照自定义格式经延长线发送到主机端接口装置, 所述设备端接口装置还用于接收所述主机端接口装置发送的命令,所述命令为所述主机端接口装置根据配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析的主机发送的命令,所述主机端接口装置将所述命令通过延长线采用自定义格式发送到所述设备端接口装置; 所述设备端接口装置还用于根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据; 所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据; 所述设备端接口装置为嵌入式装置。
7.根据权利要求6所述的系统,其特征在于,所述设备端接口装置还用于在上电初始化后,按照自定义的协议格式,接收主机端接口装置发送的探测是否有PCIe设备插到设备端接口装置的PCIe插槽的查询命令; 所述设备端接口装置还用于向所述主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则所述设备端接口装置还向所述主机端接口装置反馈所述PCIe设备的配置信息。
8.—种长距离PCIe延长系统的数据传输方法,其特征在于,包括以下步骤: 主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置; 主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延迟线,发送到设备端接口装置,若此命令是一笔发送数据的命令,也会将相关的数据一起发送到设备端接口装置; 设备端接口装置接收到此命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令; PCIe设备接收到命令后,根据命令接收或者发送数据,执行完此命令后,会向设备端接口装置返回命令执行结果; 设备端接口装置按照PCIe设备的协议规范进行解析,然后将这些命令执行结果按照自定义格式发送到主机端接口装置,若是读取数据,同时将读取到的数据发送到主机端接口装置; 主机端接口装置接收命令执行结果,若是读取数据,则将收到的数据存放到主机指定的缓冲区,并按照PCIe设备的协议规范,告知主机命令执行结果,如果是读取数据,则向主机发送所述数据。
9.根据权利要求8所述的方法,其特征在于,在上述步骤前,还有以下初始化步骤: 主机端接口装置和设备端接口装置分别进行上电初始化,PCIe设备插入到所述设备端接口装置的PCIe插槽中; 主机端接口装置插入到主机101的PCIe插槽,按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽; 设备端接口装置响应此命令,向主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则将所述PCIe设备的配置信息,回传给主机端接口装置。
10.根据权利要求8所述的方法,其特征在于,所述延长线为光纤或以太网网线。
【文档编号】G06F13/38GK104133793SQ201410275519
【公开日】2014年11月5日 申请日期:2014年6月18日 优先权日:2014年6月18日
【发明者】周新亮, 江辉, 汤金宽 申请人:长芯盛(武汉)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1