2017-09-05 09:12 AM
Hi there,
I am coding STM32F030F4 using CubeMX generated EWARM project.
All ICs are monitored by single voltage supervisor including F030, but unfortunately one of IC has design problem and it need a 'reset pulse' after start up.
I have to generate this reset pulse on F030 and the signal manipulates supervisor's manual reset input that reset also F030 itself.
So I would like to add NRST input mask routine for F030 while reset pulse sending operation.Can I do this?
tyro
2017-09-05 09:25 AM
No
Going to need to modify the board to drive a GPIO based reset to your problematic device.
You could generate a reset on the pin from the STM32.
2017-09-05 11:29 PM
Hello Clive One,
Ok I'll redesign my board to GPIO based reset control.
Thank you for your advice.
2017-09-05 11:34 PM
Can you mod the one you have to check the solution?
Could you cut the NRST line at the STM32? It should be able to reset itself
2017-09-06 12:46 AM
Maybe I can't.
I was thinking the same thing. F030(3.3V Drive) also have supervisor internally.
In this design, supervisor IC is monitoring 1.8V that is core supply for problematic device.
1.8V is regulated from 3.3V, so system start need to wait until the stabilize 1.8V.
NRST port on problematic device have internal pull-up register.
Now I'm seeing RM0360 Reference manual - General-purpose I/Os - Page128.
I have to choose a characteristics on GPIO port from open-drain/push-pull, pull-up/down capability.
Which mode is the best choice? I worry about initial GPIO state at F030 start up.
2017-09-06 03:23 AM
I am planning to change as below:
NRST control port is PA2 that has external 10kOhm pull-up resistor.
Problematic device will stay reset immediately after system power on.
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);/*Configure GPIO pin : PA2 */
GPIO_InitStruct.Pin = GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);Do you have any other idea?