2014/07/16 Tang
(一)引言
與傳統的電路交換不同,IP電話(Voice over Package)和VoIP(Voice over IP)都采用分組交換,或稱為包交換。在相當長的時間內,用數據網絡來傳輸聲音并沒有受到重視,因為語音傳輸和數據傳輸的不兼容導致語音質量得惡化。由于系統成本較低以及使用了ATM和幀中繼等網絡技術的優點,IP電話近年來得到了快速發展。
市場對于實用的和性價比高的解決方案的需求,驅使IP電話系統在較小的平臺上處理日益增加的語音信道。本系統用TI的TMS320C54x數字信號處理器設計這樣的平臺,系統的創新之處在于用多處理器來處理多個語音流。涉及的問題包括:語音和網絡對DSP的接口、公用的軟件算法、系統控制和硬件控制。系統是基于多DSP平臺IP電話解決方案的系統級。由于其軟件的可用性、低功耗、以及適當的外設和存儲器,TI的TMS320C54x非常適合作此應用。系統設計包括硬件設計、系統控制的選擇、以及應用軟件的要求。
(二)系統語音接口
語音接口在電話系統和DSP之間發送和接收數字化的語音。該項處理的細節取決于語音數據的來源。在簡單的單信道情況下,只是將一個數字電話通過串口接到DSP。但本系統要討論的是集合在一起的語音流,例如從電話交換機來的信號,要求用多個處理器來提供服務。傳輸多信道數字語音,最通常的是T1(美國)和E1(歐洲)線路的時分復用方案。該接口包括線路接口、幀形成器、信道分配和串口。
(三)系統線路接口和幀形成器
與T1/E1線路接口的前端器件是收發器,它包括線路接口、幀形成器、往往還有緩沖器。線路接口的功能是與雙絞線物理連接,發送和接收模擬信號波形,恢復時鐘信號用于同步。將收發器和緩沖器在數據流里檢測幀、多幀、以及信道的分界,監視誤碼情況并報警,緩存數據塊以便與處理器連接。
T1和El的多信道數據用時分復用(TDM)方式傳輸。每個時隙,DS0,包含信令信息和8位的數據。時隙聚合成幀,DS1。T1和El都適應不同得信號屬性,例如每幀的時隙數、基本的時鐘速率等。一個T1的數據流,每幀使用24個信道,bit率為1.544Mbps(其中的I.536是可用的數據)。E1的數據以2.048Mbps速率傳輸,含3O個信道。在這兩個系統中,信道都含8位數據,以64kbps傳輸。每個信道也都包含了附屬的信令信息,如呼叫的狀態、摘機、掛機等。
通過信道傳輸語音時,聲音通常被數字化,并被壓縮成PCM(脈沖編碼調制)聲音流傳輸。壓縮是將線性的數據轉換成為非線性的對數形式。 μ一律和a-律是兩種公用的標準。
(四)系統信道分配和串口
信道分配指的是在幀中將每個信道延時,以便DSP處理。各幀按TDM的串行數據流,向C54x的串口提供數據。該接口需要很少的連接邏輯,提供合適的時鐘和接口信號。將幀形成器和DSP接口,通過TMS320C54x的多通道緩沖接口(McBSP)來實現。該外設允許DSP根據時隙和幀信息,通過對外設編程,從TDM的幀提取給定信道的數據。
McBSP允許在DSP串行傳輸的方向上使用總線廣播的方式。在發送期間,McBSP只在其可以響應的信道期間傳輸數據;否則,它就呈高阻狀態。這就解決了多個DSP同時向總線寫數據所產生的沖突問題,當然要假設每個DSP的信道沒有交疊。另外一個解決方法是使用跟復雜的邏輯,使用專門的串行線將信道分配給DSP。這種方法更為復雜,且靈活性小。
使用上述方法,主機的處理器在初始化的時候,就通知各個DSP,對各自的信道進行管理。也可以在操作期間,動態地對各DSP分配信道。由此可以優化資源的管理。
幀形成器以分開的數據流,為每個信道提供信令數據??梢允褂枚喾N方法來管理信令數據。因為DSP往往并不直接處理信令數據,沖幀形成器來的信令線,可以直接接到主機的串口,以減輕DSP的負擔。另外一種方案,是將信令像數據一樣經過DSP。因為每個C54x有兩個McBSP,另外一個串口就可以分配給信令數據。其細節取決于幀形成器芯片所使用的方法。C54x到幀形成器的物理連接的外部開銷并不大。發送和接收都需要三條線:位流時鐘信號;幀同步;串口數據線。時鐘和幀同步必須與T1/E1的線時鐘同步,可以從收發器芯片引出。
(五)系統控制
基于DSP的系統通常是主機(例如微計算機)通過從屬的DSP來實施控制。從DSP的控制來說,主機有兩個任務:主機管理系統的初始化,下載代碼、分配參數,將資源分配給每個處理器;在正常工作期間,主機通過監視每個DSP的表現來執行系統的功能。
在系統初始化時,主機的處理器首先加載,然后冉初始化DSP。為了在初始化和正常狀態下監視和控制DSP,主機要有一個機制來和每個DSP通信。DSP有一個稱為主機接口的外設,用來承擔該通信的連接。HPI允許主機處理器訪問DSP內部得存儲器塊。主機還要控制每個DSP的復位操作。這就允許主機初始化每個DSP的引導過程。圖是主機/DSP的內部連接。
有多種方法可以有效地引導和初始化多個DSP,每種方法都各有其優點和缺點。一種方法是由主機通過HPI向每個DSP傳送代碼。這就允許主機完全控制對每個DSP的代碼分配,從而提高設計的靈活性。該代碼于是就存放在只有主機才能訪問的EPROM里。另外一個方法是為每個DSP提供一個EPROM,或各個DSP都可以訪問的一個中心EPROM。主機則用相應的EPROM來初始化和控制每個DSP的引導過程。
為了通過HPI來引導DSP,主機首先通過HPI下載代碼,在DSP處于復位狀態時進行。在初始化和穩態工作期間,要有~個機制,在主機和DSP之間傳輸信息。而HPI則能很好地滿足這種需要。信息傳輸的重要要求,是決定效率,滿足協議、握手和信息的格式。因為HPI既用來傳輸數據包,又要管理傳輸,數據包中的開銷信息,就使DSP和包處理器得以區分數據及管理信息。往往采用HDLC一類的數據傳輸協議。
握手機制用來指定包的傳輸和響應。C54x有若干個中斷用于該目的。由主機到DSP初始化的HPI中斷指出,一個新的包已經寫到了HPI存儲器。一旦DSP讀入并處理了該包,就必須發出一個響應,表示可以傳輸另一個包了。DSP也必須有一個機制,要求向主機傳輸數據或信息包。一個中斷或主機查詢機制可以提供這樣的服務。一旦DSP順利啟動,主機的作用就改變為監視每個DSP的工作。只需要求每個DSP有規律地向主機更新其系統表現。
(六)結束語
在IP電話系統中,DSP的基本作用是將語音數據在連續的數據流和分組數據流之間進行轉換。這個過程中附帶的功能還有:數據壓縮;回聲消除;網絡分組延時隱藏。系統的優化解決方案,還要求多DSP環境中的每個DSP也能處理多個語音流。語音流的數目主要由信號處理算法的速度和相關的開銷,以及處理器的速度來決定。例如,給定的雎縮算法、回聲消除和開銷處理只要求20MIPS,這一個IOOMHz的C5410就可以處理4個語音信道,還可以余下20MIPS用于其他開銷,誤差處理及進一步的擴展。
40088 411661033743080@qq.com
中國廣東省深圳市南山區西麗九祥嶺工業區10棟3樓