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:寄存器0xFF 编程问题。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1161200/ds110df410-reg-0xff-programming-issue

器件型号:DS110DF410

您好,

我的一位客户 无法为寄存器0xff (0x0以外)编程所需的值、即使在 i2c 写入差分值后、该值仍保持在0xA5中

请检查并告知我们缺失的内容。 我们还可以通过短时间来解决此问题。

我们参考的是“DS110DF410 SNLS397D”数据表。

 

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0xA5

[VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x0

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0x00

[VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x04   //读取和写入目标通道0寄存器集

[VRF:none] root@hwxacs1-7030-re0:~

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0xA5

[VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x05。 //读取和写入目标通道1寄存器集

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0xA5

[VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x06。 //通道2

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0xA5

[VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x07

[VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff

0xA5

[VRF:none] root@hwxacs1-7030-re0:~

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

    尊敬的 Dilip:

    这绝对是一种意想不到的行为。  重定时器设置为哪种 SMBus 模式?   如果您读回共享寄存器0x00、这是否与器件设置的地址匹配?

    谢谢、
    Drew

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

    您好、Drew、  

    感谢您关注此问题。 重定时器设置为 SMBus 从模式(设置为 EN_SMB =高电平)。  共享寄存器0x00值与地址正确匹配

    [VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff //选择的共享寄存器
    0x00

    [VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0x00  //SMBus_Addr[3:0]是 b'0000  
    0x00

    因此、7位 SMBus 地址为0x18。

    寄存器0xff (位1:0)的通道选择位不会改变。 LSB 位设置为0x5或0x0 (位3:0)。

    还请告诉我们一种检查信号检测(SD)的方法? 我们可以读取的任何寄存器?

    //共享寄存器转储

    [VRF:none] root@hwxacs1-7030-re0:~# i2cdump -y 0 0x18
    未指定大小(使用字节数据访问)
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:00 f0 00 01 0e 00 04 00 00 00 00 00 00 00 00 00 00 00
    10:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    20:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    30:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    40:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    60:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [VRF:none] root@hwxacs1-7030-re0:~

    /通道 寄存器转储

    [VRF:none] root@hwxacs1-7030-re0:~# i2cset -y 0 0x18 0xff 0x04
    [VRF:none] root@hwxacs1-7030-re0:~# i2cget -y 0 0x18 0xff
    0xA5
    [VRF:none] root@hwxacs1-7030-re0:~# i2cdump -y 0 0x18
    未指定大小(使用字节数据访问)
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:00 01 00 A5 00 00 00 00 00 00 00 00 00 10 0f 08 00 93 69 ?????I
    10:3A 20 a0 30 00 10 7a 36 40 23 00 03 24 00 fe 55:“0..Z6@#.$.?U
    20:00 00 00 40 00 00 00 00 30 00 72 80 00 06…@@… 0.r?..?
    30:00 20 11 88 3f 1f 31 00 00 A5 00 00 80 00。 ????1??????
    40:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90???@?????? 0AP?`?
    50:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5?FR???W?iu???
    60:00 00 00 00 00 00 20 00 0A 44 00 00 00 00 00 00 00....... D…
    70:03 20 00 00 00 00 b0 C8 57 5d 69 75 D5 99 96 A5? ?????????
    80:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90???@??????? 0AP?`?
    90:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5?FR???W?iu???
    A0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90???@??????? 0AP?`?
    B0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5?FR???W?iu???
    C0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90????@?????? 0AP?`?
    D0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5?FR????W?iu???
    E0:00 01 04 10 40 08 02 80 03 0c 30 41 50 c0 60 90????@??????? 0AP?`?
    F0:88 82 a0 46 52 8c b0 C8 57 5d 69 75 D5 99 96 A5?FR?????W?iu???
    [VRF:none] root@hwxacs1-7030-re0:~

    谢谢

    Pradeep

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

    您好 Pradeep、

    感谢您共享寄存器转储。  有趣的是、通道寄存器转储似乎具有重复性数据。  这可以在"99 96 A5"字符串中看到。  这也对应于寄存器5D-5F 的默认值。  这绝对是不寻常的行为。  您能否在地址0xFF 设置为0x00时共享 I2C 线路的示波器捕获、以及导致0xA5的值?

    此问题是仅发生在一个器件还是多个器件上?

    谢谢、
    Drew

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

    您好、Drew、  

    我已请求我们的硬件工程师探测和捕获数据、并将很快与大家分享。 在其他包装盒上也会发现此问题(连接了下面的输出)。

    我们是否有任何寄存器可以读取以了解信号检测?

    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0x00
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x4
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0xA5
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x5
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0xA5
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x6
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0xA5
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x7
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0xA5
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x0
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0x00
    [VRF:none] root@hw-con7-6035-re0:~# i2cset -y 0 0x18 0xff 0x6
    [VRF:none] root@hw-con7-6035-re0:~# i2cget -y 0 0x18 0xff
    0xA5

    谢谢

    Pradeep

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

    您好、Drew、

    我为不同的偏移读数附加了波形。 也适用于写入和读取操作。 文件名本身中提到了每个操作的详细信息。

    偏移量0x0未显示 SMBus 地址。 此外、器件 ID 0x1显示值0xf0。 请检查并确认此读操作是否有效。 我在数据表中找不到器件 ID。

    e2e.ti.com/.../TI_2D00_Mux_2D00_DS110_2D00_Debug.zip

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

    Pradeep 和 Murali、您好、

    感谢您分享波形。   我在看他们的时候没有看到任何不同寻常的东西。

    关于信号检测、DS110DF410上没有直接报告信号检测状态的寄存器、但有一个信号检测损耗指示器。  这是通道寄存器0x01[0]。  一旦信号被采集、然后丢失、该位就会被置位。

    您能否确认您的实现中 READ_EN 连接到低电平?

    谢谢、
    Drew

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

    您好、Drew、

    我们尝试将 READ_EN 连接到低电平、并尝试相同的操作。 我看不到有什么不同。 但我从 SMBus 从模式的数据表中了解到、该自举需要较低。

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

    您好 Murali、

    我将尝试从 DS110DF410获取寄存器转储、以查看寄存器0x76-0xFE 是否与您的寄存器转储相匹配。

    话虽如此,这似乎仍然是一种非常奇怪的行为。  您是否可以共享任何其他系统详细信息?  您提到这是在另一个系统上发生的。  这是在所有系统上发生的、还是只是一些系统表现出这种行为?

    谢谢、
    Drew

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

    您好、Drew、

    一个好消息是、DS110DF410能够为我们的应用提供支持、而且它的工作对我们来说很好。 通道选择工作正常。 但我们看到、只有 0xFF 寄存器在选择任意通道时始终显示为0xA5不符。 也许这个可以检查并验证它在您的评估板中的行为方式。

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

    您好 Murali、

    我在评估板上确认它的行为与您所描述的相同。  也就是说、根据我在评估板上执行的测试、当写入0xFF 时、似乎选择了相应的通道寄存器。  我建议避免对寄存器0xFF 执行 RMW 操作、而只覆盖0xFF 内容。

    谢谢、

    Drew