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.

Not able to write data after shifting from I2C Slave to I2C Master

Other Parts Discussed in Thread: CC430F5137, CC3200

Hi ,


I am using MSP430F5137. I am working on I2C Master, Slave both configuration on single chip.

Where I2C slave will talk to X-Master & I2C master talk to Y-Slave.

I am able to configure master-slave configuration separately.

But when-

I configure the 5137 as Slave, done with the slave job. Now I will configure 5137 as Master and I am trying to write some data on slave which is failing.

  • Hi Darshan,

    The MSP430F5137 does not exist, please clarify which MSP device derivative you are using. You will need to provide a lot more information detailing exactly how your master implementation is failing. Reduce your MSP430 code down to the master implementation and try to get it to successfully communicate with the slave device, using TI-provided code examples as a template. If this still fails then please provide useful code snippets detailing your master I2C initialization/routine as well as logic analyzer/o-scope screenshots that exhibit the issue. Also specify what slave device is being used, remember than a NACK from the slave is indicative of a connection or slave address issue.

    e2e.ti.com/.../msp-i2c-getting-started-guide

    Regards,
    Ryan
  • Thanks Ryan,


    Let me correct it, I am using CC430F5137.

    I am trying to do I2C Master and Slave configuration. Where I am using my CC430 as Both Master as well as Slave as per requirement.

    Here is our design:

     

    CC430 is the main controller. CC430 will take the data from CC3200 whenever he needs. Here CC430 will trigger CC3200 and goes to sleep.(CC430 is Slave and CC3200 is Master)

    When there is data acquired from server, CC3200 will send that data to CC430. After this CC430 will wake up and switches to Master Mode to get the data from the sensor.

    Now when it is trying to write some data to sensor its failing. Its not getting written. But the SDA and SCL is pulled low.(I checked on CRO)

  • Your image does not seem to have attached properly, please edit it such that it can be viewed. I understand your application but have already asked for you to break down your CC430F5137 code to just the master implementation and describe whether you can get communication to work under this configuration with all devices connected. Make sure that the UCMM bit is set in UCBxCTL0 to support a multi-master environment. The low status of the SDA and SCL could also indicate that the CC3200 is controlling the bus and making it unavailable to the MSP430. In this case the USCI module will wait and check for the bus to become available. Also remember that the UCMST bit is automatically cleared and the module acts as slave if the CC430 master loses arbitration in a multi-master environment (UCMM = 1).

    Regards,
    Ryan

**Attention** This is a public forum