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.

MSPM0L1306: I2C Problem

Part Number: MSPM0L1306

Hi,

We are in the process of delivering a pre-series to the customer on which we use the MSPM01305/1306.


However, we did all the development first on the demo board (LP-MSPM0L1306) and then on our boards with micros supplied by the customer.


In both of these situations we realized that the micros were marked as "preliminary"; in fact, on the case they also had a special silkscreen "XM0L".
Now in the pre-series we mount "Fully qualified production device" (always MSPM0L1306).

Let's get to the problem:
a device is connected to the micro on the I2C line. This device has an initialization phase in I2C at startup. It exits the initialization phase for time-out, or because the I2C stop condition is sent.
The development in the preliminary micro was done without problems and the initialization and use phase of this external chip did not cause problems.

When we programmed the new micro (always 1306 but non preliminary silicon) with the same firmware, I2C didn't work. The micro sends the first packet via I2C, does not send the stop condition as programmed by us, but does not activate the transmission completed flag either. Something that was done in the preliminary.

How can we proceed? Do you have any advice?


Thank you.

  • Hi,

    Let clarify the situation, the "XM0L" silicon work as expected. However, the "MSPM0L1306" silicon are having some issues. Is it correct?  

    By using the same firmware, has the customer update the SDK version for the "MSPM0L1306" silicon? The older SDK version start with 0_xx_xx_xx can not work properly on the "MSPM0L1306" silicon. Customer need to update the SDK version first to the latest version 1_20_xx_xx. And do the test again. 

    Best regards,

    Cash Hao

  • Hi, 

    thanks for th reply. Yes, exactly, the 1306 has problems with i2c.

    The version of the SDK in use is the 1_10_00_05 (see the attached image).

    Is there a way to update SDK in current project without creating new one? 

    I'm using Code Compose Studio 12.2

    Best regards,

    Matteo

  • Hi Matteo,

    We would recommend to create a new project and update SDK.

    However, since you are using SDk version 1_10_00_05. The SDK start from 1_xx should work for the "MSPM0L1306" silicon. So, your issue might not related to the SDK. Then I check the differences between the early samples and production samples in the document EarlySamplesFunctionalDifference. In I2C_ENH_02 condition in this document, "I2C peripherals in target mode will support generating a stop condition interrupt only on I2C bus transactions where the I2C module was previously addressed.". It looks like the one you are facing at. MSPM0_EarlySamplesFunctionalDifferences_v06.pdf

    Best regards,

    Cash Hao

  • Hi Cash, 

    thanks for th reply.

    The project is in the final phase and we don't want to create a new project with updated SDK especially if 1.10 has to work with L1306 silicon.

    Is there a way to make revision 1 work as if it were revision 0? We only have one active device in the I2C bus.

    Best regards,

    Matteo

  • Hi Matteo,

    Can they send out the I2C part of the their code? I want to reproduce their issue in our side.

    I also checked that there are no major changes on the I2C module between the revision 0 and 1. The changes are just some enhancement shown in the attached file in the former post. It should not affect the basic functions of the I2C module. 

    Best regards,

    Cash Hao

  • Hi Cash,

    sure, i can share it with you without problems. 

    I would like to avoid posting it here on the forum. Do you have any alternatives on how i can share the code with you?

    Best regards,

    Matteo

  • Hi Matteo,

    Sure. You can send it through email. cash-hao@ti.com

    Best regards,

    Cash Hao

  • Hi Cash,

    after sharing the firmware and the details of the problem discussed by email, do you have any news?

    Best regards,

    Matteo

  • Hi Matteo,

    Sorry, I still couldn't find what is the issue in your project. I find one early sample and one final silicon they both programming the same project. However, I get the same I2C behavior on those MCUs testing with our I2C code examples in the SDK. No other issues found during the experiment. I also compare the I2C configuration between your project and example project. Also did not find any suspicious parts.

    Best regards,

    Cash Hao