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.

[参考译文] CDCE913:寄存器访问

Guru**** 2390735 points
Other Parts Discussed in Thread: CDCE913

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/887128/cdce913-register-acces

器件型号:CDCE913

您好!

我尝试从 CDCE913中读取寄存器,返回的值对我来说似乎是不正确的:

于是我来到这个论坛,我阴道读了"CDCE913:I2C 字节访问奇数地址"这条线程,我在这里看到了与我的地址不同的寄存器地址,就像这样:

因此,我尝试添加似乎为0x80的偏移量,然后我得到的维尔值更少:

请问最后读出的值是否是我要查找的寄存器? (通用配置寄存器)

如果是这样、我想更改从器件地址、但我宁愿在写任何内容之前确定它是正确的寄存器

此致、

船用 CHESSA

(P.S. :现在设备工作正常,我只需要为另一个设备获取免费的从地址0x65)

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

    图片未显示、请在 attachede2e.ti.com/.../CDCE913_5F00_valuesreadeddocx.docx 文件中找到它

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

    您好、Marine、

    我不确定我是否正确理解了您的问题。 但首先、I2C 地址的最后两位是可编程的:  

    其次、数据表中提供了 I2C 读取/写入指令:

    例如、如果您想读回寄存器 R5的值、首先写入器件从地址、然后写入"0"、然后写入 R5的地址(0000 0101)。 然后、重复起始符号、器件从地址、读操作的"1"以及您读回的下一个字节将是寄存器值。

    此致、
    Hao

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

    您好 Hao、

    我有一个 I2C 总线、它是正常的(我可以在总线上读取和写入其他器件)

    我还能够读取 CDCE913寄存器。


    我知道我可以更改从器件地址、这就是我的目标。

    但是当我读取寄存器"0x01"时、器件会回答"0x07"=> 确定为什么不.... (出于好奇、我还读取其他寄存器为0x02、0x03、...、0x06答案始终为"0x07"=> wierd)

    因为我已经在论坛上搜索,我看到有人向寄存器地址添加了一些“偏移”,而不是给“0x01”(=0b0000 00001)寻址“0x81”(=0b1000 0001)。

    (https://e2e.ti.com/support/clock-and-timing/f/48/p/858572/3176365#3176365

    因此、我尝试使用它来读取我的寄存器、我得到了以下答案

     读取寄存器0x81 => 0x01

     读取寄存器0x82 => 0xb4

     读取寄存器0x83 => 0x01

     读取寄存器0x84 => 0x02

     读取寄存器0x85 => 0x50

     读取寄存器0x86 => 0x0E

    这些答案似乎比"0x07"更合法

    我的问题是:
    当我在寄存器地址“0x81”上发送“读取” 时,我是否正在读取“通用配置寄存器01h”?
    那么,我是否可以放心地写入该寄存器,它将执行我想要的操作? 不会以不必要的方式影响设备功能?

    提前感谢

    船舶

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

    您好、Marine、

    很抱歉耽误你的回答。 我相信0b1000 0001的第7位中的"1"代表读取;而0代表写入。

    若要检查写入的内容是否正确、可以选择非只读寄存器并查看是否可以读回写入的内容。

    此致、
    Hao