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.

TPS23861: TPS23861: PoE PSE with 4x TPS23861 - I2C question - part 2

Part Number: TPS23861

Hi,

I posted earlier at https://e2e.ti.com/support/power_management/power_interface/f/204/t/638526 

When i run PI-commander-PoE i briefly got 4 devices found, but now i only see three.

These three have been programmed to addresses 20, 48, 68.

How can i recover the missing fourth device?

Thanks

  • Hi Howard,

    Could you please confirm the A3 pin status(from hardware) of each device and the I2C address you programmed to each device. I am suspecting that the A3 pin status (reflecting bit 3 in register 0x11) doesn't match the I2C address you want to program to register 0x11. Thanks.

    Best regards,
    Penny
  • Hi Penny,

    Attached is a drawing of how the devices are wired.

    I supply the AIN externally, via a ISO7242, currently pulled high on both input and output.

    The final AOUT is taken through another ISO7242.

    I have measured the A3 pins and they are as per my drawing.

    I use TI PI_Commander_POE for i2c comms, we haven't written our own code yet.

    I've clearly made a mess of the address programming as i was trying to set the addresses to 0x20, 0x28, 0x40,0x48 but this hasn't happened and I've got 0x20, 0x48 and 0x68 with one missing which should be 0x?0 - i don't know the value of the '?'. Equally i don't know why the device isn't showing anymore?

    Can i reset the addresses to default and then try again?

    How am i meant to know which TPS device is being addressed at the time of programming?

    Thanks.


    i2c wiring.pdf

  • Hi Howard,

    You don't need to connect the first device's AIN and the last device's AOUT,  You can just leave them open. The default I2C address of TPS23861 is 0x20 with A3 connected to gounf and 0x28 with A3 connected to VDD. If you haven't program the address, you will have 2 devices have the same address 0x20 and the other 2 devices have the same address 0x28. You can program the I2C address through host control. Please take a look at MSP430 reference code for TPS23861(www.ti.com/.../toolssoftware) and step by step instructions in FAQ page(e2e.ti.com/.../3489.tps23861-faqs).

    You can also manually change the I2C address through PI commander. When you see the below window pops up , you can click “Mode” to change the I2C address for each device.  Please let me know if you have questions after trying these. Thanks.

    Best regards,

    Penny

  • Hi Penny,

    I needed access to the first AIN and final AOUT as there are plans to daisy chain a number of these PCB's.

    Looking at the image in my orignal post, which shows the addresses allocated there is a device at address 20, 48 and 68.

    Is it your belief that there are two devices at address 20, so i just need to click on that address and set to two different addresses?

    I shall check this tomorrow and let you know how i get on.

    Howard

  • No luck.

    I've tried reprogramming the addresses and get a slave address mismatch error. I then end up with my devices and a whole lot more at single digit addresses.

    You can see from the grab below that ive managed to change the device with address 48 to 38 and address 68 to 78 but the device with address 20 wont change and the fourth device isnt showing.


    Starting again, i get -

    If i click on UNKNOWN 30 i get a window Device Selector, from which i select TPS23861 and then this comes up

    I dont appear to be able to change the address of device 20 or see the other device.

    Help!

  • Hi Howard ,

    When you said "I've tried reprogramming the addresses and get a slave address mismatch error", did you use MCU to program the address? Can you confirm that the address you write to each address is 38,78, 20 and 40? Please make sure the bit 3 of 1st and second devices' address is 1 and bit 3 of 3rd and 4th devices' address is 0 to match your hardware design. In addition, there's 100ms time out during address programming. Please make sure there's no delay between I2C transactions. 

    If you want to use PI commander to change I2C address, you need to click"Mode" and "Enable NV Pgm". Screen shots are shown below.

    Best regards,

    Penny

  • Hi Penny,

    I only have Poe Commander so i'm programming addresses using that through the USB to I2C dongle.

    I only get the three addresses you see (20,38 and 78) to work on. I use the Enable NV Prgm and receive the warning about the number of times i can program the memory.

    I can only change the 38 and 78 addresses, which were originally 48 and 68 if you look at my first post - i changed them this morning. The device at address 20 cannot have its address changed - Ive tried and i cant see the fourth address.

    Im afraid you'll have to explain the following in a little more detail -

    Please make sure the bit 3 of 1st and second devices' address is 1 and bit 3 of 3rd and 4th devices' address is 0 to match your hardware design. In addition, there's 100ms time out during address programming. Please make sure there's no delay between I2C transactions. 

    Howard

  • Hi Howard,

    Sorry for the late reply. When you program the I2C address, you have to make sure bit 3 in register 0x11 matches the hardware A3 pin status. for example, if you want to set bit 3 in register 0x11 to 1, the A3 pin should be connect to VDD; if you want to set bit 3 to 0, the A3 pin should be connected to GND.

    Thanks,

    Penny