?

基于多處理器結構的多路話音編解碼器設計

2012-07-31 10:28倪永婧
無線電通信技術 2012年2期
關鍵詞:話音編解碼時隙

郭 巍,倪永婧

(1.中國電子科技集團公司第五十四研究所,河北石家莊050081;2.河北科技大學,河北石家莊050000)

0 引言

衛星通信的快速發展,使衛星通信業務的需求也不斷增大。話音通信由于其自身的便捷性和通用性,在目前所設計的各種衛星通信系統中仍然占有很大的比重,是衛星通信應用系統的重要組成部分。但是,單路電話業務的衛星通信系統已經遠遠不能滿足需求,現在的系統設計往往需要通話路數更多,壓縮編解碼效率更高,占用帶寬更小的多路話音通信系統。通過采用多處理器結構,設計了一種多路話音編解碼器,可以同時對多路話音呼叫進行處理,并且對話音信號進行高效壓縮編碼處理,滿足衛通網絡中多路話音通信的應用需求。

1 總體設計

在2 Mbps脈沖編碼調制信號(PCM)中一共包含有32個時隙信號,每個時隙信號帶寬為64 kbps,其中有30個時隙可以承載話音業務,每個時隙承載一路。多路話音編解碼系統的主要功能是實現對2 Mbps PCM中多個時隙話音業務的呼叫控制,實現對64 kbps速率話音信號的壓縮編解碼處理,并完成數據的信道適配。

該系統通過幀定位信號和時鐘信號可以對2 Mbps PCM中的各時隙信號進行定位,并實現對各個時隙PCM信號的插入和提取。PCM信號的帶寬決定了該系統最多應可以實現30路話音業務的處理。此外,為了更好地適應衛通信道,有效利用衛通資源,需要對單路64 kbps的話音進行壓縮編解碼,系統采用8 kbps G.729編解碼方式,該方式具有延時小、話音重建質量好等特性,非常適合衛通信道的傳輸特點。壓縮后的話音數據經過信道適配,轉換成同步數據發送至信道單元。

在系統的硬件設計方面,選用高級精簡指令微處理器(ARM)理器作為主控處理器,負責完成話音通信系統中信令的解析以及話音呼叫控制;同時,DSP[1]處理器運算能力強,功耗低,并且可以提供視音頻協處理器,所以選用DSP作為話音編解碼處理器,實現對PCM數據的壓縮編解碼。利用高性能現場可編程門陣列(FPGA)芯片實現對系統的時序控制,完成PCM時隙的定位以及信道成解幀處理。多路話音編解碼器組成框圖如圖1所示。

圖1 多路話音編編解碼器組成框圖

在系統的軟件設計方面,主控ARM處理器采用嵌入式LINUX操作系統,使用C語言進行程序軟件設計;FPGA采用VHDL語言進行設計,在Xilinx開發環境ISE下進行編譯;DSP處理器使用C語言編程,在CCS環境下進行編譯。

2 功能組成

根據系統的總體設計,選用了多個處理器分別承擔各個單元的工作,形成了多處理器結構的多路話音編解碼器。根據系統的工作流程,該編解碼器的工作主要包括以下幾個部分:

呼叫控制:ARM處理器完成對話音信令的解析處理,并完成與衛通網信令的適配,實現對多路話音的呼叫控制;

PCM處理:通過FPGA芯片完成對PCM信號中各個時隙的定位,并能夠實現各個時隙PCM信號的插入和提取,由FPGA實現;

話音編解碼處理:提取后的PCM信號送至話音編解碼DSP處理器進行編碼處理;同時接收來自信道的同步數據,進行解碼處理,把壓縮后的話音信號再次恢復成PCM信號,并完成PCM信號的插入;

信道成解幀處理:將壓縮后的編碼數據進行并串轉換,轉換后的同步數據發送至同步接口,同時接收來自同步接口的同步數據,進行串并轉換,發送至話音編解碼單元。

此外,設計的多路話音編解碼系統還具有以下2個功能:

①回波抵消處理:為了消除回聲,多路話音編解碼系統具有群路回波抵消功能,該功能通過專用芯片實現;

②監控單元:通過主控單元ARM處理器擴展的鍵盤接口和顯示屏接口,實現對整個多路話音編解碼系統的參數進行設置和查詢,并實現終端參數的斷電保存功能。

在系統處理的各個流程中,呼叫控制和話音壓縮編解碼是系統中最重要的2個部分,決定了一個系統能否穩定高效的運行。由于在該多路話音編解碼系統中采用了多處理器處理形式,這樣既發揮了ARM在控制方面的優勢,同時又發揮了DSP在數字信號處理方面的優勢。但是如何設計DSP和ARM處理器之間高速穩定的數據接口,成為了系統設計的關鍵。

3 關鍵技術

3.1 HPI接口特性分析

HPI[2]是TI公司為新一代高性能DSP上配置的與主機進行通信的片內外設。與直接存儲器存取(DMA)方式不同,HPI的引腳全部為專用,它可以實現并行、高速的數據傳送。

TMS320C6000系列DSP的HPI總線有32位數據總線HD[31:0],它是一個并行、雙向和3態的數據總線,當數據總線不響應一個HPI讀訪問時,它被置于高阻態。HPI接口通過3個32位寄存器來完成外部主機和DSP之間的通信,它們是HPI數據寄存器HPID、HPI地址寄存器HPIA和HPI控制寄存器HPIC。HPID中存放的是外部主機從DSP存儲空間中讀取的數據,或者是外部主機向DSP存儲空間中寫入的數據;HPIA中存放的是外部主機訪問DSP存儲空間的地址;HPIC中存放的是外部主機對DSP的控制信息。其中,HRDY位是DSP輸出給外部主機的準備就緒信號;HINT位是DSP向外部主機發出的中斷請求;DSPINT位是外部主機向DSP發出的中斷請求;HWOB是半字順序。外部主機和DSP都可以訪問HPIC,但只有外部主機可以訪問HPIA和HPID。

此外,DSP的 HPI接口控制信號線還包括HCNTL、HHWIL、HR/W、HDS、HCS 及 HINT 等信號,通過這些信號線共同作用,實現對HPI接口的讀寫訪問。

3.2 ARM與DSP間通信接口設計

在該多路話音編解碼系統中,ARM處理器通過HPI接口,實現對DSP編解碼后的話音數據的讀寫[3]。2個處理器之間的連接關系如圖2所示。

圖2 ARM處理器與DSP處理器連接關系

ARM處理器和DSP處理器之間的HPI接口驅動程序是數據傳輸設計的核心,ARM通過運行LINUX操作系統的HPI接口驅動程序完成對HPI接口的讀寫訪問[4]。LINUX操作系統將C6000的HPI總線作為一個外部設備,虛擬成一種特殊的文件,稱為設備文件,HPI驅動程序提供對這個設備的訪問接口。這些接口定義在LINUX內核中,開發驅動程序就是要根據實際的硬件完成這些接口函數的功能[5]。驅動中的接口定義如下:

該結構體定義了驅動程序與用戶的接口,運行于ARM上的用戶應用程序可以利用這些接口實現對C6000的HPI總線讀、寫以及其他控制操作。

通過調用get_mapping_addr函數,(get_mapping_addr(0x0C000000,0x3000000)),可以實現地址映射,將這個物理地址向LINUX內核注冊成可以直接訪問的虛擬地址,并定義為VirtualAddr。

對HPI總線的讀或寫操作是由信號HR/W決定的,通過圖2的連接對HPIA和HPID寄存器的訪問可映射為對以下地址的訪問:

根據系統設計需要,配置HCNTL1/HENTL0為0/1,實現當對HPID進行讀寫訪問后,HPIA地址的自動加1。此時的HPIA地址為:

定義HPI接口的收發緩沖區位于DSP內主控可尋址的 DARAM內,字地址從0x40~0x83f共2 048個字,其中收發各1 024個字。從DSP往主控發的數據位于0x40~0x43f的緩沖區,從主控往DSP發的數據位于0x430~0x83f的緩沖區內。

話音通信過程中,當完成了信令交互之后,此時進入話音編解碼通信狀態,編碼時,DSP定時產生中斷,主控處理器ARM在收到中斷之后需要在下一次中斷來臨之前,通過HPI接口把固定地址的數據讀空;并將需要解碼的數據寫入對應的DSP處理器地址,最后清除中斷信號,完成ARM與DSP的一次通信。

4 測試結果

多路話音編解碼系統樣機設計采用標準2U機箱,通過機箱內部的背板連接系統的各個單元。采用Intel公司的ARM處理器PXA270作為多路話音編解碼系統的主控處理器;選用 TI公司的TMS320C6416[6]作為系統多路話音壓縮編解碼處理芯片;FPGA芯片采用XILINX公司的XC3S1000芯片,負責系統中的各種邏輯處理。

通過同步接口連接2臺多路話音編解碼系統,同時通過2臺交換機連接呼叫模擬器,這樣便組成了多路話音編解碼測試系統。樣機測試連接如圖3所示。

圖3 多路編解碼系統測試框圖

實際測試過程中,利用呼叫模擬裝置,模擬同時發起多路電話業務呼叫,測試系統工作情況;測試結果表明,該多路話音編解碼系統能夠支持30路話音呼叫,并且可同時實現30路話音的G.729編解碼,且話音質量清晰。

5 結束語

采用多處理器結構對系統進行設計,利用不同處理器的性能特點,高效地解決了多路話音編解碼器實現過程中的各種問題;并通過HPI接口以及A/D接口,解決了不同處理器之間的數據交互問題,實現了強大的通信處理芯片與高性能數字信號處理芯片以及FPGA處理器的完美結合。此外,多路話音編解碼器的實現極大地擴展了衛星通信系統中話音業務的應用。

[1]楊軍,周啟靖,晉宗俊,等.低端DSP芯片的語音處理算法研究[J].無線電通信技術,2011,37(1):45-46.

[2]劉喬,繆思恩.基于HPI的ARM與DSP雙核通信實現[J].通信電子技術,2010(3):52 -53.

[3]劉喬,繆思恩.基于HPI的ARM與DSP雙核通信實現[J].電子技術,2010(3):51 -52.

[4]李軼,張善從.基于HPI的雙處理器通信接口設計[J].微計算機信息,2009,25(10):136 -138.

[5]董強,冷靜,楊靜.基于嵌入式雙核通信HPI接口驅動的實現研究[J].科技資訊,2008(28):3 -4.

[6]張洪義,王金奎,劉永輝.實現 TMS320C6X1X HPI啟動模式[J]. 無線電工程,2005,35(10):52-53.

猜你喜歡
話音編解碼時隙
ASN.1 的PER 分層運行庫系統的設計和實現
基于時分多址的網絡時隙資源分配研究
1553B總線控制器編解碼設計
為多重編解碼世界做好準備
大型民機試飛遙測視頻編解碼方法研究
復用段單節點失效造成業務時隙錯連處理
話音疊加中實時混音算法的FPGA實現
一種高速通信系統動態時隙分配設計
時隙寬度約束下網絡零售配送時隙定價研究
地空話音組網系統的應用及前景分析研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合