新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于ARM9的嵌入式網絡語音通信終端

        基于ARM9的嵌入式網絡語音通信終端

        作者: 時間:2018-08-17 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201808/387112.htm

        圖4 雙緩存處理過程

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

        圖5 錄音程序流程圖

        2.3 網絡模塊

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

        圖6 數據封裝示意圖

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

        圖7 發送數據幀流程

        3 終端語音測試結果

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

        圖8 終端B輸出信號圖

        結語

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


        上一頁 1 2 下一頁

        關鍵詞: 嵌入式 通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永泰县| 桂林市| 双城市| 玉屏| 兴隆县| 宽城| 施秉县| 庐江县| 积石山| 陆良县| 余姚市| 彭州市| 祁连县| 浦东新区| 惠来县| 八宿县| 陇西县| 凌源市| 濉溪县| 铜鼓县| 宁强县| 三江| 历史| 堆龙德庆县| 土默特右旗| 宁明县| 江西省| 沁源县| 福泉市| 驻马店市| 克东县| 盖州市| 特克斯县| 会泽县| 绥滨县| 红原县| 启东市| 彭山县| 奎屯市| 定襄县| 漳州市|