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.

[参考译文] DS110DF410:关于对 DS110DF410SQ 的控制/共享寄存器和通道寄存器进行读取/写入操作

Guru**** 2535750 points
Other Parts Discussed in Thread: DS100DF410

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1559290/ds110df410-regarding-read-write-operations-to-the-control-shared-registers-and-channel-registers-of-ds110df410sq

部件号:DS110DF410
主题DS100DF410 中讨论的其他部件

工具/软件:

您好:

我们目前正在通过 SMBus 验证 DS110DF410SQ 每个寄存器的读取/写入行为。
我们有几个问题、请您予以澄清。

(1) 我的理解是、地址 0xFF(通道选择寄存器)处的控制/共享寄存器无法通过 SMBus 读取。
因此、我认为无法通过读回并检查一致性来确认是否已将正确的值写入地址 0xFF。
这种理解是否正确?
此外、如果有方法可以确认是否将正确的值写入地址 0xFF、请告诉我们。

(2) 我的理解是、将 0x04 写入地址 0x00 处的通道寄存器时、所有通道寄存器都恢复为默认值。
因此、执行此操作后、如果再次读取地址 0x00 处通道寄存器的值、将立即读取默认值 0x00 而不是 0x04。
这种理解是否正确?
  

(3) 我的理解是地址 0x3F 处通道寄存器的所有 0-7 位都被保留。
如果将某个值写入此寄存器、是否会正确存储该值?
此外、在读回该值时、是否会返回写入的值?
请阐明在保留所有位的寄存器上读取/写入操作的预期行为。

(4) 将 0x04 写入地址 0x00 处的通道寄存器(将所有通道寄存器恢复为默认值)后、我们发现从地址 0x03 读取返回了 0xA5。
我们预计会返回默认值 0x00、但情况并非如此。
您能告诉我们这种行为的可能原因吗?


此致、

K.Hirano

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

    Hi Hirano-San,

    1. DS100DF410 上的数字行为有点奇怪,寄存器 0xFF 将每次读回 0xA5。  似乎发生的情况是、当选择一组通道寄存器时、在典型通道寄存器范围 (0x00-0x75) 之外、寄存器将从 0x40-0x5F 读回值。  在 10G 重定时器上设置寄存器 0xFF 是我不建议执行 RMW 程序的少数几种情况之一。

    另请参阅此 e2e

     DS110DF410:寄存器 0xFF 编程问题。 

    2.是的,你的理解是正确的。

    3、您对向寄存器 0x3F 写入内容有何兴趣?  我们希望存储写入它的值、尽管在许多情况下、保留寄存器是内部寄存器、更改这些寄存器可能会产生意外的影响。

    4.在这种情况下、重定时器是否提供了输入信号?  我很好奇寄存器值是否会由于调整而变化。

    谢谢、

    Drew

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

    Drew、

    感谢您的及时答复。

    1.
    他们明白、不建议对寄存器 0xFF 执行 RMW(读取 — 修改-写入)操作。

    2.
    我懂了。

    3.
    由于客户的请求、他们询问如何写入寄存器 0x3F。
    但是、由于这可能是客户方面的错误、他们将与客户确认这一点。
    无论如何,他们理解你对这个问题的回应。

    4.
    他们将检查是否向重定时器提供了输入信号并返回给您。
    此外、他们通过 SMBus 将 0x00 写入寄存器 0x03、并能够按预期读回 0x00。
    客户请求在启动时将 0x00 写入寄存器 0x03。
    通过在写入后读回该值、用户想确认写入是否成功。
    这可以还是不推荐?

    此致、

    K.Hirano

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

    Hi Hirano-San,

    4.客户可以将 0x00 写入寄存器 0x03。  请注意、此寄存器反映了 CTLE 值、并将由重定时器调整来更改。  我建议查看数据表的第 8.5.8 节“覆盖 CTLE 增强设置“。

    谢谢、
    Drew

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

    亲爱的德鲁

    非常感谢您的答复。

    我们已经明白、可以将 0x00 写入地址 0x03。 我们还知道、写入的值可能会由于重定时器的调整而发生变化。 客户要求我们按如下方式配置重定时器(按从上到下的顺序应用设置):


    在我们的设计中、在写入每个寄存器后、我们会立即执行读取操作来确认写入的值是否可以按原样读回、从而验证写入操作是否成功。 正如您之前建议的那样、不建议从寄存器 0xFF 读取、因此我们会跳过 0xFF 的读回检查。 此外、将 0x04 写入寄存器 0x00 时、如果读回值为 0x00(默认值)、我们认为这是可以接受的。

    (Q1) 当我们将 0x00 写入寄存器 0x03 并立即读回寄存器 0x03 的值时、您能否保证读回 0x00?
    如果重定时器的调整可能会将其更改为 0x00 以外的值、我们认为应跳过寄存器 0x03 的读回检查、就像我们对寄存器 0xFF 所做的那样。

    (Q2) 对于我们要写入的寄存器、如果除 0xFF 之外有任何其他寄存器应跳过读回检查、请告诉我们。

    我们感谢您就此提供建议。

    此致、
    增田哲也

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

    尊敬的 Masuda-San:

    您能否详细介绍一下客户为何启用原始数据?  选择重定时器器件并启用原始数据会有点令人惊讶。

    1.自适应模式设置为 0 后、我们不希望重定时器调整来更改寄存器 0x03 中的值。

    2.除寄存器 0x00 和 0xFF 外、您还应该能够对其他寄存器执行读回检查。

    谢谢、

    Drew

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

    亲爱的德鲁

    感谢您的答复。

    1.我知道如果自适应模式设置为 0(将 0x00 写入寄存器 0x31)、则可以在将 0x00 写入寄存器 0x03 时执行读回检查。

    2.理解。


    我还有一个问题。 关于您的注释“选择重定时器器件并启用原始数据有点令人惊讶“、您是否意味着设置原始数据(设置 0x00 来实现 EQ 增强)会使使用重定时器器件毫无意义? 我的理解是否正确?

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

    尊敬的 Masuda-San:

    客户似乎正在遵循编程指南中的“RAW mode“序列。

    重定时器器件的主要特性之一是 CDR 电路。  这使得器件能够滤除输入信号的抖动并输出“干净“信号。  由于有一个内部恢复时钟、这也可以实现更高级的均衡、例如 DFE。

    在原始模式下、客户绕过 CDR 电路、因此不会重新定时输出信号。  在此模式下、重定时器的作用更像转接驱动器。

    谢谢、

    Drew

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

    尊敬的 Drew:

    感谢您提供编程指南。
    我也感谢您的详细解释。 我已经理解了内容。

    我将与客户核实在重定时器上设置原始模式的意图、或者他们的请求中是否存在任何错误。


    感谢您的支持。

    此致、
    增田哲也