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?
Hi LanErving,
which evaluation board are you using? SJA1110-EVM?
Best regards
kaden
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
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
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
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
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.
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
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:
Source code:
Best Regards,
Erving
Hi Erving,
can you please check if the Basic-sleep functionality is really set?
Therefore please read register 0x8182 in MMD30.
BR
Kevin
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:
Best Regards,
Erving