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.

[参考译文] DS90UH941AS-Q1EVM:连接到 DS90UB948并设置寄存器

Guru**** 2553450 points
Other Parts Discussed in Thread: DS90UH941AS-Q1EVM, DS90UB948-Q1, ALP, OPT3001

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1126865/ds90uh941as-q1evm-connect-to-ds90ub948-and-set-up-registers

器件型号:DS90UH941AS-Q1EVM
主题中讨论的其他器件: DS90UB948-Q1ALPOPT3001

您好,

我正在尝试将 DS90UH941AS-Q1EVM 连接到具有 DS90UB948-Q1解串器的完整 LCD 模块;我可以通过任何方式配置解串器寄存器来启动 LCD? 我似乎无法配置 DES 寄存器... 谢谢!

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

    您好、Nick、

    您是否正在尝试从948 ALP 端访问远程寄存器? 如果是,您可以通过941AS ALP 配置文件在本地访问941AS 寄存器,也可以通过941AS 配置文件远程访问948寄存器,因为948是连接到941AS 远程 I2C 的下游器件。  

    通过941AS ALP 配置文件访问948远程寄存器

    如果要从948侧访问941AS,可以使用“Scripting”(脚本)选项卡。

    对941AS 使用 devAddr --在我的例子中它是0x18。 读取以十六进制形式为我提供的器件 ID 24或0x18、这是941AS ID 的预期值。  

    此致、
    Fadi A.

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

    你好 Fadi -谢谢你的回应!

    当我尝试远程访问948寄存器(远程寄存器)时、弹出错误消息。 是否有一种好方法可以从脚本中远程修改948寄存器? 我正在尝试为941 (evokit)和下游948 (LCD 模块)设置寄存器。

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

    您好、Nick、

    您能给我提供有关如何配置941和948的更多详细信息吗? 您是否已在单路或双路 FPD-Link 模式下连接它们? 您使用的是什么 PCLK? Ser/Des 的 IDX 地址是什么,您尝试从何处访问 I2C?  

    您能否给我发送一份包含 Ser/Des 的应用方框图并指向我您尝试从哪个位置与948通信?
    现在、让我们在本地建立与941AS 的 I2C 通信。 打开 ALP 并将其设置为941AS 配置文件。  在本例中、EVM IDX 设置为0x18 -请参阅下表。

    这意味着、如果我想在本地读取941AS ID 寄存器0x00  

    我会在 ALP 脚本选项卡中使用以下 python 命令。
    serAddr = 0x18
    board.ReadI2C (serAddr、00) #This 将在本地读取941AS 的寄存器0x00值、在本例中为0x18。

    本例中的948 IDX 设置为0x58
    因此、如果我想与之通信、我也可以对941AS 使用相同的 ALP 脚本选项卡、但使用 948 IDX 地址而不是941AS IDX 地址与 DES 端通信。  

    例如:如果我想从941AS 脚本选项卡中读出948的一般状态  

    我将编写以下代码:
    DESADDR = 0x58
    board.ReadI2C (DesAddr、0x1C)

    如果我要通过941AS "Scripting"选项卡远程向948寄存器0x24写入值0x01、我将执行以下操作:
    board.WriteI2C (DesAddr、0x24、0x01)   

    如果我想将0xFA 写入941AS 寄存器0x03、我将执行以下操作:
    serAddr = 0x18 #器件 ID 由 IDX 外部自举分压 器网络设置。  
    board.WriteI2C (serAddr、0x03、0xFA)

    如果您在上面尝试但仍然无法正常工作、

    通过 FPD-link 通道将941AS 连接到948、并在本地将 I2C 连接到941AS、然后向我发送941AS 信息选项卡的屏幕截图。  

    它应该与下图类似、只有您才能看到 DS90UB948作为合作伙伴信息、而下图中的 DS90UH928则是如此。  

    此致、
    Fadi A.

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

    您好 Fadi、

    我能够设置图形发生器来设置像素时钟、但仍然无法使用导航栏上的远程寄存器选项卡。

    如果只有"Remote Register"选项卡无法正常工作...

    也许我可以使用脚本编辑一些寄存器?

    board.ReadI2C (DesAddr、0x??)
    board.WriteI2C (DesAddr、0x??)

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

    当我尝试使用脚本进行 I2C 读取/写入时、有时似乎无法正确回读正确的值。

    但是、当我转至"Registers"选项卡进行检查时、它实际上是正确写入的。。。

    我们是否知道为什么有时会出现这种不一致? 谢谢。

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

    我在这里找出了问题,并使用 hex()来转换 I2C 读取值。

    另一个问题- I2C 如何写入2字节数据?

    对于另一个远程 I2C 器件(OPT3001 -环境光传感器)、我尝试将 I2C 2字节数据访问到寄存器、但似乎不成功。

    board.ReadI2C (0x88、0x7F、2)
    [48、1]

    board.ReadI2C (0x88、0x7F、2)
    [48、1]

    十六进制(board.ReadI2C (0x88、0x7F))
    '0x30'

    十六进制(board.ReadI2C (0x88、0x7F))
    '0x30'

    board.ReadI2C (0x88、0x02、2)
    [0、0]

    board.ReadI2C (0x88、0x02、2)
    [0、0]

    board.WriteI2C (0x88、0x02、0xBBFF)

    board.ReadI2C (0x88、0x02、2)
    [0、0]

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

    您好、Nick、

    只需确认, 您似乎能够使2字节的读操作正常工作,但写操作不起作用?

    此致、
    Fadi A.

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

    正确- I2C 写入2字节数据是否有特定格式

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

    您好、Nick、

    我看到、在这种情况下、您需要使用正确 的语法 写入2字节地址、如下所示:

    此致、
    Fadi A.