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.

[参考译文] TAC5212EVM-K:如何禁用 PLL?

Guru**** 2390755 points
Other Parts Discussed in Thread: TAC5212

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1423810/tac5212evm-k-how-to-disable-the-pll

器件型号:TAC5212EVM-K
Thread 中讨论的其他器件:TAC5212

工具与软件:

大家好!

由于我的应用功耗非常低、我想去掉 TAC5212的 PLL。

我的要求为:

- TAC5212应配置为控制器

- TAC5212应接受14,745,600Hz 的时钟作为 CCLK

- TAC5212应生成 FSYNC = 19,200 Hz 和 BCLK = 1,228,800 Hz

- TAC5212应 在 I2S 模式下发送/接收两个32位数据字

-应禁用 TAC5212的内部 PLL

比率为:

R1 = BCLK/FSYNC = 64、R2 = CCLK/FSYNC = 768

为了努力满足这些要求、我执行了以下操作:

1) 1)作为基准、运行 EVM 用户指南中的 I2C 命令(请参阅下图)、向 GPIO1施加12,288,000Hz 的时钟(CCLK)、并使用示波器监控 FSYNC 信号。

I 测量:FSYNC = 48,000Hz、如预期。

2) 2)修改第0页的寄存器0x32:设置 PASI_SAMP_RATE = 27D = 19,200Hz。 然后将 CCLK 修改为14,745,600Hz。

I measure FSYNC = 23,040Hz。 该值也是预期值、因为 14,745,600600/12,288,000 = 1.2、因此19,200 * 1.2 = 23,040 Hz。

3) 3)修改第0页的寄存器0x32:设置 PASI_SAMP_RATE = 28D = 16,000Hz、因为19,200/1.2 = 16,000Hz。

I measure FSYNC = 19,200Hz。 此时生成的时钟是正确的。

4) 4)通过读取第0页的寄存器0x3E 检查状态。

我读取 PLL_MODE_STS = 0d =在整数模式下使用 PLL。

5) 5)修改第0页的寄存器0x34:设置 PLL_DIS = 1d =禁用 PLL、设置 AUTO_PLL_FR_ALLOW = 0d =禁用 PLL 分数模式。

修改后、FSYNC 上没有信号。

我的问题:我应该在禁用 PLL 后修改其他寄存器吗? 是否有介绍如何摆脱 PLL 的应用手册?

提前感谢您的支持。

BR、

S é bastien

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

    Sebastien、您好!

    我认为、由于您使用的是14.7456MHz CCLK (作为 MCLK)、因此这不是控制器模式下自动时钟设置支持的 MCLK 频率之一。 可能的频率通过 CNT_CLK_CFG2寄存器进行设置、为 12、12,288、13、16、 19.2、19.68、24和24.576 MHz。  

    另一个注意事项是、器件在"自动模式"下无法识别19.2kHz 的采样率、这 是它检测时钟并确定是否可以自动禁用 PLL 的方式。 如果您处于目标模式、要使用此采样率、则需要手动配置 PLL。 我还需要做一些其他测试、看看手动配置 PLL 和时钟分频器是否允许您通过设置 J 来"禁用" PLL D 至1.0、但我认为对于这些时钟、这是不可能的。  

    我在 EVM 上测试此设置时遇到问题、因为 MCLK 不是允许的频率之一、因此、例如、当我将 MCLK 更改为12MHz (MCLK-FSYNC 比率为625)时、输出的时钟不正确、因为 FSYNC 频率不是允许的比率、而无需手动设置 PLL。

    请告诉我您可以更改哪些设置、或者如果您需要这些时钟、我可以帮助您手动配置 PLL。  

    可以在此处找到最新的时钟配置应用手册: https://www.ti.com/lit/an/slaaeg6a/slaaeg6a.pdf 我正在编写一份有关手动 PLL 配置的应用手册、将在未来几个月内推出。 我希望此资源可帮助您了解器件的不同时钟方案。

    此致!
    MIR

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

    您好、Mir、

    非常感谢您的支持。 如果没有阻塞点、我更希望保留这些时钟、并尝试找出有效的配置。

    根据应用手册 https://www.ti.com/lit/an/slaaeg6a/slaaeg6a.pdf、我理解不可能使用第3章中所述的自动模式、因为:

    -不"自动主/次 BCLK 比率",因为 FSYNC (19,200Hz)的采样频率不等于表2-1中列出的频率之一。

    -不能"自动 MCLK 比率",因为 PLL 将被禁用。

    -不"自动 MCLK 固定"是因为 CCLK 的频率(14,745,600Hz)不等于表3-7中列出的频率之一。

    因此、根据第3.5章、我们应该通过将第0页的寄存器0x32设置为  CUSTOM_CLK_CFG = 1d =自定义时钟配置来启用自定义模式

    然后,开始复杂的工作! 在第3页中输入以下值:

    地址(十进制 地址十六进制 文件夹 值箱 值十六进制 该设计的链接
    D50 0x18 CLK_CFG12 b00001000 0x08 PDIV_CLKSRC_SEL=PASI BCLK、PASI_BCLK_DIV_CLK_SEL=CCLK
    D51. 0x33 CLK_CFG13 b00000000 0x00 SASI_BCLK_DIV_CLK_SEL = SASI BCLK
    D52 0x34 CLK_CFG14 b10100000 0xA0 DIG_NM_DIV_CLK_SRC_SEL=CCLK、ANA_NM_DIV_CLK_SRC=DIG NM 分频器
    D53. 0x35 CLK_CFG15 b00000001 0x01 PLL_DIV=D1=b00000001
    D54. 0x36 CLK_CFG16 b00000000 0x00 PLL_JMUL_MSB=D1=b000000001、PLL_DIV_CLK_DIG_by_2=无分频/2、PLL_DMUL_MSB=d0=b00000000000000
    D55 0x37 CLK_CFG17 b00000000 0x00 PLL_DMUL_LSB=d0=b00000000000000
    D56. 0x38 CLK_CFG18 b00000001 0x01 PLL_JMUL_LSB=D8=b0000001
    D57 0x39 CLK_CFG19 B00101000 0x28 NDIV=D1=b001、PDM_DIV=D2=b010
    D58. 0x3A CLK_CFG20 b00000100 0x04 MDIV=D1=b000001、DIG_ADC_MODCLK_DIV=1
    D59. 0x3B CLK_CFG21 b00000000 0x00 DIG_DAC_MODCLK_DIV=1、PASI_BDIV_MSB=d12=b00001100、SASI_BDIV_MSB=d0=b000000000
    D60 0x3C CLK_CFG22 b01000000 0x0C PASI_BDIV_LSB=d12=b000001100
    D61 0x3D CLK_CFG23 b00000001 0x01 SASI_BDIV_LSB=D1=b000000001
    d62 0x3E CLK_CFG24 b00000001 0x01 ANA_NM_DIV=D1=b000001
    D63 0x3F CLK_CFG25 b00000000 0x00 ANA_ADC_DEM_DIV=0、ANA_DAC_DEM_DIV=0
               
    d68 0x44 CLK_CFG30 b00000111 0x07 NDIV_EN=启用、MDIV_EN=启用、PDM_DIV_EN=启用
    D69 0x45 CLK_CFG31 b01011111 0x5F DIG_ADC_MODCLK_DIV_EN=启用、DIG_DAC_MODCLK_DIV_EN=启用、PASI_BDIV_EN=启用、SASI_BDIV_EN=启用、PASI_FSYNC_DIV_EN=启用、 SASI_FYNC_DIV_EN=启用
    D70 0x46 CLK_OUT_CFG1 b00000011 0x03 CLKOUT_CLK_SEL=CCLK
    d71 0x47 CLK_OUT_CFG2 b10000001 0x81 CLKOUT_DIV_EN=启用、CLKOUT_DIV=D1=b0000001

    注意: 数据表中未描述第3页的寄存器0x3F (CLK_CFG25)。 因此、我将其设置为0x00。

    在寄存器0x3B 和0x3C 中、PASI_BDIV = 12、因为 CCLK/BCLK = 14,745,600600Hz/1,228,800Hz  = 12。

    I 测量:BCLK = 1,288,800Hz、FSYNC = 19,200Hz。 正确!

    然后、我通过读取第0页的寄存器0x3E 来检查 PLL 状态。 我得到:PLLMODE_STS = 2d = PLL 未使用。 正确!

    我将 GPIO2配置为 CLK_OUT、并 按预期测量14,745,600Hz。

    最后一点:GPO1被配置为 PDMCLK (请见下面的图片)但是没有信号。 我预计:14,745,600/4 = 3,686,400Hz。

    上述寄存器的值是否正确?

    为什么不生成 PDMCLK 信号?

    此外、我目前正在研究我们未来 器件的时钟分配。 您能否尽快向我发送有关手动 PLL 配置的应用手册草稿?

    BR、

    S é bastien

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

    您好!

    我在测试您的系统时遇到问题。 您能否附加完整的 I2C 命令脚本? PDMCLK 信号可能被错误地分频、从而导致您不知道的 PDM 时钟错误。 您可以检查 CLK_ERR_STS0寄存器吗? 此外、我看到您将 CLK_CFG19中的 PDM 分频器设置为4、因此这意味着 PLL 的输出(即 OFF)将被4分频以获得 PDM 时钟。 在寄存器中、PDM 时钟可通过第0页中的寄存器 CNT_CLK_CFG0配置为四个选项之一:
    0d = PDM_CLK 是2.8224 MHz 或3.072 MHz
    1d = PDM_CLK 是1.4112 MHz 或1.536 MHz
    2d = PDM_CLK 是705.6kHz 或768kHz
    3d = PDM_CLK 是5.6448 MHz 或6.144 MHz

    这些是器件处于44.1k 或48K 模式(来自内部时钟)的倍数。 我不确定 PDM 时钟是否与这些不同、但可能会不同、是否存在允许的范围。 如果需要、我可以询问设计人员。 您所需的 PDM 时钟速率是多少? 一旦我从您那里获得了完整的 I2C 脚本、我就能够更好地理解您的时钟树、并且可以在我的电路板上运行它。

    此外、这个应用手册几个月内还没有准备好、我在这里真的没有很好的草稿。 在此、我很乐意根据需要为您解释时钟树。 您肯定有一个很好的开端。

    此致!
    MIR

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

    您好!

    谢谢你这么快回复。

    首先、根据数据表第16页、我们有:

    因此、似乎可以生成一个频率介于0.768MHz 和6.144MHz 之间并且不需要44.1kHz 或48kHz 的倍数的 PDMCLK。

    关于所需的 PDMCLK 频率、它应介于1MHz 和4MHz 之间。

    下面是 I2C 脚本:

    e2e.ti.com/.../CFG1.txt

    以下是该设置的一些屏幕截图、尤其是时钟配置:

    PASI 处于控制器模式、BCLK/FSYNC 比率= 64、因为 1,228,800Hz / 19,200Hz = 64

    MCLK (=CCLK)=> CLK_VCO => CLK_SYS、PLL 被禁用

    使用默认值。

    CLK_SYS 进行1分频、然后进行4分频、然后 驱动 PDM_CLK (=PDMCLK)

    CLK_SYS 进行1分频以驱动 DSP_CLK、然后对 DSP_CLK 进行12分频、因为14,745,600600Hz/1,228,800Hz = 12 、然后 驱动 PASI BCLK

    CLKOUT_DIV 设置为1、SASI 保持默认值

    状态寄存器中不会报告任何错误。 PLL 按预期被禁用。

    I 测量:

    FSYNC = 19,200Hz 正确!

    BCLK =  1,228,800Hz 正确!

    PDMCLK (GPO1)=无信号错误!

    然后、 我使用不同的源测量 CLKOUT (GPIO2):

    如果 CLK_OUT_SEL = PLL 输出、则测得14,745,600Hz 正确!

    如果 CLK_OUT_SEL=PASI BCLK、则测量614,400Hz 错误! 因为预计为1,228,800Hz

    如果 CLK_OUT_SEL=SASI BCLK 输出、 没有信号正确!

    如果 CLK_OUT_SEL=CCLK、我测得 7,372,800Hz 错误! 因为预期频率为14,745,600Hz

    如果 CLK_OUT_SEL =内部振荡器、则我测得的值 大约  为6.18MHz、不知道该值是否正确、因为数据表中没有提到内部振荡器的频率

    如果 CLK_OUT_SEL=DSP_CLK、我测得14,745,600Hz 正确!

    现在我的问题:

    1.为什么 不生成 PDMCLK?

    2.如何解释在 CLK_OUT 上测量的频率? 似乎有时 添加了一个隐藏的2分频。

    注意:执行 I2C 脚本时、会显示一条错误消息、但我不知道如何纠正此错误(请参阅下图)。

    BR、

    S é bastien

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

    Sebastien、您好!

    对不起、我需要做更多的测试、今天没时间去实验室。 需要注意的是、PPC GUI 中的某些 PLL 分频器不会启用分频器(例如在寄存器 CLK_CFG_30中定义)。 因此、如果您运行 I2C 脚本以启用所需的所有分频器、这比手动在 PPC 中设置一些内容和通过脚本设置一些内容要好。 不生成 PDMCLK 使我认为 PDM_DIV_EN 未启用、或者器件不可能生成该设置。 执行脚本时、看起来确实启用了分频器并将其设置为4、这应该会产生一个3.686MHz 的 PDM 时钟、这个时钟在器件规定的范围内、但我想知道它是否不可能生成那个时钟。 我将询问开发时钟方案的设计人员、并提供回复。  

    此外、我收到相同的错误消息。 我想我们可能要在某个地方将 BCLK 设置为 CCLK 两次。 我不知道问题是什么、但如果您得到正确的时钟、我认为这不是一件令人担心的事情。  

    CLK_OUT 上隐藏的2分频很有意思... 我看到您将其设置为启用 CLKOUT 分频器、并将其设置为1、您可以将其更改为禁用吗? 将第3页的寄存器0x47设置为0x01、然后查看这样是否可以解决您的问题。 此外、对于所有这些问题、请确保在运行脚本后进行测量、但不更改 GUI 设置、只是为了确保 GUI 的任何错误都不会破坏您的设置。  

    检查时钟分频器是否开启的一种方法是从设置分频器启用/禁用的寄存器中读取。 因此、请尝试从 PDM_DIV_EN 读取并确保它已开启。

    请告诉我您从中找到的内容、并且我会在我找到 PDMCLK 后立即通知您。  

    此致!
    MIR

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

    您好!

    我确认所有测量都是在执行脚本后完成的、并读回第页(CLK_CFG30)的寄存器0x44会为我提供0x07、这意味着 PDM_DIV_EN 设置为1然后启用。

    如果我将第3页的寄存器0x47 (CLK_OUT_CFG2)设置为0x01、则无论来源如何、GPIO2 (CLKOUT)上都没有信号。 因此、禁用分频器似乎会禁用 CLKOUT 输出。

    今天、我将应用于 GPIO1的 CCLK 频率从 14,745,600Hz 修改为12,288,000Hz、以生成标准音频频率。

    I 测量:

    - BCLK = 1,024,000 Hz 正确! 因为12,288,000Hz / 12 = 1,024,000Hz

    - FSYNC = 16000-Hz 正确! 因为1,024,000Hz / 64 = 16,000Hz

    - PDMCLK =无信号错误! 因为预期频率为12,288,000Hz / 4 = 3,072,000Hz、3,072,000Hz 是第0页 CNT_CLK_CFG0中所述的可能频率。

    然后、 我使用不同的源测量 CLKOUT (GPIO2):

    如果 CLK_OUT_SEL = PLL 输出、则测得 12,288,000Hz 正确!

    如果 CLK_OUT_SEL=PASI BCLK 、那么我测得512000Hz 错误!  因为预计为1,024,000Hz

    如果 CLK_OUT_SEL=SASI BCLK 输出、 没有信号正确!

    如果 CLK_OUT_SEL=CCLK、I measure  6,144,000Hz Incorrect!  因为预计为12,288,000Hz

    如果 CLK_OUT_SEL =内部振荡器、则我测得的值 大约  为6.18MHz、不知道该值是否正确、因为数据表中没有提到内部振荡器的频率

    如果 CLK_OUT_SEL=DSP_CLK、我测得 12,288,000Hz 正确!

    因此、"隐藏的"除以2似乎仍然存在。

    所有这些测量结果都表明、PDMCLK 问题似乎与主时钟频率(CCLK)无关。 此外、这似乎与 PDMCLK 的频率 是否属于第0页寄存器 CNT_CLK_CFG0中列出的频率无关。

    现在我的问题:

    1.似乎应该启用分频器来输出信号。 因此、数据表中是否存在与参数 PDM_DIV_EN 相关的拼写错误(寄存器地址或位错误)?

    2.您能否确认在 PLL 被禁用时可以生成 PDMCLK 吗?

    BR、

    S é bastien

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

    您好!

    在数据表中、第3页的寄存器0x45  (CLK_CFG31)定义如下:

    在 PPC3中、我们提供了:

    因此、位5和位7存在差异。

    通过 将第3页(CLK_CFG31)的寄存器0x45从0x5F 修改为0xDF (位7 DIG_ADC_DEM_DIV_EN = 1)、可以在 PDMCLK 上测得3,686,400Hz 正确! 因为14,745,600Hz / 4 = 3,686,400Hz。

    位 5 DIG_DAC_DEMMOD_DIV_EN 对 PDMCLK 没有影响。 因此、应将 PPC3更正为:

    当然、数据表也应进行相应更新。

    在我的脚本中、我会将"w a0 45 5F"替换 为"w a0 45 ff"、以确保启用了所有分频器。

    这解决了 PDMCLK 的问题。 但"隐藏的"除以2仍然存在、并且仍然未解或/和无法解释。

    BR、

    S é bastien

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

    Sebastien、您好!

    感谢您的更新。 我与其他工程师讨论了您的情况、我们认为器件很可能会期望 ADC 开启以启用 PDM、而如果未启用 ADC DEM 时钟、则 ADC 无法开启。 这是 PDM 时钟的正常用例。 这是一个很好的说明,我已经问了我们的设计师! 感谢您揭示这个以及寄存器映射中的差异。 这些寄存器可能不会隐藏在数据表中。

    至于分频问题、我可以明天在实验室中测试将器件设置为目标模式、为其提供 BCLK 和 FSYNC 后会发生什么情况(或者、您也可以根据需要进行测试)。 我想知道除法是否也发生在 GPIO 输出上。。。 我问过我们的设计师是否对此有任何了解。

    您能否附加您用于测试 CLKOUT 设置的代码、以便我们可以使用与您相同的设置进行测试?

    此致!
    MIR

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

    您好!

    要验证 CLKOUT 行为、请执行以下 I2C 命令。

    e2e.ti.com/.../2068.CFG1.txt

    然后、要选择 CLKOUT 的源、只需更新第3页的寄存器0x46 (CLKOUT_CFG1)并将 CLKOUT_CLK_SEL 设置为0、1、2、3、4或5。

    将示波器连接到 GPIO2以测量频率。

    在我这边、我不会将更多的时间用于解决 CLKOUT 问题。 我让你尽快回到我的解释。

    ---------------

    现在、我执行我的 I2C 命令(CFG1)、并向 IN1施加500Hz、0.5Vrms 的模拟信号、并监控 I2S 接口:对 BCLK、FSYNC 和 DOUT 进行监控和解码(使用 PicoScope 示波器)。

    FSYNC 和 BCLK 的频率是正确的。 但 DOUT 很奇怪、如果我从 IN1断开模拟信号、它仍然很奇怪(请参阅下图)。

    然后我将 CCLK 的频率修改为12,288,000MHz。 FSYNC 或 BCLK 的频率按预期变化、但 DOUT 仍然很奇怪。

    您可以在实验室中重复此测试吗?

    BR、

    S é bastien

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

    您好!

    我将能够在星期一对 CLKOUT 进行测试、我仍在等待着我们的设计人员的回复。 对于延迟、我们深表歉意。 至于 DOUT、您能告诉我您的 I2C 命令来初始化器件(除了设置时钟/分频器之外您还做什么吗?)以及输入波形的示波器捕获吗?  您能否确保输入以共模为中心并且不会降至0V 以下? 我可以在星期一运行测试、我会尽快回复您。

    此致!
    MIR

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

    您好!

    我今天不在实验室里、因此我将在周一继续调查。

    在 监控 DOUT 之前、我刚刚执行了 I2C 命令(请参阅上一条消息)。

    施加到 IN1的差分音频信号由音频发生器 R&S UPP400生成。 我知道最后一次这样做很有意义、因为我两周前已经对 TAC5212进行了一些音频性能测量、开发套件和 PPC3提供的不同预设让一切都很顺利。

    最后 按如下所示设置输入跳线配置:

    BR、

    S é bastien

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

    您好!

    听起来不错、我们周一都会在实验室测试这个! 我想看看能否弄清楚 ADC 转换的起始值、我觉得这可能是我们遗漏的 I2C 寄存器差异。 我将在此处回答能够找到的内容。

    此致!
    MIR

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

    您好!

    我们的设计人员会请求您的.ppc3文件和.cfg 文件、以查看我们是否可以仿真这种除以2的行为。 请在可以的时候将其发送过来、我们将继续努力解决这个问题!

    此致!
    MIR

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

    您好!

    我根据要求附加了 CFG1.ppc3文件和 CFG1.cfg 文件。 注意:.ppc3已压缩 、以便我可以上传它。

    由于不明原因、CFG1.ppc3无法打开。 这就是我执行 I2C 命令的原因。

    e2e.ti.com/.../CFG1.zip

    e2e.ti.com/.../CFG1.cfg

    我在按下控制器模式 PLL 配置菜单的"Save"按钮后监控了传输的 I2C 命令、并且获得了:

    e2e.ti.com/.../Configure-PLL-Record.txt

    在我的评论下方:

    1.寄存器 第3页的0x35 (CLK_CFG15)  设置两次:

    W a0 35 01

    W a0 35 00  

    但只有第一个命令是正确的、因为它 对应于设置(PLL_DIV=1)。 是错误吗?

    2.寄存器 第3页的0x0A 设置为0x08、但该寄存器未在 datahseet 中描述、也未出现在 PurePath Console 的 Register Map 中。  该寄存器的功能是什么?

    寄存器  第3页的0x3F、0x48、0x49和0x4A 设置为0x00、但这些寄存器未在数据表中描述、但出现在 PurePath Console 的寄存器映射中。 您能给我更多关于这些寄存器的信息吗?

    CLKOUT 的"除以2"是一个小问题、我可以接受这个问题。 但我仍然受困于 DOUT 的怪异行为。 您是否能够再现我上周四的测试设置?

    BR、

    S é bastien

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

    您好!

    所以很抱歉的延迟,我将花几个小时来测试你明天的设置,并会让你知道结果,如果我能找出发生了什么 DOUT。 我可以提供的另一个有关这一点的注意事项是、有时数字音频流中需要1样本偏移、尤其是当您使用 AC-MB 外部 ASI 连接来进行数字音频时。 您可以在 PPC 的"Audio Serial Bus"选项卡中、在页面底部的 RX 或 TX 偏移中进行更改。 如果您在我回复之前有时间检查一下、请告诉我它是否对数据有帮助。

    从 SAVE 时钟配置菜单对寄存器进行多次设置可能会产生错误、因此我们要仅使用 I2C 而不一定信任 GUI 来设置 PLL。

    我向我们的设计人员询问了您的问题、并且当我得到有关寄存器的答案时、我将告诉您他在这里的回答是什么。 感谢您的耐心和深入解释。

    此致!
    MIR

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

    您好!

    我使用 EVM 在外部 MCLK 下对 DOUT 作为 CCLK 进行了测试、结果没有出现您的问题、但我的信号出现了一些失真、我不确定原因是什么。 我浏览了您的 CFG1.txt 文件并标记了所有内容、添加了一些注释、说明不是默认值的所有内容、以及我认为可能出错的任何内容。 请通读我的笔记、告诉我它是否有助于您揭示错误设置、尤其是 DOUT 引脚以及 CCLK/PASI BCLK PLL 分频器的输出驱动。  

    此致!
    MIR

    e2e.ti.com/.../cfg1_5F00_mirnotes.txt

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

    您好!

    您说:

    "我使用 EVM 在外部 MCLK 下测试了 DOUT 作为 CCLK、没有出现您的问题、但我的信号确实存在一些失真、我不确定是为什么会发生这种情况。"

    好奇... 您是否按原样执行了我的 I2C 命令? 具有相同的 CCLK 频率?

    否则、是启用还是禁用了 PLL?

    --------------------------------------------------------

    今天、我执行了几个测试。

    我的结论是:如果启用 PLL (PLL_DIS 设置为0且 CUSTOM_CLK_CFG 设置为0)、则器件可以正常运行、但需要将 输入时钟(CCLK)乘以7、才能将 DSP 时钟设置为103.2192MHz。 一切都是自动完成的。

    在 PLL 禁用的情况下(PLL_DIS 设置为1)、自动模式不再起作用、并且 CUSTOM_CLK_CFG 位(第0页的0x32)应设置为1。 在此模式下、由于 PLL 的时钟倍频器被禁用、DSP 时钟最多等于 CCLK (14.7456MHz)。 仍然可以通过设置相应的分频器来生成正确的 FSYNC 和 BCLK。 但是、可能由于 DSP 时钟的低频、DOUT 也很奇怪。

    数据表显示:

    但是、数据表忘记了根据采样率(FSYNC)确定的 CCLK 最小频率是多少。

    关于我的应用、我有两个解决方案:

    1.将14.7456MHz 连接到 CCLK、启用 PLL 并验证功耗是否太高。

    2.将较快的时钟连接到 CCLK、禁用 PLL 并测量节能效果。

    让我们看看 TAC5212是 Go 还是 NoGo。。。

     如果您 成功使 TAC5212在14.7456MHz CCLK 和 PLL 被禁用的情况下正常工作、请告诉我!  

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

    您好!

    我可以回到实验、明天再试一次14.7456MHz CCLK。 只是为了确保您是否根本更改了 DOUT 的输出驱动? 在启用 PLL 的情况下检查功耗是一个好主意。 我想知道该问题是否与 ADC 过采样率有关...  

    我还找了一个其他的设计工程师来看看我们是否可以弄清楚 DOUT 发生了什么情况、以及我们是否可以复制该设计。

    此致!
    MIR

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

    您好!

    DOUT 输出驱动不会改变任何值。

    我重复:在启用 PLL 且 CUSTOM_CLK_CFG =自动时钟配置并且 PASI_SAMP_RATE = 16000Hz (请参阅我的第一个帖子)的情况下、会自动设置第3页的所有寄存器、一切都正常。

    禁用 PLL 时、CUSTOM_CLK_CFG 应设置为"自定义时钟配置"、而第3页的时钟寄存器应手动配置。 尽管我已经努力、但我无法设置这些寄存器来获得一个工作系统;我只能生成正确的 BCLK、FSYNC 和 PDMCLK 频率。

    我不能解释为什么在自动时钟配置中 PLL 倍频器设置为7、您可以吗?

    在下面的.pdf 中、我尝试根据第3页的时钟配置寄存器总结了系统的时钟分配。 当您 在禁用 PLL 的情况下获得良好的结果时、请直接在 pdf 中填写和发表您的评论。 提前感谢!

    BR、

    S é bastien

    e2e.ti.com/.../Clocks_5F00_Distribution.pdf

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

    您好!

    谢谢您的参与。 我不知道为什么将 PLL 乘法器设置为7、 我将要求设计人员看看我们是否能找出它。 器件所需的 OSR 似乎高于这些时钟给出的 OSR、但很抱歉、这还未得到您的确认。 我会在下周早些时候再次回到你,我知道的任何东西。

    此致!
    MIR

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

    Sebastien、您好!

    我运行了您的脚本并能够复制您在实验中的行为。 它看起来像是我们看到的数字输出、是我们所设置的配置中 ADC 的本底噪声、正如您所说的、无论器件是否有输入、我都会看到相同的噪声。 我已经将我的请求升级到设计团队、看看我们是否可以解决这个问题、我认为我不知道的 mod/DEMOD 时钟存在限制、希望有人尽快回复我、以便我们确定是否可以根据您的规格运行系统。 PLL 乘法器设置为7是调制器时钟与输入时钟比率的函数、可能与 FS 所在的最接近的采样率自动块相关、并给出一个103.2192MHz 的 CLK_SYS 作为 PLL 块的输出。 所有分频器允许的输出是那个最近采样率块的函数。 当我从设计团队收到有关使用我们的手动 PLL 设置的 ADC 的消息时、我将在这里作出回应。

    此致!
    MIR

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

    Sebastien、您好!

    我知道已经有一段时间了,我们没有忘记这个! 我过去几周一直在努力使这个系统正常工作。 我想现在有音频了、但使用数字音频测试设备工作时遇到了问题。 接下来、我将尝试使用另一个 TAC5212来解释通过 DAC 从 ADC 流出的数字数据。  

    这就是我目前音频数据的样子、BCLK 为16位、每个 FS 时钟周期都进行:

    并随附了使用的代码和一些实验时钟寄存器代码、最后增加了额外因数2以使处理正常工作。 遗憾的是、我的设计团队同事无法关闭 PLL 和 MCLK (14.7456)、他不得不使用12.288MHz 的 MCLK。

    e2e.ti.com/.../manual_5F00_12_5F00_config_5F00_dis_5F00_pll.txt

    在 manual_14_config_en_pll 中、我们使 PLL 开启、但它也应该起作用、这次使用14.7456MHz 作为 MCLK。

    e2e.ti.com/.../manual_5F00_14_5F00_config_5F00_en_5F00_pll.txt

    我们仍在尝试对此进行测试、以确保 I2S 输出正常工作... 您是否在终端上取得了任何进展?

    此致!
    MIR

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

    您好、Mir、

    再次感谢您的支持。

    我执行了两个 I2C 命令。 这两种方法都可以正常工作、但也存在相同的问题。 实际上、当 ADC 通道3和/或 ADC 通道4被启用时(请见下图)、音频数据(例如来自 ADC 通道1)将变得怪异。 为什么?

    我主要介绍了没有 PLL 的 I2C 命令、我有两个问题:

    1.第3页的寄存器0x32 (CLK_CFG12)因此设置为0x88 PASI_BCLK_DIV_CLK_SEL 被设置为 b001、表示"保留" . 是这样吗? 您能解释一下吗?

    2.将 BCLK/FSYNC 比率设置为640且 PASI_BDIV = 1。 因此、当 FSYNC = 19,200Hz 时、我们得到 BCLK = 12,288,000Hz。 我们为什么需要为 BCLK 提供该高频时钟? ATM BCLK 的频率可降至1,288,800 MHz (BCLK/FSYNC 比率= 64)、因为我只需要发送/接收4个每帧16位的时隙。 您能解释一下吗?

    最后、我根据您的 I2C 命令在没有 PLL 的情况下完成了时钟分配图(请参阅附件)。 老实说、我不明白您的同事为什么会计算这些值。 您知道最终数据表何时发布吗?

    e2e.ti.com/.../Clocks_5F00_Distribution-_2D00_-TI-12.288_2D00_MHz.pdf

    BR、

    S é bastien

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

    S é bastien

    由于此器件只有2个 ADC、因此它一次只能处理2个通道。 由于 PDM 将两个通道的数据发送到一个 ADC 通道中、因此最多可输入4个通道的 PDM 数字麦克风数据。 因此、除非您打算使用1个模拟麦克风和2个 PDM 麦克风或4个 PDM 麦克风、否则不应启用 ADC 的通道3和4输入。  

    对于您的其他问题:

    1: 我不知道为什么会这样,我没有写这个脚本,我可以问我们的设计师为什么会这样。 我期望在这种情况下它应该设置为0、其中 BCLK 分频器源是 PLL 输出(在本例中为 MCLK=CCLK)

    2:是的、我不知道为什么比率这么高、这可能是我无法在 Audio Precision 软件中注册数字音频的原因... 我不能选择40个通道的16位音频。 我认为更低的比率是可能的、我们需要再次设置分压器。 我明天会进行深入研究、并尝试一些示例值。

    对于树中的时钟、无 PLL 设置的主要注意事项是将 MOD 时钟设置为合适的值、它们限制为1.536或3.072 MHz、因为19.2kHz 处于支持的 FS 范围之一的中间、这是内部时钟要求、然后 DEM 时钟需要是 MOD 时钟的2或4倍。 这个3.072数字是我们不能在没有 PLL 的情况下使用14.7456MHz MCLK 的原因、因为它不会被分频为3.072的整数倍。  

    此致!
    MIR

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

    S é bastien

    由于此器件只有2个 ADC、因此它一次只能处理2个通道。 由于 PDM 将两个通道的数据发送到一个 ADC 通道中、因此最多可输入4个通道的 PDM 数字麦克风数据。 因此、除非您打算使用1个模拟麦克风和2个 PDM 麦克风或4个 PDM 麦克风、否则不应启用 ADC 的通道3和4输入。  

    对于您的其他问题:

    1: 我不知道为什么会这样,我没有写这个脚本,我可以问我们的设计师为什么会这样。 我期望在这种情况下它应该设置为0、其中 BCLK 分频器源是 PLL 输出(在本例中为 MCLK=CCLK)

    2:是的、我不知道为什么比率这么高、这可能是我无法在 Audio Precision 软件中注册数字音频的原因... 我不能选择40个通道的16位音频。 我认为更低的比率是可能的、我们需要再次设置分压器。 我明天会进行深入研究、并尝试一些示例值。

    对于树中的时钟、无 PLL 设置的主要注意事项是将 MOD 时钟设置为合适的值、它们限制为1.536或3.072 MHz、因为19.2kHz 处于支持的 FS 范围之一的中间、这是内部时钟要求、然后 DEM 时钟需要是 MOD 时钟的2或4倍。 这个3.072数字是我们不能在没有 PLL 的情况下使用14.7456MHz MCLK 的原因、因为它不会被分频为3.072的整数倍。  

    此致!
    MIR

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

    您好、Mir、

    您写道:  

    由于此器件只有2个 ADC、因此它一次只能处理2个通道。 由于 PDM 将两个通道的数据发送到一个 ADC 通道中、因此最多可输入4个通道的 PDM 数字麦克风数据。 因此、除非您打算使用1个模拟麦克风和2个 PDM 麦克风或4个 PDM 麦克风、否则不应启用 ADC 的通道3和4输入。  

    它是矛盾的 datahseet 说(参考第一页):

    我的应用需要2通道模拟+ 2通道数字、因此总共4个通道。 通道1是 ADC1、通道2是 ADC2、通道3是 PDM MIC3、通道是 PDM MIC4。

    此外、此配置适用于启用 PLL 的情况。  

    然后您写道:  

    这个3.072数字是我们不能在没有 PLL 的情况下使用14.7456MHz MCLK 的原因、因为它不会被分频为3.072的整数倍。  

    如果这句话成立、那么 PLL 是必填的、主题对我来说不再赘述:因为施加到 MCLK 的时钟信号频率是14.7456MHz、所以我的应用必须启用 PLL。

    BR、

    S é bastien

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

    嗨  S é bastien、

    很遗憾、在 PLL 关闭的情况下、您将无法搭配14.7456MHz MCLK 使用此器件。 您对2个模拟+ 2个数字非常对、抱歉、我忘记了器件中的多路复用器。  看起来多路复用器也需要配置为手动时钟模式、因此可能没有步骤。  看起来它是通过寄存器0x50和0x55设置的。

    此致!
    MIR

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

    您好!

    不确定您是否已查看过此内容、但本应用手册最近发布、介绍了器件在不同 PLL 场景下使用时的功耗数据: https://www.ti.com/lit/an/sbaa611/sbaa611.pdf

    我知道、这条线并不适用于19.2k、但对于16k 和24k 采样率、你可以看到功耗并不比针对 PLL 关闭场景的功耗大得多。 这可以帮助您猜测当 TAC5212在19.2kHz SR 下与 PLL on 配合使用时的功耗会是多少、当 AVDD 为3.3V 时、其 AVDD 电流大约为12 -20mA。 如果您在此处需要有关 PLL 设置的更多帮助、请告诉我。

    此致!
    MIR

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

    您好!

    非常感谢您阅读应用手册。 它有很多帮助!

    根据本应用手册和我的实验结果、我希望您确认以下几点:

    1.禁用 PLL 时、PASI 应设置 为目标配置(第0页寄存器0x37中的 PASI_CNT_CFG = 0)、与 PASI FSYNC 同步的 CCLK 应是输入时钟源(第0页寄存器0x34中的 CLK_SRC_SEL = 1)。 因此、当 PASI 设置 为控制器配置时、必须启用 PLL。

    2. 当 PLL 被禁用时、只能记录输入通道1 (ADC1或 PDM_MIC1)和/或输入通道2 (ADC2或 PDM_MIC2)。 输入通道3 (PDM_MIC3)和输入通道4 (PDM_MIC4)被忽略。

    低于在 AVdd = 3.3V 时测量的电流消耗。

    配置1a PLL 启用、ADC1 (单端)和 ADC2 (单端)和 PDM_MIC3启用PDM_MIC4禁用、DAC1-4启用、FSYNC  = 8-kHz、BCLK = 512kHz、 CCLK = 12.288MHz、字长= 16位、 CLK_SRC_SEL = 1。 Iavdd = 21.3mA

    配置1b 启用 PLL、启用 ADC1 (单端)和 ADC2 (单端)、禁用 PDM_MIC3和 PDM_MIC4、启用 DAC1-4、FSYNC = 8-kHz、BCLK = 512kHz、CCLK = 12.288-MHz、 字长= 16位、 CLK_SRC_SEL = 1。 Iavdd = 20.8mA

    配置2a PLL 禁用、ADC1 (单端)和 ADC2 (单端)和  PDM_MIC3启用PDM_MIC4禁用、DAC1-4启用、FSYNC = 8-kHz、BCLK = 512kHz、 CCLK = 12.288MHz、字长= 16位、 CLK_SRC_SEL = 1。  未记录 PDM_MIC3! 因此、配置2a 无效、并且不测量电流消耗。

    配置 2b. PLL 禁用、ADC1 (单端)和 ADC2 (单端)启用、PDM_MIC3和 PDM_MIC4禁用、DAC1-4启用、FSYNC = 8-kHz、BCLK = 512kHz、CCLK = 12.288-MHz、 字长= 16位、CLK_SRC_SEL = 1。 Iavdd = 18.43mA

    因此、我们可以同时比较配置1b 和2b: 当 PLL 被禁用时、电流消耗会降低13%、 但遗憾的是、当 PLL 被禁用时、输入通道3和/或输入通道4会被系统忽略。

    注意:我没有验证被禁用的 PLL 是否也对 DAC 有影响。 您知道限制是否适用吗?

    最后一点:是否可以布置应用手册中使用的 I2C 命令?

    BR、

    S é bastien

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

    嗨  S é bastien、

    至于你的第一点、我不确定。 在时钟树上、看起来不像需要 PLL 来生成 BCLK 和 FSYNC、但启用 PLL 会改变、可以打开所需的分频器或多路复用器。 我需要对其进行测试、请给我几天时间进行测试。

    第二点、我认为该器件只有2个 ADC、因此使用4个输入通道需要使用输入多路复用器。 我在时钟树上没有看到输入多路复用器、因此我不确定是否需要 PLL 来操作它。 如果能够在没有 PLL 的情况下让 PDM 麦克风时钟输出、但通道3和4上的 PDM 麦克风没有音频输入、则多路复用器时钟可能也取决于 PLL。 我猜测多路复用器时钟也与 PDM 时钟和调制器使用的此3.072MHz 因素有关。 因此、可能要求输入 MCLK 是3.072MHz 的整数倍。 我可以要求一些设计人员查看打开输入多路复用器所需的条件。

    被禁用的 PLL 将在 DAC 路径上产生类似的后果、时钟全部相同、并且 DAC 和 ADC 都具有具有具有相同要求的 DEM 和 MOD 时钟。 您想知道有哪些限制?

    我没有在应用手册中使用脚本、但我可以询问并查看谁在使用该脚本、可能是验证团队。

    此致!
    MIR

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

    嗨  S é bastien、

    至于你的第一点、我不确定。 在时钟树上、看起来不像需要 PLL 来生成 BCLK 和 FSYNC、但启用 PLL 会改变、可以打开所需的分频器或多路复用器。 我需要对其进行测试、请给我几天时间进行测试。

    第二点、我认为该器件只有2个 ADC、因此使用4个输入通道需要使用输入多路复用器。 我在时钟树上没有看到输入多路复用器、因此我不确定是否需要 PLL 来操作它。 如果能够在没有 PLL 的情况下让 PDM 麦克风时钟输出、但通道3和4上的 PDM 麦克风没有音频输入、则多路复用器时钟可能也取决于 PLL。 我猜测多路复用器时钟也与 PDM 时钟和调制器使用的此3.072MHz 因素有关。 因此、可能要求输入 MCLK 是3.072MHz 的整数倍。 我可以要求一些设计人员查看打开输入多路复用器所需的条件。

    被禁用的 PLL 将在 DAC 路径上产生类似的后果、时钟全部相同、并且 DAC 和 ADC 都具有具有具有相同要求的 DEM 和 MOD 时钟。 您想知道有哪些限制?

    我没有在应用手册中使用脚本、但我可以询问并查看谁在使用该脚本、可能是验证团队。

    此致!
    MIR