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:TCA6424A

Guru**** 2390755 points
Other Parts Discussed in Thread: TCA6424A

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1340086/tca6424a-tca6424a

器件型号:TCA6424A

您好、TI 团队、

在我的设计中、我们使用 连接到 MCU 的 TCA6424A I/O 扩展器24 I2C (STM32F779B)、我们无法从外部上拉单个端口引脚读取正确的输入值、请建议读取正确值的参考代码、还请检查原理图的以下图像以供参考。 如果需要任何更正、请查看。

预期结果:

测试级联1:如果安装了上拉电阻器、MUC 将读为高电平

测试 CASE2:如果卸载了上拉电阻器、MCU 将读为低电平

但是、上述测试案例未通过、请建议参考代码。

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

    Prabhu、您好!

    在这个特定示例中、我希望 Test Case1通过、而 Test CASE2失败。 这是否准确、还是两个测试用例都出现故障?  

    当该器件上的输入悬空时、不知道它将处于哪个逻辑状态、因为这是一个高阻抗悬空输入、可以悬空到所需的任何电压。 这在具有高噪声的系统中尤其成问题、例如 IO 扩展器的浮动输入附近的电机控制。 您可能会发现、使用浮点输入读取该器件的输入端口寄存器会产生不可预测的结果。  

    现在、如果两个测试用例都失败、这意味着我们无法从器件中进行写入和读取。 我是否可以拥有 I2C 总线的示波器捕获、以查看器件是如何写入/读取的?  

    此致、

    泰勒

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

    您好、Tyler:

    非常感谢您的支持。

    测试级联1:如果安装了上拉电阻器、MUC 将读取高电平、则将其视为失败

    测试 CASE2:如果未安装的上拉电阻器 MCU 将从 IO 扩展器低电平读取、则将考虑通过

    请查看上面的测试用例并建议如何在 MCU 上配置电阻器(仅一个位(单个端口)读取 MCU 代码的配置设置。

    注意:I2C 扩展器端口 现在是输入配置(请建议读取 MCU 上的配置设置)

    我必须从8位或更多位中只读取一个端口(P00)值。 如何设置寄存器设置?

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

    您好、Tyler:

    我已经附加了 I2C 示波器捕获逻辑分析仪图像、请检查并告诉我需要对固件代码进行的任何更改
    我必须读取各个端口引脚、请建议寄存器配置设置。

    我没有将任何端口引脚从外部拉至高电平、我必须将所有端口引脚分别读为高电平。

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

    Prabhu,

    测试层1:如果安装了上拉电阻器的 MUC 读数为高电平,则将考虑失败

    如果连接了上拉电阻器、MCU 将读取逻辑高电平、该逻辑会失败。 但是、原理图显示这些上拉电阻器已连接到 VCC。 我希望 MCU 在输入端口寄存器上读取高逻辑。 为什么这被视为故障案例?  

    测试 CASE2:如果未安装的上拉电阻器 MCU 将从 IO 扩展器读取为低电平,则将考虑通过

    由于上拉不可用、我希望输入端口寄存器反映低逻辑状态。 很可能会发生一些到 GND 的泄漏、从而将输入引脚拉至低电平状态。  

    请查看上面的测试用例并建议如何在 MCU 上配置电阻器(仅一个位(单个端口)读取 MCU 代码的配置设置。

    注意:I2C 扩展器端口 现在是输入配置(请建议读取 MCU 上的配置设置)

    我必须从8位或更多位中只读取一个端口(P00)值。 如何设置寄存器设置?

    [/报价]

    TCA6424A 在 p 端口配置为输入时上电。 设置指针字节后从器件读取的 i2c 应读取 p 端口引脚上存在的直接数据。  

    在示波器捕获中、发送器件地址+ WRITE 位、然后发送0x01作为命令字节。 这将指向输入端口寄存器1并读取从 Pxx 引脚上的并行数据输入拉取的该寄存器的内容。 引脚9至16连接到了什么逻辑状态? (第10页-第17页)?  

    此致、

    泰勒

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

    您好、Tyler:

    引脚 P10-P17通过10K 电阻器从外部上拉、请查看原理图的下图以供参考。

    如果我读取端口 P00输入状态、其他端口读取配置设置将是什么?

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

    Prabhu、您好!

    当在此器件上进行 i2c 读取时、它将一次读取端口。 通过读取 P00引脚所在的端口0、它将读取输入端口0寄存器内的状态、该寄存器将以串行方式在 i2c 总线上显示值 P07 - P00。  

    P00 = p 端口的状态。 当原理图上的按钮空闲时、P00 =高电平;当按下按钮时、P00 =低电平。  

    如果 i2c 读取没有正确读取此内容、则我认为下面的步骤是查看 i2c 总线的示波器捕获、以验证读取和写入是否从模拟角度正确进行。 从逻辑分析仪上看、数字流看起来是正确的、但从模拟角度来看、我们可能缺少一些信息。  

    您是否能够在 TCA6424A 处收集 i2c 总线的示波器捕获?

    此致、

    泰勒