两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種高可靠線速數(shù)據(jù)通信方法

文檔序號:7802295閱讀:225來源:國知局
一種高可靠線速數(shù)據(jù)通信方法
【專利摘要】本發(fā)明的目的在于提供一種高可靠線速數(shù)據(jù)通信方法。本通信方法是在發(fā)送方采用基于環(huán)形發(fā)送緩沖池的方式與接收方進(jìn)行通信。發(fā)送方的緩存控制模塊檢測到發(fā)送緩沖池非滿,則把外部待發(fā)數(shù)據(jù)存儲到尾指針指向的發(fā)送緩沖池;發(fā)送方傳輸控制模塊檢測到發(fā)送緩沖池非空,把當(dāng)前指針指向的緩沖數(shù)據(jù)讀取出來,然后傳輸給相應(yīng)的通信通道;發(fā)送傳輸超時控制模塊接收到接收方返回的應(yīng)答信息后,若應(yīng)答序號與頭指針對應(yīng)的序列號一致,則修改頭指針,若在一定時間內(nèi)沒有收到應(yīng)答信息,則對頭指針指向的緩沖區(qū)進(jìn)行超時重發(fā)。本發(fā)明采用數(shù)據(jù)并發(fā)方式進(jìn)行傳輸,實現(xiàn)了數(shù)據(jù)的線速傳輸,對數(shù)據(jù)的應(yīng)答進(jìn)制也進(jìn)行了定義,提高了傳輸?shù)目煽啃浴?br> 【專利說明】一種高可靠線速數(shù)據(jù)通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于自定義的以太網(wǎng)可靠通信方法,特別涉及一種高可靠線速通信方法。
【背景技術(shù)】
[0002]隨著云計算以及大數(shù)據(jù)處理的發(fā)展需求,基于現(xiàn)場可編程邏輯陣列(FPGA)由于其靈活性、可編程性以及豐富的高速通信接口,在這些領(lǐng)域得到了越來越多的應(yīng)用。而隨著規(guī)模的擴(kuò)展,可編程邏輯陣列之間的高可靠高速數(shù)據(jù)通信變的更加的迫切。同時由于以太網(wǎng)的交換機技術(shù)較為成熟,成本也比較低廉,成為可編程邏輯陣列之間交換介質(zhì)的首選。傳統(tǒng)基于TCP/IP協(xié)議的可靠通信由于協(xié)議實現(xiàn)比較復(fù)雜,不太適合FPGA之間的通信?;诖吮緦@岢隽艘环N適合FPGA之間線速并發(fā)通信的一種方法。
[0003]以太網(wǎng)中對數(shù)據(jù)發(fā)送和接收均是基于以太幀格式來展開的,在不改變以太網(wǎng)硬件設(shè)備的情況下,可以通過對以太幀的某些部分進(jìn)行更為細(xì)致的定義,使傳輸達(dá)到我們設(shè)定的要求。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于針對已有技術(shù)存在的缺陷,提供一種高可靠線速數(shù)據(jù)通信方法,提高傳輸速度及傳輸可靠性。
[0005]為達(dá)到上述目的本發(fā)明采用下述技術(shù)方案:
一種高可靠線速數(shù)據(jù)通信方法,發(fā)送方基于一個環(huán)形發(fā)送緩沖池與接收方通信,通信操作步驟如下:
a)發(fā)送方的緩存控制模塊只要檢測到發(fā)送緩沖池非滿,即Send_Buf_Full信號無效,則從外部待發(fā)數(shù)據(jù)隊列獲取一幀信息,然后存儲到尾指針指向的發(fā)送緩沖池,等待該幀存儲完畢,產(chǎn)生存儲完成信號TSencLok,環(huán)形緩沖區(qū)的尾指針指向下一個緩沖區(qū);
b)發(fā)送方的傳輸控制模塊只要檢測到發(fā)送緩沖池非空,即Send_Buf_Empty信號無效,則把當(dāng)前指針指向的緩沖數(shù)據(jù)讀取出來,然后傳輸給相應(yīng)的通信通道;
c)發(fā)送方接收到接收方返回的應(yīng)答信息后,判斷應(yīng)答信息的序列號是否與頭指針對應(yīng)的序列號一致,如果一致,產(chǎn)生頭指針修改信號Head_Snd_ok,將環(huán)形緩沖區(qū)的頭指針向下一個緩沖區(qū)。
[0006]上述高可靠線速數(shù)據(jù)通信方法,所述環(huán)形發(fā)送緩沖池,由M (M為自然數(shù))個緩沖區(qū)組成,包含頭指針、尾指針和當(dāng)前指針,并定義指針繞行方向,頭指針指向第一個存有數(shù)據(jù)的緩沖區(qū),尾指針指向最后一個存有數(shù)據(jù)的緩沖區(qū),當(dāng)前指針指向正在發(fā)送的緩沖區(qū),發(fā)送緩沖池的緩存狀態(tài)通過頭指針和尾指針定義。
[0007]上述高可靠線速數(shù)據(jù)通信方法,發(fā)送緩沖池由M個雙端口存儲器構(gòu)成的緩沖區(qū)組成,初始上電時,緩沖區(qū)沒有數(shù)據(jù),頭指針、尾指針以及當(dāng)前指針重合,此時緩存狀態(tài)計數(shù)X記為O ;每存入一個緩沖區(qū),尾指針沿指針繞行方向移動一次,緩存狀態(tài)計數(shù)X加I ;每釋放一個緩沖區(qū),頭指針沿指針繞行方向移動一次,緩存狀態(tài)計數(shù)X減I ;每發(fā)送一個數(shù)據(jù),則當(dāng)前指針沿指針繞行方向移動一次,若當(dāng)前指針與尾指針不重合,則Send_Buf_Empty信號無效,否則Send_Buf_Empty有效;當(dāng)緩存狀態(tài)計數(shù)X=緩沖區(qū)數(shù)量M時,發(fā)送緩沖池滿Send_Buf_Full有效,不能再緩存任何數(shù)據(jù),X〈M時,發(fā)送緩沖池為非滿,即Send_Buf_Full信號無效。
[0008]上述高可靠線速數(shù)據(jù)通信方法,發(fā)送方的傳輸控制模塊為當(dāng)前指針?biāo)妇彌_區(qū)的數(shù)據(jù)幀添加當(dāng)前序號,當(dāng)前序號即當(dāng)前指針對應(yīng)的緩沖區(qū)編號,然后發(fā)給接收方;發(fā)送完成后,當(dāng)前指針指向下一緩沖區(qū),進(jìn)行下一次發(fā)送。
[0009]上述高可靠線速數(shù)據(jù)通信方法,接收方用FIFO作為緩存,接收方檢測到待收數(shù)據(jù)后,先判斷接收緩沖區(qū)是否有空位,如果沒有空位則丟棄該數(shù)據(jù);如果有空位則接收,然后根據(jù)封裝在數(shù)據(jù)中的當(dāng)前序號判斷該序號是否為接收方的當(dāng)前序號,如果為當(dāng)前序號,則給發(fā)送方返回對應(yīng)的應(yīng)答,如果不是,則丟棄該數(shù)據(jù)。
[0010]上述高可靠線速數(shù)據(jù)通信方法,所述當(dāng)前序號,初始上電時,發(fā)送方和接收方的當(dāng)前序號均默認(rèn)為0,每發(fā)送或接收一次,當(dāng)前序號加1,然后進(jìn)行下一次發(fā)送或接收,直到當(dāng)前序號達(dá)到(M-ι)時,則下一次當(dāng)前序號再次復(fù)原為O。
[0011]上述高可靠線速數(shù)據(jù)通信方法,發(fā)送方的發(fā)送傳輸超時控制模塊檢測頭指針指向的緩沖區(qū)是否接收到了接收方的應(yīng)答,如果一定的時間內(nèi)收到了接收方的應(yīng)答,則釋放頭指針指向的緩沖區(qū);如果一定的時間內(nèi)沒有接收到應(yīng)答,則重發(fā)頭指針指向的緩沖區(qū)的數(shù)據(jù),并記錄重發(fā)次數(shù);如果重發(fā)次數(shù)超過閾值,則報告錯誤,等待發(fā)送方的處理。
[0012]本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下顯而易見的突出實質(zhì)性特點和顯著技術(shù)進(jìn)步。本發(fā)明對數(shù)據(jù)采用并發(fā)方式進(jìn)行傳輸,實現(xiàn)了數(shù)據(jù)的線速傳輸,對數(shù)據(jù)的應(yīng)答機制也進(jìn)行了定義,提高了傳輸?shù)目煽啃浴?br> 【專利附圖】

【附圖說明】
[0013]圖1是發(fā)送緩沖池結(jié)構(gòu)圖。
[0014]圖2是發(fā)送方傳輸控制示意圖。
[0015]圖3是接收方接收控制示意圖。
[0016]圖4是一實施例中數(shù)據(jù)發(fā)送校驗和應(yīng)答示意圖。
【具體實施方式】
[0017]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉優(yōu)選實施例進(jìn)行說明。
[0018]該通信方法中發(fā)送方基于環(huán)形緩沖池,圖1是發(fā)送緩沖池結(jié)構(gòu)圖,發(fā)送緩沖池為環(huán)形,由若干個緩沖區(qū)組成,緩沖池的頭指針指向第一個存有數(shù)據(jù)的緩沖區(qū),尾指針指向最后一個存有數(shù)據(jù)的緩沖區(qū),當(dāng)前發(fā)送指針指向正在發(fā)送的緩沖區(qū)。圖1中指針繞行方向為逆時針,也可以設(shè)為順時針。
[0019]圖2為發(fā)送方的傳輸控制示意圖,以環(huán)形緩沖區(qū)為核心,通過如下的方法實現(xiàn)高速線速的傳輸:傳輸緩存控制模塊檢測到待發(fā)信息隊列有數(shù)據(jù),并且環(huán)形緩沖區(qū)能夠容納一幀以太數(shù)據(jù)(也即Send_Buf_Full無效),則從待發(fā)信息隊列獲取要發(fā)送的一幀信息,并把待發(fā)信息隊列線速存儲到基于雙端口存儲器的環(huán)形緩沖區(qū)中,等該幀數(shù)據(jù)傳輸完畢,則向環(huán)形緩沖區(qū)發(fā)送傳輸完成信號TsencLok,環(huán)形緩沖區(qū)一旦檢測Tsend_0k信號有效,則沿指針繞行方向把尾指針指向下一個緩沖區(qū),實現(xiàn)了待發(fā)信息的線速存儲;發(fā)送傳輸控制模塊一旦檢測到發(fā)送緩沖池有超過一幀的數(shù)據(jù)要發(fā)送,也即Send_Buf_Empty信號無效,則從當(dāng)前指針指向的環(huán)形緩沖區(qū)線速讀取完整的一幀,并在該幀上增加當(dāng)前發(fā)送序號,然后封裝成完整的以太幀,并把該封裝后的以太幀數(shù)據(jù)傳輸?shù)耐ㄐ磐ǖ郎?,等該幀傳輸完畢,則向環(huán)形緩沖區(qū)發(fā)送傳輸完成信號Send_finish,環(huán)形緩沖區(qū)一旦檢測到該信號,則沿指針繞行方向把當(dāng)前指針指向下一個緩沖區(qū),通過上述方法實現(xiàn)了線速通信方法。
[0020]系統(tǒng)的可靠通信是通過收發(fā)序號檢測的方法實現(xiàn)。初始上電時,發(fā)送方和接收方的當(dāng)前序號均默認(rèn)為0,每發(fā)送或接收一次,當(dāng)前序號加1,然后進(jìn)行下一次發(fā)送或接收,直到當(dāng)前序號達(dá)到(M-ι)時,則下一次當(dāng)前序號再次復(fù)原為O。發(fā)送傳輸控制模塊為當(dāng)前指針?biāo)妇彌_區(qū)的數(shù)據(jù)幀添加當(dāng)前序號,當(dāng)前序號即當(dāng)前指針對應(yīng)的緩沖區(qū)編號,把該序號封裝后,發(fā)給接收方;發(fā)送完成后,當(dāng)前指針指向下一緩沖區(qū),進(jìn)行下一次發(fā)送。發(fā)送傳輸超時控制模塊通過應(yīng)答信息的應(yīng)答序號與頭指針對應(yīng)的待確認(rèn)序號進(jìn)行對比,如果應(yīng)答信息的應(yīng)答序號與頭指針對應(yīng)的待確認(rèn)信號相匹配,則表明接收方已經(jīng)成功接收到了頭指針指向的緩沖區(qū),釋放頭指針指向的緩沖區(qū)。如果超過一定的時間,頭指針指向的緩沖區(qū)仍然沒有接收到應(yīng)答信息,則重發(fā)頭指針指向的發(fā)送數(shù)據(jù)幀,并把發(fā)送數(shù)據(jù)幀的序號設(shè)置為頭指針對應(yīng)的緩沖區(qū)序號,發(fā)送到通信通道。讀取仲裁對發(fā)送傳輸控制模塊的讀取操作以及發(fā)送傳輸超時控制模塊的讀取操作進(jìn)行優(yōu)先級仲裁,并從環(huán)形緩沖區(qū)獲取讀取的數(shù)據(jù)。
[0021]圖3為接收方接收控制示意圖,存儲控制接模塊收來自以太網(wǎng)的信息,首先存儲到本地的以太數(shù)據(jù)緩沖區(qū)接收隊列中去,如果存儲過程中接收隊列的余量不能容納一幀以太數(shù)據(jù),則丟棄本次以太數(shù)據(jù)。讀取控制模塊若檢測到接收隊列非空(也即empty信號無效),從接收隊列中獲取本次接收數(shù)據(jù)的IP以及本次數(shù)據(jù)的接收序號,如果本次接收數(shù)據(jù)的IP指向的當(dāng)前序號與接收數(shù)據(jù)的序號一致,則認(rèn)為本次數(shù)據(jù)為要傳輸?shù)臄?shù)據(jù),把該數(shù)據(jù)傳輸?shù)接脩艚邮站彌_區(qū),并產(chǎn)生一個新的保序接收有效信號Seq_add_ena,同時向發(fā)送方產(chǎn)生包含當(dāng)前序號的應(yīng)答數(shù)據(jù)。接收序號控制模塊檢測到Seq_add_ena信號有效時,則把當(dāng)前序號自增I。
[0022]圖4為一實施例中數(shù)據(jù)發(fā)送校驗和應(yīng)答示意圖。由于發(fā)送端與接收端之間的通信有延遲,假設(shè)有3個時間節(jié)拍的延遲,因此圖中接收端在第3個時間節(jié)拍才能收到該數(shù)據(jù)。接收方對接收到的數(shù)據(jù)進(jìn)行校驗,如果接收到的數(shù)據(jù)沒有錯誤。則向發(fā)送端發(fā)送應(yīng)答ACK。同理由于發(fā)送端與接收端之間有通信延遲,則該應(yīng)答信號在第7個時間節(jié)拍才能達(dá)到發(fā)送端。發(fā)送端檢測到該應(yīng)答信號以后,接著釋放發(fā)送緩沖區(qū)O。從該圖可以看出,若要實現(xiàn)完全的線速發(fā)送,則發(fā)送池緩沖區(qū)大小必須與收發(fā)方之間的通信相延遲相匹配,由于以太網(wǎng)的幀長為64-1518字節(jié),因此,在一實施例中,環(huán)形緩沖區(qū)大小可設(shè)為2K字節(jié),緩沖區(qū)數(shù)量M設(shè)置為256。
[0023]以上所述為本發(fā)明的較佳實施方式,并非用于限制本發(fā)明的范圍,凡在本發(fā)明精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均含于本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍以本發(fā)明的權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種高可靠線速數(shù)據(jù)通信方法,其特征在于:發(fā)送方基于一個環(huán)形發(fā)送緩沖池與接收方通信,通信操作步驟如下: a)發(fā)送方的緩存控制模塊只要檢測到發(fā)送緩沖池非滿,即Send_Buf_Full信號無效,則從外部待發(fā)數(shù)據(jù)隊列獲取一幀信息,然后存儲到尾指針指向的發(fā)送緩沖區(qū),等待該幀存儲完畢,產(chǎn)生存儲完成信號TSend_ok,將環(huán)形緩沖區(qū)的尾指針指向下一個緩沖區(qū); b)發(fā)送方的傳輸控制模塊只要檢測到發(fā)送緩沖池非空,即Send_Buf_Empty信號無效,則把當(dāng)前指針指向的緩沖數(shù)據(jù)讀取出來,然后傳輸給相應(yīng)的通信通道; c)發(fā)送方接收到接收方返回的應(yīng)答信息后,判斷應(yīng)答信息的序列號是否與頭指針對應(yīng)的序列號一致,若一致,產(chǎn)生頭指針修改信號Head_Snd_ok,將環(huán)形緩沖區(qū)的頭指針向下一個緩沖區(qū);若不一致則不修改頭指針。
2.根據(jù)權(quán)利要求1所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:所述環(huán)形發(fā)送緩沖池,由M(M為自然數(shù))個緩沖區(qū)組成,包含頭指針、尾指針和當(dāng)前指針,并定義指針繞行方向,頭指針指向第一個存有數(shù)據(jù)的緩沖區(qū),尾指針指向最后一個存有數(shù)據(jù)的緩沖區(qū),當(dāng)前指針指向正在發(fā)送的緩沖區(qū),發(fā)送緩沖池的緩存狀態(tài)通過頭指針和尾指針定義。
3.根據(jù)權(quán)利要求2所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:發(fā)送緩沖池由M個雙端口存儲器構(gòu)成的緩沖區(qū)組成,初始上電時,緩沖區(qū)沒有數(shù)據(jù),頭指針、尾指針以及當(dāng)前指針重合,此時緩存狀態(tài)計數(shù)X記為O ;每存入一個緩沖區(qū),尾指針沿指針繞行方向移動一次,緩存狀態(tài)計數(shù)X加I;每釋放一個緩沖區(qū),頭指針沿指針繞行方向移動一次,緩存狀態(tài)計數(shù)X減I ;每發(fā)送一個數(shù)據(jù),則當(dāng)前指針沿指針繞行方向移動一次,若當(dāng)前指針與尾指針不重合,則Send_Buf_Empty信號無效,否則Send_Buf_Empty有效;當(dāng)緩存狀態(tài)計數(shù)X=緩沖區(qū)數(shù)量M時,發(fā)送緩沖池滿Send_Buf_Full有效,不能再緩存任何數(shù)據(jù),X〈M時,發(fā)送緩沖池為非滿,即Send_Buf_Full信號無效。
4.根據(jù)權(quán)利要求3所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:所述發(fā)送方的傳輸控制模塊為當(dāng)前指針?biāo)妇彌_區(qū)的數(shù)據(jù)幀添加當(dāng)前序號,當(dāng)前序號即當(dāng)前指針對應(yīng)的緩沖區(qū)編號,然后發(fā)給接收方;發(fā)送完成后,當(dāng)前指針指向下一緩沖區(qū),進(jìn)行下一次發(fā)送。
5.根據(jù)權(quán)利要求4所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:所述接收方用FIFO作為緩存,接收方檢測到待收數(shù)據(jù)后,先判斷接收緩沖區(qū)是否有空位,如果沒有空位則丟棄該數(shù)據(jù);如果有空位則接收,然后根據(jù)封裝在數(shù)據(jù)中的當(dāng)前序號判斷該序號是否為接收方的當(dāng)前序號,如果為當(dāng)前序號,則給發(fā)送方返回對應(yīng)的應(yīng)答,如果不是,則丟棄該數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:所述當(dāng)前序號,初始上電時,發(fā)送方和接收方的當(dāng)前序號均默認(rèn)為0,每發(fā)送或接收一次,當(dāng)前序號加1,然后進(jìn)行下一次發(fā)送或接收,直到當(dāng)前序號達(dá)到(M-1)時,則下一次當(dāng)前序號再次復(fù)原為O。
7.根據(jù)權(quán)利要求6所述的高可靠線速數(shù)據(jù)通信方法,其特征在于:所述發(fā)送方的發(fā)送傳輸超時控制模塊檢測頭指針指向的緩沖區(qū)是否接收到了接收方的應(yīng)答,如果一定的時間內(nèi)收到了接收方的應(yīng)答,則釋放頭指針指向的緩沖區(qū);如果一定的時間內(nèi)沒有接收到應(yīng)答,則重發(fā)頭指針指向的緩沖區(qū)的數(shù)據(jù),并記錄重發(fā)次數(shù);如果重發(fā)次數(shù)超過閾值,則報告錯誤,等待發(fā)送方的處理。
【文檔編號】H04L1/18GK103957089SQ201410173321
【公開日】2014年7月30日 申請日期:2014年4月28日 優(yōu)先權(quán)日:2014年4月28日
【發(fā)明者】袁文燕, 宋宇飛, 王凱, 李家齊, 徐朝星, 張俊杰 申請人:上海大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
台山市| 宁安市| 南漳县| 巍山| 永新县| 江油市| 沁阳市| 高安市| 静安区| 宜黄县| 东丰县| 垦利县| 页游| 景德镇市| 栾城县| 吴江市| 邵东县| 金昌市| 章丘市| 长顺县| 信宜市| 夹江县| 九龙县| 元朗区| 南木林县| 公主岭市| 泌阳县| 蓝山县| 南城县| 内丘县| 开化县| 留坝县| 红安县| 房产| 锡林郭勒盟| 米泉市| 将乐县| 平邑县| 四子王旗| 定西市| 南丰县|