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.

[参考译文] 支持的采样频率

Guru**** 2482225 points
Other Parts Discussed in Thread: PCM1865

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1112914/supported-sample-frequencies

器件型号:PCM1865

我们将在从器件时钟模式下使用不带 SCK 的 PCM1865。

我们的目标采样频率将是52.1kHz 的倍数。 这超出了表11 (第9.3.9.4.4章 BCK 输入从机 PLL 模式)列出的专用采样频率、也超出了数据表(32..48kHz、88.2..96kHz、176,4..192kHz)中地址0x73 (第0页)寄存器显示的采样频率范围。

我们尝试使用48 (LRCK=52、1kHz、BCK=2、5MHz)的 BCK 比率和64 (LRCK=52、1kHz、BCK=3、334MHz)的 BCK 比率。 两者都没有成功(I2S 输出上有足够的采样值)。 PCM1865是否可以使用此设置?

非常感谢+此致。

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

    您好!

    我有一些澄清问题。 0x75是否返回任何类型的计时错误? 您是否意味着数据路径正确、但缺少样本? 缺少多少个样片?

    谢谢、

    Jeff

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

    尊敬的 Jeff:

    感谢您的快速回复。 正如我在数据表中看到的、现在数据表中(抱歉)对两种从模式进行了区分:"从模式"和"从 PLL 模式"。 在不考虑这一点的情况下、我使用了"从 PLL 模式"、因为我没有提供 MCK (在 SCKI 引脚上)。 因此、PCM1865已进入"从 PLL 模式"、其中不支持非标准音频速率(我们需要该速率为52.1kHz 的倍数-请参阅上文)。 我是对的吗?

    要回答您的问题:在上述条件下、我有两种不同的情形:
    BCK 比率= 48
    →个故障样本(500Hz 正弦输入、样本内的周期正常、但值不正确-见下文)、CLK_ERR_STAT 内无错误:

    BCK 比率= 64
    →CLK_ERR_STAT 寄存器(0x75)在所有3个时钟上交替返回错误。 在这些情况下、我没有开始采样。

    由于上述调查结果、这种行为不再是问题(仅用于回答您的问题)。

    我当前的情况是、不能使用主模式、我们必须使用52.1kHz 的倍数作为采样频率。 因此、要使用该非标准音频采样频率、我将使用提供的 MCK 的"从模式"。 因此,我有一些问题:

    1)与第9.3.9.1章的一致、MCK 通常必须是2n 次采样率(= SCK 比率)。 我会使用 SCK 比率= 256、这会导致 SCK = 13.34MHz、bck = 3.34MHz (bck 比率= 64)和 LRCK = 52.1kHz (作为我的目标采样频率)。 所有这些时钟将从一个时钟源派生、因此它们将是同步的。 我将把 CLKDET_EN 设置为0 (禁用自动时钟检测)。 您同意吗?

    2) 2)考虑到9.3.9.4章中的表5、在上述情况下不需要 PLL 配置。 但是-与(子)第9.3.9.4.2和9.3.9.4.5章中的软件控制器件相反、PLL 必须手动编程(第38和45页的顶部)。 我认为我的方面有误解... 如果我必须按照
    第9.3.9.5章所述手动配置 PLL 以实现"非音频 MCK PLL 模式"、我会将 MCK 用作 PLLCKIN (如上所述=256*52.1kHz)。 但是、我应该为 PLLCK 使用什么目标值(作为音频 ADC 和一些其他模块的时钟频率)?

    再次感谢、致以诚挚的问候、
    霍斯特

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

    您好、Horst、

    我同意第1点。 尽管只要 PLL 设置正确、PLL 仍可与非音频标准时钟配合使用、如您提到的注释所述。 自动配置仅受表11中列出的音频时钟频率支持。 9.3.9.5章是指 MCLK 不是 LRCLK 的整数倍(如256或128)的情况。 您可以在表10和13中看到、即使是像48kHz 这样256比率 SCLK 的标准情况、PLL 也需要满足表8上的 DSP 和 ADC 内核要求。 52.1k 接近于48k、因此我将其用作指南。 如果可以生成512*FS MCLK,则 PLL 关闭,所有操作都可以由简单的分频器完成。 对于256*FS,您需要 PLL 将 MCLK 调至更高的频率,这样您就可以满足表8的要求。

    此致、

    Jeff

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

    尊敬的 Jeff:

    谢谢。 表8是基本提示。 尽管仔细阅读了数据表、但我忽略了这一点。 其他表格对我来说变得更加容易理解。

    只是为了更正:我在上面关于"bck 比率= 64"(第2种情况)的陈述是错误的、因为在这种情况下 SPI 主器件运行错误。 解决此问题后、PCM1865现在生成预期输出。 仅"Bck 比率= 48"(第1个场景)仍然是可重现的。 但这可能还有其他原因,如数字输出配置错误(I2S/TDM 格式,...)

    为我总结一下您的回答:我们无法生成 MCK=512*FS。 因此我将使用 PLL 使 MCK 加倍(作为具有第9.3.9.5章的 PLLCKIN)并使用 MCK=256*FS。 保留 DSP1、DSP2和 ADC 的默认时钟分频器并将其时钟源切换为"PLL"、应满足表8要求(DSP2将获得512*52.1kHz)。

    根据表5、当手动配置 PLL 时、LRCK/BCK 方向为 Out。 我希望这不会与我的设置(MST_MODE=0及以上提到的)相冲突、或者我将该行的原因和效果相混淆。

    此致、
    霍斯特

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

    您好、Horst、

    由于您的 MCLK 仍是 LRCLK 的倍数、我相信这仍然处于从 PLL 模式下、在这种情况下、LRCLK 和 BCLK 仍将输出。 即使这样、只要您的 MST_MODE 位正确、LRCLK 和 BCLK 仍应为输入。

    此致、

    Jeff

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

    尊敬的 Jeff:

    这使我很困惑。 当我使用外部 MCK 时、为什么选择从 PLL 模式? (在应用 MCK 之前、我有从 PLL 模式)
    为什么在从机(PLL)模式下、LRCK+BCK 应该是输出?

    我将使用"受控模式": MST_MODE=0、MCK+LRCK+BCK 作为输入、CLKDET_EN=0、如上所述的时钟比率。 我认为、即使 MCK 是 LRCK 的倍数(256)、PLL 也可以使 MCK 频率(对于 DSP2)加倍。 根据我的理解、MCK 之所以起作用、是因为 LRCK (52、1kHz)不是标准音频速率、这意味着从 PLL 模式到从模式 ACCOT。表5。
    我能够在几天内检查它、因此到目前为止、这只是假设...

    我的问题与表5的最后一行有关、这可能意味着手动 PLL 配置会将 BCK+LRCK 作为输出(仅限主控模式)。

    谢谢+此致、
    霍斯特

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

    抱歉 Horst、

    这是一个排印错误。 我想说、LRCLK 和 BCLK 仍将是输入。

    此致、

    Jeff

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

    尊敬的 Jeff:

    我测试了上述设置、但 PCM1865不是来自"时钟等待状态"(寄存器0x72 = 0001的3..0位)。 以下是我的时钟配置设置:

    寄存器 (第0页)
    0x20 0x4E

    - SCK_XI_SEL:SCK
    -从机模式
    - DSP1/DSP2/ADC 的 clk 源:PLL
    - CLKDET_EN:0

    0x28 0x01 PLL 参考:SCK
    PLL 被启用
    0x29 0x00 PLL P 分频器:1.
    0x2A 0x01 PLL R 倍频器:2.
    0x2B 0x01 PLL J 整数部分:1.
    0x2C 0x00 PLL D 分频器部分 LSB:0
    0x2D 0x00 PLL D 帧部分 MSB:0
    0x21 0x00 DSP1时钟分频器:1 *
    0x22 0x01 DSP2时钟分频器:1/2 *
    0x23 0x03 ADC 时钟分频器:1/4 *

    *)默认值与数据表不匹配

    状态寄存器(0x72..0x75、0x78)报告
    -状态=时钟等待状态
    -采样频率= 32..48kHz
    -预期比率:bck = 64、SCK = 256
    - SCK、BCK 和 LCK 没有时钟错误(无错误、无停止、寄存器0x72包含0x00)
    - DVDD、AVDD 和 LDO:良好

    LRCK = 52.1kHz、BCK = 3、334MHz、SCK = 13.337MHz

    到目前为止、我没有尝试任何其他 PLL 设置(P、R、J、D 值)或其他 SCK_XI_SEL (其他我没有看到的内容)。
    但您可能会在它的表面上看到原因

    我注意到 PLL 不会锁定。 根据数据表、相应的位(寄存器0x28的位4)是 R/W 1 (我认为它应该是只读的)。 但在这两种情况下(向位4写入0或1)、行为是相同的(PLL 不锁定)。

    希望您能提供帮助。

    此致、
    霍斯特

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

    您好、Horst、

    今天是 TI 假日、我们的专家已不在办公室。 请给我们另外一天时间来看看并回答您的问题。 为了保存记录、请勿回复此消息、除非48小时后没有回复。

    感谢您的耐心等待、

    Jeff

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

    您好、Horst、

    您是否能够尝试表13中的48kHz 用例? 我想知道它是否首先起作用、然后尝试更改时钟。 寄存器显示存在某种类型的时钟配置错误。

    此外、请确保在当前情况下、SCK_XI_SEL (如您提到的那样)设置为 SCK。

    此致、

    Jeff

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

    (我在上面的答复中有一个拼写错误、我从寄存器0x75中没有针对 SCK、BCK 和 LCK 的时钟错误)

    尊敬的 Jeff:

    PLL 的非锁定状态是上述寄存器(包括用于音频输入选择的寄存器0x06..0x09、上面没有提到)后续重新编程的结果。 只有电源关断+重新配置 LED 指示灯处于 PLL 锁定状态。 插入复位(0xFE @ 0x00)后、任何重新配置都会导致锁定的 PLL 状态。 现在已经固定了、但器件的时钟等待状态仍然存在。

    您的建议是尝试表13中的48kHz 用例、这将是我的下一个示例。 但我现在看一下第9.3.9.4.5章中描述的条件:
    D = 0000、
    1≤J≤63 (与我的设置相匹配:J.D=1.0000 (=K)、P=1、R=2)
    1MHz≤(PLLCKIN / P)≤20MHz、RESP 1MHz≤13.33MHz≤20MHz  
    64MHz <(PLLCKIN×K×R / P)< 100MHz、RESP 64MHz < 26.66MHz < 100MHz   

    因此第2个条件不满足。 但是、我无法从数据表中了解给出此条件的目的。
    我将尝试
    将 R 增加到 R=5、因此这两个条件都应该得到满足。 在这种情况下、DSP1将在一半/四分之一的频率下运行@ 66.7MHz 和 DSP2/ADC。
    如果这会导致时钟等待状态退出、则一切都应该正常、并且应该使用我们的目标采样频率(52.1kHz)。

    否则、我将尝试表13中的48kHz 用例、并逐步更改时钟(SCK)。

    SCK_XI_SEL:我向寄存器写入0x4E。 0x20、因此应选择 SCK 作为多路复用器"PLL_REF_SEL"的输入(w.r.t 图33/44)
    PLL_REF_SEL:我将0x11写入寄存器。 0x28、因此应选择上部多路复用器输入(SCK_XI_SEL 输入)(此处写入锁定标志-不知道它是否为实写标志)

    在几天内、我能够测试 PLL 增加的 R 乘法器(如有必要、表13中的48kHz 用例)、并将向您提供结果。

    此致、
    霍斯特

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

    您好、Horst、

    PLL 条件下的良好捕获。 这是时钟误差的解释。 让我知道新设置会发生什么情况。

    一旦状态机做出更改、锁定标志可能会被覆盖、然后更改、但我会将其保持为0、直到器件本身标记它。

    此致、

    Jeff

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

    尊敬的 Jeff:

    今天我尝试了以下 PLL 设置以匹配上述第二个条件(PLLCK=5* PLLCKIN=5* SCK):
    J.D=1.0000 (=K)、P=1、R=5
    这会导致器件的待机和置入之间出现交替状态(以1秒为间隔进行检查)。

    之后、我尝试了(为什么"尝试"? 请参见下面的...)此设置来自48kHz 示例、表13中的 BCK 比率为256 (PLLCK=8* PLLCKIN=8* SCK):
    J.D=16.0000 (=K)、P=4、R=2
    现在、该结果处于器件的运行状态、并且使用我们的非音频标准频率(52.1kHz)进行的首次采样测试似乎正常。 )
    我希望器
    件保持稳定、因为使用此设置不能满足上述第二个条件(64MHz<8* 256*52.1kHz<100MHz)。

    但是-我不明白为什么我必须"尝试"。 我想、我可以按照数据表(ch. 9.3.9.4.5以及 BCC、SCK、DSP1/2、ADC 的比率条件)和器件应该进入运行状态。 也许我忽略了另一件事。

    此致、
    霍斯特

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

    您好、Horst、

    我不会使系统违反第二个条件。 可能会有一些裕度、但最好是让我们满意。 交替状态可能是由于某些时钟误差造成的。

    手动配置 PLL 非常复杂、很容易错过一些东西。 我将一个 Excel 工作表组合成计算器、以便用户可以快速确定 PLL/DSP 分频器值是否有效。 我已将其附在下面。 我发现5个不会提供有效的解决方案。 但是、如果您尝试6、并相应地调整分频器、您可以得到应该起作用的东西。

    e2e.ti.com/.../PCM186xPLLCalculator.xlsx

    此致、

    Jeff

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

    尊敬的 Jeff:

    再次感谢您的快速回复。
    我没有看到第二个条件、因为我从表13中获取了256* 48kHz 设置。

    您的建议、PLL 的因素6、工作正常、并导致器件处于运行状态、目前的采样结果可接受。

    也感谢您提供 Excel 表格。
    这会产生另一个问题:如何定义单元格 G5/H5/J5上的 DSP/ADC 分频器值?
    在您所说的文本框中、可以更改它们、以使产生的频率满足适当的 FS 倍数。 因此,该分频器值需要是生成的(R*K)/P 的半/相同/双精度值(对于 DSP1/DSP2/ADC)才能满足这一要求。 此时,我可以获取“任意”(R*K)/P 结果并找到匹配的分频器(G5/H5/J5)。 假定它们需要是整数、(R*K)/P 结果需要是一个偶数、并且必须满足 PLL 条件(第15/16行)。 这是否只是合理性检查? (数据表中会遗漏...)

    另一方面、这有助于发现 PLL 因子6似乎是我们情况下唯一的解决方案。

    此致
    霍斯特

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

    您好、Horst、

    G5/H5/J5是分频器值本身。 这些是您要写入寄存器以对分频器值进行编程的值。 PLL 时钟被该值分频、得到第6行中显示的时钟频率。 然后、表8会对照相应的 FS 倍数来检查该值。 由于表8分频器必须是整数、因此会产生您所看到的模式。

    是的、这只是一个合理性检查、以帮助确定哪些合适的 PLL/分压器值(如果有)将根据数据表中给出的限制为系统提供一个解决方案。 它经过整合并自动计算、使其比笔和纸更容易。 我们的一些音频编解码器已经制作了类似的 PLL 工具、因此我做了一些类似的操作来帮助解决这种情况。

    很高兴听到设备现在运行正常。

    此致、

    Jeff

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

    尊敬的 Jeff:

    感谢您的耐心等待、我的回复似乎永无止境...

    我没有向寄存器写入 G5/H5/J5值来编程 DSP1/DSP2/ADC 的分频器值。 我在那里写入了值1/0.5/0.25、所以这些块应该与相应的分频 PLLCK (80.025MHz/40.01MHz/20MHz)一起运行-也许这被我误解了。 表8显示了多个输出采样率、我使用了多个 PLLCK、不确定输出采样率是 PLLCK 还是 FS。 关于表13、幸运的是、生成的频率仍在 DSP 和 ADC 允许的范围内。

    根据您的建议、我将更正分频器值、以便 DSP1/2/ADC 以所需的最低频率运行。 如有必要、我可以通过返回到之前的值来增加它。 我可以在几天内检查它。

    此致、
    霍斯特

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

    您好、Horst、

     9.3.9.4之前的段落仅显示"采样率"(未提及输出)、因此我不知道该表包含该语言的原因。 有时、我们的编解码器可以以不同的采样率操作 ADC 和 DAC、但这显然不是这里发生的情况。 它可能是指作为输出的数字数据的采样率、这是冗余的、因为这里只有一个相关的采样率。 我确信它是指 LRCLK 的频率。

    表8列为最低要求、因此由于分频器不会违反最低要求、这可能说明它仍然起作用的原因。

    此致、

    Jeff