2023-01-20 02:36 AM
Dear all, I'm facing the firmware downloading on a custom board for the first time after its testing version was produced.
This custom board design was an heritance from an externarl designer but I have found some hardware issues that must be fixed.
The firmware was allready tested on the Nucleo Board and it's working fine.
Now I'm wondering about the regulator VCAP pins. I'm just comparing the Nucleo schematics with this custom board and they have differences. So I read about this two pins on datasheet in order to understand about the hardware needs and its configuration.
So after doing this, I have understood some things but there is other questions that I have not answered looking at the technical documents that I read.
What I have understood:
My unclear conception, hence my questions:
2023-01-20 05:48 AM
These are internal power supply pins, not supervisor. The VCAP pins are outputs of an internal regulator. They are not visible to MCU logic, so no configuration is needed nor possible. Just connect the capacitors as described in the data sheet - usually 2u2 per pin if > 1 VCAP pin is present, 4u7 if only one pin is available in the MCU case.
2023-01-20 01:54 PM
There is no need for an external voltage supervisor circuit as STM32 has an internal one. Generally read the AN3320.
2023-01-23 12:54 AM
Thans for your answer.
Sorry, I'm not saying that those pins are a voltage supervisor. But reading the datasheet, where it says:
"The device has an integrated POR/PDR circuitry that allows proper operation starting
from/down to 1.8 V"
I was confusing about if it was refered to a part of the internal voltage regulator circuitry. Ok, these functions are not a voltage regulator issue.
As I said before, this PCB design was missed the capacitors on VCAPs pins. It was a prototype PCB version. It's very dificult to connect there two ceramic capacitor with a short way to GND.
Does it mean that microcontroller will enteraly not be able to setup the system? Or could it works a little? Are their presence completely essential for the system boot after being programmed? Or could even it giving binary file downloading problems to the program memory (FLASH)?
I other words, what kind of problems could their not connection cause to the mcu when trying to program it and trying to execute an application?
2023-01-23 01:00 AM
I think the same but it was an external design product and the company puts the supervisor on the circuit in case the VCC has a voltage drop down. I really don't know about if it is useful or necessary. By the way.. now I'm facing the CAPs absence on VCAP pins.
Thanks a lot for the AN, it seems very interesting document that I don't was awared about its existence.
2023-01-26 05:57 PM
My guess is that without any capacitors on VCAP at all the MCU will have a poor and erratic performance at best or most likely will not be usable at all.
2023-01-27 12:45 AM
Systick timer interruption is not happening once its interruption is eanbled during HAL_Init() call, clock system is also not being configured after this. After this, the firmware is running in a error loop sentence for ever.
I guess this behavior is a consequence of the missed capacitors. But I measure both Vcap pins voltage and it was 1.2V. I can't put here two capacitors now in order to discard firmware issues, but I will modify the design of this pcb and I will be waiting until it arrives here. Then, I will try once again to run the application.
I wil comment the result here.
2023-01-28 04:38 PM
If it is running the error loop, it at least is running somehow and there could be a problem with code. Write your own code or debug the HAL/Cube broken bloatware to sort it out.
2023-01-30 12:09 AM
Thanks Piranha, I would do if it could solve the problem. I'm not worried about how to get out from the loop. I will explain it a little better. I was debugging to see where the thread returns HAL_ERROR. I don't need yet to get out from this loop since I have allocated why I'm entering there. It is on system clock configuration. But I'm pretty sure that HAL_Tick system interruption is involved there. Timer interruption has never been produced after HAL_Init enables this interruption. So tick count is getting the "0" value for ever.
The firmware works fine on Nucleo board but it doesn't on my board. Two things could be the cause. Missed caps. on Vcap pins (hardware) or some kinf of wrong configuration parameters (firmware) that I should modify but I'm not aware and it's also missed.
I will first try to discard the hardware issue.