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.

PM3 in CC2530

Other Parts Discussed in Thread: CC2530

Hi,

I've been testing Power Mode 3 for the SoC CC2530, and seem to get different power consumption results depending on when I enter PM3.

I achieve about 400uA more current when entering PM3 directly after starting the program, than what I get when entering PM3 after starting up the 32MHz XOSC. Does anyone have an explanation for this?

  • There must be something wrong since the current consumption should be 1uA at most according to datasheet. Check if your unused IO is leaking current.
  • Thank you for answering. I do not think there are any leakage currents from unused I/O-ports, as PM3 works perfectly fine at later stages in the code. It only draws more current than expected immediately after startup. I've calculated all currents that is not related to CC2530, and these are correct when setting PM3 after initializing the CLKCONCMD register.


    void main(void){

    //PM3; // This gives me wrong current values

    uint8 clk_setting = 0;
    clk_setting = (OSC32K | TICKSPD_32M | CLKSPD_32M);
    CLKCONCMD = clk_setting;
    while(clk_setting != CLKCONSTA);

    PM3; //This gives me correct current values

    Edit:

    Sorry, I may have been too fast on concluding which part of my code generates this current difference. It is actually my APCFG setting that contributes. If i set all PORTA as ADC Inputs (APCFG=0xFF;) I actually get correct values. If I don't do this before going into PM3 I get wrong current values. So there must be some issue with my I/O-ports..

  • Hi Yikai

    two step to set the device as PM3 mode

    1. enable POWER_SAVING
    2. -DRFD_RCVC_ALWAYS_ON=FALSE
    -DPOLL_RATE=0
    -DQUEUED_POLL_RATE=0
    -DRESPONSE_POLL_RATE=0


    does the device could auto scan the network and doing the rejoining cycle when it lost network?

    BR!
  • 1. Enable POWER_SAVING would set device enter PM2 mode not PM3.
    2. If you disable polling, ZED might not know it loses network. Unless ZED wakes up to send any message and find there is no MAC ack. Then, ZED would start to do rejoining cycle.
  • A device which working in PM3 would start to do rejoining cycle


    so nomatter what mode does the device working, if there is no MAC ack and retry time out of NWK_MAX_DATA_RETRIES *APSC_MAX_FRAME_RETRIES it would doing the rejoin cycle!


    thanks !!!
  • You are welcome.