<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何基于A(yíng)RM9的嵌入式網(wǎng)絡(luò )語(yǔ)音通信終端?

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

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

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

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

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

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

圖5 錄音程序流程圖

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

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

圖6 數據封裝示意圖

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

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

3 終端語(yǔ)音測試結果

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

圖8 終端B輸出信號圖

結語(yǔ)

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


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>