新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Adaptive Filtering 功能詳解及代碼實現

        Adaptive Filtering 功能詳解及代碼實現

        作者: 時間:2012-09-12 來源:網絡 收藏

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

        在介紹 的具體流程前,首先需要了解系數內存存取的規范。

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

        表 3. 在non- 模式下系數內存的存取規范

        在non-Adaptive Filtering 模式下系數內存的存取規范

        當啟動了Adaptive Filtering 模式,系數內存將分為Buffer-A 和Buffer-B 兩塊,兩塊內存內容完全一致,相互備份。miniDSP 工作時將鎖定Buffer-A 或者Buffer-B 其中的一個,從中獲取參數信息。控制端口(I2C 或SPI)只可以讀寫未鎖定的另一塊Buffer。表4 給出了該模式下的存取規范供參考:

        表 4. Adaptive Filtering 模式下系數內存的存取規范

        Adaptive Filtering 模式下系數內存的存取規范

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

        2.4 Adaptive Filtering 控制流程

        本節詳細介紹了如何使用Adaptive Filtering 來進行系數內存內參數的更新操作。附錄A 給出了推薦的Adaptive Filtering 更新參數操作時序圖供參考。

        2.4.1 miniDSP 停止時的參數更新流程

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

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

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

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

        1. 向p8_r44 寫入新參數0xAB。

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

        2.4.2 miniDSP 運行時的參數更新流程

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

        在miniDSP 運行時,系數內存參數更新的流程如下:

        1. 通過控制端口向目標寄存器更新參數。

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

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

        4. 確認切換完成后,再次向目標寄存器更新參數確保Buffer-A 和Buffer-B 參數同步。

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

        1. 向p8_r44 寫入新參數0xAB。

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

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

        4. 確認切換完成后,再次向目標寄存器p8_r44 更新參數0xAB,確保Buffer-A 和Buffer-B參數同步。

        3 總結

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

        4 參考文獻

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金乡县| 镶黄旗| 孝昌县| 莆田市| 杂多县| 寿阳县| 陈巴尔虎旗| 贵溪市| 普陀区| 乌拉特后旗| 亳州市| 当雄县| 商丘市| 彭水| 凭祥市| 北宁市| 大关县| 北票市| 湘潭县| 轮台县| 化德县| 濮阳县| 汉源县| 喀喇| 台中县| 常山县| 大悟县| 恩平市| 若尔盖县| 思茅市| 定安县| 东源县| 湖南省| 美姑县| 广水市| 吉林省| 土默特右旗| 永清县| 正安县| 太康县| 襄垣县|