DS34T10x和DS34S10x TDM分組(TDMoP)器件利用抖動緩沖器來補償分組網絡中存在的分組延遲變化(PDV)。本應用筆記解釋了PDV及其對通信質量的影響。討論了抖動緩沖器的功能和類型。本文還介紹了如何在TDMoP器件中設置抖動緩沖控制器的參數,以最大程度地減少PDV的影響。
介紹
DS34T10x和DS34S10x系列TDM包帶(TDMoP)器件使用抖動緩沖器來補償分組網絡中存在的數據包延遲變化(PDV)。這些緩沖區可基于每個捆綁包或每個連接獨立配置。此外,它們是動態可調的,允許它們實時適應分組網絡性能特征的變化。本應用筆記討論抖動緩沖控制器以及如何設置其參數,以最大限度地降低TDM時鐘恢復期間PDV的影響。
DS34T10x 包括 DS34T101、DS34T102、DS34T104 和 DS34T108;DS34S10x 包括 DS34S101、DS34S102、DS34S104 和 DS34S108。
TDM 網絡中的時序
TDM 網絡具有網絡中所有設備使用的單時鐘源。目標TDM器件從輸入數據中獲取時鐘,并將其用于傳輸數據(環回時序),如圖1所示。
圖1.TDM 網絡中的環回時序。
數據包到達時間的變化(稱為抖動)是由于網絡擁塞、時序漂移或路由更改而發生的。因此,當用一個IP/MPLS網絡和兩個TDMoP設備替換物理TDM連接時(如圖2所示),接收TDMoP設備(從設備)接收TDMoP數據包,其到達時間延遲可變。
處理完數據包后,設備應以TDM網絡的恒定速率將TDM數據發送到TDM側,以最大程度地減少此抖動的影響。為了實現這種恒定的數據速率,該器件在時鐘恢復模式下工作,以重建源TDM時鐘,以便目標TDM器件仍然可以在環回定時模式下工作。
圖2.分組 TDM 網絡中的定時。
抖動緩沖器
DS34T10x/DS34S10x利用抖動緩沖器將PDV對通信質量的影響降至最低。抖動緩沖區是一個共享內存區域,可以在其中收集、存儲TDM數據包,并以均勻間隔的間隔發送到電路仿真引擎。抖動緩沖區位于TDM連接的發送端和接收端,有意延遲到達的數據包,以便最終用戶體驗到清晰的連接,幾乎沒有聲音失真。
抖動緩沖器有兩種:靜態和動態。靜態抖動緩沖區基于硬件,由制造商配置。動態抖動緩沖器基于軟件,可由網絡管理員進行配置,以適應網絡延遲和 PDV 的變化。
DS34T10x/DS34S10x具有動態抖動緩沖器,位于SDRAM中。這些抖動緩沖器有兩個主要作用:
補償數據包延遲變化
在TDMoP從器件上重建遠端TDM時鐘
數據以從收到的以太網數據包到達時間派生的可變速率進入緩沖區。數據以恒定的TDM速率離開緩沖器。在時鐘恢復模式下,抖動緩沖器的電平提供了時鐘恢復機制的指示。
對于TDMoP協議(CESoPSN,SAToP和TDMoIP),捆綁包可以包含來自單個E64或T1的任意數量的1kbps時隙。捆綁包是單向流,通常與相反方向的捆綁包耦合,以實現全雙工通信。可以在兩個TDMoP邊緣設備之間傳輸多個捆綁包。
DS34T10x/DS34S10x提供大抖動緩沖器(多達64束),可按每個束進行配置,以補償IP/MPLS/以太網網絡帶來的延遲變化。每個捆綁包都可以分配給有效負載類型機器或 CPU 上的任何 TDM 端口。所有捆綁包都具有以下可獨立配置的功能:
發送和接收隊列
接收抖動緩沖深度
可選的連接級冗余(適用于 SAToP 和 CESoPSN)
每個器件都提供具有 DS0 分辨率的內部束交叉連接功能。此外,每個捆綁包都可以配置為:從端口傳輸所有 T1/E1 數據;在每個數據包中傳輸配置的字節數 (SAToP);或傳輸 T1/E1 數據的特定時隙,T24 最多 1 個時隙,E31 最多 1 個時隙 (CESoPSN)。捆綁包可以包含來自單個 TDM 端口內任何時隙的數據。但是,一個時隙只能分配給單個捆綁包。對于 SAToP 和 CESoPSN 捆綁包,TDMoP 設備在抖動緩沖區范圍內執行數據包重新排序。數據包丟失通過插入預配置的條件值或重播上次接收的值來補償。
SAToP 和 CESoP 抖動緩沖器的分辨率不同。對于SAToP,精度以字節為單位,因此對于E4,變量的大小可以約為1μs,對于T5,則為1μs。對于CESoP,精度以幀為單位,因此E125和T1的變量可以按1μs的增量調整大小。由于在確定數據包是否良好之前必須存儲整個數據包,因此抖動緩沖區的最小精度是數據包大小的函數。如果是小數據包(1 字節),則最小值為 1 字節。如果是大型 CES 數據包(1500 幀),則無論 PDV 如何,最小值為 187.5ms。
配置DS34T10x/DS34S10x抖動緩沖器
正確配置抖動緩沖區的參數可避免欠載和超限情況。當抖動緩沖區為空(輸入速率低于現有速率)時,會發生欠載。當發生欠載事件時,芯片將調理數據而不是實際數據傳輸到TDM接口。當抖動緩沖區已滿且沒有空間輸入新數據(輸入速率超過現有速率)時,會發生溢出。欠載和超限需要IC硬件的特殊處理,具體取決于捆綁類型。
DS34T10x/DS34S10x在外部SDRAM中為數據和信令分配單獨的區域。
在 8 端口低速模式下,數據和信令區域分為八個相同的部分,每個 E1/T1/Nx64 接口一個。
在E1/T1結構化模式下,每個數據部分包含E32的1個時隙或T24的1個時隙的數據;單個 E1/T1 時隙最多可分配 4kB 的空間。所有八個接口共有 256 個時隙和 1024kB 的空間。
每個信令部分分為多幀扇區,每個多幀扇區包含多達 32 個時隙的信令半字節。所有八個接口總共有 64kB。
在串行或 E1/T1 非結構化模式下,沒有每個時隙的分配。抖動緩沖器分為八個相同的部分,每個接口一個。每個部分為每個 HDLC 束 512kB,否則為 128kB。
對于高速模式(E3/T3、STS-1),抖動緩沖器充當一個大型緩沖器,不劃分為多個部分,總容量為512kB。
抖動緩沖區具有以下深度:
E1:長達 256 毫秒
T1 非成幀:長達 340 毫秒
T1 成幀:長達 256 毫秒
使用 CAS 進行 T1 框架:長達 192 毫秒
抖動緩沖區的最大深度(以時間為單位)根據以下公式計算:
每個接口 8/1 × 緩沖區 x (<> / 速率)(等式 <>)
其中:
? | = 緩沖區的兩半 |
每個接口的緩沖區 | = 單個高速接口為 512kB,低速接口為 128kB |
8 | = 每字節位數 |
率 | = 傳輸速率(例如 2.048Mbps) |
對于用CAS成幀的T1,將公式1的結果乘以0.75。
抖動緩沖區的深度由捆綁包配置表中的Rx_max_buff_size參數定義。當抖動緩沖區電平達到 Rx_max_buff_size 值時,將聲明溢出情況。
Rx_pdvt參數(也可在捆綁包配置表中找到)定義要存儲在抖動緩沖區中的數據量,以補償網絡延遲變化。抖動緩沖器參數如圖3所示。Rx_pdvt參數有兩個含義:
Rx_pdvt定義了IC對以太網網絡延遲變化的免疫力
從網絡到達的數據在發送到TDM線路之前會延遲Rx_pdvt
Rx_pdvt應小于 Rx_max_buff_size。此外,Rx_max_buff_size 和 Rx_pdvt 之間的差異必須大于重建數據包所需的時間;否則,數據包到達時可能會發生溢出。通常,Rx_max_buff_size的建議值為
2 × Rx_pdvt + PCT
(數據包創建時間)。這為延遲和突發數據包提供了相同的免疫力。
圖3.抖動緩沖器參數。
抖動緩沖控制器 (JBC) 使用 64 位 x 32 位捆綁包時隙表來標識每個活動捆綁包的分配時隙。表的索引是捆綁包編號。軟件必須配置每個活動分發包條目。對于非結構化分發包,必須設置整個分發包條目(32 位) — 設置位意味著為此分發包分配了相應的時隙。
JBC 統計信息存儲在包含 128 個條目的表中。每個 TDM 端口有 32 個專用條目,每個時隙一個。抖動緩沖區狀態表存儲每個活動捆綁包的活動抖動緩沖區的統計信息。名為 Jitter_buffer_index 的可配置參數(位于 TSA 表中)定義表中存儲抖動緩沖區統計信息以及從中讀取抖動緩沖區統計信息的條目。
軟件根據Jitter_buffer_index訪問抖動緩沖區狀態表。狀態表包含當前抖動緩沖區狀態,例如抖動緩沖器級別和狀態(例如正常、欠載或超限)。它還包含兩個變量,用于報告抖動緩沖區的最小和最大電平。這些變量為用戶提供有關網絡特征的信息。例如,使用這些值,用戶可以計算抖動緩沖區頂部(Rx_max_buff_size)和底部的裕量。如果有備用容量,用戶可能希望減少Rx_pdvt,以限制抖動緩沖區對傳入數據增加的延遲。
用戶應按如下方式定義Jitter_buffer_index的值:
對于 AAL1/HDLC/RAW 結構化捆綁包,Jitter_buffer_index是接口編號 (2 Msbits) 和捆綁包中最低時隙編號的串聯。例如,如果捆綁包由第三個接口上的時隙 2、4 和 17 組成,則Jitter_buffer_index為 10_00010[bin],即 42[十六進制]。
對于非結構化捆綁包,jitter_buffer_index是接口編號(2 Msbits)和 0 個“<>”的串聯。
對于 AAL2 捆綁包,每個時隙數據存儲在其自己的抖動緩沖區中;因此,Jitter_buffer_index是接口號(2 Msbits)和時隙號的串聯。例如,如果捆綁包由第一個接口上的時隙 2、4 和 17 組成,則有三個抖動緩沖區(每個時隙一個),Jitter_buffer_index值分別為 2[十六進制]、4[十六進制] 和 11[十六進制]。
有效負載類型的計算機通過序列號錯誤 (AAL1/RAW) 或 UUI 錯誤 (AAL2) 檢測數據包是否丟失。如果數據包丟失,調節數據將插入抖動緩沖區,以補償丟失的數據并保持位完整性。簡單來說,插入抖動緩沖器的位數必須等于遠端傳輸的位數。
如果數據包在 RAW 捆綁包中排序錯誤(例如,序列號為 N 的數據包在序列號為 N+1 的數據包之后到達),則 RAW 有效負載類型的計算機會對其進行重新排序。數據包的數據入到抖動緩沖區中的適當位置,假設此位置中的數據尚未傳輸到TDM域。
結論
抖動緩沖區臨時存儲到達的數據包,以最大程度地減少延遲變化。如果數據包到達得太晚,則它們將被丟棄。有時抖動緩沖區配置錯誤,導致它們太小或太大。如果抖動緩沖區太小,則可能會丟棄過多的數據包,這可能導致呼叫質量下降。如果抖動緩沖區太大,則額外的延遲可能會導致會話困難。正確配置抖動緩沖器參數可避免這些欠載和超限情況。
審核編輯:郭婷
-
控制器
+關注
關注
113文章
16794瀏覽量
181912 -
緩沖器
+關注
關注
6文章
2023瀏覽量
46225 -
TDM
+關注
關注
0文章
57瀏覽量
15811
發布評論請先 登錄
相關推薦
如何在AIROC GUI上獲取良好數據包和總數據包?
扇出緩沖器中的附加抖動測量
測量時鐘緩沖器的附加抖動
如何測量扇出緩沖器中的附加抖動
使用TDMoP產品的抖動緩沖器補償報文時延差異(PDV)

使用IDT時鐘緩沖器提升應用設計

CDCLVD1208 2:8低加性抖動LVDS緩沖器數據表

CDCLVD1212 2:12低加性抖動LVDS緩沖器數據表

CDCLVD1216 2:16低附加抖動LVDS緩沖器數據表

CDCLVD1204 2:4低加性抖動LVDS緩沖器數據表

評論