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.

[参考译文] LMK04828:4线 SPI 连接与 LMK04828

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1356713/lmk04828-4-wire-spi-connections-with-lmk04828

器件型号:LMK04828

您好!  

我想使用 STATUS_LD2引脚并设置两个寄存器值 PLL2_LD_MUX = 7和 PLL2_LD_TYPE = 0 (将 类型设置为0会将该引脚设置为输入或不输入?) 实现4线 SPI 功能。 如果 在 SPI 回读操作后 LMK04828 CS 被拉至高电平、该引脚是否会设置为 tri 状态、因为此 SPI 总线上还连接了其他器件?

请参考下图。 因为我有2个主器件(DSP 和 FPGA、因此使用开关来选择每个主器件)和2个从器件(LMK04828和 ADC)。

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

    PLL2_LD_TYPE = 0是保留设置。  即使假设我们复制了其他 GPIO 的功能、并且 PLL2_LD_TYPE = 0 未披露状态与具有类似寄存器 控制的其他 GPIO 对应于相同的输入状态、也没有生产测试可确保三态功能按预期工作。 我不建议使用保留设置,即使你相信他们做什么,因为丢失的生产测试保证。 我想让您在每个器件上自行测试 tri 状态功能、或者冒某个功能不正常的器件降低整个板的 SPI MISO 的风险、这最终是您的选择-对于生产受限的情况、这也许是合理的。 但首先必须验证输入模式是否可用。 我不确定是不是。

    在任何情况下、为什么不 为 MISO 使用其中一个 CLKIN_SELx 引脚? 它们在原理图中显示为未连接状态、并可通过寄存器设置确保支持 tri 状态引脚。

    或者、如果必须使用 STATUS_LD2、我建议改用 PLL2_LD_TYPE = 6 (开漏) 、并通过读取 具有保证奇数值的寄存器(即 x % 2 = 1)来最终读回器件、例如 ID_PROD (0x5)或 ID_VNDR[15:7](0xC)。  在逻辑高电平状态下、开漏输出在功能上为 tri 状态。 当然、您应该确认此功能符合预期-我从未尝试过此功能、因此可能存在 我未考虑到的意外问题。 您需要包含一个 限流串联电阻、以防止出现故障并以逻辑低电平状态回读输出时损坏引脚。

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

    尊敬的 Derek:

    感谢您的答复。

    已消除了 SPI 的所有混淆、并且根据您的建议、我已按如下所示修改原理图。

    请同时回答以下问题:

    1.在上面的原理图中、我们是否需要在 CLKIN_SELx、STATUS_LDx、SYNC 和 RESET IO 引脚上使用任何限流串联电阻器、以1K 开头可以?

    2.我已经将 CLK 输入从时钟缓冲器连接到 CKLIN1/CLKIN*引脚。 每次在阅读数据表之后我了解到以下2个选项时、都将其选择为活动时钟输入

    1.通过引脚选择模式、通过将 CLKIN_SEL_MODE 寄存器值设置为3 (默认值)。 在我们的设计中、当 CLKIN_SEL1引脚配置为 SPI MOSI 输出(因此、引脚输入值被视为低电平)。 因此,如果我将  CLKIN_SEL0引脚设置为高电平,则 会选择 CKLIN1/CLKIN*引脚作为有效输入(正确吗?它是否会工作?) 如果在 SPI 回读操作后将 CLKIN_SEL1引脚重新配置为输入(无上拉和下拉)时会发生什么情况?

    2.或通过手动模式、通过 将  CLKIN_SEL_MODE 寄存器值从3更改为1 (在 IC 复位后或在 POR 时)来实现。 当我们通过 SPI 更改该值时、IC 是否会在选择活动时钟或生成错误之前等待

    我倾向于使用第二个选项、因为我不会依赖 CLKIN_SELx IO 引脚进行 CLK 输入选择、这将释放这些引脚用作 SPI 操作、但在出现任何错误时会犹豫不决。

    感谢您帮助我了解 IC。

    此致、
    阿尔沙德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 在上面的原理图中、我们在 CLKIN_SELx、STATUS_LDx、SYNC 和 RESET IO 引脚上是否需要任何限流串联电阻器、1K 可以从?

    如果您预见到网络可能会有多个输出驱动器争议(即来自 LMK04828输出和 DSP/FPGA 输出、或用于 SPI 读回)、则宜使用限流电阻器; 但如果将网络用作输入、或保证仅由 LMK04828驱动、则这就不是必需的了。 1kΩ 足矣。 LMK04828上的每个 GPIO 都可以处理~20mA、因此限制因素可能是 DSP/FPGA 的驱动能力。 如果使用任何开漏输出、请注意上拉阻抗和限流阻抗的串联和、因为这会显著减慢小电容网络上的信号速度。

    2. 或通过手动模式、通过 将  CLKIN_SEL_MODE 寄存器值从3更改为1 (在 IC 复位或 POR 后)。 当我们通过 SPI 更改该值时,IC 是否会在选择活动时钟或产生错误之前等待

    您可以随时从引脚模式切换到手动模式。 首选使用手动模式强制执行 CLKin1的方法、因为正如您注意到的、它会释放 CLKIN_SELx 引脚。 对于分配模式用例、我们还建议设置 CLKIN_OVERRIDE (0x150[6])= 1、因为这会完全禁用输入时钟切换状态机-通常状态机会定期检查所有启用的输入时钟是否存在信号、以便为保持电路和自动时钟切换机制提供信息。 但在分发模式下、我们只需要 CLKin1、则状态机是无用的、并且不会因此而被禁用。