Part Number: MSP430FR5994
Other Parts Discussed in Thread: MSP-EXP430FR5994
Hello All,
I am currently evaluating the MSP430FR5994 chip for use and need to verify power up time from a cold start. Per the data sheet, it specifies that nominal is .5ms, and max is 1ms (data sheet, section 5.12.4). My tests show differently and was wondering if any know a way to test to get such results. (not sure I can change the clock source prior to my GPIO pin going high, that is about the 3rd line in my test app)
My setup is as follows:
- using the LauncPad Dev board MSP-EXP430FR5994
- Using the bare bones "BlinkLed" project, modify it to init a specific GPIO on start and drive high
- Using an oscilloscope, connect probes to this pin, the 3.3v supply, and RST pin on the dev board
- Trigger scope by either
- Power up the board, triggering the scope on the rising edge of the GPIO.
- Leave board powered, press reset button
(basically, on cold start, 3.3 and RST go HIGH at the same time)
In both 4.a and 4.b, the time from RST high or 3.3 High to the GPIO High is about 1.7ms. Our application requires very fast wake-up times, and saving a ms will help a lot..
Thanks,
-mike
Code Snippet:
int main(void) {
volatile uint32_t i;
// Stop watchdog timer
WDT_A_hold(WDT_A_BASE);
// Set P4.4 to output direction
GPIO_setAsOutputPin(
GPIO_PORT_P4,
GPIO_PIN4
);
GPIO_setOutputLowOnPin(GPIO_PORT_P4,GPIO_PIN4); //init to 0
GPIO_setOutputHighOnPin(GPIO_PORT_P4,GPIO_PIN4);//drive high - oscilloscope trigger
// Board initialization
Init_GPIO();
GPIO_setOutputHighOnPin(GPIO_PORT_P4,GPIO_PIN4); //drive high again, init gpio will reset to low
FRAMCtl_A_configureWaitStateControl(FRAMCTL_A_ACCESS_TIME_CYCLES_1);
Init_Clock(); //16MHz DCO
// Set P1.0 to output direction
GPIO_setAsOutputPin(
GPIO_PORT_P1,
GPIO_PIN0
);
// Set P1.0 to output direction
GPIO_setAsOutputPin(
GPIO_PORT_P4,
GPIO_PIN4
);
// Disable the GPIO power-on default high-impedance mode
// to activate previously configured port settings
//PMM_unlockLPM5();
while(1)
{
// Toggle P1.0 output
GPIO_toggleOutputOnPin(
GPIO_PORT_P1,
GPIO_PIN0
);
//GPIO_toggleOutputOnPin(
// GPIO_PORT_P4,
// GPIO_PIN4
// );
// Delay
for(i=1000000; i>0; i--);
}
}

