CN104133793B - 长距离PCIe延长系统及数据发送方法 - Google Patents
长距离PCIe延长系统及数据发送方法 Download PDFInfo
- Publication number
- CN104133793B CN104133793B CN201410275519.0A CN201410275519A CN104133793B CN 104133793 B CN104133793 B CN 104133793B CN 201410275519 A CN201410275519 A CN 201410275519A CN 104133793 B CN104133793 B CN 104133793B
- Authority
- CN
- China
- Prior art keywords
- pcie
- equipment end
- end interface
- host
- order
- 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.)
- Active
Links
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种长距离PCIe延长系统及其数据传输方法,所述长距离PCIe延长系统包括:主机端接口装置、延长线、设备端接口装置;所述主机端接口装置根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,所述设备端接口装置根据接收到的命令伪装成主机,所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据。通过本发明的上述长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。
Description
技术领域
本发明涉及一种PCIe的延长系统及其数据发送方法,特别是有关于一种长距离的PCIe的延长系统及其数据发送方法。
背景技术
目前,有很多主机采用PCIe总线与PCIe设备进行通信。由于PCIe总线的抗衰减能力较弱,仅适合短距离传输。但对于某些特殊的领域,需要将主机与PCIe设备长距离分开,从而避免主机暴露在恶劣的工作环境或为了保密要求。
当主机与PCIe设备距离较远时,需要采用PCIe延长系统来实现PCIe总线的延长。现有的PCIe延长系统的一种方式,是采用短距离PCIe延长线,如通过USB3.0cable进行延长的PCIe延长线。但这些PCIe延长线仍然存在距离不够长的缺点。现有的PCIe延长系统的另一种方式,是通过FPGA进行协议转换,达到PCIe设备延长的目的,但这种方式存在着设计复杂、成本过高等缺点。
发明内容
本发明为了解决上述问题,设计了一种长距离PCIe延长系统及其数据发送方法。
实现上述目的本发明的技术方案为:
一种长距离PCIe延长系统,其特征在于,包括:主机端接口装置、延长线、设备端接口装置;
所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式发送到所述设备端接口装置;
所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息发送到所述主机端接口装置,所述设备端接口装置还根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述主机端接口装置和所述设备端接口装置为嵌入式装置。
一种主机端接口装置,应用于长距离PCIe延长系统中,其特征在于,
所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置按照自定义格式经延长线发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式经延长线发送到设备端接口装置;
所述配置信息为所述设备端接口装置的PCIe插槽中插入的PCIe设备的配置信息,所述发送到设备端接口装置的命令使得所述设备端接口装置伪装成主机,按照PCIe设备的协议规范向所述PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述主机端接口装置为嵌入式装置。
一种设备端接口装置,应用于长距离PCIe延长系统中,其特征在于,
所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息按照自定义格式经延长线发送到主机端接口装置,
所述设备端接口装置还用于接收所述主机端接口装置发送的命令,所述命令为所述主机端接口装置根据配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析的主机发送的命令,所述主机端接口装置将所述命令通过延长线采用自定义格式发送到所述设备端接口装置;
所述设备端接口装置还用于根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述设备端接口装置为嵌入式装置。
一种长距离PCIe延长系统的数据传输方法,其特征在于,包括以下步骤:
主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置;
主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延长线,发送到设备端接口装置,若此命令是一笔发送数据的命令,也会将相关的数据一起发送到设备端接口装置;
设备端接口装置接收到此命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令;
PCIe设备接收到命令后,根据命令接收或者发送数据,执行完此命令后,会向设备端接口装置返回命令执行结果;
设备端接口装置按照PCIe设备的协议规范进行解析,然后将这些命令执行结果按照自定义格式发送到主机端接口装置,若是读取数据,同时将读取到的数据发送到主机端接口装置;
主机端接口装置接收命令执行结果,若是读取数据,则将收到的数据存放到主机指定的缓冲区,并按照PCIe设备的协议规范,告知主机命令执行结果,如果是读取数据,则向主机发送所述数据。
本发明的长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。
附图说明
图1是本发明较佳实施例中的长距离PCIe延长系统的结构示意图;
图2是本发明较佳实施例中的长距离PCIe延长系统的初始化流程图;
图3是本发明较佳实施例中的长距离PCIe延长系统的数据交互流程图。
具体实施方式
下面结合附图对本发明进行具体描述。
图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为两套嵌入式系统。
图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进行初始化。
图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,而延长线仅作为数据传递的物理链路。
通过本发明的上述长距离PCIe的延长系统及其数据发送方法,采用嵌入式系统,不需要采用FPGA对PCIe协议进行转换,具有设计简便,成本低,而且适合长距离传输的有益效果。
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
Claims (10)
1.一种长距离PCIe延长系统,其特征在于,包括:主机端接口装置、延长线、设备端接口装置;
所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式发送到所述设备端接口装置;
所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息发送到所述主机端接口装置,所述设备端接口装置还根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述主机端接口装置和所述设备端接口装置为嵌入式装置;
所述主机端接口装置还用于按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽;
进行数据传输时,主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置;主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延长线,发送到设备端接口装置;设备端接口装置接收到此命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令。
2.根据权利要求1所述的系统,其特征在于,所述主机端接口装置和所述设备端接口装置分别进行上电初始化;
所述设备端接口装置还用于响应所述主机端接口装置发送的查询命令,向主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则将所述PCIe设备的配置信息,回传给主机端接口装置。
3.根据权利要求1所述的系统,其特征在于,所述延长线为光纤或以太网网线。
4.一种主机端接口装置,应用于长距离PCIe延长系统中,其特征在于,
所述主机端接口装置插入到主机的PCIe插槽中,根据设备端接口装置按照自定义格式经延长线发送的PCIe设备的配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析主机发送的命令,并将接收到的命令,或者命令和数据通过自定义格式经延长线发送到设备端接口装置;
所述配置信息为所述设备端接口装置的PCIe插槽中插入的PCIe设备的配置信息,所述发送到设备端接口装置的命令使得所述设备端接口装置伪装成主机,按照PCIe设备的协议规范向所述PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述主机端接口装置为嵌入式装置;
所述主机端接口装置还用于在上电初始化后,按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽;
进行数据传输时,主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置;主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延长线,发送到设备端接口装置。
5.根据权利要求4所述的装置,其特征在于,
所述主机端接口装置接收所述设备端接口装置反馈的查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则所述主机端接口装置还接收所述设备端接口装置反馈的所述PCIe设备的配置信息。
6.一种设备端接口装置,应用于长距离PCIe延长系统中,其特征在于,
所述设备端接口装置具有PCIe插槽,PCIe设备插入到所述设备端接口装置的PCIe插槽中,所述设备端接口装置将所述PCIe设备的配置信息按照自定义格式经延长线发送到主机端接口装置,
所述设备端接口装置还用于接收所述主机端接口装置发送的命令,所述命令为所述主机端接口装置根据配置信息伪装成PCIe设备,按照PCIe设备的协议规范接收并解析的主机发送的命令,所述主机端接口装置将所述命令通过延长线采用自定义格式发送到所述设备端接口装置;
所述设备端接口装置还用于根据接收到的命令伪装成主机,按照PCIe设备的协议规范向PCIe设备发送命令,或者命令和数据;
所述延长线为高速连接线,用于在所述主机端接口装置和所述设备端接口装置之间根据自定义格式收发数据;
所述设备端接口装置为嵌入式装置;
所述设备端接口装置还用于在上电初始化后,按照自定义的协议格式,接收主机端接口装置发送的探测是否有PCIe设备插到设备端接口装置的PCIe插槽的查询命令;
进行数据传输时,设备端接口装置接收到主机发来的命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令。
7.根据权利要求6所述的装置,其特征在于,
所述设备端接口装置还用于响应所述主机端接口装置发送的查询命令,向所述主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则所述设备端接口装置还向所述主机端接口装置反馈所述PCIe设备的配置信息。
8.一种长距离PCIe延长系统的数据传输方法,其特征在于,包括以下步骤:
主机准备要发送的数据或分配用于接收数据的缓冲区,然后将命令发送到主机端接口装置;
主机端接口装置按照PCIe设备的协议规范解析此命令,并依据此命令,按照自定义格式经延长线,发送到设备端接口装置,若此命令是一笔发送数据的命令,也会将相关的数据一起发送到设备端接口装置;
设备端接口装置接收到此命令后,会解析此命令或将数据存放到设备端接口装置为此命令分配的缓冲区,并根据此命令伪装成主机的驱动行为,向PCIe设备发送此命令;
PCIe设备接收到命令后,根据命令接收或者发送数据,执行完此命令后,会向设备端接口装置返回命令执行结果;
设备端接口装置按照PCIe设备的协议规范进行解析,然后将这些命令执行结果按照自定义格式发送到主机端接口装置,若是读取数据,同时将读取到的数据发送到主机端接口装置;
主机端接口装置接收命令执行结果,若是读取数据,则将收到的数据存放到主机指定的缓冲区,并按照PCIe设备的协议规范,告知主机命令执行结果,如果是读取数据,则向主机发送所述数据;
该方法还包括:主机端接口装置和设备端接口装置分别进行上电初始化,PCIe设备插入到所述设备端接口装置的PCIe插槽中,主机端接口装置插入到主机的PCIe插槽,按照自定义的协议格式,向设备端接口装置发送查询命令,探测是否有PCIe设备插到设备端接口装置的PCIe插槽
其中,所述主机端接口装置和所述设备端接口装置为嵌入式装置。
9.根据权利要求8所述的方法,其特征在于,在上述步骤前,还有以下初始化步骤:
设备端接口装置响应所述主机端接口装置发送的查询命令,向主机端接口装置反馈查询结果,如果有PCIe设备插到设备端接口装置的PCIe插槽,则将所述PCIe设备的配置信息回传给主机端接口装置。
10.根据权利要求8所述的方法,其特征在于,所述延长线为光纤或以太网网线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410275519.0A CN104133793B (zh) | 2014-06-18 | 2014-06-18 | 长距离PCIe延长系统及数据发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410275519.0A CN104133793B (zh) | 2014-06-18 | 2014-06-18 | 长距离PCIe延长系统及数据发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133793A CN104133793A (zh) | 2014-11-05 |
CN104133793B true CN104133793B (zh) | 2018-03-09 |
Family
ID=51806473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410275519.0A Active CN104133793B (zh) | 2014-06-18 | 2014-06-18 | 长距离PCIe延长系统及数据发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133793B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234262A (zh) * | 2017-12-28 | 2018-06-29 | 中国电子科技集团公司第三十研究所 | 一种基于光纤传输的数据总线延长装置及方法 |
CN109240967A (zh) * | 2018-09-19 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种参数配置的方法和控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599927A (zh) * | 2009-07-17 | 2009-12-09 | 威盛电子股份有限公司 | 高速串行链路系统 |
CN102510344A (zh) * | 2011-11-23 | 2012-06-20 | 华为技术有限公司 | 机柜服务器系统 |
CN102769238A (zh) * | 2011-05-06 | 2012-11-07 | 成都联星微电子有限公司 | 一种通信电缆的延长方法 |
CN202889405U (zh) * | 2012-10-19 | 2013-04-17 | 上海联影医疗科技有限公司 | PCIe接口的延长系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110167190A1 (en) * | 2008-09-02 | 2011-07-07 | Hung-Ming Lin | Apparatus and method for distant bus extended system |
-
2014
- 2014-06-18 CN CN201410275519.0A patent/CN104133793B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599927A (zh) * | 2009-07-17 | 2009-12-09 | 威盛电子股份有限公司 | 高速串行链路系统 |
CN102769238A (zh) * | 2011-05-06 | 2012-11-07 | 成都联星微电子有限公司 | 一种通信电缆的延长方法 |
CN102510344A (zh) * | 2011-11-23 | 2012-06-20 | 华为技术有限公司 | 机柜服务器系统 |
CN202889405U (zh) * | 2012-10-19 | 2013-04-17 | 上海联影医疗科技有限公司 | PCIe接口的延长系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104133793A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200241888A1 (en) | Method and apparatus for plug and play, networkable iso 18000-7 connectivity | |
US8856388B2 (en) | Method and apparatus for connecting USB devices to a computer | |
CN104410557A (zh) | 一种基于rs-485的动态组网方法及通讯方法 | |
CN103885918A (zh) | 延长通用串行总线传输距离的装置 | |
CN104133793B (zh) | 长距离PCIe延长系统及数据发送方法 | |
CN103984662A (zh) | 一种读、写数据的方法及设备、存储系统 | |
CN202617155U (zh) | 多主机rs485通信装置 | |
CN103716092A (zh) | 一种总线型网络中双向光纤通信的组网系统及通信方法 | |
CN103051738B (zh) | 一种dhcp地址分配方法和系统 | |
CN205320103U (zh) | 多接口通信组网系统 | |
CN104038550A (zh) | 数据通信方法及其装置、存储系统 | |
CN104023037A (zh) | 一种低系统开销的rapidio数据传输方法 | |
CN101316416B (zh) | 双卡双待手机芯片通信系统及通信方法 | |
US8996737B1 (en) | Method for emulating communication standards of transceiver modules for native host devices | |
CN105117183A (zh) | 一种适用于ios系统的打印方法和装置 | |
CN105337757A (zh) | 线卡管理方法及系统 | |
CN104363269A (zh) | 一种通过fc链路传输、接收nas数据的方法及装置 | |
CN104899164A (zh) | 集成电路总线的地址寻址方法、集成电路总线设备和系统 | |
EP2802179A1 (en) | Concurrent activation and data exchange with multiple NFC-A devices | |
CN103777070B (zh) | 具i2c总线竞争机制的机架式电表的通信方法 | |
CN206524838U (zh) | 一种低功耗onu终端 | |
CN104360969A (zh) | 支持大数据传输的现场无线组网系统 | |
US20130031230A1 (en) | Method and system for managing network elements | |
CN103139621A (zh) | 一种可插入功能扩展卡的机顶盒 | |
CN103858091A (zh) | 一种存储设备的管理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |