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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Adaptive Filtering 功能詳解及代碼實(shí)現(xiàn)

          Adaptive Filtering 功能詳解及代碼實(shí)現(xiàn)

          作者: 時(shí)間:2012-09-12 來源:網(wǎng)絡(luò) 收藏

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

          在介紹 的具體流程前,首先需要了解系數(shù)內(nèi)存存取的規(guī)范。

          在non- 模式下,系數(shù)內(nèi)存在miniDSP 停止運(yùn)行時(shí)可通過控制端口(I2C/SPI)直接存取。在miniDSP 工作時(shí),系數(shù)內(nèi)存將被鎖定只有miniDSP 能夠存取。表3 給出了該模式下的存取規(guī)范供參考:

          表 3. 在non- 模式下系數(shù)內(nèi)存的存取規(guī)范

          在non-Adaptive Filtering 模式下系數(shù)內(nèi)存的存取規(guī)范

          當(dāng)啟動(dòng)了Adaptive Filtering 模式,系數(shù)內(nèi)存將分為Buffer-A 和Buffer-B 兩塊,兩塊內(nèi)存內(nèi)容完全一致,相互備份。miniDSP 工作時(shí)將鎖定Buffer-A 或者Buffer-B 其中的一個(gè),從中獲取參數(shù)信息??刂贫丝?I2C 或SPI)只可以讀寫未鎖定的另一塊Buffer。表4 給出了該模式下的存取規(guī)范供參考:

          表 4. Adaptive Filtering 模式下系數(shù)內(nèi)存的存取規(guī)范

          Adaptive Filtering 模式下系數(shù)內(nèi)存的存取規(guī)范

          為了簡化Buffer 切換的操作,在miniDSP 運(yùn)行時(shí),控制端口訪問系數(shù)內(nèi)存的地址均映射到未鎖定的Buffer 內(nèi)。例如控制端口向鎖定Buffer-A 某地址寫入的參數(shù)將直接更新未鎖定Buffer-B 內(nèi)的鏡像參數(shù)。這個(gè)設(shè)置允許用戶在切換Buffer 后無需修改寫入地址即可向釋放出來的Buffer 內(nèi)存更新參數(shù)。注意在miniDSP 停止運(yùn)行的時(shí)候,Buffer-A 和Buffer-B 的頁面地址均恢復(fù)正常模式,用戶需使用它們各自的地址進(jìn)行參數(shù)更新。

          2.4 Adaptive Filtering 控制流程

          本節(jié)詳細(xì)介紹了如何使用Adaptive Filtering 來進(jìn)行系數(shù)內(nèi)存內(nèi)參數(shù)的更新操作。附錄A 給出了推薦的Adaptive Filtering 更新參數(shù)操作時(shí)序圖供參考。

          2.4.1 miniDSP 停止時(shí)的參數(shù)更新流程

          如2.3 節(jié)所示,在miniDSP 停止運(yùn)行時(shí),控制端口可以存取所有的系數(shù)內(nèi)存地址(Buffer-A 和 Buffer-B)。則該模式下參數(shù)更新的流程為:

          1. 通過控制接口直接向Buffer-A 寫入新參數(shù)。

          2. 切換到Buffer-B 所在頁面,向Buffer-B 寫入同樣參數(shù)。使Buffer-A 和Buffer-B 保持同步。

          以AIC3254 為例,若需要更新的參數(shù)在miniDSP-A 的Buffer-A 內(nèi),其地址為p8_r44,新參數(shù)值為0xAB。則更新流程為:

          1. 向p8_r44 寫入新參數(shù)0xAB。

          2. 向p26_r44 寫入新參數(shù)0xAB。(p26_r44 是p8_r44 的鏡像寄存器)

          2.4.2 miniDSP 運(yùn)行時(shí)的參數(shù)更新流程

          miniDSP 運(yùn)行時(shí),系數(shù)內(nèi)存的其中一個(gè)Buffer 被miniDSP 鎖定,控制端口無法直接修改該Buffer內(nèi)的參數(shù)。用戶需要先更新未鎖定Buffer 內(nèi)的參數(shù),然后通知miniDSP 切換Buffer 來使用新的參數(shù)。切換后原先被鎖定的Buffer 將被釋放,用戶需要對它更新相同的參數(shù)以確保兩塊Buffer 的參數(shù)同步。

          在miniDSP 運(yùn)行時(shí),系數(shù)內(nèi)存參數(shù)更新的流程如下:

          1. 通過控制端口向目標(biāo)寄存器更新參數(shù)。

          2. 向Adaptive Filtering 寄存器寫入Buffer 切換命令。

          3. 回讀Adaptive Filtering 寄存器狀態(tài)位,判斷Buffer 切換是否完成。

          4. 確認(rèn)切換完成后,再次向目標(biāo)寄存器更新參數(shù)確保Buffer-A 和Buffer-B 參數(shù)同步。

          以AIC3254 為例,若需要更新的參數(shù)在miniDSP-A 的Buffer-A 內(nèi),其地址為p8_r44,新參數(shù)值為0xAB。則更新流程為:

          1. 向p8_r44 寫入新參數(shù)0xAB。

          2. 將p8_r1_d0,Adaptive Filtering 寄存器的D0 位置1,執(zhí)行Buffer 切換操作。

          3. 回讀p8_r1_d0,Adaptive Filtering 寄存器狀態(tài)位,判斷Buffer 切換是否完成。

          4. 確認(rèn)切換完成后,再次向目標(biāo)寄存器p8_r44 更新參數(shù)0xAB,確保Buffer-A 和Buffer-B參數(shù)同步。

          3 總結(jié)

          本文詳細(xì)介紹了miniDSP Codec 的Adaptive Filtering 的使用方法,并以AIC3254 為例給出了詳細(xì)的操作步驟和示例。在實(shí)際使用中,用戶需要注意準(zhǔn)確的獲取并判斷miniDSP 工作狀態(tài),選擇正確的操作流程來完成參數(shù)的切換和更新。

          4 參考文獻(xiàn)

          1. TLV320AIC3254, Ultra Low Power Stereo Audio Codec With Embedded miniDSP-Data sheet (SLAS549)

          2. Design and Configuration Guide for the TLV320AIC3204 TLV320AIC3254 Audio Codec (SLAA404C)

          3. Coefficient RAM Access Mechanisms (SLAA425A)


          上一頁 1 2 下一頁

          評論


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