Hello,
After putting the EK-TM4C1294XL into hibernation mode, the current draw is about 340uA. Is this figure normal? Is there any way to lower the current consumption?
Thanks,
Benson
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.
Hello,
After putting the EK-TM4C1294XL into hibernation mode, the current draw is about 340uA. Is this figure normal? Is there any way to lower the current consumption?
Thanks,
Benson
#include <stdint.h> #include <stdbool.h> #include <string.h> #include <time.h> #include "inc/hw_gpio.h" #include "inc/hw_hibernate.h" #include "inc/hw_ints.h" #include "inc/hw_memmap.h" #include "inc/hw_sysctl.h" #include "inc/hw_types.h" #include "driverlib/debug.h" #include "driverlib/gpio.h" #include "driverlib/hibernate.h" #include "driverlib/interrupt.h" #include "driverlib/pin_map.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" #include "driverlib/sysctl.h" #include "driverlib/systick.h" #include "drivers/pinout.h" int main(void) { uint32_t ui32SysClock; // // Run from the PLL at 120 MHz. // ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000); // // Configure the device pins. // PinoutSet(false, false); // // Enable the hibernate module. // SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE); // // Configure Hibernate module clock. // HibernateEnableExpClk(ui32SysClock); // // Enable RTC mode. // HibernateRTCEnable(); // // Configure the hibernate module counter to 24-hour calendar mode. // HibernateCounterMode(HIBERNATE_COUNTER_24HR); // // Configure GPIOs used as Hibernate wake source. // PK7 is configured as a wake source. // GPIOPinTypeGPIOInput(GPIO_PORTK_BASE, GPIO_PIN_7); GPIOPadConfigSet(GPIO_PORTK_BASE, GPIO_PIN_7, GPIO_STRENGTH_2MA, (GPIO_PIN_TYPE_WAKE_LOW | GPIO_PIN_TYPE_STD_WPU)); while (GPIOPinRead(GPIO_PORTK_BASE, GPIO_PIN_7) == 0) ; // // Enable processor interrupts. // IntMasterEnable(); // // Read and clear any status bits that might have been set since // last clearing them. // HibernateIntClear(HibernateIntStatus(0)); // // Configure Hibernate wake sources. // HibernateWakeSet(HIBERNATE_WAKE_GPIO | HIBERNATE_WAKE_RESET); // // Request Hibernation. // HibernateRequest(); // // Wait for a while for hibernate to activate. It should never get // past this point. // SysCtlDelay(100); // // Wait here. // while(1) { } }
Hello Benson,
The EK-TM4C1294XL is a evaluation platform. So current numbers may not be representative of the application. Note that the additional current may be due to Ethernet PHY + Magnetics. If you are using VDD3ON mode then it is required to have a separate LDO to attain the same currents as the specification.
If it is VDD3OFF Mode then we need to debug why the current is higher.
Regards
Amit