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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA的語(yǔ)音錄制與回放系統(tǒng)的設(shè)計(jì)

          一種基于FPGA的語(yǔ)音錄制與回放系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2010-10-26 來(lái)源:網(wǎng)絡(luò) 收藏

            0引言
            
            隨著微電子技術(shù)的發(fā)展,系統(tǒng)集成向高速、高集成度、低功耗發(fā)展已經(jīng)成為必然,同時(shí)SoPC技術(shù)也應(yīng)用而生。SoPC將軟硬件集成于單個(gè)可編程邏輯器件平臺(tái),使得系統(tǒng)設(shè)計(jì)更加簡(jiǎn)潔靈活。SoPC綜合了SoC,PLD和的優(yōu)點(diǎn),集成了硬核和軟核CPU、OSP、存儲(chǔ)器、外圍I/O及可編程邏輯,用戶(hù)可以利用SoPC平臺(tái)自行設(shè)計(jì)高速、高性能的CPU和DSP處理器,使得電子系統(tǒng)設(shè)計(jì)進(jìn)入一個(gè)嶄新的模式。
            
            該設(shè)計(jì)運(yùn)用SoPC技術(shù)實(shí)現(xiàn)嵌入式數(shù)字化與回放。其中,介紹了在上構(gòu)建WM8731的I2C總線,以及數(shù)字化語(yǔ)音在SRAM中的存儲(chǔ),并利用Matlab7.0.4軟件對(duì)所采集的語(yǔ)音數(shù)據(jù)進(jìn)行仿真。SoPC是現(xiàn)在電子技術(shù)、電子系統(tǒng)設(shè)計(jì)的匯聚點(diǎn)和發(fā)展方向。充分體現(xiàn)了其高性能、設(shè)計(jì)靈活和易用等特點(diǎn)。
            
            1系統(tǒng)整體方案
            
            系統(tǒng)以Altera公司的芯片(CycloneⅡ系列)EP2C35F672C6NK為平臺(tái),結(jié)合音頻編/解碼芯片WM8731實(shí)現(xiàn)與回放。該FPGA芯片具有豐富的片內(nèi)資源,大量的邏輯宏單元和多個(gè)硬件乘法器,大量的自定義I/O接口,此外還有4個(gè)鎖相環(huán),為系統(tǒng)提供實(shí)時(shí)時(shí)鐘。設(shè)計(jì)中充分利用了FPGA的高速并行和Avalon總線自定義硬件外設(shè)的優(yōu)勢(shì),從而構(gòu)建了一個(gè)高集成度、高性能的系統(tǒng)。
            
            語(yǔ)音通過(guò)話筒輸入,由音頻編/解碼芯片WM8731以8kHz的A/D采樣率轉(zhuǎn)換成16位PCM碼緩存。此外,為確保采集的語(yǔ)音數(shù)據(jù)不丟失,先將語(yǔ)音存儲(chǔ)在SRAM中,再作后續(xù)處理。整體系統(tǒng)框架圖1所示。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();