客房夜起引導系統的制作方法
【專利摘要】本發明提供一種降低CGMII接口時鐘頻率的方法及裝置,方法包括:將CGMII接口的單通道擴展為二十通道;設置數據塊計數器和包間隙計數器,數據塊計數器用于監視數據塊的數量,包間隙計數器用于調整插入包間隙的數量;以1280比特為發送數據位寬,當數據發送到數據包結尾端時,判斷所在當前通道剩余多少個邏輯通道,根據單通道的空閑字符計數計算法則計算出需要插入包間隙的數量,在二十條通道并行插入間隙包;在數據塊計數器達到16383時,將包間隙計數器的值初始為20。上述方法一方面降低了CGMII接口的時鐘頻率從而使得流控制機制設計得以實現,另一方面在不影響IEEE協議實現功能的情況下使得PCS塊的設計能夠很好的得到簡化,同時也很好的保證了傳輸數據帶寬。
【專利說明】
客房夜起引導系統
技術領域
[00011 本發明涉及通信技術領域,具體涉及IEEE 802.3ba協議中在對CGMII(100Gigabit Media Independent Interface,媒體介質無關接口)接口降頻處理后為了保證在物理編碼 子層(Phycical Coding Sublayer,簡稱PCS)中插入對齊標志時不影響線速而采用的一種 基于傳統空閑字符計數(Deficit Idle Count,簡稱DIC)技術的降低CGMII接口時鐘頻率的 方法及裝置。
【背景技術】
[0002] IEEE 802.3ba協議中規定,100G以太網數據鏈路層(Network data link layer) 與物理編碼子層(Physical Coding Sublayer,簡稱PCS層)間的可選CGMII接口為64比特數 據位寬的數據和8比特數據位寬的控制碼。每一比特的控制碼對應8比特數據位寬的數據, 這樣就將64比特的數據分為8個8比特數據位寬的虛擬邏輯通道。
[0003] 為了滿足帶寬要求,需要在傳輸的數據包與數據包之間根據DIC機制有規律的插 入一定數量的間隙包(Inter Packet Gap,簡稱IPG)。但是,由于帶寬達到lOOGbps,如果使 用單一64比特的數據位寬,CGMII接口時鐘頻率可達到1562.5MHZ,這么高的頻率在實際工 程中難以實現間隙包有規律的插入。協議中對于PCS層插入對齊占位標志模塊(A1 ignment) 的描述是每隔16383個數據塊定時插一個Alignment標記,但是在實際工程實現過程中,PCS 層中的數據流是不能出現Unknown的,如果設計在16383數目的碼塊后插Alignment模塊的 話,那就必須將前一拍的碼塊用先入先出隊列(First Input First output,簡稱FIFO)寄 存,這樣在經過相當長一段時間后FIFO將滿,導致流控機制難以實現。
【發明內容】
[0004] 有鑒于此,本發明實施例的目的在于提供一種降低CGMII接口時鐘頻率的方法及 裝置,以解決在插入對齊占位標志模塊中流控機制難以實現的技術問題。
[0005] 為了實現上述目的,本發明實施例采用的技術方案如下:
[0006] 第一方面,本發明實施例提供一種降低CGMII接口時鐘頻率的方法,所述方法包 括:
[0007] 將所述CGMII接口的單通道擴展為二十通道,其中,所述CGMII接口的數據位寬為 1280比特,所述CGMII接口時鐘頻率由1562.5MHZ下降到78.125MHZ;
[0008] 設置數據塊計數器和包間隙計數器,其中所述數據塊計數器用于監視數據塊的數 量,所述包間隙計數器用于調整插入包間隙的數量,其中,所述數據塊計數器以16383個數 據塊為周期;
[0009] 以1280比特為發送數據位寬,當數據發送到數據包結尾端時,判斷所在當前通道 剩余多少個邏輯通道,根據單通道的空閑字符計數計算法則計算出需要插入包間隙的數 量,在所述二十條通道并行插入所述間隙包;
[0010]在所述數據塊計數器達到16383時,將所述包間隙計數器的值初始為20。
[0011] 進一步地,所述所述根據單通道的空閑字符計數計算法則計算出插入包間隙的數 量的步驟包括:
[0012] 在數據包發送完成時,根據余留邏輯通道數插入相應數量的包間隙,以保證空閑 字符計數值調整后大于等于〇且小于等于12,其中,將根據空閑字符計數規則插入的包間隙 數量與12進行比較,當插入的包間隙數量大于12,將當前空閑字符計數值減去包間隙數量 與12之間的差值;當插入的包間隙數量小于12時,將當前空閑字符計數值增加包間隙數量 與12之間的差值。
[0013] 進一步地,在數據包發送完成時,根據余留邏輯通道數插入相應數量的包間隙,以 保證空閑字符計數值調整后大于等于〇且小于等于12的步驟中:
[0014] 所述插入的包間隙數量使得所述空閑字符計數值大于等于0且小于等于7。
[0015] 進一步地,所述在所述二十條通道并行插入所述間隙包的步驟包括:
[0016] 將所述包間隙并排插入所述二十通道內,使下一個包的開始標志位于所述二十通 道中其中一個通道的第一個邏輯通道上。
[0017] 進一步地,在上述方法中,所述在所述數據塊計數器達到16383時,將所述包間隙 計數器的值初始為20的步驟中:在每隔16383個數據塊后插入對齊占位標志符。
[0018] 第二方面,本發明實施例提供一種降低CGMII接口時鐘頻率的裝置,所述裝置包 括:通道拓展單元、計數器單元、包間隙數量計算單元及對齊占位標志插入單元;
[0019] 所述通道拓展單元,用于將所述CGMII接口的單通道擴展為二十通道,其中,所述 CGMII接口的數據位寬為1 280比特,所述CGMII接口時鐘頻率由1 562.5MHZ下降到 78.125MHZ;
[0020] 所述計數器單元,用于設置數據塊計數器和包間隙計數器,其中所述數據塊計數 器用于監視數據塊的數量,所述包間隙計數器用于調整插入包間隙的數量,其中,所述數據 塊計數器以16383個數據塊為周期;
[0021] 所述包間隙數量計算單元,用于以1280比特為發送數據位寬,當數據發送到數據 包結尾端時,判斷所在當前通道剩余多少個邏輯通道,根據單通道的空閑字符計數計算法 則計算出需要插入包間隙的數量,在所述二十條通道并行插入所述間隙包;
[0022]所述對齊占位標志插入單元,用于在所述數據塊計數器達到16383時,將所述包間 隙計數器的值初始為20。
[0023] 進一步地,上述包間隙數量計算單元在數據包發送完成時,根據余留邏輯通道數 插入相應數量的包間隙,以保證空閑字符計數值調整后大于等于0且小于等于12,其中,將 根據空閑字符計數規則插入的包間隙數量與12進行比較,當插入的包間隙數量大于12,將 當前空閑字符計數值減去包間隙數量與12之間的差值;當插入的包間隙數量小于12時,將 當前空閑字符計數值增加包間隙數量與12之間的差值。
[0024] 進一步地,上述包間隙數量計算單元通過所述插入的包間隙數量使得所述空閑字 符計數值大于等于〇且小于等于7。
[0025] 進一步地,上述包間隙數量計算單元將所述包間隙并排插入所述二十通道內,使 下一個包的開始標志位于所述二十通道中其中一個通道的第一個邏輯通道上。
[0026]進一步地,所述對齊占位標志插入單元在每隔16383個數據塊后插入對齊占位標 志符。
[0027] 相對于現有技術,以單通道DIC機制為基礎衍生出來二十通道DIC機制,在發送數 據塊的同時連續計數,以16383個計數值為周期,在一個計數周期結束時,在二十個通道中 同時插入66比特數據位寬的占位數據塊(此數據塊是作為在PCS的子模塊Alignment模塊中 的標志塊,當識別到此標志塊時會將此標志塊替換成具體的Alignment塊),同時將一變量 賦值為20,當后續插入IPG數目大于或者等于一個數據塊時,將變量值減去1,當變量值回歸 〇時,后續插入正常數目的IPG。一方面因為降低了 CGMII接口的時鐘頻率從而使得設計得以 實現,另一方面在不影響IEEE協議實現功能的情況下使得PCS塊的設計能夠很好的得到簡 化,同時也很好的保證了傳輸數據帶寬。
[0028] 為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合 所附附圖,作詳細說明如下。
【附圖說明】
[0029] 為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附 圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對 的限定,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附 圖獲得其他相關的附圖。
[0030] 圖1是本發明第一實施例提供的降低CGMII接口時鐘頻率的方法流程圖。
[0031] 圖2是本發明第一實施例所涉及的單通道DIC機制示例發送圖。
[0032] 圖3是本發明第一實施例中方法所采用的CGMII接口圖。
[0033]圖4是本發明第一實施例所提供的二十通道降頻DIC機制圖。
[0034]圖5是本發明第二實施例所提供的降低CGMII接口時鐘頻率的裝置的功能模塊圖。 [0035]主要元件符號說明
[0036]
【具體實施方式】
[0037] 下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在 此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因 此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明 的,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出 創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0038] 第一實施例
[0039]請參照圖1,是本發明第一實施例提供一種降低CGMII接口時鐘頻率的方法。下面 將對圖1所示的具體流程和步驟進行詳細闡述,具體如下。
[0040] 步驟Sill,將所述CGMII接口的單通道擴展為二十通道。
[0041 ] 在本實施例中,所述CGMII接口的數據位寬為1280比特,所述CGMII接口時鐘頻率 由 1562.5MHZ下降到 78.125MHZ。
[0042]步驟S112,設置數據塊計數器和包間隙計數器,所述數據塊計數器用于監視數據 塊的數量,所述包間隙計數器用于調整插入包間隙的數量。
[0043]在本實施例中,所述所述數據塊計數器以16383個數據塊為周期。
[0044]步驟S113,以1280比特為發送數據位寬,當數據發送到數據包結尾端時,判斷所在 當前通道剩余多少個邏輯通道,根據單通道的空閑字符計數計算法則計算出需要插入包間 隙的數量,在所述二十條通道并行插入所述間隙包。
[0045]在本實施例中,采用單通道DIC機制為基礎衍生出來二十通道DIC機制。接下來,介 紹DIC機制。
[0046] DIC是IEEE802.3協議中規定以太網數據包之間插入以太網幀間隔數目的一種機 制,在數據包發送完時,根據余留邏輯通道數插入相應IPG數目以保證DIC值在調增后不超 過12或低于(LDIC數值的調整規則是用插入的IPG數量與12比較,當DIC數值大于12時,用當 前DIC值要減去IP數量與數值12之間的差值,當插入的IPG數目小于12時,當前DIC值要增加 IPG與數值12之間的差值。插入的IPG數要保證不能使得DIC大于7或者小于0。
[0047]在本實施例中,二十個通道中任意一個通道的接口帶寬為5Gbps,數據位寬為8個 字節,時鐘頻率為78.125MHz。根據單通道的空閑字符計數計算法則計算出需要插入包間隙 的數量的方法如下,假設需要插入的IPG數目為I,則線速公式如下
[0048] ((8+I+B)*8)/NT = 5Gbps
[0049] 其中,T為周期,B為數據包長度,N為周期的數目,由上述線速公式可以得到IPG數 目與一定周期數目N的關系,如下
[0050] 8+B+I = 8N
[0051] 根據以太網的規定,以太網包長不得小于64個字節,根據公式2,N要至少等于9, IPG數目才是為正。所以設計規定小于80字節的數據包插入的IPG數目由能保證下一個包的 開始字節在通道〇上的值加上8個IPG決定。在實際情況中,IPG數目一般不會超過24,也就是 N與B之間一般不會相差超過24,所以設計當包長超過796字節時,插入的IPG數目由能保證 下一個包的開始字節在通道0上的值,包長介于兩個字節中間的數據包,相鄰兩個數據之間 插入的IPG數目多8個字節,什么時候加8個字節取決于上一個包余留的信息,設置一個標志 位,假如上一個數據包的IPG沒有加8,則將此標志位置1。本發明方法可以將接口頻率降低 到78.125MHz,根據特定DIC方法插入IPG數目發送。
[0052]假定有三個數據包需要發送,包長分別是65字節,67字節和66字節,根據上述規則 插入的IPG數目分別是15,13和14。具體結果參照表1。
[0053]
[0054] 表 1
[0055] 請參照圖3,圖3是本發明方法將協議規定的單通道拓展成二十通道,這樣CGMII數 據位寬為1280比特,接口頻率由1562.5MHZ降低到78.125MHZ,這樣就可以保證實際工程中 設計的實現。其中,每個所述二十通道包括8個邏輯通道,每個邏輯通道為一個字節的數據 位寬。
[0056] 將連續二十個8邏輯通道由串行關系轉變成了并行關系,由此衍生出來的多通道 DIC機制就是將原本插在一個單通道后面的IPG現在進行并排插,只要保證下一個包的開始 標志位于所述二十通道中其中一個通道的第一個邏輯通道上。具體地,當數據發送到數據 包結尾端時,數據包長度為9字節,此時假如要插15個字節的IPG,其中的7個字節緊跟著插 在第二通道數字結束字節的后面,還有8個字節填在第三個通道上而不是填在第二通道的 下一 8字節上。
[0057]步驟S114,在所述數據塊計數器達到16383時,將所述包間隙計數器的值初始為 20 〇
[0058] 請參照圖4,所述數據塊計數器達到16383時,二十個通道同時插入Alignment占位 標志,這個占位標志符可以根據設計工程師的個人喜愛去設定,只要不會和協議規定的有 用數據形式相沖突就可以。在數據塊計數器達到16383時,設置包間隙計數器的值為20,此 后所有插入IPG的調整都是為了讓包間隙計數器的值回到初值0。這樣做的原因是因為在數 據塊計數器滿一個周期時數據流中多插入了 1280位寬的占位符,這樣導致帶寬下降,為了 維持協議規定的兩個以太網包間隔IPG個數平均為12,就需要調整后期插入IPG的個數。比 如,此時計數值為20,數據包結尾端數據長度為9字節,此時需要插入15字節的IPG,因為此 時計數器值不為〇,所有考慮直接插7個字節,忽略掉8個字節,因為這8個字節正好是填滿第 三個通道的8字節,此時計數值減去1,如此循環一直到計數值為0,后續的插入才變成正常 插入。
[0059] 第二實施例
[0060]請參照圖5,圖5是本發明實施例提供的降低CGMII接口時鐘頻率的裝置200功能模 塊示意圖。所述裝置包括通道拓展單元210、計數器單元220、包間隙數量計算單元230及對 齊占位標志插入單元240。
[0061 ]所述通道拓展單元210,用于將所述CGMII接口的單通道擴展為二十通道,其中,所 述C G Μ11接口的數據位寬為12 8 0比特,所述C G Μ11接口時鐘頻率由15 6 2.5 Μ Η Z下降到 78.125ΜΗΖ。
[0062]所述計數器單元220,用于設置數據塊計數器和包間隙計數器,所述數據塊計數器 用于監視數據塊的數量,所述包間隙計數器用于調整插入包間隙的數量,其中,所述數據塊 計數器以16383個數據塊為周期。
[0063]所述包間隙數量計算單元230,用于以1280比特為發送數據位寬,當數據發送到數 據包結尾端時,判斷所在當前通道剩余多少個邏輯通道,根據單通道的空閑字符計數計算 法則計算出需要插入包間隙的數量,在所述二十條通道并行插入所述間隙包。
[0064]在本實施例中,所述包間隙數量計算單元230在數據包發送完成時,根據余留邏輯 通道數插入相應數量的包間隙,以保證空閑字符計數值調整后大于等于0且小于等于12,其 中,將根據空閑字符計數規則插入的包間隙數量與12進行比較,當插入的包間隙數量大于 12,將當前空閑字符計數值減去包間隙數量與12之間的差值;當插入的包間隙數量小于12 時,將當前空閑字符計數值增加包間隙數量與12之間的差值。
[0065]在本實施例中,進一步地,所述包間隙數量計算單元230通過所述插入的包間隙數 量使得所述空閑字符計數值大于等于〇且小于等于7。
[0066]在本實施例中,所述包間隙數量計算單元230將所述包間隙并排插入所述二十通 道內,使下一個包的開始標志位于所述二十通道中其中一個通道的第一個邏輯通道上。其 中,每個所述二十通道包括8個邏輯通道,每個邏輯通道為一個字節的數據位寬。
[0067]所述對齊占位標志插入單元240,用于在所述數據塊計數器達到16383時,將所述 包間隙計數器的值初始為20。
[0068]具體地,所述對齊占位標志插入單元在每隔16383個數據塊后插入對齊占位標志 符。
[0069] 綜上所述,本發明實施例提供的降低CGMII接口時鐘頻率的方法及裝置,以單通道 DIC機制為基礎衍生出來二十通道DIC機制,在發送數據塊的同時連續計數,以16383個計數 值為周期,在一個計數周期結束時,在二十個通道中同時插入66比特數據位寬的占位數據 塊(此數據塊是作為在PCS的子模塊Alignment模塊中的標志塊,當識別到此標志塊時會將 此標志塊替換成具體的Alignment塊),同時將一變量賦值為20,當后續插入IPG數目大于或 者等于一個數據塊時,將變量值減去1,當變量值回歸〇時,后續插入正常數目的IPG。一方面 因為降低了CGMII接口的時鐘頻率從而使得設計得以實現,另一方面在不影響IEEE協議實 現功能的情況下使得PCS塊的設計能夠很好的得到簡化,同時也很好的保證了傳輸數據帶 寬。
[0070] 以上所述,僅為本發明的【具體實施方式】,但本發明的保護并不局限于此,任何熟悉 本技術領域的技術人員在本發明揭露的技術內,可輕易想到變化或替換,都應涵蓋在本發 明的保護之內。因此,本發明的保護應所述以權利要求的保護為準。
【主權項】
1. 一種降低CGMII接口時鐘頻率的方法,其特在于,包括: 將所述CGMII接口的單通道擴展為二十通道,其中,所述CGMII接口的數據位寬為1280 比特,所述CGMII接口時鐘頻率由1562.5MHZ下降到78.125MHZ; 設置數據塊計數器和包間隙計數器,所述數據塊計數器用于監視數據塊的數量,所述 包間隙計數器用于調整插入包間隙的數量,其中,所述數據塊計數器以16383個數據塊為周 期; 以1280比特為發送數據位寬,當數據發送到數據包結尾端時,判斷所在當前通道剩余 多少個邏輯通道,根據單通道的空閑字符計數計算法則計算出需要插入包間隙的數量,在 所述二十條通道并行插入所述間隙包; 在所述數據塊計數器達到16383時,將所述包間隙計數器的值初始為20。2. 如權利要求1所述的方法,其特征在于,所述根據單通道的空閑字符計數計算法則計 算出插入包間隙的數量的步驟包括: 在數據包發送完成時,根據余留邏輯通道數插入相應數量的包間隙,以保證空閑字符 計數值調整后大于等于〇且小于等于12,其中,將根據空閑字符計數規則插入的包間隙數量 與12進行比較,當插入的包間隙數量大于12,將當前空閑字符計數值減去包間隙數量與12 之間的差值;當插入的包間隙數量小于12時,將當前空閑字符計數值增加包間隙數量與12 之間的差值。3. 如權利要求2所述的方法,其特征在于,在數據包發送完成時,根據余留邏輯通道數 插入相應數量的包間隙,以保證空閑字符計數值調整后大于等于0且小于等于12的步驟中: 所述插入的包間隙數量使得所述空閑字符計數值大于等于〇且小于等于7。4. 如權利要求1所述的方法,其特征在于,所述在所述二十條通道并行插入所述間隙包 的步驟包括: 將所述包間隙并排插入所述二十通道內,使下一個包的開始標志位于所述二十通道中 其中一個通道的第一個邏輯通道上。5. 如權利要求1所述的方法,其特征在于,所述在所述數據塊計數器達到16383時,將所 述包間隙計數器的值初始為20的步驟中: 在每隔16383個數據塊后插入對齊占位標志符。6. -種降低CGMII接口時鐘頻率的裝置,其特征在于,包括:通道拓展單元、計數器單 元、包間隙數量計算單元及對齊占位標志插入單元; 所述通道拓展單元,用于將所述CGMII接口的單通道擴展為二十通道,其中,所述CGMII 接口的數據位寬為1280比特,所述CGMII接口時鐘頻率由1562.5MHZ下降到78.125MHZ; 所述計數器單元,用于設置數據塊計數器和包間隙計數器,所述數據塊計數器用于監 視數據塊的數量,所述包間隙計數器用于調整插入包間隙的數量,其中,所述數據塊計數器 以16383個數據塊為周期; 所述包間隙數量計算單元,用于以1280比特為發送數據位寬,當數據發送到數據包結 尾端時,判斷所在當前通道剩余多少個邏輯通道,根據單通道的空閑字符計數計算法則計 算出需要插入包間隙的數量,在所述二十條通道并行插入所述間隙包; 所述對齊占位標志插入單元,用于在所述數據塊計數器達到16383時,將所述包間隙計 數器的值初始為20。7. 如權利要求6所述的裝置,其特征在于: 所述包間隙數量計算單元在數據包發送完成時,根據余留邏輯通道數插入相應數量的 包間隙,以保證空閑字符計數值調整后大于等于〇且小于等于12,其中,將根據空閑字符計 數規則插入的包間隙數量與12進行比較,當插入的包間隙數量大于12,將當前空閑字符計 數值減去包間隙數量與12之間的差值;當插入的包間隙數量小于12時,將當前空閑字符計 數值增加包間隙數量與12之間的差值。8. 如權利要求7所述的裝置,其特征在于: 所述包間隙數量計算單元通過所述插入的包間隙數量使得所述空閑字符計數值大于 等于O且小于等于7。9. 如權利要求6所述的裝置,其特征在于: 所述包間隙數量計算單元將所述包間隙并排插入所述二十通道內,使下一個包的開始 標志位于所述二十通道中其中一個通道的第一個邏輯通道上。10. 如權利要求6所述的裝置,其特征在于: 所述對齊占位標志插入單元在每隔16383個數據塊后插入對齊占位標志符。
【文檔編號】H04L25/14GK105897631SQ201610459867
【公開日】2016年8月24日
【申請日】2016年6月23日
【發明人】郭敏, 謝海春, 蔣漢柏, 廖北平
【申請人】醴陵恒茂電子科技有限公司