一種pci-e總線接口傳輸卡及基于該傳輸卡的數(shù)據(jù)傳輸方法
【專利摘要】本發(fā)明提出一種PCI?E總線接口傳輸卡及基于該傳輸卡的數(shù)據(jù)傳輸方法。該傳輸卡包括PCI?E接口IP核、寄存器、寄存器讀寫控制模塊、TLP數(shù)據(jù)包分析模塊、發(fā)送模塊和/或接收模塊;發(fā)送模塊包括發(fā)送線路和發(fā)送DMA控制模塊,接收模塊包括接收線路和接收DMA控制模塊,發(fā)送線路、接收線路的數(shù)量均為非負整數(shù);PCI?E接口IP核與TLP數(shù)據(jù)包分析模塊通信連接,TLP數(shù)據(jù)包分析模塊第一輸出端連接發(fā)送線路輸入端,發(fā)送線路輸出端與發(fā)送線路連接,TLP數(shù)據(jù)包分析模塊第二輸出端連接寄存器讀寫控制模塊輸入端,讀寫控制模塊與寄存器雙向連接,寄存器與發(fā)送DMA控制模塊雙向連接。該傳輸卡能快速準確的進行對數(shù)據(jù)的發(fā)送與接收。
【專利說明】
一種PC 1-E總線接口傳輸卡及基于該傳輸卡的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機領(lǐng)域,具體涉及一種PC1-E總線接口傳輸卡及基于該傳輸卡的數(shù)據(jù)傳輸方法?!颈尘凹夹g(shù)】
[0002]PC1-Express是最新的總線和接口標準,通常簡稱為PC1-E,是由英特爾在2001年提出的。PC1-E屬于高速串行點對點雙通道高帶寬傳輸,所連接的設(shè)備分配獨享通道帶寬, 不共享總線帶寬,主要支持主動電源管理,錯誤報告,端對端的可靠性傳輸,熱插拔以及服務(wù)質(zhì)量(Q0S)等功能。
[0003]PC1-E采用了目前業(yè)內(nèi)流行的點對點串行連接,比起PCI以及更早期的計算機總線的共享并架構(gòu),每個設(shè)備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,達到PCI所不能提供的高帶寬。相對于傳統(tǒng)PCI總線在單一時間周期內(nèi)只能實現(xiàn)單向傳輸,PC1-E的雙單工連接能提供更高的傳輸效率和質(zhì)量,它們之間的差異跟半雙工和全雙工類似。PC1-E的主要優(yōu)勢就是數(shù)據(jù)傳輸速率高,而且還有相當(dāng)大的發(fā)展?jié)摿Α?br>[0004]但是目前PC1-E數(shù)據(jù)傳輸速度仍受傳輸卡的限制,從而導(dǎo)制在數(shù)據(jù)傳輸方面不能較好的發(fā)揮出其傳輸速率高的優(yōu)勢。
[0005]并且,在考察數(shù)據(jù)的傳輸?shù)膬?yōu)良性時,除了對數(shù)據(jù)傳輸速率的比較外,還涉及到對數(shù)據(jù)的安全性的考量。目前針對于PC1-E接口數(shù)據(jù)傳輸裝置在數(shù)據(jù)安全性上,大都是通過簡單的發(fā)送數(shù)據(jù)接口、接收數(shù)據(jù)接口、發(fā)送緩存、接收緩存以及數(shù)據(jù)命令配置接口等來實現(xiàn)對數(shù)據(jù)的傳輸以及安全性的監(jiān)控,如申請?zhí)?013106645871所公開的內(nèi)容所示。然而,在信息安全性要求越來越高的今天,這種數(shù)據(jù)傳輸裝置已經(jīng)不能滿足人們對數(shù)據(jù)安全性的高要求。
【發(fā)明內(nèi)容】
[0006]為了克服上述現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種安全性能高、能快速完整的進行數(shù)據(jù)傳輸?shù)腜C1-E總線接口傳輸卡及基于該傳輸卡的數(shù)據(jù)傳輸方法。
[0007]為了實現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種PC1-E總線接口傳輸卡,包括PC1-E接口 IP核和寄存器,還包括寄存器讀寫控制模塊、TLP數(shù)據(jù)包分析模塊、發(fā)送模塊和/或接收模塊;
[0008]所述發(fā)送模塊包括發(fā)送線路和發(fā)送DMA控制模塊,所述接收模塊包括接收線路和接收DMA控制模塊,所述發(fā)送線路、接收線路的數(shù)量均為非負整數(shù);
[0009]所述PC1-E接口 IP核與所述TLP數(shù)據(jù)包分析模塊通信連接,所述TLP數(shù)據(jù)包分析模塊第一輸出端連接所述發(fā)送線路輸入端,所述發(fā)送線路輸出端與發(fā)送線路連接,所述TLP數(shù)據(jù)包分析模塊第二輸出端連接所述寄存器讀寫控制模塊輸入端,所述讀寫控制模塊與所述寄存器雙向連接,所述寄存器與所述發(fā)送DMA控制模塊雙向連接;
[0010]所述接收線路輸入端與接收線路連接,所述接收線路輸出端連接所述接收DMA控制模塊輸入端,所述DMA控制模塊與所述寄存器雙向連接,所述接收DMA控制模塊輸出端連接至所述PC1-E接口 IP核;
[0011]數(shù)據(jù)發(fā)送時,主機先將需要發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù)長度、啟動數(shù)據(jù)發(fā)送標志的控制字寫入所述寄存器中;所述發(fā)送DMA控制模塊通過PC1-E 接口發(fā)送讀請求TLP數(shù)據(jù)包給所述TLP數(shù)據(jù)包分析模塊,所述TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包是否為讀請求TLP數(shù)據(jù)包,如果是,則所述寄存器讀寫控制模塊根據(jù)讀請求 TLP數(shù)據(jù)包中的地址讀出寄存器中的數(shù)據(jù),并向加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口再發(fā)送給所述TLP數(shù)據(jù)包分析模塊,所述TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包是否為讀完成TLP數(shù)據(jù)包,如果是,則將該讀完成TLP數(shù)據(jù)包發(fā)送至所述發(fā)送線路進行數(shù)據(jù)發(fā)送; [〇〇12]數(shù)據(jù)接收時,所述數(shù)據(jù)接收線路將接收到的數(shù)據(jù)發(fā)送至所述接收DMA控制模塊,所述接收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給所述TLP數(shù)據(jù)包分析模塊,所述 TLP數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則所述寄存器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù),并將數(shù)據(jù)寫入到地址部分指定的寄存器中,然后通過PC1-E接口寫入主機內(nèi)存。[〇〇13]通過TLP數(shù)據(jù)包分析模塊的分析判斷,能準確判斷出該傳輸卡需要執(zhí)行的是發(fā)送還是接收的任務(wù),并結(jié)合寄存器讀寫控制模塊、發(fā)送DMA控制模塊和接收DMA控制模塊使得該傳輸卡能更加快速準確的進行對數(shù)據(jù)的發(fā)送與接收。同時,由于TLP數(shù)據(jù)包分析模塊的分析判斷保證了數(shù)據(jù)的安全性,對寫請求TLP數(shù)據(jù)包、讀請求TLP數(shù)據(jù)包和讀完成TLP數(shù)據(jù)包這三種數(shù)據(jù)包的識別與處理,保證了數(shù)據(jù)的安全性。
[0014]進一步的,該傳輸卡還包括TLP數(shù)據(jù)包接收緩沖區(qū),所述TLP數(shù)據(jù)包接收緩沖區(qū)分別與所述PC1-E接口 IP核和所述TLP數(shù)據(jù)包分析模塊通信連接。TLP數(shù)據(jù)包接收緩沖區(qū)用于緩存通過PC1-E接口接收到的TLP數(shù)據(jù)包,避免了 TLP數(shù)據(jù)包的丟失,保證了接收或發(fā)送數(shù)據(jù)的完整性。
[0015]進一步的,該傳輸卡還包括第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū),所述第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與所述寄存器讀寫控制模塊和PC1-E接口 IP核通信連接,所述第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與所述發(fā)送DMA控制模塊和PC1-E接口 IP核通信連接,所述第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與所述接收DMA控制模塊和PC1-E接口 IP核通信連接。
[0016]第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)緩存對應(yīng)寄存器讀請求的讀完成TLP數(shù)據(jù)包,第二TLP 數(shù)據(jù)包發(fā)送緩沖區(qū)緩存發(fā)送DMA請求的TLP數(shù)據(jù)包,即讀請求TLP數(shù)據(jù)包,第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)緩存接收DMA請求的TLP數(shù)據(jù)包,即寫請求TLP數(shù)據(jù)包。這保證了在大量數(shù)據(jù)接收或發(fā)送時數(shù)據(jù)傳輸?shù)耐暾?,避免了?shù)據(jù)的丟失。
[0017]更進一步的,該傳輸卡還包括發(fā)送緩沖區(qū)選擇模塊,所述第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)的輸出端均連接至所述發(fā)送緩沖區(qū)選擇模塊輸入端,所述發(fā)送緩沖區(qū)選擇模塊與所述PC1-E接口 IP核通信連接;[〇〇18]所述發(fā)送緩沖區(qū)選擇模塊根據(jù)優(yōu)先級準則控制將所述第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)中的數(shù)據(jù)包傳輸?shù)絇CIE接口。 [〇〇19]優(yōu)先級準則是預(yù)先設(shè)定的準則,根據(jù)數(shù)據(jù)的發(fā)送和接收的優(yōu)先級別來選擇讀請求TLP數(shù)據(jù)包、寫請求TLP數(shù)據(jù)包和讀完成TLP數(shù)據(jù)包被送入PC1-E接口的先后順序。
[0020]進一步的,所述發(fā)送線路包括讀完成TLP數(shù)據(jù)包處理模塊、發(fā)送線路緩沖區(qū)、編碼器和發(fā)送LVDS接口;[〇〇21]所述TLP數(shù)據(jù)包分析模塊第一輸出端連接所述讀完成TLP數(shù)據(jù)包處理模塊輸入端, 所述讀完成TLP數(shù)據(jù)包處理模塊輸出端連接所述發(fā)送線路緩沖區(qū)輸入端,所述發(fā)送線路緩沖區(qū)輸出端連接所述編碼器輸入端,所述編碼器通過所述發(fā)送LVDS接口與所述發(fā)送線路連接;[〇〇22]所述讀完成TLP數(shù)據(jù)包處理模塊將讀完成TLP數(shù)據(jù)包中的數(shù)據(jù)寫入所述發(fā)送線路緩沖區(qū)中,然后由所述編碼器進行編碼并插入控制字符,再由所述發(fā)送LVDS接口對數(shù)據(jù)進行串并變換后發(fā)送至發(fā)送線路中。[〇〇23]讀完成TLP數(shù)據(jù)包處理模塊、發(fā)送線路緩沖區(qū)、編碼器和發(fā)送LVDS接口保證了數(shù)據(jù)發(fā)送過程中的完整性和保密性。
[0024]進一步的,所述接收線路包括接收LVDS接口、譯碼器和接收線路緩沖區(qū);
[0025]所述接收LVDS接口分別與接收線路和所述譯碼器連接,所述譯碼器輸出端連接所述接收線路緩沖區(qū)輸入端,所述接收線路緩沖區(qū)輸出端連接至所述接收DMA控制模塊輸入端;
[0026]所述接收LVDS接口從接收線路中接收到數(shù)據(jù),并對其進行串并變換和控制字符的檢測,控制字符檢測到后將數(shù)據(jù)發(fā)送給所述譯碼器進行數(shù)據(jù)解碼,再將解碼后的數(shù)據(jù)發(fā)送至所述接收線路緩沖區(qū)中并向所述接收DMA控制模塊發(fā)送線路數(shù)據(jù)接收標志,所述接收DMA 控制模塊在檢測到線路數(shù)據(jù)已接收的標志有效后,啟動接收DMA過程,將數(shù)據(jù)傳輸?shù)街鳈C內(nèi)存中的緩沖區(qū)中。[〇〇27]接收LVDS接口、譯碼器和接收線路緩沖區(qū)保證了數(shù)據(jù)接收過程中的完整性和準確性。
[0028]該傳輸卡具有獨立的硬件迀移控制邏輯,無0S及任何“軟”控制,自主完成數(shù)據(jù)的迀移,系統(tǒng)只負責(zé)把數(shù)據(jù)寫到該傳輸卡中的緩沖區(qū),由該傳輸卡根據(jù)硬件控制邏輯自動完成數(shù)據(jù)迀移,在該傳輸卡的兩端實現(xiàn)自動數(shù)據(jù)完整性校驗?;谠搨鬏斂ㄟM行數(shù)據(jù)傳輸,因發(fā)送設(shè)備和接收設(shè)備之間不進行基于網(wǎng)絡(luò)協(xié)議或者其他方式的數(shù)據(jù)交換和訪問,從而從硬件層面保證了發(fā)送設(shè)備和接收設(shè)備之間的安全隔離。
[0029]基于上述PIC-E總線接口傳輸卡,本發(fā)明還提出了一種數(shù)據(jù)傳輸方法。
[0030]數(shù)據(jù)傳輸過程中使用第一傳輸卡和第二傳輸卡,所述第一傳輸卡和第二傳輸卡均為所述的PC1-E總線接口傳輸卡,所述第一傳輸卡和第二傳輸卡通信連接,該數(shù)據(jù)傳輸方法包括以下步驟:
[0031] S1、數(shù)據(jù)發(fā)送時,發(fā)送設(shè)備先將發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù)長度、啟動數(shù)據(jù)發(fā)送標志的控制字寫到第一傳輸卡的發(fā)送控制寄存器中;
[0032] S2、第一傳輸卡在檢測到啟動數(shù)據(jù)發(fā)送標志有效后,判斷第一傳輸卡的發(fā)送線路是否連接,以及第一傳輸卡的發(fā)送線路緩存是否可用,若可用則啟動數(shù)據(jù)發(fā)送過程,否則等待發(fā)送線路和緩存可用;
[0033] S3、數(shù)據(jù)發(fā)送過程啟動后,開始DMA傳輸,第一傳輸卡的發(fā)送DMA控制模塊將包含讀取的數(shù)據(jù)地址和數(shù)據(jù)長度的讀請求TLP數(shù)據(jù)包通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分析模塊;
[0034]S4、第一傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包具體為讀請求TLP 數(shù)據(jù)包還是讀完成TLP數(shù)據(jù)包,如果為讀請求TLP數(shù)據(jù)包,則執(zhí)行步驟S5,如果為讀完成TLP 數(shù)據(jù)包,則執(zhí)行步驟S6;
[0035]S5、第一傳輸卡的寄存器讀寫控制模塊根據(jù)讀請求TLP數(shù)據(jù)包中的地址讀出寄存器中的數(shù)據(jù),并加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分析模塊,然后執(zhí)行步驟S4;
[0036]S6、第一傳輸卡的TLP數(shù)據(jù)包分析模塊將讀完成TLP數(shù)據(jù)包發(fā)送至第一傳輸卡的發(fā)送線路進行數(shù)據(jù)發(fā)送;
[0037]S7、所述第二傳輸卡對數(shù)據(jù)進行接收,所述第二傳輸卡的接收線路接收數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送至第二傳輸卡的接收DMA控制模塊;
[0038]S8、第二傳輸卡的接收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給第二傳輸卡的TLP數(shù)據(jù)包分析模塊;[〇〇39]S9、第二傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則執(zhí)行步驟S10;
[0040] S10、第二傳輸卡的寄存器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù), 并將數(shù)據(jù)寫入到地址部分指定的寄存器中,然后通過PC1-E接口寫入接收設(shè)備內(nèi)存。[〇〇41]該數(shù)據(jù)傳輸方法能夠快速且準確的對數(shù)據(jù)進行發(fā)送和接收,保證了數(shù)據(jù)的快速性、完整性、準確性以及安全性傳輸。
[0042]采用這種數(shù)據(jù)傳輸方法使得發(fā)送設(shè)備和接收設(shè)備的網(wǎng)絡(luò)不直接連接,阻斷了兩側(cè)網(wǎng)絡(luò)間的TCP/IP連接,使之不能進行網(wǎng)絡(luò)協(xié)議通訊,對傳遞的數(shù)據(jù)進行了單向閘閥技術(shù)控制,徹底防止數(shù)據(jù)回流。
[0043]進一步的,所述步驟S3中,在DMA傳輸之前,發(fā)送DMA控制模塊根據(jù)數(shù)據(jù)長度計算需要進行DMA傳輸?shù)拇螖?shù);
[0044]在所述步驟S7中,接收DMA控制模塊接收數(shù)據(jù)之前,接收DMA控制模塊根據(jù)數(shù)據(jù)長度計算DMA傳輸?shù)拇螖?shù)。這保證了數(shù)據(jù)能夠完整的被發(fā)送或接收,保證了數(shù)據(jù)的完整性。
[0045]進一步的,發(fā)送數(shù)據(jù)時,發(fā)送線路需對數(shù)據(jù)進行編碼以及插入對齊、開始或結(jié)束的控制字符;
[0046]數(shù)據(jù)接收時,接收線路需對數(shù)據(jù)進行控制字符的檢測和譯碼。這保證了數(shù)據(jù)的安全性和準確性。
[0047]本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到?!靖綀D說明】
[0048]本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:[〇〇49]圖1是傳輸卡結(jié)構(gòu)方框圖;
[0050]圖2是數(shù)據(jù)發(fā)送DMA流程圖;[〇〇51]圖3是線路側(cè)數(shù)據(jù)發(fā)送流程圖;
[0052]圖4是線路側(cè)數(shù)據(jù)接收流程圖;[〇〇53]圖5是數(shù)據(jù)接收DMA流程;[〇〇54]圖6是接收TLP數(shù)據(jù)包處理流程圖;[〇〇55]圖7是數(shù)據(jù)傳輸示意圖?!揪唧w實施方式】
[0056]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0057]在本發(fā)明的描述中,除非另有規(guī)定和限定,需要說明的是,術(shù)語“安裝”、“相連”、 “連接”應(yīng)做廣義理解,例如,可以是機械連接或電連接,也可以是兩個元件內(nèi)部的連通,可以是直接相連,也可以通過中間媒介間接相連,對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語的具體含義。
[0058]如圖1所示,本發(fā)明提供了一種PC1-E總線接口傳輸卡,包括PC1-E接口 IP核、寄存器、寄存器讀寫控制模塊、TLP數(shù)據(jù)包分析模塊、發(fā)送模塊和/或接收模塊。所述發(fā)送模塊包括發(fā)送線路和發(fā)送DMA控制模塊,所述接收模塊包括接收線路和接收DMA控制模塊,所述發(fā)送線路、接收線路的數(shù)量均為非負整數(shù)。[〇〇59] PC1-E接口 IP核用于完成PC1-E接口的物理層、數(shù)據(jù)鏈路層和事務(wù)層(Transact1n Layer Protocol,TLP)三層協(xié)議的處理。寄存器用于存儲數(shù)據(jù)傳輸所需要的控制和狀態(tài)信息,包括主機收發(fā)緩沖區(qū)地址,發(fā)送和接收控制字,發(fā)送和接收狀態(tài)字等。
[0060] PC1-E接口 IP核與TLP數(shù)據(jù)包分析模塊通信連接,TLP數(shù)據(jù)包分析模塊第一輸出端連接發(fā)送線路輸入端,發(fā)送線路輸出端與發(fā)送線路連接,TLP數(shù)據(jù)包分析模塊第二輸出端連接寄存器讀寫控制模塊輸入端,讀寫控制模塊與寄存器雙向連接,寄存器與發(fā)送DMA控制模塊雙向連接。[0061 ]接收線路輸入端與接收線路連接,接收線路輸出端連接接收DMA控制模塊輸入端, DMA控制模塊與寄存器雙向連接,接收DMA控制模塊輸出端連接至PC1-E接口 IP核。[〇〇62]為了保證數(shù)據(jù)傳輸?shù)耐暾院蜏蚀_性,讀請求TLP數(shù)據(jù)包、讀完成TLP數(shù)據(jù)包和寫請求TLP數(shù)據(jù)包可緩存入TLP數(shù)據(jù)包接收緩沖區(qū),TLP數(shù)據(jù)包接收緩沖區(qū)分別與PC1-E接口 IP 核和TLP數(shù)據(jù)包分析模塊通信連接。[0063 ]同時,該傳輸卡還包括發(fā)送緩沖區(qū)選擇模塊、第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP 數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū),第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與寄存器讀寫控制模塊和PC1-E接口 IP核通信連接,第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與發(fā)送DMA控制模塊和PC1-E接口 IP核通信連接,第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)分別與接收DMA控制模塊和 PC1-E接口 IP核通信連接。
[0064]第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)緩存對應(yīng)寄存器讀請求的讀完成TLP數(shù)據(jù)包,第二TLP 數(shù)據(jù)包發(fā)送緩沖區(qū)緩存發(fā)送DMA請求的TLP數(shù)據(jù)包,即讀請求TLP數(shù)據(jù)包,第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)緩存接收DMA請求的TLP數(shù)據(jù)包,即寫請求TLP數(shù)據(jù)包。第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、 第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)的輸出端均連接至發(fā)送緩沖區(qū)選擇模塊輸入端,發(fā)送緩沖區(qū)選擇模塊與PC1-E接口 IP核通信連接。
[0065]發(fā)送緩沖區(qū)選擇模塊根據(jù)優(yōu)先級準則控制將第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP 數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)中的數(shù)據(jù)包傳輸?shù)絇CIE接口。
[0066]主機對傳輸卡的控制是通過讀寫卡上的控制寄存器組來實現(xiàn)的,讀寫命令都是通過PC1-E接口的TLP數(shù)據(jù)包發(fā)送給傳輸卡。另外,發(fā)送DMA過程中請求的數(shù)據(jù)也是通過PC1-E 接口的讀完成TLP包進行傳輸。傳輸卡只處理這三類TLP數(shù)據(jù)包,即讀請求TLP數(shù)據(jù)包、寫請求TLP數(shù)據(jù)包、讀完成TLP數(shù)據(jù)包,其它包不作處理。[〇〇67]如圖6所示,傳輸卡從PC1-E接口接收到TLP數(shù)據(jù)包后,首先分析包頭判斷是哪種 TLP數(shù)據(jù)包。對于寫請求TLP數(shù)據(jù)包,傳輸卡將包中的地址和數(shù)據(jù)取出,并將數(shù)據(jù)寫入到地址部分指定的寄存器中。對于讀請求TLP數(shù)據(jù)包,傳輸卡取出包中的地址,據(jù)此讀出相應(yīng)的寄存器的數(shù)據(jù),并加上讀完成TLP的包頭,寫入到第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)中,由PC1-E接口傳遞給主機。對于讀完成TLP數(shù)據(jù)包,傳輸卡將包中的數(shù)據(jù)寫入到線路側(cè)的發(fā)送線路緩沖區(qū)中。
[0068]數(shù)據(jù)發(fā)送時,主機先將需要發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù)長度、啟動數(shù)據(jù)發(fā)送標志的控制字寫入寄存器中。發(fā)送DMA控制模塊通過PC1-E接口發(fā)送讀請求TLP數(shù)據(jù)包給所述TLP數(shù)據(jù)包分析模塊,TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包是否為讀請求TLP數(shù)據(jù)包,如果是,則寄存器讀寫控制模塊根據(jù)讀請求TLP數(shù)據(jù)包中的地址讀出寄存器中的數(shù)據(jù),并向加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口再發(fā)送給TLP數(shù)據(jù)包分析模塊,TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包是否為讀完成TLP數(shù)據(jù)包,如果是, 則將該讀完成TLP數(shù)據(jù)包發(fā)送至發(fā)送線路進行數(shù)據(jù)發(fā)送。
[0069]數(shù)據(jù)接收時,數(shù)據(jù)接收線路將接收到的數(shù)據(jù)發(fā)送至接收DMA控制模塊,接收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給TLP數(shù)據(jù)包分析模塊,TLP數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則寄存器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù),并將數(shù)據(jù)寫入到地址部分指定的寄存器中,然后通過PC1-E接口寫入主機內(nèi)存。
[0070]具體應(yīng)用中,發(fā)送線路可包括讀完成TLP數(shù)據(jù)包處理模塊、發(fā)送線路緩沖區(qū)、編碼器和發(fā)送LVDS接口。TLP數(shù)據(jù)包分析模塊第一輸出端連接讀完成TLP數(shù)據(jù)包處理模塊輸入端,讀完成TLP數(shù)據(jù)包處理模塊輸出端連接發(fā)送線路緩沖區(qū)輸入端,發(fā)送線路緩沖區(qū)輸出端連接編碼器輸入端,編碼器通過發(fā)送LVDS接口與發(fā)送線路連接。讀完成TLP數(shù)據(jù)包處理模塊將讀完成TLP數(shù)據(jù)包中的數(shù)據(jù)寫入發(fā)送線路緩沖區(qū)中,然后由編碼器進行編碼并插入控制字符,再由發(fā)送LVDS接口對數(shù)據(jù)進行串并變換后發(fā)送至發(fā)送線路中。
[0071]接收線路包括接收LVDS接口、譯碼器和接收線路緩沖區(qū)。接收LVDS接口分別與接收線路和譯碼器連接,譯碼器輸出端連接接收線路緩沖區(qū)輸入端,接收線路緩沖區(qū)輸出端連接至接收DMA控制模塊輸入端。接收LVDS接口從接收線路中接收到數(shù)據(jù),并對其進行串并變換和控制字符的檢測,控制字符檢測到后將數(shù)據(jù)發(fā)送給譯碼器進行數(shù)據(jù)解碼,再將解碼后的數(shù)據(jù)發(fā)送至接收線路緩沖區(qū)中并向接收DMA控制模塊發(fā)送線路數(shù)據(jù)接收標志,接收DMA 控制模塊在檢測到線路數(shù)據(jù)已接收的標志有效后,啟動接收DMA過程,將數(shù)據(jù)傳輸?shù)街鳈C內(nèi)存中的緩沖區(qū)中。[〇〇72] 一種基于上述PIC-E傳輸卡的數(shù)據(jù)傳輸方法,如圖7所示,數(shù)據(jù)傳輸過程中使用第一傳輸卡和第二傳輸卡,第一傳輸卡和第二傳輸卡均為上述的PC1-E總線接口傳輸卡,所述第一傳輸卡和第二傳輸卡通信連接,該方法包括以下步驟:
[0073]S1、數(shù)據(jù)發(fā)送時,如圖2、圖3和圖6所示,發(fā)送設(shè)備先將發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù)長度、啟動數(shù)據(jù)發(fā)送標志的控制字寫到傳輸卡的發(fā)送控制寄存器中。
[0074]S2、第一傳輸卡在檢測到啟動數(shù)據(jù)發(fā)送標志有效后,判斷第一傳輸卡的發(fā)送線路是否連接,以及第一傳輸卡的發(fā)送線路緩存是否可用,若可用則啟動數(shù)據(jù)發(fā)送過程,否則等待發(fā)送線路和緩存可用,待線路連接且發(fā)送線路緩存可用時開始數(shù)據(jù)發(fā)送。
[0075]數(shù)據(jù)發(fā)送過程啟動后,根據(jù)發(fā)送設(shè)備的設(shè)置情況,一次數(shù)據(jù)傳輸可能需要多次DMA 才能完成,因此,傳輸卡的發(fā)送DMA控制模塊首先根據(jù)數(shù)據(jù)長度計算需要進行DMA傳輸?shù)拇螖?shù),然后再開始DMA傳輸。
[0076]S3、DMA傳輸時,第一傳輸卡的發(fā)送DMA控制模塊將包含讀取的數(shù)據(jù)地址和數(shù)據(jù)長度的讀請求TLP數(shù)據(jù)包通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分析模塊。[〇〇77]S4、第一傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包具體為讀請求TLP數(shù)據(jù)包還是讀完成TLP數(shù)據(jù)包,如果為讀請求TLP數(shù)據(jù)包,則執(zhí)行步驟S5,如果為讀完成TLP 數(shù)據(jù)包,則執(zhí)行步驟S6。
[0078]S5、第一傳輸卡的寄存器讀寫控制模塊根據(jù)讀請求TLP數(shù)據(jù)包中的地址讀出寄存器中的數(shù)據(jù),并加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分析模塊,然后執(zhí)行步驟S4。
[0079]S6、第一傳輸卡的TLP數(shù)據(jù)包分析模塊將讀完成TLP數(shù)據(jù)包發(fā)送至第一傳輸卡的發(fā)送線路進行數(shù)據(jù)發(fā)送。
[0080]當(dāng)數(shù)據(jù)從發(fā)送設(shè)備傳輸?shù)降谝粋鬏斂ǖ陌l(fā)送線路上時,第一傳輸卡的發(fā)送線路的讀完成TLP數(shù)據(jù)包處理模塊將讀完成TLP數(shù)據(jù)包中的數(shù)據(jù)寫入第一傳輸卡的發(fā)送線路緩沖區(qū)中,待所有的數(shù)據(jù)都從發(fā)送設(shè)備傳輸?shù)降谝粋鬏斂ǖ陌l(fā)送線路緩沖區(qū)中后啟動線路傳輸。傳輸線路上采用串行傳輸方式,電氣接口為LVDS。為了使接收端能正確接收,線路上的數(shù)據(jù)需經(jīng)過8B10B編碼。在線路空閑時,線路上傳輸用于接收端進行串并變換中控制字對齊的控制字。數(shù)據(jù)傳輸開始時,先發(fā)送數(shù)據(jù)包開始控制字符,然后傳輸數(shù)據(jù)。數(shù)據(jù)傳輸完畢后, 發(fā)送數(shù)據(jù)包結(jié)束控制字符,指示數(shù)據(jù)傳輸完成。
[0081]S7、第二傳輸卡對數(shù)據(jù)進行接收,如圖4-6所示,首先,第二傳輸卡的接收LVDS接口對接收到數(shù)據(jù)進行串并變換,變換中需要確定字的起始邊界,這通過檢測發(fā)送端發(fā)送的字對齊控制字實現(xiàn)。如果沒有檢測到該控制字,控制串并變換器滑動一位,如此重復(fù)直到檢測到字對齊控制字。由于在線路空閑時,發(fā)送端持續(xù)發(fā)送該控制字,如果接收方能連續(xù)監(jiān)測到該控制字,表明線路連接正常,且串并變換的字已對齊。
[0082]字對齊后,線路接收部分持續(xù)監(jiān)測包開始控制字,如檢測到,表明隨后的字為有效數(shù)據(jù)。接收端接收該數(shù)據(jù),并進行8B10B譯碼,譯碼后的數(shù)據(jù)寫入到接收線路緩沖區(qū)。在接收數(shù)據(jù)的過程中,需要對每個接收數(shù)據(jù)都進行是否為包結(jié)束控制字的檢測。如檢測到,則數(shù)據(jù)包結(jié)束,數(shù)據(jù)從線路上的接收完成,將數(shù)據(jù)的長度寫入接收控制寄存器,并將數(shù)據(jù)已接收的標志置位。
[0083]—次數(shù)據(jù)的傳輸可能需要多次DMA過程,所以需要先計算DMA過程的次數(shù)。在接收設(shè)備緩沖區(qū)可用的情況下,第二傳輸卡將DMA傳輸?shù)臄?shù)據(jù)封裝到寫請求TLP包中通過PCIE接口寫入主機內(nèi)存。
[0084]第二傳輸卡的接收DMA控制模塊在檢測到線路數(shù)據(jù)已接收的標志有效后,啟動接收DMA過程,第二傳輸卡的接收線路將接收到的數(shù)據(jù)發(fā)送至第二傳輸卡的接收DMA控制模塊。一次數(shù)據(jù)的傳輸可能需要多次DMA過程,所以需要先計算DMA過程的次數(shù)。[〇〇85]S8、第二傳輸卡的接收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給第二傳輸卡的TLP數(shù)據(jù)包分析模塊。[〇〇86]S9、第二傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則第二傳輸卡的寄存器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù),并將數(shù)據(jù)寫入到地址部分指定的寄存器中,再通過PC1-E接口寫入接收設(shè)備內(nèi)存中。
[0087]這里的發(fā)送設(shè)備和接收設(shè)備可以為主機,也可以是服務(wù)器。
[0088]在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。[〇〇89]盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
【主權(quán)項】
1.一種PC1-E總線接口傳輸卡,包括PC1-E接口 IP核和寄存器,其特征在于,還包括寄存 器讀寫控制模塊、TLP數(shù)據(jù)包分析模塊、發(fā)送模塊和/或接收模塊;所述發(fā)送模塊包括發(fā)送線路和發(fā)送DMA控制模塊,所述接收模塊包括接收線路和接收 DMA控制模塊,所述發(fā)送線路、接收線路的數(shù)量均為非負整數(shù);所述PC1-E接口 IP核與所述TLP數(shù)據(jù)包分析模塊通信連接,所述TLP數(shù)據(jù)包分析模塊第 一輸出端連接所述發(fā)送線路輸入端,所述發(fā)送線路輸出端與發(fā)送線路連接,所述TLP數(shù)據(jù)包 分析模塊第二輸出端連接所述寄存器讀寫控制模塊輸入端,所述讀寫控制模塊與所述寄存 器雙向連接,所述寄存器與所述發(fā)送DMA控制模塊雙向連接;所述接收線路輸入端與接收線路連接,所述接收線路輸出端連接所述接收DMA控制模 塊輸入端,所述DMA控制模塊與所述寄存器雙向連接,所述接收DMA控制模塊輸出端連接至 所述PC1-E接口 IP核;數(shù)據(jù)發(fā)送時,主機先將需要發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù)長 度、啟動數(shù)據(jù)發(fā)送標志的控制字寫入所述寄存器中;所述發(fā)送DMA控制模塊通過PC1-E接口 發(fā)送讀請求TLP數(shù)據(jù)包給所述TLP數(shù)據(jù)包分析模塊,所述TLP數(shù)據(jù)包分析模塊判斷所收到的 TLP數(shù)據(jù)包是否為讀請求TLP數(shù)據(jù)包,如果是,則所述寄存器讀寫控制模塊根據(jù)讀請求TLP數(shù) 據(jù)包中的地址讀出寄存器中的數(shù)據(jù),并向加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口再發(fā)送 給所述TLP數(shù)據(jù)包分析模塊,所述TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包是否為讀完 成TLP數(shù)據(jù)包,如果是,則將該讀完成TLP數(shù)據(jù)包發(fā)送至所述發(fā)送線路進行數(shù)據(jù)發(fā)送;數(shù)據(jù)接收時,所述數(shù)據(jù)接收線路將接收到的數(shù)據(jù)發(fā)送至所述接收DMA控制模塊,所述接 收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給所述TLP數(shù)據(jù)包分析模塊,所述TLP 數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則所述寄存 器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù),并將數(shù)據(jù)寫入到地址部分指定的 寄存器中,然后通過PC1-E接口寫入主機內(nèi)存。2.根據(jù)權(quán)利要求1所述的PC1-E總線接口傳輸卡,其特征在于,還包括TLP數(shù)據(jù)包接收緩 沖區(qū),所述TLP數(shù)據(jù)包接收緩沖區(qū)分別與所述PC1-E接口 IP核和所述TLP數(shù)據(jù)包分析模塊通 信連接。3.根據(jù)權(quán)利要求1所述的PC1-E總線接口傳輸卡,其特征在于,還包括第一 TLP數(shù)據(jù)包發(fā) 送緩沖區(qū)、第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū),所述第一TLP數(shù)據(jù)包發(fā) 送緩沖區(qū)分別與所述寄存器讀寫控制模塊和PC1-E接口 IP核通信連接,所述第二TLP數(shù)據(jù)包 發(fā)送緩沖區(qū)分別與所述發(fā)送DMA控制模塊和PC1-E接口 IP核通信連接,所述第三TLP數(shù)據(jù)包 發(fā)送緩沖區(qū)分別與所述接收DMA控制模塊和PC1-E接口 IP核通信連接。4.根據(jù)權(quán)利要求3所述的PC1-E總線接口傳輸卡,其特征在于,還包括發(fā)送緩沖區(qū)選擇 模塊,所述第一 TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩 沖區(qū)的輸出端均連接至所述發(fā)送緩沖區(qū)選擇模塊輸入端,所述發(fā)送緩沖區(qū)選擇模塊與所述 PC1-E接口 IP核通信連接;所述發(fā)送緩沖區(qū)選擇模塊根據(jù)優(yōu)先級準則控制將所述第一TLP數(shù)據(jù)包發(fā)送緩沖區(qū)、第 二TLP數(shù)據(jù)包發(fā)送緩沖區(qū)和第三TLP數(shù)據(jù)包發(fā)送緩沖區(qū)中的數(shù)據(jù)包傳輸?shù)絇CIE接口。5.根據(jù)權(quán)利要求1所述的PC1-E總線接口傳輸卡,其特征在于,所述發(fā)送線路包括:所述 發(fā)送線路包括讀完成TLP數(shù)據(jù)包處理模塊、發(fā)送線路緩沖區(qū)、編碼器和發(fā)送LVDS接口;所述TLP數(shù)據(jù)包分析模塊第一輸出端連接所述讀完成TLP數(shù)據(jù)包處理模塊輸入端,所述 讀完成TLP數(shù)據(jù)包處理模塊輸出端連接所述發(fā)送線路緩沖區(qū)輸入端,所述發(fā)送線路緩沖區(qū) 輸出端連接所述編碼器輸入端,所述編碼器通過所述發(fā)送LVDS接口與所述發(fā)送線路連接;所述讀完成TLP數(shù)據(jù)包處理模塊將讀完成TLP數(shù)據(jù)包中的數(shù)據(jù)寫入所述發(fā)送線路緩沖 區(qū)中,然后由所述編碼器進行編碼并插入控制字符,再由所述發(fā)送LVDS接口對數(shù)據(jù)進行串 并變換后發(fā)送至發(fā)送線路中。6.根據(jù)權(quán)利要求1所述的PC1-E總線接口傳輸卡,其特征在于,所述接收線路包括接收 LVDS接口、譯碼器和接收線路緩沖區(qū);所述接收LVDS接口分別與接收線路和所述譯碼器連接,所述譯碼器輸出端連接所述接 收線路緩沖區(qū)輸入端,所述接收線路緩沖區(qū)輸出端連接至所述接收DMA控制模塊輸入端;所述接收LVDS接口從接收線路中接收到數(shù)據(jù),并對其進行串并變換和控制字符的檢 測,控制字符檢測到后將數(shù)據(jù)發(fā)送給所述譯碼器進行數(shù)據(jù)解碼,再將解碼后的數(shù)據(jù)發(fā)送至 所述接收線路緩沖區(qū)中并向所述接收DMA控制模塊發(fā)送線路數(shù)據(jù)接收標志,所述接收DMA控 制模塊在檢測到線路數(shù)據(jù)已接收的標志有效后,啟動接收DMA過程,將數(shù)據(jù)傳輸?shù)街鳈C內(nèi)存 中的緩沖區(qū)中。7.—種基于權(quán)利要求1所述的PIC-E總線接口傳輸卡的數(shù)據(jù)傳輸方法,其特征在于,數(shù) 據(jù)傳輸過程中使用第一傳輸卡和第二傳輸卡,所述第一傳輸卡和第二傳輸卡均為權(quán)利要求 1中所述的PC1-E總線接口傳輸卡,所述第一傳輸卡和第二傳輸卡通信連接,包括以下步驟:51、數(shù)據(jù)發(fā)送時,發(fā)送設(shè)備先將發(fā)送的數(shù)據(jù)寫入到內(nèi)存中的緩沖區(qū)中,然后將包含數(shù)據(jù) 長度、啟動數(shù)據(jù)發(fā)送標志的控制字寫到第一傳輸卡的發(fā)送控制寄存器中;52、第一傳輸卡在檢測到啟動數(shù)據(jù)發(fā)送標志有效后,判斷第一傳輸卡的發(fā)送線路是否 連接,以及第一傳輸卡的發(fā)送線路緩存是否可用,若可用則啟動數(shù)據(jù)發(fā)送過程,否則等待發(fā) 送線路和緩存可用;53、數(shù)據(jù)發(fā)送過程啟動后,開始DMA傳輸,第一傳輸卡的發(fā)送DMA控制模塊將包含讀取的 數(shù)據(jù)地址和數(shù)據(jù)長度的讀請求TLP數(shù)據(jù)包通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分 析豐吳塊;54、第一傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所收到的TLP數(shù)據(jù)包具體為讀請求TLP數(shù)據(jù) 包還是讀完成TLP數(shù)據(jù)包,如果為讀請求TLP數(shù)據(jù)包,則執(zhí)行步驟S5,如果為讀完成TLP數(shù)據(jù) 包,則執(zhí)行步驟S6;55、第一傳輸卡的寄存器讀寫控制模塊根據(jù)讀請求TLP數(shù)據(jù)包中的地址讀出寄存器中 的數(shù)據(jù),并加上讀完成TLP數(shù)據(jù)的包頭通過PC1-E接口發(fā)送給第一傳輸卡的TLP數(shù)據(jù)包分析 模塊,然后執(zhí)行步驟S4;56、第一傳輸卡的TLP數(shù)據(jù)包分析模塊將讀完成TLP數(shù)據(jù)包發(fā)送至第一傳輸卡的發(fā)送線 路進行數(shù)據(jù)發(fā)送;57、所述第二傳輸卡對數(shù)據(jù)進行接收,所述第二傳輸卡的接收線路接收數(shù)據(jù),并將接收 到的數(shù)據(jù)發(fā)送至第二傳輸卡的接收DMA控制模塊;58、第二傳輸卡的接收DMA控制模塊通過PC1-E接口發(fā)送寫請求TLP數(shù)據(jù)包給第二傳輸 卡的TLP數(shù)據(jù)包分析模塊;59、第二傳輸卡的TLP數(shù)據(jù)包分析模塊判斷所接收到的TLP數(shù)據(jù)包是否為寫請求TLP數(shù)據(jù)包,如果是,則執(zhí)行步驟S10;S10、第二傳輸卡的寄存器讀寫控制模塊讀出寫請求TLP數(shù)據(jù)包中的地址和數(shù)據(jù),并將 數(shù)據(jù)寫入到地址部分指定的寄存器中,然后通過PC1-E接口寫入接收設(shè)備內(nèi)存。8.根據(jù)權(quán)利要求7所述的基于PIC-E總線接口傳輸卡的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟S3中,在DMA傳輸之前,發(fā)送DMA控制模塊根據(jù)數(shù)據(jù)長度計算需要進行DMA傳輸?shù)拇?數(shù);在所述步驟S7中,接收DMA控制模塊接收數(shù)據(jù)之前,接收DMA控制模塊根據(jù)數(shù)據(jù)長度計 算DMA傳輸?shù)拇螖?shù)。9.根據(jù)權(quán)利要求7所述的基于PIC-E總線接口傳輸卡的數(shù)據(jù)傳輸方法,其特征在于,發(fā) 送數(shù)據(jù)時,發(fā)送線路需對數(shù)據(jù)進行編碼以及插入對齊、開始或結(jié)束的控制字符;數(shù)據(jù)接收時,接收線路需對數(shù)據(jù)進行控制字符的檢測和譯碼。
【文檔編號】H04L12/863GK106027349SQ201610278267
【公開日】2016年10月12日
【申請日】2016年4月29日
【發(fā)明人】楊嘉漁, 雷維嘉, 田慶宜, 夏斌, 朱容宇, 阮東明
【申請人】重慶愛思網(wǎng)安信息技術(shù)有限公司