新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Adaptive Filtering 功能详解及代码实现

Adaptive Filtering 功能详解及代码实现

作者:时间:2012-09-12来源:网络收藏

本文引用地址:http://www.eepw.com.cn/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 下一页

评论


相关推荐

技术专区

关闭