長距離PCIe延長系統及數據發送方法
2023-06-27 15:23:01 1
長距離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日
【發明者】周新亮, 江輝, 湯金寬 申請人:長芯盛(武漢)科技有限公司