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.

[参考译文] TLV320ADC3140:低延迟和超低延迟滤波器无法按预期工作

Guru**** 2526990 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1014746/tlv320adc3140-low-and-ultra-low-latency-filters-not-working-as-axpected

器件型号:TLV320ADC3140

大家好、团队、

从线性相位切换到低/超低延迟滤波器时、我会遇到一种奇怪的行为。 使用线性相位抽取滤波器、我可以按预期从两个有源通道获取输出、当我切换到低延迟或超低延迟滤波器时、会出现奇怪的高振幅噪声、如图所示、这是一种傅里叶变换。

在大约十分之一的试验中以64的 BCLK/FSYNC 比率运行时(连接的 uC 重新启动并为 ADC 加电)、传输的值与预期的一样、在另外9种情况下会发生错误。 对于  32的 BCLK/FSYNC 比率、我目前还没有看到它在工作。

下面是有关设置的一些详细信息:

ADC 以从模式运行。 通道2连接到 PDM 麦克风、通道4连接到要采样的模拟电压源。 I2S 总线和 I2C 总线连接到 ESP32 uC。 FSYNC 频率为176kHz。 BCLK/FSYNC 比用32或者64进行测试。 两个值以及 FSYNC 频率均可由 AutoConfig 正确识别、并可从寄存器 0x15读取。  

不使用双二阶滤波器、AGC 或混频器、因此根据我的理解、应该满足"支持 TLV320ADCx140采样率和可编程处理块"中针对176kHz 低延迟滤波器的使用给出的要求。

按照命令顺序配置寄存器:

0x23   0b01000001

0x02   0b10001001

0x73   0b01010000

0x74   0b01010000

0x76   0b11111111

0x0C   0b00000000

0x0E   0b00100000

0x07   0b01000000

0x2b   0b00000100    

0x41   0b01000000

0x4B   0b10100000

0x09   0b00100000

0x13   0b00000000

0x1f   0b00000000

0x6B  0b00010001  

0x6C  0b00000000

0x75   0b11100000

 我们非常感谢您在这个问题上提供的任何帮助!

最感谢您

Helmar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Helmar、

    感谢您分享您的配置详细信息、我想发表几点意见:

    1)寄存器0x76和0x77是状态寄存器、永远不应写入它们。

    2) 2)上电后向器件发出的第一条 I2C 命令应为寄存器0x02、以发出唤醒命令、从而确保保留所有预期写入。

    3) 3)我还认为您已在寄存器0x09中禁用 ASI 总线错误检测、我建议将其保持启用状态。 如果您在启用此功能时遇到问题、则可能会指出您的时钟源是问题的根源。

    4) 4)数字麦克风通道成对分配、因为 PDMCLK 的每个边沿用于为数据输入计时。 这就是设备最多可接受8个 PDM 数据通道的原因。 为了将通道2正确设置为数字输入、通道1也必须配置为数字 PDM。 否则、您有两个不同的源争用通道1数据。 请尝试将0x40写入寄存器0x3C。

    请尝试进行这些更新、如果问题仍然存在、请告知我!

    最棒的

    Zak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Zak、

    感谢您的快速回答! 确实不是一个好主意来写只读寄存器、也感谢您指出了其他问题。 更改配置以遵循您的建议后,问题得到解决。 我在系统中的噪音仍然比预期的多、但这似乎并不相关、所以我将就此提出一个新的问题。

    最棒的

    Helmar