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.

[参考译文] TCAL9539-Q1:寄存器写入顺序

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1481192/tcal9539-q1-register-writing-order

器件型号:TCAL9539-Q1
主题中讨论的其他器件: TCAL9539

工具与软件:

嗨、团队:

我们将 TCAL9539-Q1用作 IO 扩展器、偶尔有些芯片会出现 找不到 I2C 的问题、且所有输出均设置为高电平。 在本例中、我们 首先写入0x45、0x46、0x4a、0x4b 寄存器、然后写入 0x00~ 0x07端口寄存器。 我们尝试更改这两组寄存器的顺序、因此不会出现任何问题。

所有这些寄存器的写入顺序是否建议?

谢谢。

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

    请指定您要写入的实际值和期望的效果。

    (寄存器编号0x45/0x46不太可能是正确的;寄存器对从偶数开始。)

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

    尊敬的 Lelian:

    正如 Clemens 所建议的、我们需要知道每个寄存器的值。 0x45/0x46/0x4A/0x4B/0x00-0x00-0x07。 写入每个寄存器的值将决定 IO 的行为。  

    此致、

    Tyler

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

    您好、克莱门斯:

    附加的 pic I 是我们实施到 IO 扩展器的寄存器

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

    这些看起来不错。

    到底是什么错了? "I2C 找不到"听起来好像器件缺失、损坏或未上电;在这种情况下、根本无法写入寄存器。 如果出现错误、是否更换芯片就能解决问题?

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

    Lelian,

    请查看 Clemens 的评论。  

    我认为 Excel 文件中的写入/读取反馈没有问题。 看起来是正确的。  

    此致、

    Tyler

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

    有些情况下、VDD 上电后所有端口的输出设置为高电平、进而导致汽车出现问题;目前我们无法测量端口意外设为高电平时到底发生了什么、因为汽车内有这个端口。 软件同事表示他们执行了这些 I2C 操作。 现在我们正在分析这些 I2C 操作。

    我们测量了 VCC 的斜升和斜降、这些符合数据表中列出的要求。

    除写入寄存器外、是否有任何情况下端口设置为高电平?  我们发现 I2C 地址问题是由其他与 IO 扩展器输出异常高相关的 I2C 器件引起的

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

    默认输出状态为1、但所有引脚的默认配置均为输入。  为确保输出不会变为高电平、请在配置寄存器之前写入输出寄存器。

    (μ I²C 没有纠错功能、软件可能存在错误、并且意外向扩展器的寄存器写入了一些错误的值。)

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

    尊敬的 Lelian:

    在一些情况下、加电 VDD 后所有端口的输出都设置为高电平

    为了澄清、在上电后(遵守上电复位规则)、I/O 扩展器会以输出为启动且所有引脚均为高电平?  

    现在是向 I/O 扩展器发送 I2C 写入命令以配置该器件之前?  

    TCAL9539-Q1没有非易失性存储器。 它不记得之前的配置状态。 加电时、器件应复位为其默认状态、即所有 I/O 均设置为输入。  

    此问题是否曾在多个 TCAL9539-Q1上出现过、还是单个器件问题?  

    是否有除写入寄存器以外的端口设置为高电平的情况?  [报价]

    对寄存器进行写入应该是通过寄存器0x06和0x07将 Pxx 引脚配置为输出的唯一方法。  

    我们发现 I2C 地址问题是由与 IO 扩展器输出异常高相关的其他 I2C 器件引起的

    我不理解这部分问题。 我可以在这里解释一下"I2C 地址问题"的含义吗? I2C 总线上的其他器件对该情况有何影响?  

    此致、

    Tyler

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

    泰勒您好:

    其中一个 IO 扩展器输出控制放大器的电源、一旦将输出设置为高电平、放大器就会进入断电模式。 但在本例中、放大器电源在断电后剩余2V 电压、该剩余电压会导致 I2C 总线上出现意外性能。 我们可以看到 IO 扩展器 I2C 地址找不到的问题实际上是由同一 I2C 总线上的放大器的异常行为引起的。  

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

    尊敬的 Lelian:

    但在本例中、在断电后、放大器电源上仍有2V 电压、

    TCAL9539-Q1使用其配置为输出的 I/O 之一将使能信号设置为放大器的电源。 当该信号为 OUTPUT = HIGH 时、放大器进入断电模式。  

    但是、电源不会完全关闭、为放大器提供2V 电压。 由于存在这个剩余电压、它会导致 I2C 总线上出现意外行为。  

    SDA 和 SCL 上的 PU 电阻器是否已连接到此放大器? 由于放大器接收到部分功率、是否因为电压下降而导致 I2C 总线无法正常工作? 那么这是合理的、因为 I2C 总线永远不会达到 VIH、VIH = 0.7 x VCC。 如果 TCAL9539的 VCC 为 VCC = 3.3V、则 VIH = 0.7 x 3.3V = 2.31V  

    是这样吗?  

    此致、

    Tyler