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.

[参考译文] MSP430F5438A:MSP430F5438A 和 FT4332H 与主器件位于同一 I2C 总线上。

Guru**** 2390755 points
Other Parts Discussed in Thread: MSP430F5438A, PCF8574

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1044436/msp430f5438a-msp430f5438a-and-ft4332h-are-on-same-i2c-bus-as-a-masters

器件型号:MSP430F5438A
主题中讨论的其他器件: PCF8574

你(们)好

我在同一 I2C 总线上同时使用主 MSP430F5438A 和 FT4232H。

我已将 MSP430F5438A 配置为多主控模式。 但我不确定天气 FT4232H 是否默认配置为多主控模式。

下面是 MSP430主器件侧的配置。

此配置是否正确?

UCB3CTL1 |= UCSWRST;
/* I2C 主设备、同步模式、多主设备*/
UCB3CTL0 = UCMST + UCMODE_3 + UCMM + UCSYNC;
/*自有地址*/
UCB3I2COA = 0x25;
UCB3CTL1 = UCSSEL_2 + UCSWRST;
UCB3BR0 = 12;
UCB3BR1 = 0;
UCB3CTL1 &=~UCSWRST;

因此,当我尝试访问从设备(PCF8574)时,我没有获得所需的结果。

如果 FT4232H 默认未配置为多主器件、那么如何配置为多主器件模式、谁能提供帮助?

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

    您好、Madhav、

    我们提供了 I2C 的代码示例、这些示例展示了如何建立 I2C 协议。可在 此处找到一个示例。 I2C 配置是正确的、但我看不到您使用或启用中断的引脚。 FT4232H 器件不是 TI 器件、因此我会与他们一起检查它的工作方式。 您可以通过检查用示波器发送的数据线来检查 MSP430F5438A 和 PCF8574是否正常工作。

    此致、

    Luke

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

    1) 1)您看到了什么结果? 只要一次只有一个主器件处于活动状态、我就不会看到任何差异。

    2) 2)我认为 UCMM 唯一需要的调整是:(a)在每次交易之前设置 UCMST、因为 I2C 单元可能会在没有通知的情况下清除它(b)捕获 UCALIFG -我希望您可以将它视为一个 NACK。  

    3) 3)我在 FT4232H 数据表中或在 AN177、AN109、AN551或 AN113中看不到提到过多主器件或仲裁。  

    4)截取 libMPSSE 代码、在事务处理期间(搜索 SCLOUT)、它实际上看起来会将总线驱动为高电平(SCL 和 SDA)。 它实际上应该让总线拉高。 我也看不到任何类似总线监视器的东西(尽管这可能是隐藏的)。 一个主器件通常可以摆脱这种情况、但如果是这种情况、我怀疑它会对 多主器件的 rbitration 造成严重破坏  

    FTDI 应该告诉您、但我对在多主控总线上使用 FT4232H 并不乐观。

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

    Luke 和 Bruce、

    感谢您的重播

    以下是我的引脚配置。

    /* I2C3引脚 P10.1、P10.2选项选择*/
    P10SEL |= BIT1 + BIT2;

    当我尝试从 MSP430F5438A 进行访问时、从 PCF8574获取的结果不正确。

    我能够在示波器上看到适当的波形、但没有得到结果。

    我已经在论坛中询问过有关 PCF8574通信的问题。 查看以下链接:

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1039145/pcf8574-data-is-not-being-written-properly。

    如果  我丢失仲裁或器件正在发送 NACK、我还将检查 UCALIFG 和 UCNACKIFG 标志。 但我看不到在事务期间设置了标志。

    因此、我想确保、如果我的多主器件配置正确、那么我必须确认 FT4232H 应该处于多主器件模式。