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.

[参考译文] LMK3C0105:I2C 寄存器编程

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1500814/lmk3c0105-i2c-register-programming

器件型号:LMK3C0105

工具/软件:

您好、

我们已经设置了一个使用 LMK3C0105作为可编程时钟源的原型。

我们有两个问题:

  1. 本手册中未介绍、但我们注意到、如果要写入的寄存器值与给定的预期/预定义值不匹配、LMK3C0105会拒绝接受数据(I2C 不确认)。 在这里、您可以看到在尝试向寄存器 R10写入0x0012字时捕获的迹线。 您能否确认此行为? 解决方案是读取寄存器 R10、修改 single-bit 并将其写回、对吧?

2.如前所述、我们需要使用 LMK3C0105作为可编程时钟源、现在的情况是我们只能在上电后才对内部寄存器进行编程。 从第二次尝试开始、器件不会响应任何 I2C 事务。  LMK3C0105是否可以接受多次重新编程、假设每分钟通过 I2C 进行一次新的频率配置? 如果是这种情况、并且可以在用户需要时对系统进行重新编程、这意味着、如果器件进入 OTP 模式、如何检查器件是否处于 OTP 或 I2C 模式?

期待您的答复

此致

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

    再次大家好、

    这里解释了我们的错误、以防其他人未能仔细阅读数据表。

    我们对 FOD 频率重新编程、该频率用作基时钟以生成输出频率、但相同的 FOD 信号也用于生成内部频率、以驱动最大频率为50MHz 的数字状态机(I2C 从器件接口)。 FOD 频率和数字状态机时钟速率之间的比率在寄存器 R0 (位15至10)中定义、需要相应地更新。 如果在重新编程 FOD 频率后 得到的数字状态机时钟速率大于50MHz、则 I2C 总线接口将不再工作。 至少这是我们所经历的。

    此致