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