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.

CC2538 ZStack GPIO best configuration for power saving.

Other Parts Discussed in Thread: CC2538

Hi All, 

I have a simple design using a CC2538 running ZStack Energy 1.1.0. Im using a coin-battery, so power optimizing is highest priority.

 It uses port C with 8 normally-high inputs with switches to ground.

On start up, I have set each pin of port C using these 3 commands in this order:

IOCPadConfigSet( GPIO_C_BASE, GPIO_PIN_x, IOC_OVERRIDE_DIS);

GPIODirModeSet( ... ),

GPIOPinTypeGPIOInput(...).

Is this the best way to configure the IO, in terms of order, and lowest current usage?

Also, how should I configure all other unused GPIO? The CC2538 power management document suggests 2 options: general purpose inputs with pullups on, or just general purpose output. Which one is best?

And, what should I do with the JTag pins? Is it ok to leave them floating? Will this affect the overall current usage in any way?

Thanks for any suggestions!

  • You had asked these questions and there are answers from Suyash and TA at e2e.ti.com/.../369284
  • Thanks YiKai, yes I remember asking about the JTag pins and I forgot the replies concerning default configuration . When I did my initial search I didn't think to use the term "unused JTag".

    However, with this discussion I was hoping to find some info for the CC2538 & ZStack, with power saving as the highest priority.

    The thing is, the code that I have developed has been run on two different boards: the CC2538EM from TI, and on our own similar design, smaller in size. I get different current consumption for them when in PM2&3. On the TI board it goes as low as 600nA, but our board only gets to 3uA. This tells me that the because of our IO config & design, unnecessary current is spent.

    Another issue I have, is that for our design in some cases the input will stay low. For every one of port C's IO that stays low, an additional 220uA is spent. This seems to be too high.

    My concern is that I am not configuring the IO in the correct order, or that I'm not setting something that needs to be set.

    Any suggestions or references are welcome, thanks for your time.
  • Hi All,

    I have part of my solution done, regarding the extra 220uA usage for each of port C's IO that is low. We had 10k resistors in parallel with the port pins and ground. So, the CC2538 pull-up circuit was in parallel with our 10k resistor. We removed our resistors, and all of the extra current drawn was gone. We now have an average of about 3uA current drawn with all of the 8 pins of port C as inputs, regardless of their state. pull-ups must be enabled on all of port C)

    It would be great to hear from anyone regarding the other issues mentioned in the previous post, in particular, to hear why we get 600nA for the TI CC2538EM board, and only 3uA for our design, with the same firmware.

    And, if port&pin configuration order, makes a difference at all.

    Any comments on this would be most welcome.

    Thanks and regards, DanO.