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.

TPS23882: Power is restored automatically

Part Number: TPS23882

Hi Team,

We would like to ask your help regarding our customer's inquiry below.

My issue with the TPS23882 POE controller is simple: power is removed from a specified port via register 0x19 "power enable", but in about 2-3 seconds, power is restored automatically.

The operating mode register (0x12) = 0xFF suggesting it is in AUTO mode.

The control plane in my system is based on a Microchip SAME70 processor. Upon system startup, the control plane will:
- setup clocking over the I2C interface
- configure the TPS23882 = "configuration B" mode with "general mask" 17h = 0xA0 for word read/write access
- read (byte) "device ID" 43h = 0x33
- read (byte) "manufacturer ID" 1B = 0x55
The  interface to the TPS device is seemingly correctly setup.
For power enable/disable, I chose port 1 for testing as a convenience. I number the steps below to clarify any response you may have.
1. all reads and writes w.r.t. the TPS device over I2C can be either 1-byte/8bits basis, or by 16-bits/1-word basis
2. when read/write are by 1-byte: bit settings reference ports 4,3,2,1 as per the TSP23882 data sheet
3. when read/write are by 1-word: bit settings reference:
   - ports 8,7,6,5 are in the most significant byte of the word
   - ports 4,3,2,1 are in the least-significant byte of the word
 
Testing:

4. there are no devices connected to any port
5. command 10h read "power status". Value = 0x0000 = power not good/channel is OFF on all channels
6. connect a POE device on port 1, wait a bit
7. command 10h read. Value = 0x0011 = power is good/channel is ON (both bits PG1 and PE1 = 1)

8. command 19h "power enable": write 0x0010 to write 1 to POFF1 bit. Result: power over port 1 remains.
9. From page 63 of the TSP23882 data sheet: "Writing a “1” at POFFn and PWONn on same Channel during the same write operation turns the Channel off", so:
    command 19h: write 0x0011 to write 1 to POFF1 and PWON1 bits. Result: power over port 1 remains.

10. If the byte-ordering in items 8/9 above were inadvertently reversed:
11. command 19h: write 0x1000 to write 1 to POFF1 bit. Result: power over port 1 remains.
12. command 19h: write 0x1100 to write 1 to POFF1 and PWON1 bits. Result: power over port 1 remains.

13. If command 19h is written as a single-byte only:
14. command 19h: write 0x10 (1 byte) to write 1 to POFF1 bit. Result: power over port 1 remains.
15. command 19h: write 0x11 (1 byte) to write 1 to POFF1 and PWON1 bits. Result: power over port 1 remains.
 
16. Assuming that the Operating Mode register must be set to semi-auto:
17. command 12h: read 1 byte: value = 0xFF indicating that channels 4,3,2,1 = Auto mode
18. command 12h: write 0x02 (1 byte) to set C1M1/C1M0 bits = 10 = port 1 in semi-auto mode
19. command 12h: read back 1 byte: value = 0xFF ... presumably, channels 4,3,2,1 are still in AUTO mode
20. repeat the writes with command 19h to disable power on port. Power is not disabled.
21. command 12h: write 0xAA (1 byte) to set 4 pairs of CxM1/CxM0 bits = 10 = ports 4,3,2,1 in semi-auto mode
22. command 12h: read back 1 byte: value = 0xFF ... presumably, the write did not take effect

23. I downloaded the slvc790.zip file from the TI site and extracted the sample C code.
24. I will examine the C sample code to see if I can glean better insight into accessing the TSP23882 POE device.
25. Is there a preferred IDE to view the slvc790 code set?

Regards,

Danilo

  • Hi Danilo,

    What's your AUTO pin(pin 52) setting? Is it floating? You should keep it floating if wanting to set the port in semi auto mode. Thanks.

    Best regards,

    Penny

  • Hi Penny,

    Thank you for your response. We have received this feedback from our customer,

    Thank you for this reply. This is a hardware question, and I am consulting with our hardware engineer. I expect an answer shortly.
    In the meantime, and I cannot say for certain, but it appears that pin 52 ("AUTO") is tied to ground. Should that be confirmed, then your reply would intimate that the "TPS23882 will operate in automatic mode only, and power cannot be removed from any selected port"? Is this a correct interpretation?
    Regards,
    Danilo
  • Danilo,

    In your case, when you send power off command through 0x19? Did you see the port being shut off and repowered again or the port is not being shut off at all? Thanks. 

  • Actually, this is my case. The original device I was using was not a POE device: the 0x19/POWER ENABLE command was accompanied by disabling ethernet at the logical level, so it gave the impression of power being removed then restored. I have since acquired a true POE device. The observation now is: power off does NOT take place.

    I reviewed our schematic, and pin 52 of the TPS23882 is tied to ground through a resistor. As recommended: the resistor has been removed, so pin 52 is now floating. Result: using 0x12/OPERATING MODE in conjunction with 0x19/POWER ENABLE, I can now power OFF port 1. I tried a few other ports in the 1..8 range, and power can be selectively removed. At this point, I have my solution, and will be integrating the use of the 0x12 command in the control management software.

  • Thanks for you feedback. I will close this thread.