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.

[参考译文] TLV320ADC5140:PurePath 滤波器系数编程

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1200903/tlv320adc5140-purepath-filter-coefficients-programming

器件型号:TLV320ADC5140

当使用 PurePath PPC3为8Hz 高通滤波器生成高通滤波器系数时、PurePath 将生成带或不带跳过默认值的系数:

对于转储的解释、我们使用来自旧 e2e 线程的以下文本:

对于突发命令、其工作方式如下:

  • 首先、您有 CFG_META_BURST "是的 组件 ,旁边的值是 寄存器的数量 这两个位

  • 在该命令之后、第一对值是 偏移 或起始寄存器地址,旁边的值是突发的第一个值。

  • 后续对是要写入寄存器的所有值、都是连续的寄存器地址

  • 请注意、如果最后一对未完成、例如只剩一个要写入的寄存器、那么该对始终会在0x00处完成

无默认值:

//高通滤波器系数

{ CFG_meta_burst,5 },

{0x49、0xee}、

{ 0xda,0x08 },

{ 0x80、0x00 }、

{ CFG_meta_burst,5 },

{ 0x4d,0x11 },

{ 0x25、0xf8 },

{ 0x7f,0x00 },

{ CFG_meta_burst,4 },

{ 0x51、0xdd },

{ 0xb4,0x11 },

使用默认值:

//高通滤波器系数

{ CFG_meta_burst,5 },

{0x48、0x7f}、

{ 0xee,0xda },

{0x08、0x00}、

{ CFG_meta_burst,5 },

{ 0x4c、0x80 },

{ 0x11、0x25 },

{ 0xf8、0x00 }、

{ CFG_meta_burst,5 },

{ 0x50、0x7F },

{ 0xdd,0xb4 },

{ 0x11、0x00 }、

{ CFG_meta_burst,5 },

{ 0x54、0x00 },

{ 0x00、0x00 }、

{ 0x00、0x00 }、

现在很明显、地址0x48、0x4C 和0x50处的值应包含默认值。

0x48:0x7f

0x4C:0x80

0x50:7F

但根据 TLV320ADC 数据表、表133的默认值为:

0x48:0x7f

0x4C:0x00

0x50:0x00

a)为什么会有差别?

此外、第一组:

{ CFG_meta_burst,5 },

{0x49、0xee}、

{ 0xda,0x08 },

{ 0x80、0x00 }、

最后将0x80编程到一个无效的地址、因为它将被放置在下一组参数中。 因此、我们在最后看不到它、而是会问一个问题。 b)这只是糟糕的编程吗?

提问的原因是无法以250Hz 的频率获取信号、因此首先我们需要了解如何对来自 PurePath 的系数进行编程。

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

    应在几个小时内作出响应

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

    您能告诉我您想制造的滤波器的规格吗?

    您是否尝试过 PPC3中的工具? 通常、该工具会生成一个配置文件、其中包含实现滤波器所需的所有 I2C 设置。

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

    请重新阅读我的问题。

    我们使用 SPI 接口和自己的硬件。

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

    应在几个小时内作出响应

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

    您能给我发送一个链接到您提到的主题吗?我不确定完全理解。

    我尝试设计一个截止频率为8Hz 的巴特沃斯滤波器。 PPC3返回了以下 I2C 列表。我可以在数据表第100页看到它与顺序一致。

    例如、在第2页 地址8、9.A、B 的 N0为4个字节

    #选择第2页
    W 98 00 02
    #双二阶1系数(N0、N1、N2、D1、D2 )
    W 98 08 7f
    > ef
    > E3.
    04.
    w 98 0c c0
    > 08.
    > 0e
    > 7e.
    W 98 10 00
    > 00
    > 00
    > 00
    W 98 14 3f
    > ef
    > E3.
    04.
    W 98 18 00
    > 00
    > 00
    > 00

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

    1、对转储的解释的描述,我有从线程的标题:

    TAS2563YBGEVM-DC:导入/导出 PPC3寄存器映射设置

    2.我们需要实施第一级 IIR 滤波器,而不是双二阶滤波器。

    3.通过寄存器提取实际数据后,行数

    { CFG_meta_burst,5 },

    {0x49、0xee}、

    { 0xda,0x08 },

    { 0x80、0x00 }、

    实际上程序不仅 N0协效,而且也是第一个 coefficeint 为 N1。 不是那么优雅,但还可以

    4.现在提问。 我们已尝试在编程为单字节写入后、通过使用单字节读取来读取 N0、N1和 D1的各个系数。

    读数给出了全部0x00! 我们通过读取寄存器0x00得到确认、我们位于第4页。

    是否要求在突发模式下读写才能访问第4页寄存器?

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

    会在几个小时内回复

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

    下面是从 PPC3提取的 IIR 自定义高部分分配滤波器效率

    0x48  0x7f

    0X4C  0x80

    0x50  0x7f

    //高通滤波器系数
    { CFG_meta_burst,5 },
    {0x48、0x7f}、
    { 0xee,0xda },
    {0x08、0x00}、
    { CFG_meta_burst,5 },
    { 0x4c、0x80 },
    { 0x11、0x25 },
    { 0xf8、0x00 }、
    { CFG_meta_burst,5 },
    { 0x50、0x7F },
    { 0xdd,0xb4 },
    { 0x11、0x00 }、
    { CFG_meta_burst,5 },
    { 0x54、0x00 },
    { 0x00、0x00 }、
    { 0x00、0x00 }、

    XT "*采样率= 44100"
    文本"*滤波器1高通一阶巴特沃斯,10Hz Fc 0.0dB"

    文本"* bq: H(z)=(N0+2*N1/z+N2/(Z2)/(8388608 - 2*D1/z - D2/(Z2))"
    文本"*采用 N0、N1、N2、D1、D2"格式的滤波器系数"

    文本"* 1O:H (z)=(N0 + N1/z)/(8388608 - D1/z)"
    文本"*采用 N0、N1、D1"格式的滤波器系数

    文本"*过滤器1 1O"
    0x7FE8AB
    0x801755
    0x7FD157

    我还使用了 TI 的系数计算器工具来计算10Hz 的高通滤波器(不需要8Hz)。 对我来说、该工具似乎正在结果返回0x7F/0x80/0x7F。

    这样可以指示 PPC3中的编程是正确的

    https://www.ti.com/tool/COEFFICIENT-CALC

    当您选择标准 HPF 配置时、您是否能够在系统中通过250Hz?