Other Parts Discussed in Thread: TAA3040
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1634040/taa3040-changing-hpf-setting
器件型号: TAA3040
您好、
是否可以动态更改 DSP_CFG0 寄存器中的 HPF 设置? 如果没有、TAA3040 必须处于什么状态才能更改设置?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: TAA3040
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1634040/taa3040-changing-hpf-setting
器件型号: TAA3040
您好、
是否可以动态更改 DSP_CFG0 寄存器中的 HPF 设置? 如果没有、TAA3040 必须处于什么状态才能更改设置?
谢谢。
因此、我可以从 HPF_SEL = 00(滤波器系数处于默认的全通状态)切换到 HPF_SEL = 01、芯片按我预期的方式进行响应、此时 HPF 已启用。 但是、切换回 HPF_SEL = 00、这应该返回到全通不起作用。 HFP 仍在参与。 我已经检查了寄存器值是否正确读回。
代码的用途是:
1) 使用 PWR_CFG 寄存器中的 ADC_PDZ 将 ADC 断电(我还尝试了将 PLL 和 MIC 偏置断电,但这似乎没有什么区别)。
2) 等待约 40ms(再次,我尝试了更长的时间!)
3) 按上述方式更改 DSP_CFG0 寄存器位。
4) 我在这里尝试了另一个延迟——似乎什么都不做。
5) 使用 PWR_CFG 寄存器为 ADC 备用供电。
有什么想法吗?
谢谢、
Adam
尊敬的 Adam:
我已经发现了您观察到的原因。 当 设置 HPF_SEL = 00 时、HPF 将成为 具有 P4_R72 至 P4_R83 中系数值的自定义可编程一阶 IIR 滤波器。 此配置的默认设置为全通。 系数值将随 HPF_SEL 值而变化。
由于切换到 HPF_SEL = 01、因此系数值会设置为相应 HPF 的系数值 (12Hz @ 48kHz FSYNC)。
切换回 HPF_SEL = 00 不会将系数重置回全通滤波器、因为这些系数会与之前的状态相同。 但是、这允许您写入系数寄存器以设置您自己的 HPF。 为了复位至全通滤波器、必须在切换到 HPF_SEL = 00 后手动将默认值写入系数寄存器:
宽 9c 00 00
W 9c 6B 00
W 9c 00 04
w 9c 48 7f ff ff ff 00 00 00 00 00 00 00
否则、仅在器件 复位时设置默认的全通滤波器系数、这就是您看到器件最初工作的原因。
此致、
Garret