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:关于 BQ 滤波器系数操作

Guru**** 2782575 points

Other Parts Discussed in Thread: TLV320ADC3140

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1596718/tlv320adc3140-about-operation-of-bq-filter-coefficiets

器件型号: TLV320ADC3140

您好 TI、

我正在使用 TLV320ADC3140 开发音频系统。 现在、我要使用双二阶滤波器来预处理数字音频信号。 但当我将系数写入第 2 页寄存器后、读回我写入的值后、发现它们是不同的。 所以我很困惑、我是否正确地写了这些值?  如您所见、写入了左值、读回了我在 dubugg 日志中标记的右值、它们并不相同。 我对这些 BQ 寄存器的操作首先被写入一个字节中、如以下示波器波形所示、这次器件被 ACK、之后我将一个字节读回。 我是否应该从相关问题中写入和读回 I2C 中的 BQ 寄存器值继续或突发模式? 那么、您能帮助我解决这个问题吗? 谢谢你。

BQ registers.PNG

写入值与读回值

image.png

BQ 寄存器进行单字节写入操作、不会迅速读回

BR、

 

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

    您好、Zou:

    您能否显示读取/写入命令? 与用于执行这些更改的脚本中相同。

    此致、

    Garret

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

    好的。 我使用了 DSP 主机在电路板中配置 ADC3140、下面我想展示 I2C 功能、

    静态 void Write_TWI_8bit_Reg (I2C_HandleTypeDef *hi2c、uint8_t devAddress、uint8_t Reg_ID、uint8_t Tx_Data)

    静态 uint8_t READ_TWI_8bit_Reg (I2C_HandleTypeDef *hi2c、uint8_t devAddress、uint8_t Reg_ID)

    for () 操作中调用写入函数来写入所有 BQ 寄存器后,我以类似的方式读取刚刚写入的这些寄存器。

    上面的功能在我看来是好的,因为页 0 寄存器的内容被写和读回正常。

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

    嗨、Godfrey、

    我使用了另外两个 I2C 函数来写入和读回 BQ 寄存器、它会从下面的调试日志中正确填充这些值。 “R"表示“表示读回。

    10.配置 ADC3140 BQ、寄存器= 0、r = 0x7f
    10.配置 ADC3140 BQ、寄存器= 1、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 2、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 3、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 0、r = 0x7f
    10.配置 ADC3140 BQ、寄存器= 1、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 2、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 3、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 0、r = 0x7f
    10.配置 ADC3140 BQ、寄存器= 1、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 2、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 3、r = 0xff
    10.配置 ADC3140 BQ、寄存器= 0、r = 0x75
    10.配置 ADC3140 BQ、寄存器= 1、r = 0xf2
    10.配置 ADC3140 BQ、寄存器= 2、r = 0xae
    10.配置 ADC3140 BQ、寄存器= 3、r = 0x07
    10.配置 ADC3140 BQ、寄存器= 0、r = 0x92
    10.配置 ADC3140 BQ、寄存器= 1、r = 0xa2
    10.配置 ADC3140 BQ、寄存器= 2、r = 0xe3
    10.配置 ADC3140 BQ、寄存器= 3、r = 0xc6

    但是、通道 1 中的 LPF 对频率为 10kHz 的输入正弦信号没有影响。 在这里、我 fc 通过使用 Matlab 计算 BQ 系数来设计了一个巴特沃斯 LPF、其 LPF/FS=3.4Hz/192kHz、如下所示。

    B0 B1 B2 A1 A2
    ----------------------------------------------------------------------------
    1 1.000000 2.000000 1.000000 –1.842937 0.854404

    而第 0 页寄存器的配置如下:

    {PAGE_CFG、0x00}、//P0_R0 /*页码、页 0:x00*/
    {SLEEP_CFG、0x81}、//P0_R2 /*唤醒 3140、内部 AREG:0x81*/
    {ASI_CFG0、0x70}、//P0_R7 /* TDM:0x30、I2S:0x70、FS_POL:0xx8、BCLK_POL (TDM) 下降、(I2S) 上升沿驱动数据:0xx4*/
    {ASI_CH1、0x21}、//P0_R13 /* CH1 是 I2S 左时隙 0:0x00、右时隙 1:0x21*/
    {ASI_CH2、0x20}、//P0_R12 /* I2S:CH2 是 I2S 右时隙 1:0x01、右时隙 0:0x20*/
    {ASI_CH3、0x01}、//P0_R13 /* CH3 是 I2S 右时隙 0:0x20、左时隙 1:0x01*/
    {ASI_CH4、0x00}、//P0_R13 /* CH4 是 I2S 右时隙 1:0x21、左时隙 0:0x00*/
    {MST_CFG0、0x87}、//P0_R19 /*主模式、自动时钟、PLL、x*48kHz、MCLK:24.576MHz:0x87*/
    {MST_CFG1、0x66}、//P0_R20 /* FS Rate:192kHz、FS 速率:128:0x66、64:0x64*/
    //{ASI_STS、0x81}、//P0_R21 /*只读*/
    {CLK_SRC、0x10}、//P0_R22 /*:MCLK:P0_R19、0 01_0 000*/
    {GPIO_CFG0、0xA2}、//P0_R33 /*:GPIO1 作为 MCLK 输入:0xA2*/
    //{DSP_CFG0、0x21}、//P0_R107 /*:超低延迟、HPF:0x21*/
    //{DSP_CFG1、0x20}、//P0_R107 /*:1 BIQUARD 每个通道:0x20*/

    ////第 0 页
    //{PAGE_CFG、0x00}、//P0_R0 /*页码、页 0:x00*/
    {IN_CH_EN、0xF0}、//P0_R115 /*使能输入、CH1-4:0xF0、CH5-8:0x0F*
    {ASI_OUT_CH_EN、0xF0}、//P0_R116 /*启用 ASI 输出、CH1-4:0xF0、CH5-8:0x0F*/
    {PWR_CFG、0xE0}、//P0_R117 /*上电 MICBIAS、ADC、PLL:0xE0*/

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

    您好、Zou:

    为了进行澄清、您现在可以写入双二阶寄存器、这样该问题就得到了正确解决? 现在只有双二阶滤波器的运行存在问题。

    需要注意的一点是、I2S 协议 仅支持 2 通道操作、因此您需要切换到 TDM 来支持所有 4 个通道。 您的输入应用在哪里?

    此致、

    Garret

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

    嗨、Godfrey、

    是的、我可以通过第 2 页 BQ 寄存器的读取 bcak 值对双二阶寄存器进行写入。

    从数据表中、adc3140 可以将 I2S 协议扩展为多通道运行。 现在、我在应用中使用了四个通道、我认为从下面的示波器波形中正确接收了每个通道的数据。

       

    左侧:插槽 1 — 插槽 2、右侧:插槽 3 — 插槽 4

    我 向每个通道输入施加了相同的信号、并分别比较了它们的采样波形。 但这些通道输出 波形几乎与下图所示相同。

    BQ LPF 与无 LPF

    那么、我在写入后如果 BQ 有效时漂移了吗?  我可以问 BQ 寄存器和页 0 寄存器初始化序列是否与 BQ 滤波器重要?

    我的固件 初始化 序列是所有页 0 寄存器初始化-->所有页 2 寄存器初始化

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

    您好、Zou:

    我知道、巴特沃斯 LPF 应该只是一阶滤波器、因此不需要二阶系数。 我将为您介绍一些有助于设计这些资源的工具:

    用于设计此器件系列中的双二阶滤波器的应用手册: https://www.ti.com/lit/an/slaa447/slaa447.pdf

    系数计算器工具: https://www.ti.com/tool/COEFFICIENT-CALC

    借助此工具、您可以为不同的滤波器类型和频率生成一阶和 BQ 系数。

    PPC3: https://www.ti.com/tool/PUREPATHCONSOLE

    ADC3140 评估软件: https://www.ti.com/secureresources/ADCX140EVM-SW

    通过下载 PPC3 和相关的产品设计文件、您可以使用 Programmable Biquads 选项卡来生成系数、代码将显示在 I2C 监控器中。

    如何使用 PPC3: https://www.ti.com/video/6377607936112

    此致、

    Garret

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

    尊敬的 Garret:

    我尝试了您 建议设计 1O 和 1BQ 巴特沃斯 LPF 滤波器的新方法、但遗憾的是、这些滤波器的系数如下所示、对输入仍然没有影响。  

    我阅读了另一份名为  TLV320ADCx120 和 PCMx120-Q1 采样率和支持的可编程处理块的应用手册、我发现当采样率为 192kHz 时、只有两个模拟通道支持 3BQ。 我配置了具有 4 个输入通道的 adc3140、这是否意味着四个通道中有两个通道可以支持 3BQ?  

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

    您好、Zou:

    我看到、是的、192kHz 采样不支持双二阶滤波器的情况。 以下是应用手册 TLV320ADCx140/PCMx140-Q1 采样速率和支持的可编程处理块中 3140 器件的相关部分

    此致、

    Garret

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

    尊敬的 Garret:

    好的、我将阅读您提供的 3140 应用手册。 正如本应用手册所述、我将尝试稍后将采样频率降低到 96kHz。3140 可以在每个通道中支持 2 个 BQ。

    但关于 3140 的内部时钟、我的理解是、如果在没有 PLL 的情况下使用外部时钟源、则某些处理功能可能不受支持。 我在应用中按如下方式配置了时钟。

    在我的应用中、3140 作为主器件提供 BLCK 和 FS 输出、PLL 自动启用、来自 GPIO1 的外部 24.576MHz 时钟用作时钟源。 因此、  如果将采样频率降低到 96kHz、则支持包括双二阶滤波器在内的所有处理恐惧性是正确的吗?

    {MST_CFG0、0x87}、//P0_R19 /*主模式、自动时钟、PLL、x*48kHz、MCLK:24.576MHz:0x87*/
    {MST_CFG1、0x66}、//P0_R20 /* FS Rate:192kHz、FS 速率:128:0x66、64:0x64*/
    {CLK_SRC、0x10}、//P0_R22 /*:MCLK:P0_R19、0 01_0 000*/
    {GPIO_CFG0、0xA2}、//P0_R33 /*:GPIO1 作为 MCLK 输入:0xA2*/

    BR、

    Zou

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

    您好、Zou:

    对于上述组合、 您可以在 96kHz 下实现每通道 2 个 BQ 和 4 个模拟通道、但 AGC/DRE 块不受支持。

    24.576MHz MCLK 应该不会影响这一点。

    此致、

    Garret