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.

[参考译文] OPT9221:OPT9221主模式如何对配置寄存器进行编程

Guru**** 2544780 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/621197/opt9221-opt9221-master-mode-how-to-program-the-configuration-registers

器件型号:OPT9221
主题中讨论的其他器件: OPT8241

您好!

在题为"OPT9221主串行配置"的主题上的对话之后、它提到了"需要进行外部复位、然后根据需要进行寄存器编程"。 在哪里可以找到要编程的寄存器序列? 我们遵循了 CDK 硬件设计、但没有 FX2微控制器。 从 OPT9221数据表中、我看到 TG_DIS 需要设置为0才能启动系统序列。 是否需要对其他寄存器进行编程才能开始查看数据帧是否发出?

根据对4 LAN 串行模式线程的读取、另一个用户仅将 SYSCLK 频率配置为 DE 寄存器的0x33、然后将 TG 寄存器0x80设置为0以开始流式传输。 这意味着、只要使用默认设置、然后将 TG 0x80设置为0、就可以开始流数据。 是这样吗?

但是、当我尝试使用0x010030 (默认为0x000030)向 DE 0x33写入数据时、寄存器值不会改变。 虽然我们有48MHz 的 SYSCLK、但我只是尝试修改寄存器以查看是否可以对其进行写入。 这意味着 I2C 写入有问题、是吗? 如果是 I2C 写入问题、原因可能是什么?

谢谢。

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

    我们已收到您有关 OPT9221器件的查询、应用团队将很快回复您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Praveen、很好地得到您的回应。 您如何看待我的问题?

    仍然是一个问题、我们可以读取所有的 TG 和 DE 寄存器、但如果我们对它们进行写入、I2C 会成功、但回读时该值不会改变。

    读取 TG 0x2寄存器时、数据表中的默认值应为0、但得到的值为0x18。 这是否表示存在问题? 所有其他 TG 寄存器位于0xc、0xd、0xe、0xF、0x12、 0x20、0x21、0x22、0x80、0x81、 0x82、0x83、0xcc、0xd6返回默认值。

    DE 0x1寄存器默认为0x1xx、但读取0x80031d。 这意味着什么吗? 已尝试在0x0、0x2、0x3处读取 DE 寄存器、它们将获得正确的默认值。

    我还看到 另一个有关将 opt8241连接到外部硬件的线程。 它提到"TFC_HD _BD_OUT (这是写入使能)... "。 是否应将 BD/HD 信号连接到高电平或低电平以启用写入?

    关于  OPT9221引导的另一个主题 建议将 SLEEP/READY/CEZ 设置为0/1/0。 我将检查它以进行确认。 如果不起作用、我可能会通过禁用 FX2来探测 CDK、正如上面的主题"将 opt8241连接到外部硬件"所建议的那样。 还有其他想法吗?

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

    您能告诉我们您想要实现的目标的"大图"吗? 您是否使用 Voxel SDK 设置这些寄存器或使用自己的工具直接使用 I2C I/O? 您是否尝试将结果与 Voxel Viewer 为您提供的结果进行比较?

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

    大家好、Larry、更重要的是我们用自己的外部处理器替换了 FX2。 它与 我之前引用的另一个线程没有什么不同

    我将直接通过 I2C 对 OPT9221进行编程。

    否、我没有与体素查看器进行比较。 查看器是否配置了所有寄存器、而不是 FX2? 如果是这种情况、您建议我查看一下查看器如何为特定功能配置所有内容。 但让我问一个简单的问题:如果我不做任何其他事情、只需向 TG 寄存器0x80写入0、帧数据是否应该开始输出? 通过成帧数据、我的意思是我们开始看到 HD 和 VD 切换以形成一个帧。

    感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最终、我们发现只需将引脚准备/溢出/休眠引脚拉至1/0/0即可。 然后将 TG 寄存器0x80配置为0。 生成帧数据所需的全部功能。