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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > G.723.1在DSP數(shù)字對講機(jī)基帶系統(tǒng)中的應(yīng)用

          G.723.1在DSP數(shù)字對講機(jī)基帶系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2009-09-18 來源:網(wǎng)絡(luò) 收藏

          選用TMS320C5509A(簡稱C5509A)負(fù)責(zé)G.723.1標(biāo)準(zhǔn)的算法及后續(xù)化的處理(信道編譯碼、交織、加擾、CRC、調(diào)制解調(diào))。該芯片是TMS320C55X系列中的一款,C55X系列的結(jié)構(gòu)見參考文獻(xiàn)[1]。
          CPLD主要用來擴(kuò)展的外部地址空間,實(shí)現(xiàn)地址譯碼、時(shí)序控制,并給提供所需的邏輯和時(shí)序控制信號(hào)。本選用Altera公司 MAX7000系列中的EPM7128,其與DSP的接口電路如圖3(a)所示,其中FSX和FSR幀同步信號(hào)端的同步信號(hào)相同。原始模擬語音信號(hào)必須進(jìn)行化處理后,才能在DSP中進(jìn)行語音壓縮編解碼算法。選用的是ADI公司推出的低成本、低功耗通用模擬前端AD7311L,其與DSP的接口電路如圖3(b)所示。由于G.723.1的算法比較復(fù)雜,處理時(shí)需要大量的存儲(chǔ)空間,本設(shè)計(jì)采用4Mb×16的SDRAM,芯片為MT48LCM16,通過 EMIF接口映射到C5509A的CEO空間。其與DSP的接口電路如圖3(c)所示。Bootloader模塊的主要

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

          4 語音系統(tǒng)的軟件設(shè)計(jì)
          總體軟件流程如圖4所示。當(dāng)DSP處于發(fā)送狀態(tài)時(shí),通過MCBSP1接收來自 AD7311L的化語音數(shù)據(jù),調(diào)用語音壓縮編碼程序,編完1幀輸出數(shù)據(jù),然后繼續(xù)進(jìn)行后續(xù)的相關(guān)處理。當(dāng)DSP處于接收狀態(tài)時(shí),接收來自后續(xù)基帶處理的數(shù)據(jù),調(diào)用語音解碼程序;解碼后的語音數(shù)據(jù),再以每幀的數(shù)據(jù)通過MCBSP1送入AD7311L,最后還原成原始語音。下面主要介紹初始化模塊及語音編解碼模塊。

          4.1 初始化模塊
          系統(tǒng)的初始化是系統(tǒng)運(yùn)行的基礎(chǔ)部分,它涉及系統(tǒng)的整體硬件設(shè)計(jì),如引腳的分配及連接、各芯片采用的工作模式等問題。本系統(tǒng)初始化模塊劃分為3個(gè)部分:初始化微處理器、初始化語音處理器、初始化外部寄存器。
          DSP初始化函數(shù)名為DSP_Init.c,主要是對DSP的時(shí)鐘(clock),外部存儲(chǔ)器接口(EMIF)和多通道串行緩沖串口(McBSP)進(jìn)行初始化設(shè)置。



          評(píng)論


          相關(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); })();