Audio Tx DFE

概述

Audio Tx DFE(以下简称 Tx DFE)包括左右两个声道 Tx DFE0 和 Tx DFE1。

Tx DFE 主要处理包括高通滤波器(HPF)、半带插值滤波器(HBF)、CIC 插值滤波器、限幅器(limiter)、噪声门控(noise gating)、SDM(Sigma Delta Modulator,ΣΔ调制器)和 DEM(Dynamic Element Matching,动态元素匹配)等。

工作原理

Tx DFE 将低采样率多比特的数字信号通过插值滤波处理转换成高采样率的数字信号,再通过 SDM 将高速数字信号的比特数压缩,最后通过 DAC Converter 将数字音频信号转换为模拟音频信号。

Tx DFE 的输入数据来自于 ASRC 模块或 ANC 模块,经过高通滤波器、半带插值滤波器、CIC 插值滤波器、限幅器、NG 模块、SDM 和 DEM 等一系列数字信号处理后,输出到音频模拟处理单元,完成数模转换(DAC)和功率放大处理(PA)等,最终差分输出到喇叭。

Tx DFE 的输入采样率由 ASRC 模块决定,Tx DFE 的输出采样率为工作时钟的整数分频。工作时钟为 16 MHz 时,典型输出采样率为 4 MHz;工作时钟为 15.36 MHz 时,典型输出采样率为 3.84 MHz。

Tx DFE 的信号接口如下图所示。

../../_images/Audio_Tx_DFE_connection.png

Tx DFE 信号接口示意图


功能特性

Tx DFE 支持:

  • 输入数据位宽为 24 比特。

  • 典型输入采样率为 192、200、384、400、768 和 800 kHz。

  • 典型输出采样率为 3.84 MHz 或 4 MHz。

  • 输出信号数字增益控制。

  • 小信号输出的硬件主动降噪处理。

  • 动态范围增强(DRE)功能。

  • 高通滤波器,默认为 bypass 模式。

  • 数据回环,用于调试。

结构图

Tx DFE 的内部结构如下图所示。

../../_images/Audio_Tx_DFE_structure.png

Tx DFE 结构图

下表描述了 Tx DFE 所包含的模块。

Tx DFE 模块说明

模块

功能

HPF

完成高通滤波处理,滤出直流分量。

HBF

为多个半带插值滤波器级联,支持 2 倍或者 4 倍插值滤波。

CIC

支持 1~32 整数倍插值和滤波

DRE

控制数字和模拟增益模块,实现小信号的底噪优化。

Limiter

对大信号进行限幅处理。

NG

对小信号进行限幅处理。

SDM

完成 sigma-delta 调制处理,实现数据流的低比特转换。

DEM

对 SDM 输出数据的随机化处理。

Tx DFE 还支持 PDM(Pulse Density Modulation,脉冲密度调制)格式输出,将限幅器和 NG 输出数据进行 1 比特处理,并通过 GPIO 端口输出。

参考示例

examples/unity_test/acore/components/test_case/test_audio_adc_anc_dac.c

API 介绍

Defines

WQ_TX_DFE_ANA_GAIN_MIN
WQ_TX_DFE_ANA_GAIN_MAX
struct wq_tx_dfe_gain_config

Public Members

WQ_TX_DFE_GAIN_MODULE module
WQ_TX_DFE_GAIN_ADJUST_MODE adj_mode
WQ_TX_DFE_GAIN_ADJUST_METHOD adj_method
uint16_t ramp_count
wq_tx_dfe_irq_callback cb
int16_t target_gain_l
int16_t target_gain_r
bool need_done
struct wq_tx_dfe_asrc_gain_config

Public Members

WQ_TX_DFE_ASRC_GAIN_MODULE module
WQ_TX_DFE_GAIN_ADJUST_MODE adj_mode
WQ_TX_DFE_GAIN_ADJUST_METHOD adj_method
wq_tx_dfe_irq_callback cb
int16_t target_gain
bool need_done
struct wq_tx_dfe_gain_dre_config

Public Members

WQ_TX_DFE_ANALOG_GAIN analog_gain
WQ_TX_DFE_GAIN_ADJUST_MODE adj_mode
WQ_TX_DFE_GAIN_ADJUST_METHOD adj_method
uint16_t control_count
wq_tx_dfe_irq_callback cb
struct wq_tx_dfe_digtal_config

Public Members

WQ_TX_DFE_SRC src
WQ_TX_DFE_OUT_FREQ_SAMPLE out_fs
int full_scale_limit
uint16_t dc_offset_dig_calibration
WQ_TX_DFE_TRIGGER_SRC trigger
WQ_TX_DFE_CHN ch
WQ_TX_DFE_PERFORMANCE_MODE pf_mode
uint8_t timer_id