a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何基于ARM9的嵌入式網(wǎng)絡語音通信終端?

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

作者: 時間:2018-08-07 來源:網(wǎng)絡 收藏

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

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

圖4 雙緩存處理過程

其錄音與播放過程都采用雙緩存設計方案,以錄音為例,程序流程圖如圖5所示。

圖5 錄音程序流程圖

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

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

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

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

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

3 終端語音測試結果

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

圖8 終端B輸出信號圖

結語

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉