[SJA1110]Low power mode not working

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

[SJA1110]Low power mode not working

2,638 次查看
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 项奖励
回复
10 回复数

2,622 次查看
kaden
NXP Employee
NXP Employee

Hi LanErving,

which evaluation board are you using? SJA1110-EVM? 

Best regards

kaden

0 项奖励
回复

2,613 次查看
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 项奖励
回复

2,607 次查看
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 项奖励
回复

2,594 次查看
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 项奖励
回复

2,587 次查看
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

 

1,955 次查看
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 项奖励
回复

1,913 次查看
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,580 次查看
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 项奖励
回复

2,527 次查看
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 项奖励
回复

2,520 次查看
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 项奖励
回复