《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 使用TDMoP產(chǎn)品的抖動緩沖器補償報文時延差異(PDV)

使用TDMoP產(chǎn)品的抖動緩沖器補償報文時延差異(PDV)

2008-02-26
作者:美信公司

摘 要:DS34T10x和DS34S10x系列TDM-over-Packet (TDMoP)芯片采用抖動緩沖器來補償包網(wǎng)絡中存在的報文時延" title="時延">時延差異。本應用筆記將解釋PDV的含義以及它如何影響通信質量,討論抖動緩沖器的作用和類型,。本筆記還介紹了如何設置TDMoP芯片的抖動緩沖器的控制參數(shù),,以此來降低PDV的影響。

?

導言

DS34T10xDS34S10x系列TDM-over-Packet (TDMoP)芯片采用抖動緩沖器來補償包網(wǎng)絡中存在的報文時延差異,,這些緩沖器在每個綁定" title="綁定">綁定或者每個鏈接的基礎上都可以獨立配置。另外,它們可以動態(tài)調整,,即可以實時地適應包網(wǎng)絡特性參數(shù)的改變。本應用筆記討論了抖動緩沖器的控制器以及如何設定這些參數(shù)來降低PDVTDM時鐘恢復造成的影響,。

DS34T10x
包括DS34T101,、DS34T102DS34T104DS34T108,;DS34S10x包括DS34S101,、DS34S102DS34S104DS34S108,。

TDM網(wǎng)絡中的同步

TDM網(wǎng)絡中的所有設備都使用同一個時鐘源,,接收端TDM設備從輸入數(shù)據(jù)中提取出時鐘并利用它來發(fā)送數(shù)據(jù)(環(huán)回同步),如1所示,。


1. TDM網(wǎng)絡中的環(huán)回同步

由于網(wǎng)絡的擁塞,、時鐘漂移或者路由改變而導致的報文到達時間的差異稱為抖動,因此,,當采用IP/MPLS網(wǎng)絡和兩個TDMoP設備來取代TDM物理連接(2所示),,接收端的TDMoP設備(從設備)接收到的TDMoP報文會有不同的到達時間差異。

在處理完報文后,,設備會以TDM網(wǎng)絡的恒定速率將TDM數(shù)據(jù)送到TDM側,,降低抖動帶來的影響。為了實現(xiàn)這個恒定的數(shù)據(jù)率,,時鐘恢復模式下的設備要重建源端的TDM時鐘,,以此實現(xiàn)接收端的TDM設備工作在環(huán)回同步模式下。


2. TDM-over-Packet網(wǎng)絡的定時

抖動緩沖器

DS34T10x/DS34S10x利用抖動緩沖器來減小PDV對通信質量的影響,。抖動緩沖器是一段共享的存儲區(qū),,TDM報文就在這段平均分配的存儲區(qū)被接收、存儲并送到電路仿真引擎,。抖動緩沖器位于TDM連接的發(fā)送和接收末端,,它有意識的延時到達的報文,,以此讓終端用戶感受到一個很小或者沒有語音失真的清晰連接。

有兩種類型的抖動緩沖器:靜態(tài)和動態(tài),。靜態(tài)抖動緩沖器基于硬件,,由廠商配置;動態(tài)抖動緩沖器基于軟件,,可以由網(wǎng)絡管理員根據(jù)網(wǎng)絡的延時和PDV的狀況而相應配置,。

DS34T10x/DS34S10x在SDRAM中設置有動態(tài)抖動緩沖器。這些抖動緩沖器有兩個主要的作用: ?

  • 補償報文時延差異 ?
  • 在TDMoP從設備上重建遠端TDM時鐘 ?

根據(jù)接收到的以太網(wǎng)報文的到達時間,,數(shù)據(jù)以不同的速率進入緩沖器,;數(shù)據(jù)會以恒定的TDM速率離開緩沖區(qū)。在時鐘恢復模式下,,抖動緩沖器的大小可以表征時鐘恢復機制,。

對于TDMoP協(xié)議(CESoPSN、SAToP和TDMoIP),,綁定可以由來自一個E1或者T1的任意多個64kbps時隙" title="時隙">時隙組成,。綁定是單向的碼流,通常配合以相反方向的綁定可以形成全雙工的通信,。在兩個TDMoP邊界設備間可以傳輸多個綁定,。

DS34T10x/DS34S10x具有很大的抖動緩沖器(最高達64個綁定),為了補償由IP/MPLS/以太網(wǎng)絡帶來的時延差異,,緩沖器可以在每個綁定的基礎上獨立調整,。每一個綁定都可以被凈荷類型機制或者CPU指定到任意TDM端口。所有的綁定都具有以下可獨立配置的特性: ?

  • 發(fā)送和接收隊列 ?
  • 接收抖動緩沖器深度 ?
  • 可選的連接級冗余(同時適用于SAToP和CESoPSN) ?

每個芯片具有以DS0的精度進行內(nèi)部綁定間的相互交叉功能,。另外,,一個綁定可以被配置為:傳送來自同一個端口的所有T1/E1數(shù)據(jù);傳輸?shù)拿恳粋€報文(SAToP)字節(jié)數(shù)可配置,;傳送特定時隙的T1/E1數(shù)據(jù),,對于T1最多可以有24個時隙,對于E1可以有31個時隙(CESoPSN),。一個綁定可以包含來自一個TDM端口的任意時隙,,但是,一個時隙只能被指定到一個綁定,。對于SAToP和CESoPSN綁定,,TDMoP芯片在抖動緩沖器內(nèi)會對報文進行重排序。報文丟失會通過插入預先設定的調整值或者重復最后一個接收值進行補償,。

SAToP和CESoPSN抖動緩沖器的精度是不同的,,對于SAToP,精度以字節(jié)為單位,,所以變量的增量對于E1來講可以是4μs,,對于T1可以是5μs,;對于CESoP,精度以幀為單位,,所以變量的增量對于E1和T1都可以是125μs,。因為整個報文都必須先進行存儲才可以確定它是否可用,抖動緩沖器的最小精度就是報文大小的函數(shù),。如果是小的報文(1字節(jié)),,那么最小值就是1字節(jié),,如果是大的CES報文(1500幀),,那么無論PDV的大小,最小值都是187.5ms,。?

DS34T10x/DS34S10x抖動緩沖器的配置

正確配置抖動緩沖器的參數(shù)可以避免發(fā)生欠載和溢出,。當抖動緩沖器是空的時(輸入速率低于輸出速率)就會發(fā)生欠載。當欠載發(fā)生時,,芯片會向TDM接口發(fā)送調整數(shù)據(jù)而不是實際的數(shù)據(jù),。當抖動緩沖器變滿而沒有空間再接收新的數(shù)據(jù)時(輸入速率超過輸出速率)就會發(fā)生溢出。欠載和溢出都需要IC硬件根據(jù)綁定的類型進行特殊的處理,。

DS34T10x/DS34S10x在外部SDRAM中會給數(shù)據(jù)和信令分配不同的區(qū)域,。

  • 8端口低速率模式下,數(shù)據(jù)區(qū)和信令區(qū)被分為8個相同的部分,,每個E1/T1/Nx64接口占用一區(qū),。
    • E1/T1結構化" title="結構化">結構化模式下,每個數(shù)據(jù)區(qū)包含有E132個時隙或者T124個時隙的數(shù)據(jù),;一個E1/T1的單一時隙可以最多分配到4kB的空間,,對于8個接口一共有256個時隙和1024kB的空間;
    • 每一個信令區(qū)被分成多幀部分,,每一個多幀部分包含有最多32個時隙的信令半字節(jié),。對于8個接口一共有64kB的空間。
    • 在串行或者E1/T1非結構化模式下,,沒有針對每個時隙的分配,。抖動緩沖器被分為8個相同的部分,一個接口占用一個區(qū)域,。對于HDLC綁定每個區(qū)域是512kB,,其它則是128kB
  • 對于高速率模式(E3/T3,、 STS-1),,抖動緩沖器作為一個大的緩沖區(qū)域沒有分區(qū),大小為512kB,。

抖動緩沖器具有以下的深度:

  • E1:最高達256ms
  • T1成幀" title="成幀">成幀:最高達340ms
  • T1成幀:最高達256ms
  • T1成幀帶CAS:最高達192ms

抖動緩沖器以時間為單位的最大深度按照下面的公式計算:

? ×
每個接口的緩沖器大小x (8 / 速率) (公式1)

式中:

?

= 緩沖器的一半

每個接口的緩沖器大小

= 對于單一高速接口為512kB,,對于低速接口為128kB

8

= 每字節(jié)中的比特數(shù)

速率

= 傳輸速率(例如:2.048Mbps)


對于帶CAS的成幀T1,,將公式1的結果乘以0.75

抖動緩沖器的深度由綁定配置表中的Rx_max_buff_size 參數(shù)定義,。當抖動緩沖器的數(shù)值水平達到了Rx_max_buff_size值,,處理器會指示發(fā)生溢出。

Rx_pdvt參數(shù)(同樣在綁定配置表中)定義了抖動緩沖器中用來補償網(wǎng)絡時延差異而存儲的數(shù)據(jù)量,。3所示為抖動緩沖器參數(shù),。Rx_pdvt參數(shù)具有兩個含義:

  • Rx_pdvt定義了IC對以太網(wǎng)絡時延差異的抗擾度
  • 來自網(wǎng)絡的數(shù)據(jù)在被送到TDM側前要經(jīng)過Rx_pdvt的延時

Rx_pdvt應該比Rx_max_buff_size小。另外,,Rx_max_buff_sizeRx_pdvt間的差值必須大于重建一個報文所需的時間,,否則,當報文到達時有可能發(fā)生溢出,。通常,,Rx_max_buff_size的推薦值是2 × Rx_pdvt + PCT (報文建立時間)。這樣可以對延時和突發(fā)報文有同等的抗擾性,。


3. 抖動緩沖器的參數(shù)

抖動緩沖器控制器(JBC)采用64位乘32位的綁定時隙表來確定每一個工作綁定被指定的時隙,。這個表的索引就是綁定號。軟件必須配置每一個工作綁定的入口,。對于非結構化的綁定,,所有的綁定入口(32位)都要被設定,設定某位就代表著相應地時隙被指定到這個綁定,。

JBC統(tǒng)計表被存儲在一個128個入口的表中,,每一個TDM端口具有32個專用的入口,一個時隙一個入口,。抖動緩沖器狀態(tài)表中存儲每一個處于工作狀態(tài)下的綁定的抖動緩沖器的狀態(tài),,一個稱為Jitter_buffer_index (位于TSA表中)可配置的參數(shù)定義了這個表的入口,抖動緩沖器的統(tǒng)計數(shù)據(jù)就通過該表寫入和讀取,。

軟件根據(jù)Jitter_buffer_index來讀寫抖動緩沖器狀態(tài)表,,狀態(tài)表包含有目前的抖動緩沖器的狀態(tài),比如抖動緩沖器的數(shù)值水平和狀態(tài)(比如良好,、欠載或者溢出),,它還包含有兩個變量,用來報告抖動緩沖器的最大和最小數(shù)值水平,。這些變量為用戶提供了網(wǎng)絡性能的信息,。比如,利用這些數(shù)據(jù),,用戶可以計算出距離抖動緩沖器頂部(Rx_max_buff_size)和底部的余量,。如果還有空余空間,那么用戶可以減小Rx_pdvt值來降低由于抖動緩沖器而給輸入數(shù)據(jù)帶來的延時。

用戶應該按照下面的步驟來定義Jitter_buffer_index的值: ?

  • 對于AAL1/HDLC/RAW結構化綁定,,Jitter_buffer_index就是接口號(2 Msbits)和綁定中最小時隙號的并置,。比如,如果綁定在第三個接口上包含有時隙2,、4和7,,那么Jitter_buffer_index就是10_00010[bin],即42[hex],。 ?
  • 對于非結構化綁定,,jitter_buffer_index是接口號(2 Msbits)和5個零。 ?
  • 對于AAL2綁定,,每一個時隙數(shù)據(jù)存儲在自己的抖動緩沖器中,,因此,Jitter_buffer_index是接口號(2 Msbits)和時隙號的并置,。比如,,如果綁定在第一個接口上包含有時隙2,、4和17,,每個時隙有各自的抖動緩沖器,則Jitter_buffer_index分別是 2[hex],、4[hex]和11[hex],。 ?

有效載荷型機制通過隊列號碼錯誤(AAL1/RAW)或者UUI錯誤(AAL2)來檢測是否有報文丟失。如果報文丟失,,在抖動緩沖器中會插入調整數(shù)據(jù)來補償數(shù)據(jù)丟失并保證比特的完整性,。簡單的說,插入抖動緩沖器的比特數(shù)目必須等于遠端發(fā)送的比特數(shù)目,。

如果在RAW綁定中有報文亂序,,比如序列號為N的報文晚于序列號為N+1的報文,RAW凈荷類型機制會對其進行重新排序,。如果抖動緩沖器的相應位置還沒有被發(fā)送到TDM側,,那么報文數(shù)據(jù)就會被插入相應的位置。?

總結

抖動緩沖器對接收報文進行緩存來減低抖動差異,。如果報文到達的太晚,,那么它們會被丟棄。有些時候抖動緩沖器被錯誤配置后就會太小或者太大,。如果一個抖動緩沖器太小,,那么很多的報文就會被丟棄,這會導致呼叫質量的降級,。如果一個抖動緩沖器太大,,那么附加的延時會導致通話困難。因此正確配置抖動緩沖器的參數(shù)可以避免上述的欠載和溢出情況的發(fā)生。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。