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.

TPS23880: TPS23880EVM-008 - I2C Reading always 0x80 in Configuration A

Part Number: TPS23880
Other Parts Discussed in Thread: , USB2ANY
setup

TPS23880EVM-008 to the micro controller  through  SCL,SDA  ,3.3 ,GND (J2 connector).

Problem I am facing

1) After power up when I read any register get receive 0x80.

2) Some time even if if set the configuration still chip does not do class detection

 Below my steps

 From register map

  1) Set semi auto mode  

  2) Set 2pair ports in 2 pair 15.4 w mode

  3) Enable all channel's DC disconnect

  4) Enable Detect/Class enable

I have also down loaded the SRAM  still does not have any effect.(This code I copied from the sample code given ).
 
Code (From the example)

   tps_GetDeviceInterruptStatus (tps2388x_i2cAddList[0], &intStatus);
    tps_GetDeviceInterruptStatus (tps2388x_i2cAddList[1], &intStatus);
    tps_GetDeviceAllInterruptEvents (tps2388x_i2cAddList[0], TPS_ON, &powerEnablePortEvents, &powerGoodPortEvents, &detectionPortEvents,
                                            &classificationPortEvents, &pcutPortEvents, &disconnectPortEvents,
                                            &inrushPortEvents, &ilimPortEvents, &supplyEvents);
    tps_GetDeviceAllInterruptEvents (tps2388x_i2cAddList[1], TPS_ON, &powerEnablePortEvents, &powerGoodPortEvents, &detectionPortEvents,
                                                &classificationPortEvents, &pcutPortEvents, &disconnectPortEvents,
                                                &inrushPortEvents, &ilimPortEvents, &supplyEvents);


    TPS238X_Interrupt_Mask_Register_t intMask;

    //tps_ReadI2CReg (tps2388x_i2cAddList[0], TPS238X_FIRMWARE_REVISION_COMMAND, &firmwareversion);
    tps_GetDeviceFirmwareRev(tps2388x_i2cAddList[0],&firmwareversion);
   

    if(firmwareversion != SRAM_VERSION)
    {
    //Load SRAM code
        tps_UpdateSRAMCode();
    }

Note

If I configure TPS23880EVM  with TPS23880GUI then connect to the micro controller(without power off) then it works. I can read the register values properly.

Could you describe initial  steps to configure the device after power up.

  • Hi Joji,

    Please provide the following information to help me understand your test conditions.

    1. What is the top marking on the TPS23880?
    2. Which version of SRAM code did you use?
    3. Did you use the latest GUI from tI.com?
    4. Can you read the firmware version after you load the SRAM code by reading register 0x41?

    Thanks.

    Best regards,

    Penny

  • Top Marking:  PT23880RTQ

                              TI 83F

    SRAM Version :-TPS23880_SRAM_v01.hex - 01

    GUI  :  About TPS23880 

              Release v2.0.0 (5ad631)

              Built on Wed Oct 03 2018 14:20:51

    Can you read the firmware version after you load the SRAM code by reading register 0x41?

    a) After power up when I read any register get receive 0x80.  :- All the register I get 0x80

    b)  Some time even if if set the configuration still chip does not do class detection :- I can read the version as 0x01

    Observation

    This can be easily reproduce

    1) Connect TPS23880EVM board to USB2ANY and connect the to PC

    2) TPS23880 EVM  GUI application

    3) In the beginning it shows "Loading SRAM"

    4) Open register map

    5) Power off and power on the board.

    6) If we read all register we can get only  oxff80 from all register.  Even if upload the SRAM code/firmware  does not have any effect.

    7) If we down load the firmware does not have any effect

    8) If we disconnect the usb  connect to the PC (USB2ANY) then load the SRAM and works correctly

    Could  you provide the initialisation sequence of TPS23880. do I need to do  any other configuration?.

    Is there any method to recover from the situation without re power the chip with I2C command ?

  • Chip TOP marking:
    PT23880RTQ
    TI83F
    S44D G4
  • Hi Joji,

    Do you mean everything works fine after you disconnect and connect the USB2ANY to your PC? Did the GUI hang when it is not working? Thanks.

    Best regards,
    Penny
  • Do you mean everything works fine after you disconnect and connect the USB2ANY to your PC? : Yes

    Did the GUI hang when it is not working?  There is no problem with GUI. still working. But all the register value 0xff80

  • Hi Joji,

    Did you read all the registers from the register map page and did you select the read method as immediate? Did you see this issue every time you ran the board and GUI? Thanks.

    Best regards,
    Penny
  • Did you read all the registers from the register map page and did you select the read method as immediate ?  Ans: Yes

    Did you see this issue every time you ran the board and GUI? : More frequent.

  • I can see this issue even in differed mode. During this If I connect to micro controller without reboot  then  read all register through i2c

     That time also I observer the  same result 0x80. 

  • Hi Joji,

    From the you GUI screenshot, the GUI lost communication with the device(it says deice not found). I don't recommend you connect MSP430 and GUI at the same time. You will need to disconnect MSP430 board and reopen the GUI. Thanks.

    Best regards,
    Penny
  • During this time communication is lost. During this condition all I2c read return 0x80.  

    At a time I connect  either GUI/ micro controller through J2 controller. 

    I verified the i2c communication through oscilloscope.It always return 0x80. 

    -------------------

    The problem I am facing.

    setup

    TPS23880EVM-008 to the micro controller  through  SCL,SDA  ,3.3 ,GND (J2 connector).

    Issue

    All the  register  values 0x80. During this time I am not able to recover from this condition through any i2c command. If I load SRAM also does not have any effect.

  • Please may I know what are the causes that leads to this situation such that i2c read return 0x80.
  • Hi Joji,

    I don't think this is a device issue. Probably something is unstable with the GUI. Were you able to solve this problem by reopening the GUI? When I ran the GUI and sometimes I saw the GUI didn't update the status. Probably a good way to separate the problem is: connect a PD to the port and see if the GUI update the detection and classification results. Thanks.

    Best regards,
    Penny
  • Could you provide the initialisation sequence? 

    Let me know the initialisation sequence same for both slvc720a and TPS23880 EVM GUI?

  • Hi Joji,

    Before you do any configurations, you need to load SRAM code and parity check to TPS23880 device. Here's a tech note talking about the procedure: www.ti.com/.../slvae12a.pdf.
    Once that's done, you can start configuring the device, like operating mode(0x12), interrupt mask(0x01), power allocation for each port(0x29), DC disconnect enable(0x13), detection classification enable(0x14). The sequence of these configuration doesn't really matter. We have TPS23880EVM user's guide which talks in greater details. Thanks.

    Best regards,
    Penny