[SJA1110]Low power mode not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[SJA1110]Low power mode not working

2,816 Views
Erving_F
Contributor I

Hi everyone,

I am a software RD who's working on SJA1110 ethernet switch project.

While I'm testing the low power mode on S32DS project from Example - power_mode_switch_sja1110x, the power consumption doesn't changed after I set sleep mode to SLEEP or DEEP_SLEEP mode.

I was wondering if there is any settings went wrong or may using the wrong example?

0 Kudos
Reply
10 Replies

2,800 Views
kaden
NXP Employee
NXP Employee

Hi LanErving,

which evaluation board are you using? SJA1110-EVM? 

Best regards

kaden

0 Kudos
Reply

2,791 Views
Erving_F
Contributor I

Hi @kaden,

    Thanks for your reply.

    I was using the board which is designed by our hardware team, not evm.

    Are there any pins or settings that I can check?

 

Best Regards,

Erving

0 Kudos
Reply

2,785 Views
kaden
NXP Employee
NXP Employee

Hi @Erving_F ,

Alright. Depending on the hardware design you might not see any impact if solely the switch IC does enter sleep/deep sleep mode (depending on where you measure, there might also be several LEDs drawing current etc.). 

Typically, the INH pin is used to indicate the need for power to the PMIC. The INH pin however is only released if the 100BASE-T1 subsystem is in sleep mode (SJA1110 does have six integrated 100BASE-T1 PHYs, each one of them needs to be in sleep mode) + the INH_OVERRIDE bit is not asserted (it is 1 per default). 

BR

Kevin

0 Kudos
Reply

2,772 Views
Erving_F
Contributor I

Hi @kaden ,

Thanks for the explaination.

Could you please suggest on how to set all 100BASE-T1 subsystem in sleep mode?

Is "setting MMD31.8180h bit0 to 1" a right way  to set PHYs to sleep?

Also, are there any example code that I can refer? Thanks a lot.

 

Best Regards,

Erving Lan

0 Kudos
Reply

2,765 Views
kaden
NXP Employee
NXP Employee

Hi @Erving_F ,

the example project you are using does not have the 100BASE-T1 ports configured. However, for instance the example project switch_config_sja1110evm does have the 100BASE-T1 PHYs configured. You can find those in the configuration tool on the left hand side as "Drivers" and then select "phy" (see screenshot attached). 

However, they are configured for TC10 wake-up and sleep functionality. This would require a handshake with the link partner to enter sleep mode. So, I suggest to change the wake-sleep function select to "Basic Wake-Sleep functionality" for each PHY (see also attached screenshot). That way no handshake is required and asserting SLEEP_REQUEST Bit (MMD30.8180 bit 0) should trigger a transition into sleep state. 

Please note that all 6 PHYs have to be sent into sleep mode for the whole 100BASE-T1 subsystem to release the request for power (INH pin). 

Unfortunately we do not have a dedicated example project for this scenario available. 

BR

Kevin

 

2,133 Views
Ethan_L
Contributor III

Hi @kaden ,

When I configure the TC10 wake-up and sleep functionality, can I force my 100base-t1 phy to sleep without handshaking with the link partner?

Thanks,

Ethan.

0 Kudos
Reply

2,091 Views
kaden
NXP Employee
NXP Employee

Hi @Ethan_L 

No, TC10 specification states that a transition to sleep mode is only possible if a handshake with the link partner is successfull. 

As mentioned: If you configure "Basic sleep operation" a transition into sleep mode without handshake is possible. 

BR

Kevin 

2,758 Views
Erving_F
Contributor I

Hi @kaden ,

Appreciate for your detailed reply.

I had changed the wake-sleep function select to "Basic Wake-Sleep functionality" for each PHY, and set MMD31.8180 bit 0 to 1. But the current still keep 0.43A, and SLEEP_STATUS register also keep 0.

Could you please help to check if there is any mistake? Thanks!

Update log and source code snapshot as below for reference.

 

Log:

LanErving_0-1661419023983.png

Source code:

LanErving_1-1661419354555.png

Best Regards,

Erving

0 Kudos
Reply

2,705 Views
kaden
NXP Employee
NXP Employee

Hi Erving, 

can you please check if the Basic-sleep functionality is really set?

Therefore please read register 0x8182 in MMD30. 

BR

Kevin

0 Kudos
Reply

2,698 Views
Erving_F
Contributor I

Hi @kaden ,

I had changed the wake-sleep function select to "Basic Wake-Sleep functionality" for each PHY as you mentioned before.

But I checked the register 0x8182 in MMD30, and the result is 0x8032. Does this mean the TC10 still been enabled?

Also, I try to write bit[15:14] to "01", but still get "0x8032" after I wrote it.

 

Log:

Erving_F_0-1662002106581.png

 

Best Regards,

Erving

0 Kudos
Reply