Adaptive Filtering 功能详解及代码实现

  摘 要

  Texas instruments 推出的超低功耗miniDSP 音频Codec 集成了miniDSP 内核,可在耗电极低的工作状态下为电池供电的便携式产品提供高性能的语音及音乐处理能力。AdapTIveFiltering 是miniDSP 的一项重要功能。本文详细介绍了该功能的使用方法及注意事项,并给出了示例代码以供参考。

  1 miniDSP Codec 简介

  德州仪器半导体公司(Texas Instruments)推出的内嵌miniDSP 的音频编解码器(简称miniDSP Codec)在普通音频编解码器的基础上提供了强大、灵活的低功耗DSP 引擎来满足消费类电子应用中对音质、音效的需求。

  miniDSP 的内核是完全可编程的,支持许多录音和回放的专用算法。例如:多段均衡(MulTI-Band EqualizaTIon)、动态噪声消除(Dynamic Noise Filter)、回声消除(Echo CancellaTIon)等。miniDSP Codec 具有非常优秀的电源管理功能,在提供强大的音效处理能力的同时兼顾了低功耗特性,非常适合电池供电的便携式产品应用,例如智能手机,多媒体播放器,导航仪,电子相框等。

  TLV320AIC3254(简称AIC3254)是miniDSP Codec 的典型器件,本文将基于该器件展开分析。其他miniDSP Codec 均具有类似的架构、功能及使用方法。请用户参考相应产品的器件手册获得详细信息。

  1.1 miniDSP Codec 架构

  以AIC3254 为例,该miniDSP Codec 集成了两个miniDSP 内核,如图1 所示,miniDSP-A 位于ADC 信号路径上,主要负责ADC 采样后的数字音频流处理。miniDSP-D 位于DAC 路径上,主要负责I2S 总线输入的数字音频流处理。miniDSP-A 和miniDSP-D 之间有互联的内部数据总线可用于数据交换及共享代码空间。

  


Adaptive Filtering 功能详解及代码实现

 

  图 1. miniDSP 音频Codec 内部简化框图

  除了Audio Codec 以外,某些ADC、DAC 也拥有miniDSP 内核,本文介绍的部分内容也适用于该类器件。请参考相应器件的手册获得详细信息。

  1.2 miniDSP 内存架构及寄存器地址

  miniDSP-A 和D 分别有自己独立的内存空间。每个DSP 的内存分为指令内存(Instruction RAM)、数据内存(Data RAM)和系数内存(Coefficient RAM)三类。

  • 指令内存用于存储miniDSP 的运行指令及程序。

  • 数据内存用来暂存miniDSP 运行时的运算结果等临时数据。

  • 系数内存用来存储miniDSP 音效、增益等控件的参数数据。

  指令内存和系数内存均可通过映射的I2C 或SPI 地址来进行读写。Codec 上电时主控芯片需要通过I2C 或SPI 接口将miniDSP 程序下载到指令内存和系数内存以供运行。以TLV320AIC3254 为例,指令内存、系数内存的寄存器映射地址及功能如表1 所示:

  表 1. TLV320AIC3254 内存架构及寄存器地址

  


Adaptive Filtering 功能详解及代码实现

 

  从寄存器映射地址可发现,miniDSP-A 和 miniDSP-D 的系数内存控件均被等分成两块:Buffer-A和Buffer-B。当Adaptive Filtering 功能关闭时,Buffer-A 和Buffer-B 是一个整体,连续的存储空间。当Adaptive Filtering 功能开启时,两个Buffer 的内容是完全同步并相互备份的。这种内存架构是Adaptive Filtering 功能的基础。

  注 意:

  当用户不需要Adaptive Filtering 功能时,建议关闭该功能。系数内存(Coefficent

  RAM)将不会划分Buffer-A 和Buffer-B。能提供多一倍的系数内存给用户使用。

  • Adaptive Filtering 功能详解及代码实现已关闭评论
    A+
发布日期:2019年07月13日  所属分类:参考设计