《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 雙DSP實現IP分組語音通信
雙DSP實現IP分組語音通信
劉 兵 徐家愷 劉 陽
摘要: 提出一種以2塊TMS320VC54x DSP為核心處理器的IP分組語音通信解決方案,并著重說明了語音處理模塊與以太網接口模塊的設計思路及2模塊的集成方法。
Abstract:
Key words :

  摘  要: 提出一種以2塊title="TMS320VC54x">TMS320VC54x DSP為核心處理器的IP分組語音通信解決方案,并著重說明了語音處理模塊與以太網接口模塊的設計思路及2模塊的集成方法。
  關鍵詞: 分組語音通信  DSP  CODEC  以太網接口  HPI

   分組語音通信是當前網絡技術發展的一個熱點。雖然PC機早已可以通過軟件實現IP網絡通話,但是用戶卻需要像電話一樣小巧而方便的終端。嵌入式技術的不斷進步讓用戶的這個需求變成了現實。通常的IP分組語音通信解決方案是采用1塊MCU芯片作為系統主控CPU,用1塊DSP芯片進行語音信號處理、壓縮編解碼,再用CODEC、以太網接口和存儲器等構成外圍電路。此外也有將MCU和DSP集成在一起的芯片,如TI生產的OMAP平臺DSP就采用了ARM+DSP構架。集成化不僅可以降低成本,還可以降低功耗并提高可靠性。筆者在設計中使用了2塊DSP,分別作為主控和語音處理,同樣實現了IP的分組語音通信。
1 IP分組語音通信
  分組語音技術是指將語音信號轉化為一定長度的數字化語音包,采用存儲-轉發的方式,以IP包的形式進行交換和傳輸的技術。傳統的電話網以電路交換的方式傳輸語音,它需要的基本帶寬為64Kbps,而在面向無連接的分組網絡上傳輸的分組語音需要的帶寬僅為10Kbps左右。由于互聯網并不能對傳輸帶寬提供保證,因此語音包在傳輸過程中就會產生延遲、抖動、包丟失等影響語音質量的因素。近年來由于低速率編解碼算法的出現和軟硬件性能的提高,人們開始注意到分組語音技術的商業價值。
  分組語音信道模型如圖1所示。發送端語音在經過模擬信號、數字信號、語音包的處理過程后,再經過網絡傳輸,在接收端對語音包進行相反的處理,還原出語音。


2 語音處理模塊設計
  該模塊實現了語音信號的驅動放大,A/D、D/A變換,壓縮編解碼等信號處理功能。
2.1 模塊硬件設計
  語音處理模塊硬件框圖如圖2所示。該模塊的核心是TMS320VC5402(以下簡稱C5402)數字信號處理器。TLC320AD50是模/數接口芯片,采用Σ-Δ調制方式,為DSP提供語音CODEC接口。TLC2272和LM386分別作為TLC320AD50的輸入前置放大和輸出驅動。在發送端,TLC2272運算放大器對輸入語音信號進行放大,TLC320AD50模擬接口芯片對模擬信號進行A/D變換,使之成為數字信號,C5402對數字信號進行壓縮編碼,得到低速率的語音數據,并送給作為主控制器的另一塊DSP。在接收端,語音處理模塊從主控DSP處得到壓縮的低速率語音數據,由DSP進行解碼,TLC320AD50進行 D/A變換,LM386進行信號放大后驅動揚聲器,還原出模擬語音信號。


  C5402利用多通道緩沖串行口(Multichannel Buffered Serial Port,McBSP)和TLC320AD50連接。TLC320AD50工作在主機模式下,它提供與C5402進行串行通信的8kHz的幀同步信號FS#和8.192MHz的移位時鐘信號SCLK。C5402的BFS和BCLK設為輸入狀態。TLC320AD50每125ns輸出1幀16位的數據,并以DMA方式與C5402交換數據,以減少CPU資源的占有。
2.2 壓縮編解碼算法
  壓縮編碼方式的標準由ITU-T統一制定,分為波形編碼和參數編碼二類。常用的波形編碼標準有G.711和G.726,其中G.711是PSTN電話網廣為使用的64Kbps的PCM編碼,G.726采用32Kbps的ADPCM方式。常用的參數編碼標準有G.728、G.729、G.729A和G.723.1。本文采用的是G.723.1標準,它是H.323協議標準缺省的語音編碼方式。
  G.723.1是目前分組語音通信中常用的壓縮比最高的編碼方式。它使用雙速率LPAS聲碼器,其低速率采用代數碼本激勵線性預測(ACELP),編碼速率為5.3Kbps,高速率(6.3Kbps)采用多脈沖最大似然量化(MP-MLQ)激勵。G.723.1標準基于碼激勵線性預測(Code Excited Linear Prediction,CELP)編碼模型對語音進行編碼。線性預測采用前饋型前向自適應,并使用預視。其輸入數據是經 8kHz采樣的16位線性 PCM語音信號,幀長為30ms(240個樣點),分為4個子幀,即每個子幀含有60個抽樣信號,預視7.5ms。編碼端對原始語音進行分析,提取出CELP參數(LSP參數、碼本索引和增益等),并將這些參數編碼傳輸。在解碼端,再用這些參數構造激勵信號和合成濾波器,將激勵信號通過合成濾波器重建語音信號。G.723.1需要40MIPS以上的DSP才能保證語音編解碼的質量。C5402運算能力可以達到100MIPS,完全可滿足系統要求。
3  以太網接口模塊設計
  該模塊由主控DSP直接控制以太網接口芯片,進行IP語音數據包的收發。以太網驅動芯片采用的是RTL8019AS,它是臺灣Realtek公司生產的一款兼容NE2000的8/16位網卡適配器,支持ISA總線結構。由于其性能優良,價格低廉,因此在10Mbps網卡市場中占有相當大的份額。RTL8019AS有16KB的RAM用于數據收發緩存,分成64頁,每頁256B,每頁存儲1幀以太網數據包。它內部有4頁寄存器,對應著偏移量為0x00~0x0F的16個輸入/輸出地址,控制器通過讀寫這些寄存器,控制數據的收發。此外,0x10~0x17是遠程DMA讀寫端口地址,0x18~0x1F是復位端口地址。RTL8019AS中主要的寄存器如下。
  CR:控制以太網驅動器操作,同時用于選擇寄存器頁。
  PSTART:接收緩沖區的起始頁地址。
  PSTOP:接收緩沖區的結束頁地址。
  TPSR:發送緩沖區的起始頁地址。
  BNRY:指向最后一個已讀取頁地址。
  CURR:指向當前的接收頁地址。
  ISR:中斷狀態寄存器。
  RCR:接收參數配置。
  TCR:發送參數配置。
  DCR:數據參數配置。
  IMR:中斷屏蔽寄存器。
  RSAR0、RSAR1:遠程DMA起始地址。
  RBCR0、RBCR1:遠程DMA字節計數器。
  PAR0~PAR5:設置本地MAC地址。
  MAR0~MAR7:用于設置多點播送的參數。
3.1 模塊硬件設計
  主控C5402的I/O資源豐富,可以很容易地將RTL8019AS映射為它的I/O空間。DSP與RTL8019AS的硬件連接如圖3所示。RTL8019AS的I/O電壓為5V,而DSP的I/O電壓是3.3V,二者連接時需要轉換電平。本設計選用SN74LVTH16244作為地址總線緩沖器,選用SN74LVTH16245雙向總線收發器作為數據總線緩沖器。

 


  DSP采用查詢方式和RTL8019AS通信。DSP的XF為RTL8019AS提供硬件復位脈沖,通過A4~A0共5根地址線來訪問RTL8019AS的0x00~0x1F寄存器和端口空間,以太網驅動器的基地址由A19~A5確定,其值是0x300。RTL8019AS的讀寫控制信號由DSP的IOSTRB#、R/W#及A15通過圖中所示的邏輯提供。很顯然,RTL8019AS被映射到了DSP低32K字的I/O空間。
3.2 模塊軟件設計
  模塊采用以太網的封裝格式協議(兼容IEEE802.3)、IP協議和UDP協議作為系統的通信協議。該部分軟件包括2部分:以太網驅動器的初始化和收發數據處理。
  RTL8019AS硬件或軟件復位后即進行初始化工作,包括設置接收緩沖區和發送緩沖區,設置本地MAC地址,配置接收參數、發送參數和數據參數,給寫入頁指針和讀取頁指針賦初值,清除中斷狀態位等。
  數據發送前,要將語音數據封裝成以太網幀,就是在語音數據前依次加上UDP包頭、IP包頭和以太網包頭;對接收到的數據包,要用相反的過程解包,依次去掉各種包頭后,取出語音數據。
  以太網接口模塊數據收發軟件流程如圖4所示。發送時,DSP首先將語音數據封裝打包,然后用遠程DMA方式寫入RTL8019AS的發送緩沖區,并將數據包傳到網上。接收時,通過查詢ISR確定是否收到數據,如果收到,則以遠程DMA方式逐頁讀出接收緩沖區中的數據幀,并去掉包頭,恢復出語音數據。每讀1幀,將BNRY指向下一頁緩沖區,如此反復,直到讀出RTL8019AS接收緩沖區中的所有數據幀。

 


4  系統集成和測試
  對上述2個模塊測試成功后,要將這2個模塊集成為1個端機系統,實現局域網環境下點到點的實時雙向分組語音通信。
主從DSP的硬件連接如圖5所示。主控DSP與語音處理模塊DSP通過8位增強型HPI接口(Host-Port Interface)進行通信。C5402的HPI由1個8位數據總線和一組控制信號組成,通過HPI地址寄存器(HPIA)、HPI數據寄存器(HPID)、HPI控制寄存器(HPIC)和主機建立通信連接。


  主控DSP的A1、A2與HPI寄存器選擇信號HCNTL0,1相連。當A2A1=00b時,選擇HPIC寄存器;當A2A1=01b時,選擇HPIA寄存器;當A2A1=10b時,選擇HPID寄存器,且每次讀寫時HPIA加1;當A2A1=11b時,選擇HPID寄存器,讀寫不影響HPIA。主控DSP的A0用于選擇通信的高或低字節;IOSTRB#、A15、IS#按照圖示的邏輯關系組成數據傳輸的片選,此時從DSP位于主DSP高32K字的I/O空間,避開了RTL8019AS的空間;HR/W#和主DSP的R/W#直接連接;HINT#和HRDY用于向主DSP的發送中斷請求和準備好狀態信號。
  語音處理模塊的DSP按照G.723.1進行壓縮編碼,每30ms生成1幀語音數據,放入編碼緩存區,產生1次HPI中斷。主DSP得到該中斷請求后,先將接收到的語音數據幀通過HPI口寫入從DSP的解碼緩存區供其解碼,然后主DSP將從DSP編碼緩存區中待發送的數據讀出,封裝后發送到網上。從DSP在30ms的時間間隔內,一方面要壓縮編碼TLC320AD50傳輸過來的語音數據,另一方面要將主機送來的數據進行擴展解碼,然后送給TLC320AD50,恢復出模擬的語音信號。
  經過實驗測試,語音處理模塊和以太網接口模塊協調工作,在局域網上2臺終端通信的話音質量良好,達到了預期的效果。
5  結束語
  本文采用2塊C5402 DSP作為系統核心,加上CODEC和NIC等外圍電路,實現了局域網上的IP分組語音通信,是一個全新的VOIP解決方案。筆者認為,采用更高運算能力的DSP,有望實現單DSP方案的分組語音通信。
參考文獻
1   Texas Instruments.TMS320VC54x DSP Reference Set.1999
2   Realtek.RTL8019AS Datasheet.2000
3   張雄偉,曹鐵勇.DSP 芯片的原理與開發應用(第2版).北京:電子工業出版社,2000
4   糜正琨.IP網絡電話技術.北京:人民郵電出版社,2000
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 在线一区二区三区 | 一级片免费网址 | 久久国产精品高清一区二区三区 | 日本精品在线观看 | 成人午夜在线观看 | 欧美国产一区二区三区 | 成年女人免费视频播放成年m | 一区二区三区视频网站 | 欧美午夜伦y4480私人影院 | 波多野结衣视频免费观看 | 99视频有精品 | 中文字幕亚洲精品日韩精品 | 久久精品综合免费观看 | 免费观看欧美一级高清 | 91九色精品国产免费 | 欧美成人做性视频在线播放 | 亚洲美女在线观看播放 | 久久精品无遮挡一级毛片 | 久久久久香蕉视频 | 玖草在线观看 | 日韩一级黄色毛片 | 免费国产高清精品一区在线 | 两性免费视频 | 最新版天堂资源中文官网 | 国产高清美女一级a毛片久久 | 久久五| a级午夜毛片免费一区二区 a级性生活视频 | 日韩一区二区精品久久高清 | 精品九九久久国内精品 | 日韩经典中文字幕 | 欧美特级特黄a大片免费 | 性视频亚洲 | 曰本三级 | 高清一级毛片 | 成人国产亚洲欧美成人综合网 | 久色视频 | 久草视频免费在线 | 免费人成年短视频在线观看免费网站 | 国产2页| 色国产精品 | 天天爱天天做天天爽天天躁 |