<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP的IP電話設(shè)計 (1)

          基于DSP的IP電話設(shè)計 (1)

          作者: 時間:2011-11-08 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/257816.htm

          傳統(tǒng)的電話網(wǎng)是以電路交換的方式傳輸語音信號的,它需要的基本帶寬為64kbit/s。據(jù)統(tǒng)計,在正常通話情況下,大約只有40%的時間為有聲期,其余時間電路均為空占,網(wǎng)絡(luò)帶寬利用率不高。隨著計算機(jī)技術(shù)的不斷發(fā)展,尤其是國際互聯(lián)網(wǎng)(Internet)的不斷完善,基于分組交換的數(shù)據(jù)通信成為最重要的通信方式。而要在基于IP的分組網(wǎng)絡(luò)上傳輸語音,就必須對模擬的語音信號進(jìn)行特殊處理,使處理后的信號可以適合在面向無連接的分組網(wǎng)絡(luò)上傳輸,這就是分組語音技術(shù)。本文介紹的就是一種基于的IP電話設(shè)計。

          G..728編碼標(biāo)準(zhǔn)

          語音編碼技術(shù)是IP電話的核心技術(shù)之一,編碼質(zhì)量的好壞直接關(guān)系到IP電話的通話質(zhì)量。

          G .728標(biāo)準(zhǔn)的語音編碼算法是16kbit/s的聲碼器編碼標(biāo)準(zhǔn),采用低時延碼本激勵線性預(yù)測(LD-CELP)技術(shù)。線性預(yù)測器使用的是反饋型后向
          自適應(yīng)技術(shù),預(yù)測器系數(shù)是根據(jù)上一幀的語音量化數(shù)據(jù)進(jìn)行更新的,因此算法時延較短,為0. 625ms,相當(dāng)于5個采樣點時間,這也是G .728的幀長時間。由于使用反饋型自適應(yīng)技術(shù),因此預(yù)測器系數(shù)不需傳送,唯一需要傳送的是激勵信號量化值,也就是碼本索引值。G .728標(biāo)準(zhǔn)的語音編碼算法的碼本總共有1024個矢量,索引需占10個比特,因此其比特率為10/0.625=16kbit/s。

          G .728標(biāo)準(zhǔn)的語音編碼的主要特點有:

          *算法時延短,僅為0. 625ms;
          *一路編碼時延小于2ms;
          *傳輸比特率為16kbit/s;
          *MOS值為4. 173,達(dá)到了長途通信質(zhì)量。

          由于G .728標(biāo)準(zhǔn)的語音編碼算法的時延短,語音傳輸比特率可以滿足IP電話的應(yīng)用要求,所以我們選用G . 728標(biāo)準(zhǔn)的語音編碼算法作為IP電話的編碼算法。

          硬件系統(tǒng)設(shè)計

          系統(tǒng)的主要作用是充分利用DSP高速數(shù)據(jù)處理能力,減輕計算機(jī)CPU的負(fù)擔(dān);語音的錄入和輸出系統(tǒng)也單獨分離出來,這樣可以更好地和DSP進(jìn)行數(shù)據(jù)傳輸,減少不必要的中間環(huán)節(jié),減少時延。最后,通過高速的PCI總線,將數(shù)據(jù)傳送給計算機(jī)。系統(tǒng)的總體框圖如圖1所示,各模塊的具體功能見表1所示。

          圖1 系統(tǒng)框圖

          DSP與FLASH的通信

          由于的I/0接口電壓為3. 3V,而AM29F101B的接口電壓為5V,所以在接口部分需要進(jìn)行電壓轉(zhuǎn)換,并且AM29F101B的片選信號()和輸出使能信號()需要地址譯碼。這些工作均由一片復(fù)雜的可編程邏輯器件(CPLD)來完成。

          由于AM29F101B的接口速度較慢,所以和AM29F101B之間的接口必須插入軟件等待狀態(tài),具體要插入的軟件等待狀態(tài)數(shù)目可以由數(shù)據(jù)手冊計算得到或者是調(diào)機(jī)時由試驗得到。TMS320VC5409與AM29F101B之間的接口電路如圖2所示。

          圖2 DSP和FLASH的接口電路

          DSP與ADC、DAC之間的通信

          本系統(tǒng)所選用的G.728標(biāo)準(zhǔn)的語音編碼算法需要8kHz的采樣速率,所以這里我們對ADC和DAC要求就是最高采樣率或轉(zhuǎn)換時間不低于8kHz。

          根據(jù)語音信號的特點,我們選用TI公司的TLC32044芯片,這是一片集成了ADC和DAC功能的芯片。它的最高轉(zhuǎn)化速率為19.2kHz,轉(zhuǎn)換位數(shù)為14位,輸入電壓帶范圍可調(diào),有標(biāo)準(zhǔn)同步串口,還有輸入濾波器和輸出重構(gòu)濾波器,這樣可以省去模擬濾波器的設(shè)計。TMS320VC5409與TLC32044的接口電路如圖3所示。

          圖3 DSP與DAC、ADC的接口電路

          圖4 DSP與雙端口RAM的接口電路

          圖5 PC19025雙端口RAM接口電路

          DSP與雙端口RAM之間的通信

          為了體現(xiàn)PCI總線速度快的優(yōu)點,我們選用速度較快的雙端口RAM CY7C133-25,最大傳輸速率為25ns。雙端口RAM在DSP的數(shù)據(jù)空間的地址映射為8000H-87FFH。

          這里需要強(qiáng)調(diào)的是雙端口RAM的BUSY信號。我們并不使用這個信號,因為我們分別對雙端口RAM的不同部分進(jìn)行操作,所以避免了可能發(fā)生的任何沖突,因此省去了BUSY信號,BUSY信號懸空。電路的電壓轉(zhuǎn)換和地址譯碼同樣由CPLD來完成。


          PCI9052與雙端口RAM之間的通信

          DSP的任務(wù)是完成語音的編碼和解碼,然后再通過PCI總線與計算機(jī)進(jìn)行數(shù)據(jù)交換。這里我們使用了PCI接口芯片PCI9052。所以,問題就變成了DSP與PCI9052之間的通信。DSP與PCI9052之間用一片雙端口RAM(容量為2k×16bit)進(jìn)行數(shù)據(jù)交換。

          由于PCI9052具有5個局部地址空間和4個局部設(shè)備片選信號,所以連線變得相當(dāng)簡單,我們只需要將雙端口RAM映射到其中一個局部地址空間,然后使用其中的一個片選信號連接到雙端口RAM的,最后將PCI9052的讀寫信號(R/W)和對應(yīng)連接到雙端口RAM的R/W和。這樣就省去了地址譯碼等外圍邏輯電路。

          軟件系統(tǒng)設(shè)計

          IP電話系統(tǒng)要實
          現(xiàn)的算法就是語音編碼算法,還要完成與計算機(jī)的數(shù)據(jù)交換。軟件部分的主要作用是用嵌入式操作系統(tǒng)中的TCP/IP協(xié)議對需要傳送的語音編碼信號進(jìn)行打包,再通過計算機(jī)上的網(wǎng)卡將數(shù)據(jù)通過Internet傳送到接收方,并把接收到的TCP/IP包還原為原來的語音編碼信號,最后通過PCI總線傳輸給DSP進(jìn)行語音解碼。

          結(jié)語

          實踐證明,本系統(tǒng)設(shè)計方案的主要優(yōu)點是對計算機(jī)硬件的要求不高,處理速度快,語音的輸入輸出系統(tǒng)單獨集成,信噪比(SNR)高,具有相當(dāng)?shù)倪m用和推廣價值。

          tcp/ip相關(guān)文章:tcp/ip是什么




          關(guān)鍵詞: TMS320VC5409

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();