一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及裝置,該方法包括:發(fā)送端獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號;發(fā)送端根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度;發(fā)送端根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀;發(fā)送端將獲得的數(shù)據(jù)幀發(fā)送給接收端,用以解決現(xiàn)有技術(shù)中存在的SERDES串行傳輸協(xié)議復(fù)雜、實(shí)現(xiàn)困難、成本高的問題,以及SERDES串行傳輸?shù)乃俾氏鄬潭ǖ膯栴}。
【專利說明】一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]隨著時代的發(fā)展、科技的進(jìn)步,通信領(lǐng)域逐漸從窄帶向?qū)拵У姆较虬l(fā)展,對于通信要求的不斷提高導(dǎo)致了對帶寬要求的提升,也引起了對數(shù)據(jù)傳輸速率的要求越來越高。
[0003]傳統(tǒng)的數(shù)據(jù)傳輸方式采用的是并行傳輸,提高數(shù)據(jù)傳輸帶寬的傳統(tǒng)方法是通過提高數(shù)據(jù)的工作頻率和增加數(shù)據(jù)的位寬來實(shí)現(xiàn)的。但這種方法會導(dǎo)致芯片引腳使用數(shù)量的成倍增加,芯片間互連線的急劇增加,大量的連線會給PCB (Printed circuit board,印刷電路板)的設(shè)計帶來很大的困難,導(dǎo)致電路板面積的增加,而這有時又和系統(tǒng)的高密度要求相矛盾;另一方面,大量的連線也會增加系統(tǒng)可能出現(xiàn)問題的概率,降低系統(tǒng)的可靠性及生產(chǎn)的良品率。
[0004]為了提高數(shù)據(jù)傳輸帶寬,一種改良的方法是使用串行傳輸,例如通過LVDS(Low-Voltage Differential Signaling,低壓差分信號傳輸)接口、SERDES (SERializer/DESerializer,串化器/并化器,又稱并串行與串并行轉(zhuǎn)換器)、USB (Universal SerialBUS,通用串行總線)進(jìn)行傳輸?shù)取?br>
[0005]對于LVDS串行傳輸來說,由于每對LVDS的最大傳輸帶寬是有限的,因此要提升帶寬,必然需要提高數(shù)據(jù)位寬,而提高數(shù)據(jù)位寬又會面臨與傳統(tǒng)的并行傳輸方式相同的問題,因此,目前現(xiàn)有技術(shù)中通用的方法是使用SERDES串行化傳輸,例如,SATA (SerialAdvanced Technology Attachment,串行高級技術(shù)附件)、PCIE (Peripheral ComponentInterconnect-Express,快速外設(shè)部件互連標(biāo)準(zhǔn))等。
[0006]SERDES包含接收通道及發(fā)送通道兩個部分。目前一個SERDES單方向的最大傳輸帶寬遠(yuǎn)遠(yuǎn)超過其它串行傳輸方式的傳輸帶寬,例如,LVDS, LVPECL等(1w-voItagepositive-referenced emitter coupled logic,低電壓偽發(fā)射極稱合邏輯)。隨著技術(shù)的發(fā)展和時間的推移,單個SERDES的最大傳輸帶寬也在不斷地增加。
[0007]但現(xiàn)有技術(shù)中通常使用的兩種類型SERDES串行傳輸方式都有各自的缺點(diǎn):一種類型的SERDES串行傳輸?shù)膮f(xié)議復(fù)雜、實(shí)現(xiàn)困難、成本高,因此相對的應(yīng)用范圍就比較窄,例如SATA、PCIE、USB等;另一種類型的SERDES串行傳輸?shù)膮f(xié)議簡單,但傳輸速率相對固定,靈活性較低,例如,光纖傳輸方面的CPRI(The Common Public Radio Interface,通用公共無線接口)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實(shí)施例提供一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及裝置,用以解決現(xiàn)有技術(shù)中存在的SERDES串行傳輸協(xié)議復(fù)雜、實(shí)現(xiàn)困難、成本高的問題,以及SERDES串行傳輸?shù)乃俾氏鄬潭ǖ膯栴}。[0009]本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
[0010]一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法,包括:
[0011]發(fā)送端獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號;
[0012]發(fā)送端根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度;
[0013]發(fā)送端根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀;
[0014]發(fā)送端將獲得的數(shù)據(jù)幀發(fā)送給接收端。
[0015]一種自適應(yīng)多速率的數(shù)據(jù)接收方法,包括:
[0016]接收端接收到采用上述的方法發(fā)送的數(shù)據(jù)幀后,在解析該數(shù)據(jù)幀時,直接丟棄空閑字符,從中提取出該數(shù)據(jù)幀中的用戶數(shù)據(jù);
[0017]接收端根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
[0018]一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送裝置,包括:
[0019]獲取模塊,用于獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號;
[0020]確認(rèn)模塊,用于根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度;
[0021]封裝模塊,用于根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀;
[0022]發(fā)送模塊,用于將獲得的數(shù)據(jù)幀發(fā)送給接收端。
[0023]一種自適應(yīng)多速率的數(shù)據(jù)接收裝置,包括:
[0024]接收模塊,用于接收到上述發(fā)送裝置發(fā)送的數(shù)據(jù)幀后,在解析該數(shù)據(jù)幀時,直接丟棄空閑字符,從中提取出該數(shù)據(jù)幀中的用戶數(shù)據(jù);
[0025]反饋模塊,用于根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
[0026]本發(fā)明有益效果如下:
[0027]本發(fā)明實(shí)施例提供了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法及裝置,發(fā)送端可以根據(jù)SERDES的工作速率和用戶數(shù)據(jù)的傳輸速率確定空閑字符的長度,使得發(fā)送端發(fā)送的數(shù)據(jù)幀能夠達(dá)到固定的長度,從而能夠滿足各種不同的數(shù)據(jù)傳輸速率情況下的要求,易于實(shí)現(xiàn),并且適用范圍廣,生產(chǎn)成本低廉,而且可以顯著地減少芯片間或單板間的連線,降低PCB設(shè)計的難度,降低電路板的復(fù)雜度,提高產(chǎn)品的成品率,降低生產(chǎn)成本。
【專利附圖】
【附圖說明】
[0028]圖1為本發(fā)明實(shí)施例中自定義的數(shù)據(jù)幀格式;
[0029]圖2為本發(fā)明實(shí)施例設(shè)計的一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法流程圖;
[0030]圖3為本發(fā)明實(shí)施例設(shè)計的一種自適應(yīng)多速率的數(shù)據(jù)接收方法流程圖;
[0031]圖4為本發(fā)明實(shí)施例設(shè)計的一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送裝置示意圖;[0032]圖5為本發(fā)明實(shí)施例設(shè)計的一種自適應(yīng)多速率的數(shù)據(jù)接收裝置示意圖;
[0033]圖6為本發(fā)明實(shí)施例設(shè)計的一種全雙工模式系統(tǒng)示意圖;
[0034]圖7為本發(fā)明實(shí)施例中兩個全雙工模式系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)氖疽鈭D。
【具體實(shí)施方式】
[0035]本發(fā)明實(shí)施例設(shè)計了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送和接收方法及裝置,其結(jié)構(gòu)簡單、易于實(shí)現(xiàn),可以自動地適應(yīng)多種用戶數(shù)據(jù)的速率和SERDES的工作速率。
[0036]下面結(jié)合附圖對本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)說明。
[0037]本發(fā)明實(shí)施例設(shè)計了一種數(shù)據(jù)幀格式如圖1所示,包括:一個SYNC (幀起始符)和多個SC (狀態(tài)及控制字)和與SC —一對應(yīng)的S_DATA (串行數(shù)據(jù)流)。
[0038]而每個S_DATA包括實(shí)際載荷(即用戶數(shù)據(jù))、自動填充的IDLE(空閑字符)和D_SYN(數(shù)據(jù)同步指示字符)三個部分。
[0039]本發(fā)明實(shí)施例中的每個數(shù)據(jù)幀的長度固定(每個數(shù)據(jù)幀的數(shù)據(jù)位寬可以但不限于是16位、32位、64位等),每一個數(shù)據(jù)的處理占用一個時鐘周期的時間(時鐘是SERDES的發(fā)送或接收時鐘)。
[0040]如圖1所示,假設(shè)一個數(shù)據(jù)幀的長度為M,相鄰2個SC的間隔長度是N,M除N的結(jié)果是一個固定的正整數(shù)。
[0041]幀格式中的幀起始符、空閑字符和數(shù)據(jù)同步指示字符各不相同,但都采用8B/10B編碼中的K碼格式。
[0042]采用數(shù)據(jù)流格式的數(shù)據(jù)是一串連續(xù)的數(shù)據(jù),而采用數(shù)據(jù)幀格式的數(shù)據(jù)是指帶有數(shù)據(jù)同步指示信號的數(shù)據(jù)流。本發(fā)明實(shí)施例中的發(fā)送端可以處理采用數(shù)據(jù)流格式的用戶數(shù)據(jù),也可以將該用戶數(shù)據(jù)封裝成數(shù)據(jù)幀,并對采用數(shù)據(jù)幀格式的數(shù)據(jù)進(jìn)行處理。
[0043]本發(fā)明設(shè)計了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法,該方法的流程圖如圖2所示,包括:
[0044]步驟201:發(fā)送端獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號。
[0045]上述控制及狀態(tài)指示信號包括但不限于用戶數(shù)據(jù)空閑信號、數(shù)據(jù)傳輸狀態(tài)信號和用戶數(shù)據(jù)同步指示信號。例如,數(shù)據(jù)傳輸狀態(tài)信號可以包括,數(shù)據(jù)傳輸BUSY (忙)信號,用以表示發(fā)送端的數(shù)據(jù)正在傳送,而且發(fā)送端的SERDES等數(shù)據(jù)傳輸設(shè)備均處于BUSY的狀態(tài)。
[0046]具體地,發(fā)送端根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)生成與每組用戶數(shù)據(jù)對應(yīng)的數(shù)據(jù)傳輸狀態(tài)信號和用戶數(shù)據(jù)同步指示信號,根據(jù)每組用戶數(shù)據(jù)的長度生成與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)空閑信號。
[0047]步驟202:發(fā)送端根據(jù)當(dāng)前的用戶數(shù)據(jù)的傳輸速率和當(dāng)前的SERDES的工作速率確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度。
[0048]這樣,可以使得該數(shù)據(jù)幀的長度為預(yù)設(shè)的固定值,從而實(shí)現(xiàn)數(shù)據(jù)速率和SERDES工作速率的自適應(yīng)。
[0049]步驟203:發(fā)送端根據(jù)上述控制及狀態(tài)指示信號采用預(yù)設(shè)的數(shù)據(jù)幀格式將接收到的多組用戶數(shù)據(jù)封裝成一個數(shù)據(jù)幀。
[0050]該封裝過程具體包括如下4個步驟:[0051]I)發(fā)送端根據(jù)與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)同步信號生成對應(yīng)的D_SYN ;
[0052]2)發(fā)送端分別將每組用戶數(shù)據(jù)與對應(yīng)的D_SYN,以及相應(yīng)的IDLE組裝成對應(yīng)的S_DATA ;
[0053]3)發(fā)送端根據(jù)每個控制及狀態(tài)指示信號生成相應(yīng)的SC ;
[0054]4)發(fā)送端將SYNC、多個S_DATA和多個SC —起組裝成結(jié)構(gòu)如圖1所示的數(shù)據(jù)幀。
[0055]步驟204:發(fā)送端將獲得的數(shù)據(jù)幀發(fā)送給接收端。
[0056]具體地,發(fā)送端將獲得的數(shù)據(jù)幀進(jìn)行8B/10B編碼和并串轉(zhuǎn)換后通過SERDES中的串行差分引腳發(fā)送到接收端。
[0057]另外,在本發(fā)明實(shí)施例中,在發(fā)送端的用戶數(shù)據(jù)傳輸速率不變時,若SERDES的工作速率升高,發(fā)送端則根據(jù)設(shè)定步長增加IDLE的長度;若SERDES的工作速率降低,發(fā)送端則根據(jù)設(shè)定步長縮短IDLE的長度。
[0058]在發(fā)送端的SERDES的工作速率保持不變時,若用戶數(shù)據(jù)的傳輸速率升高,發(fā)送端則根據(jù)設(shè)定步長縮短IDLE的長度;若用戶數(shù)據(jù)的傳輸速率降低,發(fā)送端則根據(jù)設(shè)定步長增加將IDLE的長度。
[0059]例如,SERDES的工作速率為3.125Gb/s,用戶數(shù)據(jù)的傳輸速率為2.5Gb/s時,將一個數(shù)據(jù)幀的長度M設(shè)置為4000word(字),而將IDLE地長度設(shè)置為lOOOword。在SEREDS的工作速率仍然為3.125Gb/s,而用戶數(shù)據(jù)的傳輸速率變?yōu)?Gb/s時,將一個數(shù)據(jù)幀的長度M仍然設(shè)置為4000word (字),而將IDLE地長度設(shè)置為1440word。
[0060]又例如,在SERDES的工作速率為2.5Gb/s,用戶數(shù)據(jù)的傳輸速率為2Gb/s時,將一個數(shù)據(jù)幀的長度M設(shè)置為2700word,而將IDLE地長度設(shè)置為300word。在SERDES的工作速率變?yōu)?.125Gb/s,而用戶數(shù)據(jù)的傳輸速率仍然為2Gb/s時,將一個數(shù)據(jù)幀的長度M仍然設(shè)置為2700word,而將IDLE地長度設(shè)置為1215word。
[0061]這樣,本發(fā)明實(shí)施例中的發(fā)送端僅需要修改SERDES的工作速率,將其升高,就能夠快速方便的提高芯片間或單板間的數(shù)據(jù)傳輸帶寬,因此,適用范圍廣。
[0062]本發(fā)明實(shí)施例還設(shè)計了一種自適應(yīng)多速率的數(shù)據(jù)接收方法,該方法的流程圖如圖3所示,包括:
[0063]步驟301:接收端接收到一組數(shù)據(jù)后,將該數(shù)據(jù)經(jīng)過串并轉(zhuǎn)換和8B/10B解碼,恢復(fù)成一個數(shù)據(jù)幀。
[0064]步驟302:接收端對接收到的該數(shù)據(jù)幀進(jìn)行檢測,確認(rèn)鏈路狀態(tài)是否正常。
[0065]具體地,接收端對接收到的每個數(shù)據(jù)幀都進(jìn)行檢測,在檢測出該數(shù)據(jù)幀中有SYNC時,確認(rèn)鏈路狀態(tài)正常,進(jìn)行步驟304,否則,判定鏈路狀態(tài)異常,進(jìn)行步驟303。
[0066]在實(shí)際應(yīng)用中,發(fā)送端會在封裝每一個數(shù)據(jù)幀時生成一個K碼指示信號,置于每一個SYNC前,用以指示對應(yīng)的SYNC是K碼。而接收端會在通過SERDES接收數(shù)據(jù)幀時,對應(yīng)每一個SYNC都分別通過SERDES恢復(fù)出一個K碼指示信號。這樣,在接收端接收到的每一個數(shù)據(jù)幀的SYNC前會有一個通過接收端的SERDES恢復(fù)的K碼指示信號,接收端將檢測是否存在K碼指示信號和是否存在SYNC結(jié)合起來,判斷是否存在K碼形式的SYNC,若檢測出存在K碼形式的SYNC,則判定能夠檢測到SYNC,否則,判定檢測SYNC出現(xiàn)錯誤。
[0067]接收端若在數(shù)據(jù)幀中首次檢測到SYNC后,每隔M個時鐘周期都能夠再次檢測到SYNC (參考圖1),即能夠連續(xù)正確地檢測到多個SYNC,則判定鏈路狀態(tài)正常。在首次檢測SYNC和其后的每隔M個時鐘周期檢測一次SYNC的檢測結(jié)果中,只要有I次判定檢測SYNC出現(xiàn)錯誤,就判定鏈路狀態(tài)異常,需要重新開始檢測。
[0068]步驟303:接收端判定當(dāng)前接收到的數(shù)據(jù)為非法數(shù)據(jù)。
[0069]步驟304:接收端在解析該數(shù)據(jù)幀時,直接丟棄IDLE,從中提取出用戶數(shù)據(jù)。
[0070]用戶數(shù)據(jù)是指將數(shù)據(jù)幀中的SYNC、SC和D_SYN去除后剩下的數(shù)據(jù)。狀態(tài)指示信號包括:數(shù)據(jù)傳輸狀態(tài)信號,用以指示本次數(shù)據(jù)接收成功,以及表明接收端的數(shù)據(jù)傳輸設(shè)備(例如,SERDES等)處于空閑狀態(tài)。
[0071]在實(shí)際應(yīng)用中,接收端在檢測到SYNC后,會將該SYNC去除,SYNC通??梢圆捎?B/10B編碼中的K碼格式。并且,接收端在檢測到SYNC后,每隔N個時鐘周期,就提取出一個SC,并將該SC后的采用了 8B/10B編碼中的K碼格式的IDLE和D_SYN去除,保留用戶數(shù)據(jù)部分。
[0072]步驟305:在解析完該數(shù)據(jù)幀并提取出所有的用戶數(shù)據(jù)后,接收端根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
[0073]狀態(tài)指示信號包括:數(shù)據(jù)傳輸狀態(tài)信號,用以指示本次數(shù)據(jù)接收成功,以及表明接收端的數(shù)據(jù)傳輸設(shè)備(例如,SERDES等)處于空閑狀態(tài)。
[0074]本發(fā)明實(shí)施例設(shè)計了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送裝置,如圖4所示,包括:
[0075]獲取模塊401,用于獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號。
[0076]獲取模塊401還可具體用于,根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)生成與每組用戶數(shù)據(jù)對應(yīng)的數(shù)據(jù)傳輸狀態(tài)信號和用戶數(shù)據(jù)同步指示信號,以及根據(jù)每組用戶數(shù)據(jù)的長度生成與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)空閑信號。
[0077]確認(rèn)模塊402,用于根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度。
[0078]封裝模塊403,用于根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀。
[0079]封裝模塊403還可具體用于,根據(jù)與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)同步信號生成對應(yīng)的數(shù)據(jù)同步指示字符,分別將每組用戶數(shù)據(jù)與對應(yīng)的數(shù)據(jù)同步指示字符,和相應(yīng)的空閑字符組裝成對應(yīng)的串行數(shù)據(jù)流,根據(jù)每個控制及狀態(tài)指示信號生成相應(yīng)的狀態(tài)及控制字,將幀起始符、多個串行數(shù)據(jù)流和多個狀態(tài)及控制字一起組裝成數(shù)據(jù)幀。
[0080]發(fā)送模塊404,用于將獲得的數(shù)據(jù)幀發(fā)送給接收端;
[0081]發(fā)送模塊404還可具體用于將獲得的數(shù)據(jù)幀進(jìn)行8B/10B編碼和并串轉(zhuǎn)換后通過SERDES發(fā)送給接收端。
[0082]調(diào)整模塊405,用于在每組用戶數(shù)據(jù)的傳輸速率不變時,若SERDES的工作速率升高,則根據(jù)設(shè)定步長增加IDLE的長度,若SERDES的工作速率降低,則根據(jù)設(shè)定步長縮短IDLE的長度;或者,
[0083]用于在SERDES的工作速率不變時,若每組用戶數(shù)據(jù)的傳輸速率升高,則根據(jù)設(shè)定步長縮短IDLE的長度,若每組用戶數(shù)據(jù)的傳輸速率降低,則根據(jù)設(shè)定步長增加IDLE的長度。
[0084]本發(fā)明實(shí)施例還設(shè)計了一種自適應(yīng)多速率的數(shù)據(jù)接收裝置,如圖5所示,包括:[0085]接收模塊501,用于接收到采用上述發(fā)送裝置發(fā)送的數(shù)據(jù)幀后,在解析該數(shù)據(jù)幀時,直接丟棄空閑字符,從中提取出該數(shù)據(jù)幀中的用戶數(shù)據(jù)。
[0086]接收模塊501接收到采用上述發(fā)送裝置發(fā)送的數(shù)據(jù)幀是可以指,接收到一組數(shù)據(jù)后,經(jīng)過串并轉(zhuǎn)換和8B/10B解碼后恢復(fù)成的數(shù)據(jù)幀。
[0087]反饋模塊502,在解析完該數(shù)據(jù)幀并提取出該數(shù)據(jù)幀中所有的用戶數(shù)據(jù)后,用于根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
[0088]檢測模塊503,用于在接收端接收到該數(shù)據(jù)幀之后,解析該數(shù)據(jù)幀之前,若檢測到該數(shù)據(jù)幀中有幀起始符,判定鏈路狀態(tài)正常,解析該數(shù)據(jù)幀;否則,判定鏈路狀態(tài)異常,不再解析該數(shù)據(jù)幀。
[0089]發(fā)送裝置會在封裝每一個數(shù)據(jù)幀時生成一個K碼指示信號,置于每一個SYNC前,用以指示對應(yīng)的SYNC是K碼。而接收裝置會在通過SERDES接收數(shù)據(jù)幀時,對應(yīng)每一個SYNC都分別通過SERDES恢復(fù)出一個K碼指示信號。這樣,在接收裝置接收到的每一個數(shù)據(jù)幀的SYNC前會有一個通過接收裝置的SERDES恢復(fù)的K碼指示信號,接收裝置將檢測是否存在K碼指示信號和是否存在SYNC結(jié)合起來,判斷是否存在K碼形式的SYNC,若檢測出存在K碼形式的SYNC,則判定能夠檢測到SYNC,否則,判定檢測SYNC出現(xiàn)錯誤。
[0090]接收裝置若在數(shù)據(jù)幀中首次檢測到SYNC后,每隔M個時鐘周期都能夠再次檢測到SYNC (參考圖1),即能夠連續(xù)正確地檢測到多個SYNC,則判定鏈路狀態(tài)正常。在首次檢測SYNC和其后的每隔M個時鐘周期檢測一次SYNC的檢測結(jié)果中,只要有I次判定檢測SYNC出現(xiàn)錯誤,就判定鏈路狀態(tài)異常,需要重新開始檢測。
[0091]由于無論發(fā)送端在數(shù)據(jù)幀中插入的IDLE長度為多少,接收端都會自動丟棄。因此,本發(fā)明實(shí)施例中的發(fā)送端和接收端傳輸?shù)挠行У挠脩魯?shù)據(jù)是一致的,數(shù)據(jù)傳輸?shù)膸捯彩且粯拥?,這樣保證了本發(fā)明實(shí)施例的數(shù)據(jù)傳輸?shù)囊恢滦院涂煽啃浴6?,本發(fā)明實(shí)施例中,無論SERDES工作速率如何改變,發(fā)送端和接收端都通過相同的數(shù)據(jù)幀格式以及固定的數(shù)據(jù)幀長度處理數(shù)據(jù),從而保證速率上的自匹配以及實(shí)現(xiàn)用戶數(shù)據(jù)速率和SERDES的工作速率之間的自適應(yīng),例如,本發(fā)明實(shí)施例可以適用于SERDES的工作速率為1.25G/s,2.5G/s或3.125G/s等情況下。
[0092]本發(fā)明實(shí)施例還設(shè)計了一種全雙工模式系統(tǒng),該系統(tǒng)包括本發(fā)明實(shí)施例中的發(fā)送裝置和接收裝置,如圖6所示。本發(fā)明實(shí)施例設(shè)計的全雙工模式系統(tǒng)中的發(fā)送裝置可以將獲取的多組用戶數(shù)據(jù)處理成數(shù)據(jù)幀,并通過SERDES發(fā)送給本發(fā)明實(shí)施例中的接收裝置或者另一個全雙工模式系統(tǒng)。本發(fā)明實(shí)施例設(shè)計的全雙工模式系統(tǒng)中的接收裝置可以通過SERDES接收本發(fā)明實(shí)施例中的發(fā)送裝置或者另一個全雙工模式系統(tǒng)發(fā)送的數(shù)據(jù)幀,處理該數(shù)據(jù)幀并從中提取出用戶數(shù)據(jù)。本發(fā)明實(shí)施例中的全雙工模式系統(tǒng)可以通過SC 了解對端的狀態(tài),并根據(jù)本地接收裝置對接收到的數(shù)據(jù)幀的分析結(jié)果改善本地的控制流程。
[0093]例如,根據(jù)接收到的數(shù)據(jù)幀中的SC改善本地的發(fā)送及狀態(tài)控制。又例如,本地的發(fā)送裝置將調(diào)整后的狀態(tài)通過反饋或應(yīng)答SC傳輸?shù)綄Χ耍顚Χ烁鶕?jù)接收到的反饋或應(yīng)答SC改善該對端的發(fā)送及狀態(tài)控制。
[0094]兩個全雙工模式系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸時,接收到數(shù)據(jù)幀的全雙工模式系統(tǒng)的接收裝置能夠?qū)邮盏降臄?shù)據(jù)幀中的SC進(jìn)行分析,該全雙工模式系統(tǒng)可以根據(jù)接收裝置的分析結(jié)果改善本地的發(fā)送及狀態(tài)控制,并且,還可以通過本地的發(fā)送裝置反饋或應(yīng)答SC到發(fā)送該數(shù)據(jù)幀的全雙工模式系統(tǒng),從而實(shí)現(xiàn)封閉循環(huán)的控制交流,如圖7所示。
[0095]本發(fā)明實(shí)施例提供了一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法及裝置,發(fā)送端可以根據(jù)SERDES的工作速率和用戶數(shù)據(jù)的傳輸速率確定空閑字符的長度,使得發(fā)送端發(fā)送的數(shù)據(jù)幀能夠達(dá)到固定的長度,從而能夠滿足各種不同的數(shù)據(jù)傳輸速率情況下的要求,易于實(shí)現(xiàn),并且適用范圍廣,生產(chǎn)成本低廉,而且可以顯著地減少芯片間或單板間的連線,降低PCB設(shè)計的難度,降低電路板的復(fù)雜度,提高產(chǎn)品的成品率,降低生產(chǎn)成本。
[0096]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0097]這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0098]這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0099]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0100]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明實(shí)施例進(jìn)行各種改動和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送方法,其特征在于,包括: 發(fā)送端獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號; 發(fā)送端根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度; 發(fā)送端根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀; 發(fā)送端將獲得的數(shù)據(jù)幀發(fā)送給接收端。
2.如權(quán)利要求1所述的方法,其特征在于,發(fā)送端根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號,包括: 發(fā)送端根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)生成與每組用戶數(shù)據(jù)對應(yīng)的數(shù)據(jù)傳輸狀態(tài)信號和用戶數(shù)據(jù)同步指示信號; 發(fā)送端根據(jù)每組用戶數(shù)據(jù)的長度生成與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)空閑信號。
3.如權(quán)利要求1所述的方法,其特征在于,還包括: 發(fā)送端在每組用戶數(shù)據(jù)的傳輸速率不變時,若發(fā)送端的SERDES的工作速率升高,則根據(jù)設(shè)定步長增加所述空閑字符的長度,若發(fā)送端的SERDES的工作速率降低,則根據(jù)設(shè)定步長縮短所述空閑字符的長度;或者, 發(fā)送端在發(fā)送端的SERDES的工作速率不變時,若每組用戶數(shù)據(jù)的傳輸速率升高,則根據(jù)設(shè)定步長縮短所述空閑字符的長度,若每組用戶數(shù)據(jù)的傳輸速率降低,則根據(jù)設(shè)定步長增加所述空閑字符的長度。
4.如權(quán)利要求2所述的方法,其特征在于,所述發(fā)送端根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀,具體包括: 發(fā)送端根據(jù)與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)同步信號生成對應(yīng)的數(shù)據(jù)同步指示字符; 發(fā)送端分別將每組用戶數(shù)據(jù)與對應(yīng)的數(shù)據(jù)同步指示字符,以及相應(yīng)的空閑字符組裝成對應(yīng)的串行數(shù)據(jù)流; 發(fā)送端根據(jù)每個控制及狀態(tài)指示信號生成相應(yīng)的狀態(tài)及控制字; 發(fā)送端將幀起始符、多個串行數(shù)據(jù)流和多個狀態(tài)及控制字一起組裝成數(shù)據(jù)幀。
5.如權(quán)利要求1-4中任一項(xiàng)所述的方法,其特征在于,所述發(fā)送端將獲得的數(shù)據(jù)幀發(fā)送給接收端,具體包括: 發(fā)送端將獲得的數(shù)據(jù)幀進(jìn)行8B/10B編碼和并串轉(zhuǎn)換后通過所述SERDES發(fā)送給接收端。
6.一種自適應(yīng)多速率的數(shù)據(jù)接收方法,其特征在于,包括: 接收端接收到采用如權(quán)利要求1所述的方法發(fā)送的數(shù)據(jù)幀后,在解析所述數(shù)據(jù)幀時,直接丟棄空閑字符,從中提取出所述數(shù)據(jù)幀中的用戶數(shù)據(jù); 接收端根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
7.如權(quán)利要求6所述的方法,其特征在于,接收端接收所述數(shù)據(jù)幀的過程,具體包括: 接收端在接收到一組數(shù)據(jù)后,經(jīng)過串并轉(zhuǎn)換和8B/10B解碼后恢復(fù)成所述數(shù)據(jù)幀。
8.如權(quán)利要求6或7所述的方法,其特征在于,在接收端接收到所述數(shù)據(jù)幀之后,解析所述數(shù)據(jù)幀之前,還包括: 接收端若檢測到該數(shù)據(jù)幀中有幀起始符,判定鏈路狀態(tài)正常,解析該數(shù)據(jù)幀;否則,判定鏈路狀態(tài)異常,不再解析該數(shù)據(jù)幀。
9.一種自適應(yīng)多速率的數(shù)據(jù)發(fā)送裝置,其特征在于,包括: 獲取模塊,用于獲取多組用戶數(shù)據(jù),并根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)和每組用戶數(shù)據(jù)的長度分別生成與每組用戶數(shù)據(jù)對應(yīng)的控制及狀態(tài)指示信號; 確認(rèn)模塊,用于根據(jù)每組用戶數(shù)據(jù)的傳輸速率和發(fā)送端當(dāng)前的并串行與串并行轉(zhuǎn)換器SERDES的工作速率分別確定每組用戶數(shù)據(jù)對應(yīng)的空閑字符的長度; 封裝模塊,用于根據(jù)多組用戶數(shù)據(jù)及與其一一對應(yīng)的空閑字符的長度,以及相應(yīng)的各控制及狀態(tài)指示信號,封裝數(shù)據(jù)幀; 發(fā)送模塊,用于將獲得的數(shù)據(jù)幀發(fā)送給接收端。
10.如權(quán)利要求9所述的裝置,其特征在于,所述獲取模塊具體用于, 根據(jù)發(fā)送端的數(shù)據(jù)傳輸狀態(tài)生成與每組用戶數(shù)據(jù)對應(yīng)的數(shù)據(jù)傳輸狀態(tài)信號和用戶數(shù)據(jù)同步指示信號,以及根據(jù)每組用戶數(shù)據(jù)的長度生成與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)空閑信號。
11.如權(quán)利要求9所述的裝置,其特征在于,還包括調(diào)整模塊, 用于在每組用戶數(shù)據(jù)的傳輸速率不變時,若SERDES的工作速率升高,則根據(jù)設(shè)定步長增加所述空閑字符的長度,若SERDES的工作速率降低,則根據(jù)設(shè)定步長縮短所述空閑字符的長度;或者, 用于在SERDES的工作速率不變時,若每組用戶數(shù)據(jù)的傳輸速率升高,則根據(jù)設(shè)定步長縮短所述空閑字符的長度,若每組用戶數(shù)據(jù)的傳輸速率降低,則根據(jù)設(shè)定步長增加所述空閑字符的長度。
12.如權(quán)利要求9所述的裝置,其特征在于,所述封裝模塊具體用于, 根據(jù)與每組用戶數(shù)據(jù)對應(yīng)的用戶數(shù)據(jù)同步信號生成對應(yīng)的數(shù)據(jù)同步指示字符,分別將每組用戶數(shù)據(jù)與對應(yīng)的數(shù)據(jù)同步指示字符,和相應(yīng)的空閑字符組裝成對應(yīng)的串行數(shù)據(jù)流,根據(jù)每個控制及狀態(tài)指示信號生成相應(yīng)的狀態(tài)及控制字,將幀起始符、多個串行數(shù)據(jù)流和多個狀態(tài)及控制字一起組裝成數(shù)據(jù)幀。
13.如權(quán)利要求9-12中任一項(xiàng)所述的裝置,其特征在于,所述發(fā)送模塊具體用于, 將獲得的數(shù)據(jù)幀進(jìn)行8B/10B編碼和并串轉(zhuǎn)換后通過所述SERDES發(fā)送給接收端。
14.一種自適應(yīng)多速率的數(shù)據(jù)接收裝置,其特征在于,包括: 接收模塊,用于接收到采用如權(quán)利要求10所述的裝置發(fā)送的數(shù)據(jù)幀后,在解析所述數(shù)據(jù)幀時,直接丟棄空閑字符,從中提取出所述數(shù)據(jù)幀中的用戶數(shù)據(jù); 反饋模塊,用于根據(jù)當(dāng)前接收端的數(shù)據(jù)傳輸設(shè)備狀態(tài)和數(shù)據(jù)傳輸狀態(tài)生成相應(yīng)的狀態(tài)指示信號,并反饋至發(fā)送端。
15.如權(quán)利要求14所述的裝置,其特征在于,所述接收模塊具體用于, 在接收到一組數(shù)據(jù)后,經(jīng)過串并轉(zhuǎn)換和8B/10B解碼后恢復(fù)成所述數(shù)據(jù)幀。
16.如權(quán)利要求14或15所述的裝置,其特征在于,還包括檢測模塊, 用于在接收端接收到所述數(shù)據(jù)幀之后,解析所述數(shù)據(jù)幀之前,若檢測到該數(shù)據(jù)幀中有幀起始符,判定鏈路狀態(tài) 正常,解析該數(shù)據(jù)幀;否則,判定鏈路狀態(tài)異常。
【文檔編號】H04L1/00GK103716118SQ201210371580
【公開日】2014年4月9日 申請日期:2012年9月28日 優(yōu)先權(quán)日:2012年9月28日
【發(fā)明者】唐良建, 李遠(yuǎn)深, 雷文明 申請人:京信通信系統(tǒng)(中國)有限公司