<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è) > 嵌入式系統 > 設計應用 > Adaptive Filtering 功能詳解及代碼實(shí)現

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

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

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

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

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

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

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

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

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

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

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

2.4 Adaptive Filtering 控制流程

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

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

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

1. 通過(guò)控制接口直接向Buffer-A 寫(xiě)入新參數。

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

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

1. 向p8_r44 寫(xiě)入新參數0xAB。

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

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

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

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

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

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

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

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

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

1. 向p8_r44 寫(xiě)入新參數0xAB。

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

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

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

3 總結

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

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)


上一頁(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>