ZHCABE7A November 2021 – April 2022 PCM5120-Q1 , PCM6120-Q1 , TLV320ADC5120 , TLV320ADC6120
表 6-1 显示了 DRE/DRC 算法的参数。其中两个参数是写入器件寄存器来控制的。其他参数驻留在器件的 32 位宽系数存储器(Book 0、Page 5、Page 6 和 Page 7)中。在热启动期间,器件采用 Book 0 的 Page 5、Page 6 和 Page 7 中参数的默认值,为了使用户值覆盖这些参数,需要设置 DSP_CFG1 寄存器 (P0_R108_D2) 中的位 DRE_AGC_CFG_DEF_OVR = 1。
DRE 参数 | 特性/说明 |
---|---|
DRE/DRC 阈值 (dB) | 高于 DRE/DRC 处于非活动状态时的信号电平。 |
最大增益 (dB) | DRE/DRC 应用的增益上限。 |
释放时间常数(秒) | 当输入信号降至低于 DRE/DRC 阈值时 DRE/DRC 电路通过增大 PGA 增益进行响应的速度。 |
起音时间常数(秒) | 当输入信号升至高于 DRE/DRC 阈值时 DRE/DRC 电路通过减小 PGA 增益进行响应的速度。 |
释放迟滞 (dB) | 超过 DRE/DRC 阈值的信号电平降低量(以 dB 为单位),迫使 DRE/DRC 增加增益并开始释放。 |
起音迟滞 (dB) | 超过 DRE/DRC 阈值的信号电平增加量(以 dB 为单位),迫使 DRE/DRC 减小增益并开始起音。 |
释放去抖(样本) | 起音事件之后,在 DRE/DRC 开始释放和增加 PGA 增益之前,连续输入样本数低于 DRE 阈值的数量。 |
起音去抖(样本) | 释放事件之后,在 DRE/DRC 开始起音和减小 PGA 增益之前,连续输入样本数升到高于 DRE 阈值。 |
DRE/DRC 阈值: DRE/DRC 停止修改 PGA 并将其设置为统一增益时的信号电平。阈值电平是相对于 ADC 输出的满量程 (dBFS) 表示的。表 6-2 列出了 DRE/DRC 阈值配置设置。默认值为 -54dB。设置高阈值电平会减少 DRE/DRC 在信号电平突然增加时做出反应的余量,并可能导致数字削波和 PGA 饱和。因此,必须将 DRE/DRC 阈值设置为具有足够的裕度,以防止在输入电平发生较大动态变化时出现削波。
P0_R109_D[7:4]:DRE_LVL[3:0] | DRE 触发阈值电平 |
---|---|
0000 | DRE/DRC 目标阈值是 –12dB 输出信号电平。 |
0001 | DRE/DRC 目标阈值是 –18dB 输出信号电平。 |
0010 | DRE/DRC 目标阈值是 –24dB 输出信号电平。 |
… | … |
0111(默认值) | DRE/DRC 目标阈值是 –54dB 输出信号电平。 |
… | … |
1001 | DRE/DRC 目标阈值是 –66dB 输出信号电平。 |
1010 至 1111 | 保留(不使用这些设置) |
最大增益:最大增益表示 DRE/DRC 对低于 DRE/DRC 阈值的信号应用的增益上限。表 6-3 列出了最大增益配置设置。默认值是 24dB。其可编程范围为 2dB 至30 dB ,步长为 2 dB。
P0_R109_D[3:0]:DRE_MAXGAIN[3:0] | 允许的 DRE/DRC 最大增益 |
---|---|
0000 | 允许的 DRE/DRC 最大增益为 2dB。 |
0001 | 允许的 DRE/DRC 最大增益为 4dB。 |
0010 | 允许的 DRE/DRC 最大增益为 6dB。 |
… | … |
1011(默认值) | 允许的 DRE/DRC 最大增益为 24dB。 |
… | … |
1110 | 允许的 DRE/DRC 最大增益为 30dB。 |
1111 | 保留(不使用该设置) |
释放时间常数:当输入信号降至低于 DRE/DRC 阈值时 DRE/DRC 电路增大 PGA 增益的速度。释放时间常数由两个系数控制:DRE_REL_ALPHA 和 DRE_REL_BETA。Equation5 和Equation6 显示了如何从下述时间常数中计算 DRE_REL_ALPHA 和 DRE_REL_BETA 参数。
其中
表 6-4 显示了控制 DRE_REL_ALPHA 和 DRE_REL_BETA 参数的寄存器。这些参数均具有 32 位的宽度,必须以二进制补码表示形式写入。DRE_REL_ALPHA 和 DRE_REL_BETA 的默认值对应的时间常数为 20 毫秒。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_REL_ALPHA | 0x05 | 0x7C | 0x7F | DRE_REL_ALPHA 字节 [31:24] |
0x05 | 0x7D | 0xB5 | DRE_REL_ALPHA 字节 [23:16] | |
0x05 | 0x7E | 0x16 | DRE_REL_ALPHA 字节 [15:8] | |
0x05 | 0x7F | 0x50 | DRE_REL_ALPHA 字节 [7:0] | |
DRE_REL_BETA | 0x06 | 0x08 | 0x00 | DRE_REL_BETA 字节 [31:24] |
0x06 | 0x09 | 0x4A | DRE_REL_BETA 字节 [23:16] | |
0x06 | 0x0A | 0xE9 | DRE_REL_BETA 字节 [15:8] | |
0x06 | 0x0B | 0xB0 | DRE_REL_BETA 字节 [7:0] |
起音时间常数:当输入信号升至高于 DRE/DRC 阈值时, DRE/DRC 电路减小 PGA 增益的速度有多快。起音时间常数由两个系数控制:DRE_ATT_ALPHA 和 DRE_ATT_BETA。Equation7 和Equation8 显示了如何从下述时间常数中计算 DRE_ATT_ALPHA 和 DRE_ATT_BETA 参数。
其中
DRE_ATT_ALPHA 和 DRE_ATT_BETA 系数均以宽度为 32 位的二进制补码形式表示。表 6-5 显示了控制 DRE_ATT_ALPHA 和 DRE_ATT_BETA 参数的寄存器。DRE_ATT_ALPHA 和 DRE_ATT_BETA 的默认值对应的时间常数为 0.1 毫秒。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_ATT_ALPHA | 0x06 | 0x0C | 0x50 | DRE_ATT_ALPHA 字节 [31:24] |
0x06 | 0x0D | 0xFC | DRE_ATT_ALPHA 字节 [23:16] | |
0x06 | 0x0E | 0x64 | DRE_ATT_ALPHA 字节 [15:8] | |
0x06 | 0x0F | 0x5C | DRE_ATT_ALPHA 字节 [7:0] | |
DRE_ATT_BETA | 0x06 | 0x10 | 0x2F | DRE_ATT_BETA 字节 [31:24] |
0x06 | 0x11 | 0x03 | DRE_ATT_BETA 字节 [23:16] | |
0x06 | 0x12 | 0x9B | DRE_ATT_BETA 字节 [15:8] | |
0x06 | 0x13 | 0xA4 | DRE_ATT_BETA 字节 [7:0] |
释放迟滞:超过 DRE/DRC 阈值的信号电平降低量,迫使 DRE/DRC 增加增益并开始释放。释放迟滞以 dB 为单位。Equation9 显示了如何计算 DRE_REL_HYST 参数。
其中
DRE_REL_HYST 的默认值为 0x00000300,对应的迟滞为 3dB 。表 6-6 显示了控制 DRE_REL_HYST 参数的寄存器。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_REL_HYST | 0x06 | 0x34 | 0x00 | DRE_REL_HYST 字节 [31:24] |
0x06 | 0x35 | 0x00 | DRE_REL_HYST 字节 [23:16] | |
0x06 | 0x36 | 0x03 | DRE_REL_HYST 字节 [15:8] | |
0x06 | 0x37 | 0x00 | DRE_REL_HYST 字节 [7:0] |
起音迟滞:超过 DRE 阈值的信号电平增加量,迫使 DRE/DRC 减小增益并开始攻击。Equation10 显示了如何计算 DRE_ATT_HYST 参数。
其中
起音迟滞的默认值为 1dB。可以通过对表 6-7 中列出的寄存器进行写入来更改默认值。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_ATT_HYST | 0x06 | 0x3C | 0x00 | DRE_ATT_HYST 字节 [31:24] |
0x06 | 0x3D | 0x00 | DRE_ATT_HYST 字节 [23:16] | |
0x06 | 0x3E | 0x01 | DRE_ATT_HYST 字节 [15:8] | |
0x06 | 0x3F | 0x00 | DRE_ATT_HYST 字节 [7:0] |
起音去抖:释放事件之后,在 DRE/DRC 开始攻击且 PGA 增益减小之前,上升到 DRE/DRC 阈值以上的连续输入样本数。在频率为 48kHz 时该参数的默认值为 2 个样本(0.01 毫秒)。Equation11 显示了如何计算 DRE_ATT_CNT 参数。
其中
表 6-8 显示了控制 DRE_ATT_CNT 参数的寄存器。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_ATT_CNT | 0x06 | 0x18 | 0x00 | DRE_ATT_CNT 字节 [31:24] |
0x06 | 0x19 | 0x00 | DRE_ATT_CNT 字节 [23:16] | |
0x06 | 0x1A | 0x02 | DRE_ATT_CNT 字节 [15:8] | |
0x06 | 0x1B | 0x00 | DRE_ATT_CNT 字节 [7:0] |
释放去抖:起音事件之后,在 DRE/DRC 开始释放和增加 PGA 增益之前下降到 DRE/DRC 阈值以下的连续输入样本数。在频率为 48kHz 时释放去抖的默认值为 25 毫秒。Equation12 显示了如何计算 DRE_REL_CNT 参数。
其中
表 6-9 列出了控制 DRE_REL_CNT 参数的寄存器。
系数 | PAGE | 寄存器 | 复位值 | 说明 |
---|---|---|---|---|
DRE_REL_CNT | 0x06 | 0x1C | 0x00 | DRE_REL_CNT 字节 [31:24] |
0x06 | 0x1D | 0x04 | DRE_REL_CNT 字节 [23:16] | |
0x06 | 0x1E | 0xB0 | DRE_REL_CNT 字节 [15:8] | |
0x06 | 0x1F | 0x00 | DRE_REL_CNT 字节 [7:0] |