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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何基于ARM9的嵌入式網(wǎng)絡(luò)語(yǔ)音通信終端?

          如何基于ARM9的嵌入式網(wǎng)絡(luò)語(yǔ)音通信終端?

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

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

          本設(shè)計(jì)需要實(shí)現(xiàn)全雙工語(yǔ)音通信功能,本終端采用雙緩存的設(shè)計(jì)方法,緩存處理機(jī)制以錄音為例,系統(tǒng)在使用緩存2來(lái)存放音頻設(shè)備量化好的數(shù)據(jù)時(shí),CPU則處理緩存 1的數(shù)據(jù),當(dāng)設(shè)備填充完緩存2,則轉(zhuǎn)向緩存1進(jìn)行填充,此時(shí)CPU處理緩存2的數(shù)據(jù),如此不斷循環(huán)交替,其處理過(guò)程如圖4所示。

          圖4 雙緩存處理過(guò)程

          其錄音與播放過(guò)程都采用雙緩存設(shè)計(jì)方案,以錄音為例,程序流程圖如圖5所示。

          圖5 錄音程序流程圖

          2.3 網(wǎng)絡(luò)通信模塊

          處理器首先將從麥克風(fēng)采樣的數(shù)據(jù)信號(hào)封裝成規(guī)定格式(其封裝步驟如圖6所示,封裝到14字節(jié)以太網(wǎng)層),然后把封裝好的數(shù)據(jù)交給DM 9000CEP驅(qū)動(dòng)部分的發(fā)送函數(shù)dm_tran_packet(unsigned char*datas,intlength),通過(guò)設(shè)置TCR的發(fā)送請(qǐng)求位將數(shù)據(jù)發(fā)送出去,數(shù)據(jù)發(fā)送過(guò)程就是對(duì)數(shù)據(jù)打包的過(guò)程。而數(shù)據(jù)的接收是通過(guò) DM9000CEP的網(wǎng)絡(luò)中斷函數(shù)DM9000ISR()進(jìn)行的,網(wǎng)卡每接到一個(gè)數(shù)據(jù)包將會(huì)產(chǎn)生一個(gè)中斷,進(jìn)入中斷處理函數(shù),按規(guī)定的格式從數(shù)據(jù)包中取出其語(yǔ)音數(shù)據(jù),之后數(shù)據(jù)經(jīng)處理器處理送到揚(yáng)聲器上播放外音。網(wǎng)絡(luò)各層數(shù)據(jù)封裝如圖6所示。

          圖6 數(shù)據(jù)封裝示意圖

          語(yǔ)音數(shù)據(jù)進(jìn)行封裝之后,不管是發(fā)送數(shù)據(jù)幀還是接收數(shù)據(jù)幀,都需要底層網(wǎng)卡驅(qū)動(dòng)函數(shù)提供服務(wù),本文以發(fā)送數(shù)據(jù)幀為例,簡(jiǎn)述底層網(wǎng)卡驅(qū)動(dòng)原理,在發(fā)送數(shù)據(jù)和接收數(shù)據(jù)過(guò)程中,特別需要注意的是關(guān)閉網(wǎng)卡中斷,以防打斷數(shù)據(jù)處理過(guò)程。DM9000CEP內(nèi)部有3 KB的SRAM用于發(fā)送數(shù)據(jù)緩存。在發(fā)送之前,數(shù)據(jù)是暫存在這個(gè)SRAM中的。當(dāng)需要連續(xù)發(fā)送時(shí),需要用DM9000CEP寄存器MWCMD賦予數(shù)據(jù)端口,這樣就指定了SRAM中的某個(gè)地址,并且在傳輸完一個(gè)數(shù)據(jù)后,指針會(huì)指向SRAM中的下一個(gè)地址,從而達(dá)到連續(xù)訪問(wèn)數(shù)據(jù)的目的。如果在此過(guò)程中到達(dá)發(fā)送數(shù)據(jù)緩沖區(qū)末尾,指針將折回緩沖區(qū)的開(kāi)頭。發(fā)送數(shù)據(jù)幀的流程圖如圖7所示。

          圖7 發(fā)送數(shù)據(jù)幀流程

          3 終端語(yǔ)音測(cè)試結(jié)果

          使用ADS軟件將程序編譯成可執(zhí)行文件,下載到語(yǔ)音終端A和B上。在兩個(gè)終端分別接上麥克風(fēng)和耳麥進(jìn)行話音通信,通過(guò)實(shí)驗(yàn)驗(yàn)證了系統(tǒng)可以進(jìn)行清晰的語(yǔ)音對(duì)話。另外,可將終端A的麥克風(fēng)接口與函數(shù)信號(hào)發(fā)生器相接,終端B的揚(yáng)聲器接口與示波器相連。函數(shù)信號(hào)發(fā)生器將正弦信號(hào)送給終端A,其頻率為1 kHz,幅度為100mVpp。在示波器上可以看到經(jīng)放大的正弦信號(hào),其輸出信號(hào)波形如圖8所示。測(cè)試結(jié)果表明,該終端系統(tǒng)可以應(yīng)用于遠(yuǎn)程通信。

          圖8 終端B輸出信號(hào)圖

          結(jié)語(yǔ)

          本文作者利用技術(shù)開(kāi)發(fā)的終端具有可靠性高、控制界面強(qiáng)大以及可擴(kuò)展性好的特點(diǎn),使該終端可不通過(guò)計(jì)算機(jī)、直接連上網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,能充分利用現(xiàn)有網(wǎng)絡(luò)通道實(shí)現(xiàn)快捷的語(yǔ)音通話。


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

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