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.

[参考译文] TAC5112:PLL 是否可调?

Guru**** 2815985 points

Other Parts Discussed in Thread: TAC5112, TLV320DAC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1588417/tac5112-is-the-pll-adjustable

器件型号: TAC5112
主题中讨论的其他器件: TLV320DAC3100

您好:

我在无线音频链路中使用 TAC5112、需要根据系统中的时钟漂移来调整音频时钟。 集成 PLL 是否可以分次调节、以便我能够以~1ppm 的阶跃对其进行调节?

谢谢、
Fredrik

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

    尊敬的 Fredrik:

    在大多数情况下、集成 PLL 的内部时钟将随输入时钟而调整。 您能详细介绍一下哪个时钟发生漂移、漂移量和运行模式吗? (控制器模式与目标模式)

    -米尔

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

    尊敬的 Mir:  

    我的无线系统具有一个发射器(包含音频源)和一个接收器(包含音频接收器)。 在链路中、发送器(源端)和接收器(接收端)之间的时钟偏移可能高达 60ppm、并且时钟可能会随着温度等因素而略有漂移

    我将在控制器模式下在接收器侧使用 TAC5112。 因此、5112 将驱动音频时钟、我希望能够对 PLL 进行微调以考虑时钟偏移和漂移、从而将其与音频源时钟同步。 接收器 MCU 将处理测量时钟偏移和控制 5112 PLL 的逻辑。  

    Fredrik

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

    尊敬的 Fredrik:

    我明白了。 我想调整 MCLK 的百分比可能会更幸运。 PLL 乘法器只有 4 个十进制数字、因此可调节性不会一直扩展到 0.000001 增量。 我在 48kHz 采样速率下使用.006%的变化(或 60ppm)进行计算、它的变化最高可达 2.88Hz。 但是、对于 12.288MHz CCLK、我们只能在 48kHz 和 48.004kHz 之间进行调节。 如果采样率较低且输入时钟较低、我们可以更精细地调整时钟、但如果 CCLK 来自 MCU、则更合理的做法是调整 CCLK、而不是调整器件上的时钟。 如果您使用 BCLK 和 WCLK(假设数据处于非漂移采样速率)、则每 1/(采样速率*百分比误差)就会出现样本丢弃情况、因此对于 1ppm、该值每 20 秒为~μ s、或者对于 60ppm、该值~ 350ms。 但是、如果漂移随着时间的推移在两个方向上发生、如果振荡速度快于 20 秒 1ppm、则不会出现样本下降/加倍的情况。 请告诉我您的想法、或者如果您有要使用的特定时钟、这可能有助于我确定我们是否可以实现更精细的间隔。

    此致、
    Mir

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

    让我尝试以不同的方式提出这个问题。

    TAC5112 将是 I2S/TDM 总线上的时钟主器件。 为了方便起见、假设此总线的基础频率为 48kHz、这意味着 PLL 以 12.288MHz 运行。  在这个  12.288 时钟上、我们可以调整的最小步骤是什么?

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

    您好、

    我做了数学计算、可以将 WCLK(采样率)时钟调整为 48K +/- 0.6Hz、0.64Hz 和 0.8Hz 及其倍数的最小阶跃。  

    如果您能够根据 WCLK 的变化以一小步的方式调整 12.288MHz 输入时钟、我建议这样做。

    此致、
    Mir

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

    感谢您发送编  修。

    我一直在查看数据表和几份应用手册、以找到计算 PLL 频率的公式。 在较旧的 TLV320DAC3100 上、该公式在主数据表中为: PLL *(R * J.D)/P
    您能告诉我文档中包含 TAC5112 的公式吗?

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

    尊敬的 Kristoffer:

    请在下周前等待 Mir 的评论、因为今天很多团队成员都已离职。

    此致、

    Garret

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

    谢谢。 还有一个问题:我们需要调整 PLL 运行时间。 因此、我们可能需要在 J.D 上从 2.99999 到 3.00000。  
    由于 J 和 D 部分位于单独的寄存器中、这将有效地触发 PLL 的几个大型跳变:

    我是否可以通过任何方式更新 J_MSB、J_LSB、D_MSB 和 D_LSB 寄存器、然后触发 PLL 更新?

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

    您好、

    关于 PLL 频率公式、将是 J.D/P 请留意未来几个月内发布的手动 PLL 应用手册!  

    关于 J.D 增加、请记住、D 只能指定到 4 个小数点、因此最接近的变化将是 2.9999 到 3.0000。 我认为一次更改寄存器的最佳方法是像 w a0 36 xx xx xx 一样进行写入。这将一次写入寄存器 0x36、0x37 和 0x38。  

    此致、
    Mir

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

    期待阅读该应用手册Slight smile

    使用“Enable auto clk cfgn“运行器件时、音频从 AC-MB 完全传递到耳机输出。

    但是、似乎无法读回这些自动检测参数是什么。
    手动将 PLL 时钟置于 GPIO2 上的 CLOCKOUT 可得到  110.592.000Hz。  

    您是否恰好有可用的脚本/设置、可根据标准的“回放单端 OUT1 和 OUT2 到 HP 路径“预设手动配置所有时钟?

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

    尊敬的 Kristoffer:

    由于我们的团队正在度假、请预计下周将会有更新。

    此致、

    Garret

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

    尊敬的 Kristoffer:

    很抱歉耽误你的时间。 EVM 用户指南以及我自己的时钟脚本中的示例脚本如下所示:

    w a0 00 00 # Set page 0
    w a0 01 01 # Software Reset
    w a0 02 09 # Wake up with AVDD > 2v and all VDDIO level
    w a0 11 80 # Enable PASI DIN
    w a0 19 00 # 1 data inputs and 1 data outputs for PASI
    w a0 1a 30 # PASI TDM, 32 bit format
    w a0 28 20 # PASI DIN Ch1 on TDM slot 0
    w a0 29 21 # PASI DIN Ch2 on TDM slot 1
    
    w a0 32 3f #fs bin=15, 5% tolerance, custom clock configuration
    w a0 34 44 #PLL enabled, fraction mode enabled, fixed CCLK is input clock source
    w a0 37 30 #PASI/SASI in controller configuration
    w a0 00 03 #page 3
    w a0 32 80 #PLL_PDIV_IN_CLK is CCLK, and PASI BCLK divider source is PLL output
    w a0 34 10 #(default) NM div input clock is PLL output
    w a0 35 01 #(default) P=1
    w a0 36 02 #J MSB=0, D MSB=000010
    w a0 37 38 #D LSB= 00111000
    w a0 38 01 #J LSB=00000001 (J=1)
    w a0 39 20 #NDIV=1, DIG_ADC_DEM_DIV=1
    w a0 3a 65 #MDIV=25, DIG_ADC_MODCLK_DIV=2
    w a0 3b 18 #DIG_DAC_DEM_DIV=1, DIG_DAC_MODCLK_DIV=2, dac mod clk 2x disabled (1.536 mode)
    w a0 3c 19 #PASI BCLK divider=25
    w a0 3e 19 #ANA_NM_DIV=25
    w a0 3f 00 #ANA_ADC_DEM_DIV=1, ANA_DAC_DEM_DIV=1
    w a0 44 06 #NDIV and MDIV enabled
    w a0 45 fa #DEM, MODCLK, PASI BDIV, and PASI FSYNC DIV enabled
    
    w a0 00 00 #page 0
    w a0 64 28 # Configure OUT1P as mono single ended from DAC1
    w a0 65 60 # Configure OUT1P HP 0dB audio band
    w a0 66 60 # Configure OUT1M HP 0dB 2Vrms differential
    w a0 6b 28 # Configure OUT2P as mono single ended from DAC2
    w a0 6c 60 # Configure OUT2P HP 0dB audio band
    w a0 6d 60 # Configure OUT2M HP 0dB 2Vrms Differential
    w a0 76 0c # Disable all input channels and enable output channel 1 and 2
    w a0 78 40 # Power up all DAC channels

    此致、
    Mir

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

    非常感谢的脚本 mir。

    我运行它、寄存器读回看起来不错。 您是否立即在 HP 插孔/J35 上输出音频? 我验证了在再次将“双通道单端 OUT1 加载到 HP ...“时的音频是否正常工作 复位。

    似乎存在 PLL 锁定故障、因为在发送 I2C 命令后立即变为红色。


    即使 PLL 寄存器正确、UI 仍然显示 J:8 和 D:0。 d. UI 不会自行更新吗?

    此外、主要 ASI 设置为“控制器模式“。 我想这会与 AC-MB 崩溃、因为这也是 TDM 主器件?

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

    您好、

    我在发送之前没有完全测试过该脚本、因此一开始我对无法正常工作的音频表示歉意。  我明天可以测试出来、并使用预设与我的代码进行检查。 但是、预设之间的主要区别仅在于时钟部分、因此您的时钟可能与我的代码预期不同。 您是否有正在用于测试的示例 CCLK、WCLK 和 BCLK 值?

    PLL 锁定红点实际上没有问题、这意味着 PLL 已锁定、这就是您想要的。 这只是一个状态位。 运行脚本时计时的 UI 不会更新、因此用户界面上的 J.D 错误也不应该是问题。 当 PASI 从外部时钟 (CCLK 或 BCLK) 生成 WCLK(和 BCLK)时、我们将 PASI 设置为控制器模式。 因此、如果 AC-MB 通过 USB 生成时钟、则需要在目标模式下运行。 但是、如果只有一个 TDM 时钟存在并在外部提供、则应使用控制器模式。  

    此致、
    Mir

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

    目前、我使用 AC-MB 作为音频源、因此所有时钟都是默认的时钟。  
    由于 PASI 已经被 AC-MB 占用、因此最简单的前进方法可能是在 SASI 上启用 PLL?
    在这种情况下、最感兴趣的是 I2S 格式、控制器模式、2 通道输入、48kHz 采样率和 16 位深度。

    感谢您对红点和 UI 更新的澄清。 同时我将继续尝试调整您的脚本。





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

    您好、

    当 AC-MB 上的开关设置为“on"时“时、该 AC-MB 是音频源、但如果您将其设置为“off",“,则、则可以使用任何所需的时钟操作该器件、该时钟连接到 AC-MB 上底部的接头引脚集。 我不建议在自动模式下的 PASI 运行期间使用 SASI。 您也可以使用手动时钟设置来执行 PASI 操作。 手动 PLL 配置在很大程度上取决于您提供的输入时钟。 因此、我需要更多有关这方面的信息、以便更好地处理脚本。  

    此致、
    Mir

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

    然后、我可以将开关设置为“OFF",“,对、对 PASI 进行测试。
    让我们将脚本的基础放在:
    Pasi
    TAC5112 用作 I2S 主器件/控制器
    16 位
    立体声
    采样率为 48kHz
    在 16MHz 处通过 MCLK 为 TAC5112 提供时钟

    然后、应使用 PLL 在 LRCLK (FSYNC) 上生成 48kHz、在 BCLK 上生成 48k*16*2 = 1.563MHz。

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

    尊敬的 Kristoffer:

    这是一个更新的脚本。 请注意、它使用 I2S 模式、因此时隙与 TDM 不同(如果您使用 TDM,可以随时更改!)

    w a0 00 00 # Set page 0
    w a0 01 01 # Software Reset
    w a0 02 09 # Wake up with AVDD > 2v and all VDDIO level
    w a0 11 80 # Enable PASI DIN
    w a0 19 00 # 1 data inputs and 1 data outputs for PASI
    w a0 1a 40 #i2s mode, 16 bit
    w a0 1e 20 #ch1 is left slot 0
    w a0 1f 30 #ch2 is right slot 0
    w a0 32 51 #fs bin=20, 1% tolerance, custom clock configuration
    w a0 34 44 #PLL enabled, fraction mode enabled, fixed CCLK is input clock source
    w a0 37 70 #PASI/SASI in controller configuration, 16mhz cclk, 48k sr
    w a0 00 03 #page 3
    w a0 32 80 #PLL_PDIV_IN_CLK is CCLK, and PASI BCLK divider source is PLL output
    w a0 34 10 #(default) NM div input clock is PLL output
    w a0 35 01 #(default) P=1
    w a0 36 05 #J MSB=0, D MSB=00 0101
    w a0 37 a0 #D LSB= 1010 0000 (D=1440)
    w a0 38 06 #J LSB=0000 0110 (J=6)
    w a0 39 00 #NDIV=8
    w a0 3a 80 #MDIV=32, DIG_ADC_MODCLK_DIV=1 
    w a0 3b 00 #DIG_DAC_MODCLK_DIV=1, dac mod clk 2x enabled (3.072 mode)
    w a0 3c 08 #PASI BCLK divider=8
    w a0 3e 08 #ANA_NM_DIV=8
    w a0 44 06 #NDIV and MDIV enabled
    w a0 45 5a #MODCLK, PASI BDIV, and PASI FSYNC DIV enabled
    
    w a0 00 00 #page 0
    w a0 64 28 # Configure OUT1P as mono single ended from DAC1
    w a0 65 60 # Configure OUT1P HP 0dB audio band
    w a0 66 60 # Configure OUT1M HP 0dB 2Vrms differential
    w a0 6b 28 # Configure OUT2P as mono single ended from DAC2
    w a0 6c 60 # Configure OUT2P HP 0dB audio band
    w a0 6d 60 # Configure OUT2M HP 0dB 2Vrms Differential
    w a0 76 0c # Disable all input channels and enable output channel 1 and 2
    w a0 78 40 # Power up all DAC channels

    此致、
    Mir

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

    非常感谢。 我尝试了一下,有一些事情是不是很清楚:

    w a0 34 44 #启用 PLL、启用分数模式、固定 CCLK 是输入时钟源
    该寄存器将该寄存器设置为 0100、该寄存器是辅助 ASI 作为输入、而不是固定 CCLK。 我将其更改为 0x48、看起来正确。

    缺少的部分是 GPI1 配置为 CCLK 的时钟输入。
    W a0 0f 70 #将 GPI1 设置为 CCLK
    W a0 0d 02 #将 GPI1 设置为输入

    此外、我还将逻辑分析仪连接到 PASI 上的 BCLK 和 PASI 上的 FSYNC。

    1.使用这个脚本,我得到 12.3MHz 在 BCLK. 这个应该是 1.563MHz

    2. FSYNC 上完全没有输出、而我预计该频率为 48kHz。

    我使用 GPO 验证 PLL 是否在预期的 98.304MHz 下运行  (J.D = 6.1440、P = 1)。 您确定这是应该设置的值吗? 我认为没有简单的方法可以将其分频为 1.536MHz。

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

    您好、

    今天我用脚本做了一些测试、还有一些问题、但我确实让时钟正常工作。 出于某种原因、DAC 还不能为我工作... 我会继续处理它,直到我们使它正常工作。 请注意、0x0F 的设置错误 — 应为 0x60。 如果您在这里取得了一些进展、请告诉我。

    w a0 00 00 # Set page 0
    w a0 01 01 # Software Reset
    w a0 02 09 # Wake up with AVDD > 2v and all VDDIO level
    
    w a0 0d 02 # Setting GPI1 as input
    w a0 0f 60 # Setting GPI1 as CCLK 011000 00
    
    # w a0 11 80 # Enable PASI DIN
    # w a0 19 00 # 1 data inputs and 1 data outputs for PASI
    w a0 1a 40 #i2s mode, 16 bit
    w a0 28 20 #ch1 left slot 0
    w a0 29 30 #ch2 right slot 0
    
    w a0 32 51 #fs bin=20, 1% tolerance, custom clock configuration
    w a0 34 48 #PLL enabled, fraction mode enabled, fixed CCLK is input clock source
    w a0 37 70 #PASI/SASI in controller configuration, 16mhz cclk, 48k sr
    
    w a0 38 80 #INTERNAL BCLK FOR FSYNC GENERATION, BCLK to FSYNC ratio is 32 msb=0
    w a0 39 20 #lsb for bclk to fsync ratio = 32 (16 bit word length)
    
    w a0 00 03 #page 3
    w a0 32 a8 #1010 1000 #PLL_PDIV_IN_CLK is CCLK, and PASI BCLK divider source is DSP clock (NDIV?)
    w a0 34 10 #(default) NM div input clock is PLL output
    w a0 35 01 #(default) P=1
    w a0 36 05 #J MSB=0, D MSB=00 0101
    w a0 37 a0 #D LSB= 1010 0000 (D=1440)
    w a0 38 06 #J LSB=0000 0110 (J=6)
    w a0 39 00 #NDIV=8
    w a0 3a 80 #MDIV=32, DIG_ADC_MODCLK_DIV=1 
    w a0 3b 00 #DIG_DAC_MODCLK_DIV=1, dac mod clk 2x enabled (3.072 mode)
    w a0 3c 08 #PASI BCLK divider=8
    w a0 3e 08 #ANA_NM_DIV=8
    w a0 44 06 #NDIV and MDIV enabled
    w a0 45 5a #MODCLK, PASI BDIV, and PASI FSYNC DIV enabled
    
    w a0 00 00 #page 0
    w a0 64 28 # Configure OUT1P as mono single ended from DAC1
    w a0 65 60 # Configure OUT1P HP 0dB audio band
    w a0 66 60 # Configure OUT1M HP 0dB 2Vrms differential
    w a0 6b 28 # Configure OUT2P as mono single ended from DAC2
    w a0 6c 60 # Configure OUT2P HP 0dB audio band
    w a0 6d 60 # Configure OUT2M HP 0dB 2Vrms Differential
    
    # for some reason it needs to be set to on for both input AND output to get clocks to stay on...
    w a0 76 cc #enable in and output ch1 and 2
    w a0 78 c0 #adc and dac powered up

    此致、
    Mir

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

    是的、我将 0x0F 更改为 0x60。

    我现在能够确认正确的 BCLK 和 FSYNC。 DIN 看起来也不错。 正如您所说的、我没有音频输出。 观察 ASB 图、对于 I2S、它们看起来很奇怪。 L (CH0) 和 R (CH1) 之间有一个不应存在的空间。 我试图添加一个屏幕截图,但这不起作用。

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

    我尝试使用混频器->信号发生器在输出端产生蜂鸣声或线性调频脉冲。 这不起作用、因此 DAC 时钟可能出现问题。

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

    您好、

    是的、DAC 出现问题... 每次在未启用 ADC 的情况下运行脚本时、时钟都会开启一秒钟、然后停止。 我想我们缺少一件使时钟能够用于 DAC 运行的事情。 明天和第二天、我将继续阅读文档以找出答案。 附件是 ADC 关闭时的脚本。

    # clk source: 16mhz mclk
    # j.d: 6.144 (clksys = 98.304MHz)
    # nm div: 8 (dem clk=12.288MHz)
    # ndiv: 8 (bdiv source=12.288)
    # bdiv: 8 (1.536MHz)
    # fsync ratio: 32 (48k fs)
    # mdiv: 32 (input to modclk div and pdm div=3.072Mhz)
    # 
    
    w a0 00 00 # Set page 0
    w a0 01 01 # Software Reset
    w a0 02 09 # Wake up with AVDD > 2v and all VDDIO level
    
    w a0 0d 02 # Setting GPI1 as input
    w a0 0f 60 # Setting GPI1 as CCLK 011000 00
    
    w a0 11 80 # Enable PASI DIN
    w a0 19 00 # 1 data inputs and 1 data outputs for PASI
    
    w a0 1a 40 #i2s mode, 16 bit
    w a0 28 20 #ch1 left slot 0
    w a0 29 30 #ch2 right slot 0
    
    w a0 32 51 #fs bin=20, 1% tolerance, custom clock configuration
    w a0 34 48 #PLL enabled, fraction mode enabled, fixed CCLK is input clock source
    w a0 37 70 #PASI in controller configuration, 16mhz cclk, 48k sr
    
    
    w a0 38 80 #INTERNAL BCLK FOR FSYNC GENERATION, BCLK to FSYNC ratio is 32 msb=0
    w a0 39 20 #lsb for bclk to fsync ratio = 32 (16 bit word length)
    
    w a0 00 03 #page 3
    w a0 32 a8 #1010 1000 #PLL_PDIV_IN_CLK is CCLK, and PASI BCLK divider source is DSP clock (NDIV?)
    w a0 34 10 #(default) NM div input clock is PLL output
    w a0 35 01 #(default) P=1
    w a0 36 05 #J MSB=0, D MSB=00 0101
    w a0 37 a0 #D LSB= 1010 0000 (D=1440)
    w a0 38 06 #J LSB=0000 0110 (J=6)
    w a0 39 00 #NDIV=8
    w a0 3a 80 #MDIV=32, DIG_ADC_MODCLK_DIV=1 
    w a0 3b 00 #DIG_DAC_MODCLK_DIV=1, dac mod clk 2x enabled (3.072 mode)
    w a0 3c 08 #PASI BCLK divider=8
    w a0 3e 08 #ANA_NM_DIV=8
    w a0 44 06 #NDIV and MDIV enabled
    w a0 45 5a #MODCLK, PASI BDIV, and PASI FSYNC DIV enabled
    
    w a0 46 05 #clkdiv source = dsp clk
    w a0 47 81 #clkdiv enabled, div=1
    
    w a0 00 00 #page 0
    w a0 0a b1 #clkout as gpio1
    
    
    w a0 64 24 # Configure OUT1P as mono single ended from DAC1
    w a0 65 60 # Configure OUT1P HP 0dB audio band
    w a0 66 60 # Configure OUT1M HP 0dB 2Vrms differential
    w a0 6b 24 # Configure OUT2P as mono single ended from DAC2
    w a0 6c 60 # Configure OUT2P HP 0dB audio band
    w a0 6d 60 # Configure OUT2M HP 0dB 2Vrms Differential
    
    # for some reason it needs to be set to on for both input AND output to get clocks to stay on...
    w a0 76 0f #enable in and output ch1 and 2
    w a0 78 40 #adc and dac powered up

    此致、
    Mir

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

    我现在已经尝试了一些事情。
    首先、我检查了所有受“启用自动检测时不用考虑“影响的寄存器。

    CLK_CFG15 0x35
    CLK_CFG16 0x36
    CLK_CFG17 0x37
    CLK_CFG18 0x38
    CLK_CFG19 0x39
    CLK_CFG20 0x3A
    CLK_CFG21 0x3B
    CLK_CFG22 0x3C
    CLK_CFG23 0x3D - SASI、不相关
    CLK_CFG24 0x3E

    它们看起来都不错。 然后我集中精力  
    SARCLK_CFG1、但此处的任何更改似乎都没有任何区别。

    如果我选择“Enable auto clock cfgn“、音频输出就可以正常、PLL 以大约 110MHz 的频率运行。 手动配置设置 PLL 的速度可能太慢了吗?

    另一个有趣的观察:
    运行我们所做的脚本时、没有音频、PLL 在~98、3MHz 下运行
    仅启用自动时钟配置:工作音频、PLL ~110、5MHz。
    现在、在我看来、上面的寄存器是由“auto clock cfgn“自动填充的?

    禁用 自动时钟  配置时、PLL 仍在~110、5MHz 下运行、因此即使它似乎在使用较早的工作配置运行、也没有音频输出。


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

    我现在已经尝试了一些事情。
    首先、我检查了所有受“启用自动检测时不用考虑“影响的寄存器。

    CLK_CFG15 0x35
    CLK_CFG16 0x36
    CLK_CFG17 0x37
    CLK_CFG18 0x38
    CLK_CFG19 0x39
    CLK_CFG20 0x3A
    CLK_CFG21 0x3B
    CLK_CFG22 0x3C
    CLK_CFG23 0x3D - SASI、不相关
    CLK_CFG24 0x3E

    它们看起来都不错。 然后我集中精力  
    SARCLK_CFG1、但此处的任何更改似乎都没有任何区别。

    如果我选择“Enable auto clock cfgn“、音频输出就可以正常、PLL 以大约 110MHz 的频率运行。 手动配置设置 PLL 的速度可能太慢了吗?

    另一个有趣的观察:
    运行我们所做的脚本时、没有音频、PLL 在~98、3MHz 下运行
    仅启用自动时钟配置:工作音频、PLL ~110、5MHz。
    现在、在我看来、上面的寄存器是由“auto clock cfgn“自动填充的?

    禁用 自动时钟  配置时、PLL 仍在~110、5MHz 下运行、因此即使它似乎在使用较早的工作配置运行、也没有音频输出。


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

    数据表是否正确? 我问、因为我测试了工作中的“自动时钟 cfgn“。
    然后、我向 CLK_CFG18(第 3 页上的 0x38)写入一个位、音乐就会停止。

    数据表指出此寄存器上“(启用自动检测时不用考虑)“。 我觉得在 启用“auto clock cfgn“后、这个寄存器应该不起作用?

    编辑:
    我认为这种误解至少是一些问题的根源。 在自动检测设置为关闭、手动输入 48000Hz 并打开“auto clk cfg“的情况下、我获得音频和手动调整 PLL 的能力。

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

    您好、

    如果可以进入 I2C 监控器的另一个选项卡、则可以通过按右上角的红色/绿色圆圈来记录所做的任何更改。 您能否从首次插入设备开始记录您所做的工作、以使其在自动模式下正常工作? 我想知道,如果我可以重新创建它,如果它会帮助我们解决这个问题...

    此致、
    Mir

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

    当然。

    这是我的输出、只是我们脚本的稍作修改的版本、PLL /128 路由到 GPO1 进行调试:

    W a0 00 00
    W a0 01
    Wa0 02 09
    W a0 0f 60
    W a0 0d 02
    W a0 28 20
    W a0 29 30
    Wa0 1a 40
    W a0 1e 20
    W a0 1f 30
    Wa0 32 51.
    第四十八章
    W a0 37 70
    宽 a0 38 80
    Wa0 39 20
    W a0 0c B1
    第 28 章
    W a0 65 60
    W a0 66 60
    第 28 章
    W a0 6c 60
    W a0 6d 60
    宽 a0 76 立方厘米
    W a0 78 c0
    W a0 00 03
    w a0 32 A8
    W a0 34 10.
    W a0 35 01.
    第 36 章
    W a0 37 a0
    第 38 章
    W a0 39 00
    W a0 3a 80
    W a0 3b 00
    Wa0 3c 08
    W a0 3e 08
    第 44 集 06
    W a0 45 5A
    W a0 47 80
    W a0 00 00
    R a0 00 80
    W a0 00 01
    R a0 00 80
    W a0 00 00
    W a0 00 03
    R a0 00 80
    R a0 7c 04
    宽 a0 00 18
    R a0 08 04
    W a0 00 0d
    R a0 7c 04
    W a0 00 0e
    R a0 0c 04
    R a0 08 04
    W a0 00 0d
    R a0 5c 04

    完成#Script。 从这里、我只设置:
    #活动->在 UI 中不活动

    W a0 00 00
    宽 a0 78 00
    W a0 02 00
    W a0 02 01.

    #在 UI 中选择“Enable auto clock cfgn“

    W a0 32 50

    #非活动->在 UI 中活动

    W a0 32 50
    宽 a0 76 立方厘米
    w a0 78 e0
    Wa0 02 09



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

    您好、

    我认为、当您将寄存器 0x32 更改为 0x50 时、您将启用半自动模式、这会自动设置分频器和所需的所有内容。 您能否从 0x3e 开始读取状态寄存器? 它没有显示所有分压器、但可能有所帮助。 您说、在自动模式下、设置为 PLL 输出的 CLKOUT 是 110.592MHz、对吧? 这将对应于这些内部时钟分频器:

    J.D=6.912
    MDIV=36 
    NMDIV=18 or 9
    NDIV=1
    PASI_BDIV=72
    

    如果您有幸更改这些寄存器...

    此致、
    Mir

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

    时钟状态寄存器为:
    0x3e -> 0x51
    0x3F -> 0x00
    0x40 -> 0x80
    0x41 -> 0x51

    双重检查:
    j 为 6
    D 等于 9119
    NDIV 为 1
    MDIV 为 9
    PASI_BDIV 为 72。

    当进行更改(例如 PLL_DMUL_LSB 运行时)时、我可以看到 LRCLK/FSYNC 中的变化。



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

    您好、

    经过一些测试和讨论,我们发现时钟输出需要一些寄存器设置 — 主要是需要在脚本末尾开启 ADC 和 DAC、即寄存器 0x76 必须为 0xcc 或 0x8c(必须至少启用 1 个 ADC 通道)、0x78 必须为 0xc0(必须启用前两位)。 但是、即使每个寄存器在自动模式和手动模式之间都相同、如果处于手动模式、我们也看不到模拟输出。 即使在过去的第 3 页、我也比较了寄存器转储、看起来除了自动模式和手动模式之外、这两个设置都是相同的。 理论上、自动模式会更改所有分频器的寄存器、以匹配它们应该是什么、因此如果我们在手动模式脚本中将所有分频器从自动模式置于其他模式、我们应该会期望这两个分频器上看到相同的结果。 我要求更接近团队设计方面的同事研究这一点、明天我将继续对此进行测试。 我也想知道我是否还会在仅 DAC 的器件上看到它、因此这也是我明天要尝试的另一件事。 我也可以尝试不同的时钟值方案、例如 CCLK、它不是默认的固定 CCLK 值之一、因此不会以这种方式计算比率。 但是、另一个奇怪的事情是、我们选择了 48K 的采样率区间、在自动模式 J.D 值下将变为 47.9993、这是不必要的(使用我提供的分频器可以是 48K,或者实际上有一些其他选项)、因此问题可能是这个特定的输入频率。 很抱歉前后两次、但我想为您和应用手册解决此问题、以确保我们拥有最准确的信息和示例脚本。

    此致、
    Mir

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

    这种援助是非常感谢的。

    是否可以依靠自动模式来配置时钟 — 那么,更改说 PLL D 寄存器运行时间、而不会产生自动模式覆盖这种变化的风险? 在这种情况下,我有一个前进的方向。

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

    您好、

    再给我一个工作日来测试这个、抱歉耽误了时间。 它会是星期二、直到我再次进入实验。 但是、我可以告诉您、如果输入时钟没有更改、则自动模式应重新创建您每次使用的相同设置。 也就是说、如果您在运行时更改 J.D 并获得不同的采样率、并且具有相同的 CCLK 和脚本、则应在下次重新生成该采样率。 我与同事一起检查手动与自动模式不工作、但尚未听到。

    此致、
    Mir  

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

    您好、

    只是想让你知道,我把这件事给了一些同事,他们可以尝试在这里模拟我们的问题,自动模式工作,但手动模式不工作。 看到了。

    关于在自动模式运行期间更改 D、我尝试了此操作、并通过对第 3 页中的寄存器 0x37 进行小幅更改、使 WCLK 略有变化。 所以,这似乎是可能的现在。 当我有关于我们遇到的自动和手动问题的更新时、我将再次跟进这里。

    此致、
    Mir