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.

[参考译文] PCF8574:如何配置某些端口输出和某些端口输入?

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/709247/pcf8574-how-to-configure-some-port-output-and-some-port-input

部件号:PCF8574

我的理解是、当 I2C 处于读取模式时、P0-P7都是输入、所有在写入模式下都是输出、我们无法配置 P0-P3输入、P4-P7输出等、对吧?

但在数据表9.2的典型应用中、  

b. P0、P2和 P3配置为输出。

C. P1、P4和 P5配置为输入。

我们如何实现这一点?

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

    该器件上的 IO 引脚都是准双向的、没有明确的方向控制。 驱动引脚、或者弱将线路上拉至 Vdd、或者将引脚灌入 GND。 读取该引脚可返回该引脚的实际状态。 为了仅将引脚用作输入、该引脚应被驱动为高电平(启动时默认)、以便该引脚保持弱拉至 Vdd。 驱动该引脚的另一个器件应拉低、以便在主器件调用时读取。

    这是否有助于回答您的问题?

    此致、
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Eric、
    我不明白。
    该引脚应被驱动为高电平(启动时的默认值)、以便将其用作输入、那么该引脚如何输出? 由于默认情况下是输入、因此没有命令将特定引脚设置为输出。
    如果将端口驱动为高电平以将其用作输入、有什么意义? 即使我使用外部上拉电阻器将所有端口设置为高电平、通过写入器件00000000、所有八个端口都设置为0、对吧? 如果没有外部上拉电阻器、这些端口也通过写入命令设置为0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Howard、

    由于该器件没有方向控制、因此它始终使用 CMOS 推挽架构进行"驱动"。 接收器连接到同一条线路、将读取线路的实际状态、而不受器件设置为驱动的状态的影响。 这可以在数据表的图8.2.2中看到。 下面是一个简化版本、其中有一个连接到引脚的示例从器件:

    请参阅上面的内容、PCF8574 FET 中一次只有一个导通、可以直接拉至 GND、也可以通过100uA 电流源上拉至 Vcc。 当输出设置为高电平(默认值)时、该电源将弱上拉该线路、并且一个示例从器件可以安全地将该线路拉至低电平、而不会通过任一器件消耗过多电流。 当从器件拉低时、电流源上会出现压降、PCF8574接收器(Rx)将看到较低的电压。  

    现在想象一下具有不同推挽架构的从器件。  

    在这种情况下、如果 PCF8574设置为驱动为低电平并且从器件尝试上拉线路、则不会限制流经器件的电流、短路可能会损坏任一器件或两个器件。 如果 PCF8574设置为驱动高电平、从器件将能够安全地驱动低电平、电流受电流源限制。 下拉 FET 将能够将整个线路驱动为低电平、因此 PCF8574接收器(Rx)读取为低电平。 它还可以安全地驱动高电平、因为线路已经被拉至 Vcc。

    对于此配置、不需要外部上拉电阻器、因为内部 CMOS 架构会弱上拉线路。  

    请告诉我这是否有意义。 如需更多信息、请参阅此类似 的 E2E 帖子

    此致、

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Eric、
    谢谢你。
    P 端口不应连接到推挽架构器件、因为它可能会如您所述造成损坏、对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Howard、

    "因此 P 端口不应连接到推挽架构器件"
    仅当器件驱动低电平时、才会出现这种情况。

    当器件驱动为高电平时、即使它具有推挽架构、电流也将限制为从器件。 因此、要将 PCF8574引脚"配置"为输出、应将其驱动为高电平并连接到从器件的输出。 从站(采用下拉架构、是 I2C 通信的标准)将能够通过 PCF8574接收器可以读取的线路传输数据。

    例如、要使 P0 - P3输入为高电平、在初始化器件时、将这些引脚驱动为高电平(或将其保持为高电平、这是默认值)、您将能够从这些引脚读取从从从器件中获取的任何信息。 引脚 P4 - P7可被正常驱动为输出。

    请告诉我这是否有助于回答您的问题。

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

    嗨、Howard、

    只是在中发出蜂鸣声、如果您在 I/O 引脚和另一个器件的推挽架构之间放置一个串联电阻器来限制电流消耗、则可以将采用推挽架构的器件连接到 I/O 引脚。

    -Bobby