MCU's Firmware Starts before Analog Power Rails are "Power Good" #32

Open
opened 2024-02-06 14:49:42 +08:00 by linuswck · 3 comments
Collaborator

Description of Problem:

Hardware Revision: Rev0_3

By looking at the LEDs of different supply rails, it is clear that digital power supply is powered up way before the analog power supply is stabilized.

Since the initial boot stage of firmware must configure and initialize the peripherals, this leads to wrong configurations of peripherals due to analog power supply not being stable.

During firmware development, thermostat related hardware is consistently being configured wrongly at startup. But, if you reset the MCU and re-run the same firmware when all power rails are stable, firmware initializes peripherals correctly

Solutions:

For Rev0_3:

  1. Software:
  • Add a small hard coded delay before boot stage

For next revision:
2. Hardware + Software:

  • Connect the PG pins of the analog power supply to MCU
  • In firmware, Wait until all analog power supply is "power good" before initializing the external peripherals and then wait for another delay for the power supply to fully stabilized to 100% of its rated voltage and accounting for the whole board warming up in general.
### Description of Problem: Hardware Revision: Rev0_3 By looking at the LEDs of different supply rails, it is clear that digital power supply is powered up way before the analog power supply is stabilized. Since the initial boot stage of firmware must configure and initialize the peripherals, this leads to wrong configurations of peripherals due to analog power supply not being stable. During firmware development, thermostat related hardware is consistently being configured wrongly at startup. But, if you reset the MCU and re-run the same firmware when all power rails are stable, firmware initializes peripherals correctly ### Solutions: For Rev0_3: 1. Software: - Add a small hard coded delay before boot stage For next revision: 2. Hardware + Software: - Connect the PG pins of the analog power supply to MCU - In firmware, Wait until all analog power supply is "power good" before initializing the external peripherals and then wait for another delay for the power supply to fully stabilized to 100% of its rated voltage and accounting for the whole board warming up in general.
linuswck changed title from MCU's Firmware starts before Analog Power Rails are "Power Good" to MCU's Firmware Starts before Analog Power Rails are "Power Good" 2024-02-06 14:49:53 +08:00

Sounds like we can implement either solution depending on the detected hardware revision? Shouldn't be a lot of code.

Sounds like we can implement either solution depending on the detected hardware revision? Shouldn't be a lot of code.
Poster
Collaborator

Yes. Should be a simple bug fix in code depending hw revision.

Yes. Should be a simple bug fix in code depending hw revision.
Poster
Collaborator

After Digital 3V3 Power Rail is stabilized, Analog 3V3A Power Rail takes around

  • 1.12s to reach 90% of its output voltage(LT3042's PG Definition),
  • 1.5s to reaches >95% of its output voltage
  • 2.0s to full reaches 100% of its output voltage

SDS2504X Plus_PNG_7
Yellow: Digital 3V3 Power Rail
Purple: Analog 3V3A Power Rail
Note: Since 3V3A is the leaf with the greatest depth down the analog power tree, if 3V3A is stabilized, other analog power rails should have been stabilized.

After Digital 3V3 Power Rail is stabilized, Analog 3V3A Power Rail takes around - 1.12s to reach 90% of its output voltage(LT3042's PG Definition), - 1.5s to reaches >95% of its output voltage - 2.0s to full reaches 100% of its output voltage ![SDS2504X Plus_PNG_7](/attachments/e95d46c7-b37e-476e-a12b-d183283c2061) Yellow: Digital 3V3 Power Rail Purple: Analog 3V3A Power Rail Note: Since 3V3A is the leaf with the greatest depth down the analog power tree, if 3V3A is stabilized, other analog power rails should have been stabilized.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sinara-hw/kirdy#32
There is no content yet.