Low power modes for MC13213 SRB

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

Low power modes for MC13213 SRB

2,244 Views
lex4098
Contributor III
I am programming a MC13213 SRB board
with Freescale 802.15.4 MAC.

I can't use PWRLIB since:

    1) If I use
        PWRLib_RadioAcomaDozeReq(TRUE)
       then it happens that
        PWRLib_RadioWakeReq()
       is always FALSE (radio sleeping).

    2) If I use
        PWRLib_RadioOffReq()
    then I can't backup the MODEM beacause
        PWRLib_RadioOnReq()
    won't make ever it send beacons again.

    3) If I use
        Asp_AutoDozeReq(...);
    then I can't check which is the current state of the MODEM,
    and there is not a similar ASP WAKE primitive.

    4) If I use
        Asp_DozeReq(TRUE, TRUE, autoDozeInterval, FALSE)    
    there is not a similare ASP WAKE primitive.


Can someone suggest a quick and smart way for low power?
I need also a way to know the current state of the MODEM and
to restart the MAC/PHY correctly: beacon must be sent, etc.

I work with a beacon enabled network and I use TMR module.
Before touching the MODEM I put the clock to internal @ 125kHz so
I don't need the CLKO signal.

Labels (1)
0 Kudos
4 Replies

436 Views
lex4098
Contributor III
Update...

I can see the state of MAC with:

    PWRLib_GetMacStateReq()

However, it is never gAspMacStateIdle_c, so I have to reset it. When reset, it is gAspMacStateIdle_c.
I ask why isn't it ever Idle (without reset)?

The following functions seems to work correctly.
    Asp_GetInactiveTimeReq(maTempBuffer);
    UartUtil_PrintHex(maTempBuffer,3,0);
But I can't understand: if there is much INACTIVE TIME to spend, why isn't MAC idle?

0 Kudos

436 Views
lex4098
Contributor III

A concrete matter: how can a device re-sync with the network (beacons) if all the clocks are shut down?

Should it scan the channel again? Or search for a beacon again?

Please help.
0 Kudos

436 Views
lex4098
Contributor III
I am working on these ideas, hope they are right.

0. Check if device can sleep (several checks: is MAC idle, is modem inactive, etc.)
BTW: why MAC is never IDLE (without resetting it?)

1. Change clock mode, use ICG@125khz, in self clock mode.
    PWRLib_ClockSetup(SelfClk_125kHz);

2. Turn off the Modem
    PWRLib_RadioOnReq();

3. Wait some time

4. Turn on the Modem
    PWRLib_RadioOnReq();

5. Restore external clock
    PWRLib_ClockSetup(Normal_16MHz);

Is this ok?
Thanks for any help.

Problems i find:
1) MAC is never IDLE if i don't reset it. Why?
2) Should I initialize the MODEM after i turn it on again?
3) Should I initialize the MAC and/or reset it after I turn on the MODEM again?
4) Where can i find docs about PWRLIB etc? I found only a small pdf which says not much.
5) Why the MAC/PHY stops beaconing?
0 Kudos

436 Views
lex4098
Contributor III
Update...

Now I can put MCU in STOP3 mode for some time (5 s).
When it exits from there, the APP starts working again.

The problem now is how to shut off the MODEM.

Someone knows if the following functions really work?
uint8_t Asp_DozeReq(zbClock24_t *dozeDuration, uint8_t clko_en);
void Asp_AutoDozeReq(bool_t  autoEnable, bool_t  enableWakeIndication, zbClock24_t *autoDozeInterval, uint8_t clko_en);
void    Asp_WakeReq(void);

Best Regards.
0 Kudos