• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
     首頁(yè) > 新聞 > 國內 >

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

    2014-11-24 14:35:17   作者:   來(lái)源:EDN電子技術(shù)設計   評論:0  點(diǎn)擊:


      2 軟件實(shí)現

      網(wǎng)絡(luò )語(yǔ)音終端系統軟件部分主要由系統初始化、語(yǔ)音采集播放模塊、網(wǎng)絡(luò )通信模塊等部分構成。

      2.1 系統初始化

      使用UDA1341TS芯片與I)M9000CEP芯片之前,需要對芯片內部的寄存器進(jìn)行初始化。

      DM9000CEP芯片的初始化設置工作方式:通過(guò)CMD與ADDR2引腳相連,高電平時(shí)為數據端口,低電平時(shí)為地址端口。CS與NGCS4引腳相連,選擇DM9000CEP的端口基址為0x2000 0000,偏移300個(gè)單位。發(fā)送給DM9000的地址信息固定放在0x2000 0300上,把存放在該地址的數據放在0x2000 0304,采用此方式可對DM9000CEP內部的寄存器進(jìn)行操作,如啟動(dòng)、復位、TX控制、RX控制以及MAC地址初始化等。其代碼如下:

      UDA1341TS芯片的初始化工作需要與L3的總線(xiàn)連接,該L3總線(xiàn)是MCU通過(guò)GPB2、GPB3、GPB4三個(gè)引腳來(lái)模擬控制,用于處理器配置UDA1341內部的寄存器。UDA1341有兩種模式:地址模式和數據傳輸模式。地址模式表示傳輸的是地址信息,它的高6位永遠是000101,低兩位用來(lái)表明模式是狀態(tài)模式、數據0模式還是數據1模式,其中狀態(tài)模式主要用于配置UDA1341的各類(lèi)初始狀態(tài):采用頻率、ADC、DAC等;數據模式主要用于改善音頻輸入、輸出的效果、音量大小調節等。

      此外,要初始化S3C2440芯片內部的特殊寄存器,對I2S、DMA、中斷相關(guān)的各個(gè)寄存器進(jìn)行初始化設置,以及各個(gè)引腳功能的設置,如把GPF7引腳設置為EINT7外部中斷功能引腳,當以太網(wǎng)網(wǎng)卡接收到數據,此引腳電平就會(huì )因中斷跳變以使程序進(jìn)入網(wǎng)卡中斷接收處理函數。

      2.2 語(yǔ)音采集播放模塊

      完成實(shí)時(shí)語(yǔ)音通話(huà),UDA1341TS芯片在錄音同時(shí)也必須完成放音功能。數據傳輸使用兩個(gè)DMA通道。其錄音過(guò)程為:音頻芯片從麥克風(fēng)中拾取聲音信號進(jìn)行采樣、量化、編碼,把采集到的數據通過(guò)I2S總線(xiàn)傳給DMA1通道,并通過(guò)內部總線(xiàn)傳到內存緩沖區中,之后送給處理器處理。放音:內存從處理器中獲取數據,通過(guò)內部總線(xiàn)傳給DMA2通道,之后通過(guò)I2S總線(xiàn)把數據傳給音頻芯片送給揚聲器播音。通過(guò)采用DMA通道數據傳輸方式,處理器不需要花大量時(shí)間參與數據的傳輸,有充足的時(shí)間來(lái)處理其他事件。

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

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

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

      圖5 錄音程序流程圖

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 深水埗区| 乡宁县| 鲁甸县| 昂仁县| 宁乡县| 铁岭县| 株洲市| 五指山市| 白水县| 潞城市| 嵊州市| 洛隆县| 库车县| 九龙城区| 洛川县| 临湘市| 南溪县| 武鸣县| 广水市| 济南市| 太仆寺旗| 通渭县| 郓城县| 化德县| 崇礼县| 荣昌县| 北安市| 上饶县| 于田县| 太原市| 嘉鱼县| 剑阁县| 昌江| 鹤岗市| 绥化市| 长春市| 金乡县| 米脂县| 忻城县| 威远县| 汝阳县| http://444 http://444 http://444 http://444 http://444 http://444