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.

[参考译文] TCA6424A:问题:关于寄存器设置

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1448098/tca6424a-question-about-register-settings

器件型号:TCA6424A

工具与软件:

◆问题

1.是"极性反转寄存器"寄存器、只能反转输入端口的极性?

2.只能为输出端口配置的"配置寄存器"寄存器是多少?

    另外、您能否说明在哪些具体情况下需要进行这些设置?

此致

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

    这将是另一个问题。

    3.将配置寄存器用作输出端口时、是否需要将其设置为0? (因为默认值全为1)

    4.我不能通过设置输出端口寄存器(寄存器4、5和6)来将其用作输出端口吗?

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

    User6448843、

    [报价 userid="462352" url="~/support/interface-group/interface/f/interface-forum/1448098/tca6424a-question-about-register-settings "]1.仅可反转输入端口极性的"极性反转寄存器"寄存器?[/QUOT]

    极性反转应影响配置为输入和输出的两个引脚。  

    [报价 userid="462352" url="~/support/interface-group/interface/f/interface-forum/1448098/tca6424a-question-about-register-settings "]2."配置寄存器"寄存器只能配置为输出端口?[/QUOT]

    不完全是。 配置寄存器用于配置引脚的方向。 该寄存器用于配置引脚是高阻态输入还是推挽输出。  

        此外、您能否告诉我在哪些特定情况下需要这些设置?

    当 MCU 耗尽外部 GPIO 时、使用 IO 扩展器。 因此、您可以使用 I2C 总线作为使用我们的器件的多个 IO 的扩展。  

    我们的 IO 扩展器允许用户混合使用 IO 扩展器的配置寄存器定义的输入和输出、根据自己的需求配置多个引脚。  

    [报价 userid="462352" url="~/support/interface-group/interface/f/interface-forum/1448098/tca6424a-question-about-register-settings/5553442 #5553442"]3.将配置寄存器用作输出端口时、是否需要将其设置为0? (因为默认值全为1)

    是的。 例如、设置位 C-07 = 0会将 P07设置为输出。  

    C-07 = 1会将 P07设置为输入(在上电时默认设置)。  

    4.我不能只是设置输出端口寄存器(寄存器4、5和6)来将其用作输出端口?

    您可以将配置寄存器视为方向位。 它决定引脚是输出还是输入(流出的数据、流入的数据)。  

    输出端口寄存器控制配置为输出的引脚上的逻辑。 如果特定引脚的输出端口寄存器为1、则将产生逻辑高电平。 同样、如果特定引脚的输出端口寄存器为0、则相应的输出引脚将拉至低电平。  

    此致、

    Tyler

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

    抱歉。
    我还有一个有关 TCA6424A 的问题。

    ★这是关于自动递增功能的问题。

    在按如下方式启用和禁用自动递增功能时、了解数据通信是否正确?
    (请参阅 Excel 文件。)

    e2e.ti.com/.../Data-Communication-_2800_Writes_2900_.xlsx

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

    User644884、  

    一切都好。 随时提出任何问题。  

    Excel 文档接近正确。  

    当写入命令中禁用自动递增时、数据将被写入寻址的寄存器一次。 如果发送多个数据字节、则所选的寄存器将被覆盖。  

    例如、将单字节写入位于0x04的输出端口寄存器需要:  

    (1)目标地址

    (2)寄存器地址(命令字节地址)= 0x04

    (3)数据到输出端口0

    (4)停止位

    另一个示例是、当 AI 被禁用并在0x04处将多个字节写入输出端口寄存器时、需要:  

    (1)目标地址

    (2)寄存器地址(命令字节地址)= 0x04

    (3)数据到输出端口0

    (4)数据到输出端口0

    (5)数据到输出端口0……

    (n)停止位

    启用自动递增时、这种情况会发生变化。 AI 启用会自动循环使用由发送的命令字节定义的所选组中的寄存器。  

    示例当 AI 已启用并在0x04处将多个字节写入输出端口寄存器时:  

    (1)目标地址

    (2)寄存器地址(命令字节地址)= 0x04

    (3)数据到输出端口0

    (4)数据到输出端口1

    (5)数据到输出端口2

    (n)停止位

    如果发送的数据超过3个字节、则会发生以下情况:  

    (1)目标地址

    (2)寄存器地址(命令字节地址)= 0x04

    (3)数据到输出端口0

    (4)数据到输出端口1

    (5)数据到输出端口2

    (6)数据到输出端口0

    (7)数据到输出端口1

    (8)数据到输出端口2

    ...

    (n)停止位

    如果这有帮助、请告诉我。  

    此致、

    Tyler

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

    你对 AI​​函数的回答似乎非常有用。
    谢谢你。

    我还要提一个关于读取(读取)通信的问题。

    如果主机在中断(/INT)检测例程期间执行图8-9所示的通信、TCA6424A 是否会自动重新启动、并且 LSB 位设置为1?

    e2e.ti.com/.../Data-Communication-_2800_Reads_2900_.xlsx

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

    User6448843、

    4字节事务的最后一个 ACK 位(目标地址、命令字节、目标地址、数据)用于取消断言中断。 如果中断是在读取帧期间的某个时刻生成的、则该读取事务能够捕获中断。 如果在4字节读取帧之后触发中断、则当然需要再次发送读取帧以清除中断。  

    此致、

    Tyler

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

    抱歉、我还有一个问题。

    您能解释一下使用读取操作重新启动具体意味着什么吗?

    (我不认为您是指重新启动主机控制器或 TCA6424A、对吗?)

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

    在 μ I²C 协议中、重启是在没有事先停止条件的情况下发送的启动条件。 在实际应用中、启动-写入-重新启动-读取-停止序列的工作原理与启动-写入-停止序列的工作原理相同、然后是启动-读取-停止序列。

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

    User6448843、

    我同意克莱门斯的观点。 请告诉我他的回答是否合理。  

    此致、

    Tyler

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

    抱歉、我还有一个问题。

    该器件具有默认输入设置且逻辑未定义、

    但是、您能告诉我如何处理未使用的端口吗?

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

    将未使用的引脚配置为输出、或将其保留为输入、并添加上拉或下拉电阻器。

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

    User6448843、

    在这里,我再次同意克莱门斯的看法。 如果引脚保持配置为输入、则最好使用 PU 或 PD 电阻。  

    如果您不想使用电阻器布线、请考虑将引脚悬空、但将其配置为输出。  

    此致、

    Tyler

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

    抱歉。
    关于通过 SMBus 进行连接、我有以下问题。

    TCA6424A 命令格式(通信协议)是否与 I2C 相同?

    2./INT 端子的功能和操作是否与通过 I2C 通信时相同?

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

    有关 SMBus 通信的其他问题:

    3. SMBus 的通信速度是否等于 I2C 总线的通信速度?

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

    此器件与 μ I²C 和 SMBus 主机均兼容。 (SMBus 规范定义了 TCA6424A 不实现的一些可选功能。)

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

    User6448843、

    正如 Clemens 在第1点和第3点提到的、TCA6424A 与 SMBus 协议兼容、减去了一些可选功能。  

    要回答第2点、/INT 端子的功能和操作与 I2C 或 SMBus 协议相同。  

    此致、

    Tyler

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

    在主机通过 SMBus 连接且 TCA6424A 连接到从器件的配置中、如果主机输出400kHz 的时钟(SCL)、TCA6424A 是否能以这种速度进行通信?
    (这是确认、因为 SMBus 通信速度通常调节为100kHz。)

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

    User6448843、  

    TCA6424A 的工作速度高达400kHz I2C 时钟速度。  

    此致、

    Tyler

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

    抱歉确认。

    TCA6424A 的 SMBus 是否支持400kHz?
    ※根据此参考文档、SMBus 传输速度为10kHz 至100kHz。

    参考文件

    www.nxp.com/.../AN4471.pdf

    2.最高为 TCA6424A 支持的 SMBus 规范版本?

    (例如、我想知道 SMBus 的规范是符合 v2.0还是 v3.1。)

    此致。

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

    User6448843、

    TCA6424A 可支持400kHz 频率。  

    我不知道 V2.0或 V3.1规格之间的具体差异。  

    从数据帧的角度来看、TCA6424A 可以解释开始、字节、确认/否定确认、停止格式之后的 SMBus 消息。 然而、TCA6424A 将无法识别用于以下地址的特殊保留命令。 TCA6424A 不支持 SMBus 的更多软件定义功能。  

    此致、

    Tyler