Files
NeoECU-Hardware/Architecture/POWER_ARCHITECTURE.md
T

205 lines
8.7 KiB
Markdown

# NeoECU V1 Power Architecture
## Purpose
This document defines the working power architecture for NeoECU V1. The ECU
is powered from a 4S LiPo and controls one injector, one dual-ended dumb
ignition coil, engine-position Hall sensors, analogue sensors, CAN, and a
starter-enable output.
This is an architecture decision document, not a component-selection or
schematic document. Current limits, exact protection components, and regulator
part numbers remain to be selected after the loads and packaging are confirmed.
## Supply Assumptions
- Supply: 4S LiPo battery.
- Nominal voltage: 14.8 V.
- Fully charged voltage: 16.8 V.
- The ECU shall tolerate supply sag during vehicle operation and switching
transients from ignition, injector, starter, and harness inductance.
- Unlike a road-car alternator system, V1 is not initially designed around a
conventional automotive load-dump event. Input protection and regulators
should nevertheless have adequate voltage headroom for realistic local
transients.
## Rail Tree
![Power sources](diagrams/power-sources.svg)
![Power branches](diagrams/power-branches.svg)
## Input and Raw-Battery Domain
`VBAT_PROT` is the protected raw-battery domain. It is produced after the
input fuse, reverse-polarity stage, and input transient clamp.
It supplies the loads that must operate from battery voltage:
- ignition-coil primary supply;
- injector supply;
- a protected, scaled battery-voltage measurement for the MCU.
Ignition, injector, and low-side-output branches require their own protection
and fault containment. Their high-current returns must not share the sensor or
MCU return path; all return domains join deliberately at the power-entry
region.
## +5V_MAIN
`+5V_MAIN` is the ECU's primary regulated 5 V rail. It is generated directly
from `VBAT_PROT` by a synchronous buck converter and powers internal 5 V
circuitry, including automotive ICs that require 5 V logic or supply voltage.
It is the upstream rail for `+5V_AUX` and `+5V_SENS`. External
harness-connected loads shall not be connected directly to `+5V_MAIN`; they
use their separately protected branch.
## +5V_SENS
`+5V_SENS` is derived from `+5V_MAIN` through an eFuse or protected load
switch, followed by a ferrite bead and local filtering. It is not shared
directly with external digital-output loads.
It provides a controlled, protected 5 V excitation supply for ratiometric
pressure sensors and other sensors that require 5 V. The rail shall include a
sensor-facing protection/current-limit stage so a harness short cannot bring
down `+5V_MAIN` or the ECU logic supply. Its voltage should be monitored by
the MCU.
The ferrite bead and local filtering isolate sensor excitation from switching
and digital noise on `+5V_MAIN`, while the protected branch keeps a
sensor-harness fault contained to the sensor domain.
## +5V_AUX
`+5V_AUX` is derived from `+5V_MAIN` through an eFuse or protected load switch.
It supplies external 5 V digital logic-level output circuits, such as a
starter-enable command to a separate external control module.
This rail is distinct from `+5V_SENS` so external digital loads and harness
faults cannot disturb sensor excitation. The protection stage shall isolate a
short on `+5V_AUX` without inhibiting `+5V_MAIN` or the rest of the ECU. It
shall include appropriate output protection and current limiting for the
external interface.
`+5V_AUX` is not an actuator supply. If a starter-enable or other command must
drive a relay or another inductive load, it shall use an appropriate protected
low-side sink output instead of a 5 V logic-level output.
## +3V3_MAIN
`+3V3_MAIN` is generated directly from `VBAT_PROT` by a dedicated synchronous
buck converter. It supplies the STM32H747 digital supply pins and the 3.3 V
digital loads, including logic-side communications circuitry.
The main 3.3 V rail shall not be made by an LDO from either 5 V rail. The H747
and supporting logic can create a substantial 3.3 V load; an LDO would
dissipate the difference between 5 V and 3.3 V as heat. Generating 3.3 V from
`VBAT_PROT` also avoids placing the MCU's current demand on `+5V_MAIN`.
`+3V3_MAIN` must never be derived from `+5V_SENS`, since that would couple the
logic load to the sensor supply.
## +3V3_ANA
`+3V3_ANA` is derived from `+3V3_MAIN` through a ferrite bead and local
filtering. It supplies the MCU analogue supply/reference domain and analogue
front-end circuitry.
The initial implementation should reserve an optional low-noise LDO footprint
for this rail. An LDO should be fitted only if analogue-noise testing shows it
is necessary; it is not the primary 3.3 V regulator. The analogue rail and its
decoupling must follow the STM32H747 supply and ADC layout guidance.
## Ratiometric 5 V Sensor Measurements
The MCU ADC reference is `+3V3_ANA`; it is not expected to be precision-trimmed
to track `+5V_SENS`. Therefore 5 V ratiometric sensor readings are made
ratiometric in measurement and firmware rather than by requiring a fixed
relationship between the rails.
![Ratiometric](diagrams/ratiometric.svg)
Firmware shall calculate the sensor signal as a ratio of the two ADC readings:
```text
sensor fraction = ADC(sensor output) / ADC(+5V_SENS sense)
```
Since the two channels use the same ADC reference, the reference-voltage error
and most common gain error cancel. Divider ratio and temperature drift are also
minimised by using matched, low-drift resistor networks for the sensor-output
and 5-V-sense dividers.
Design requirements:
- The divider ratio must keep both channels within the ADC input range with
margin for the maximum sensor-supply tolerance. A nominal ratio near 0.55
maps 5.25 V to approximately 2.9 V.
- Use corresponding filter characteristics on the sensor-output and 5-V-sense
channels and sample them close together.
- Apply normal input protection and anti-alias filtering without defeating the
intended ratiometric measurement.
- A failed or shorted sensor supply must be detectable from the sensed 5 V
reading.
## Thermistor Measurements
Thermistor dividers are normally excited from `+5V_SENS`, consistent with a
conventional automotive ECU sensor interface. The thermistor itself is passive
and would operate with a 3.3 V excitation, but using the protected 5 V sensor
rail gives a common, diagnosable excitation supply for external sensors.
![Thermistor](diagrams/thermistor.svg)
Firmware shall use the ratio of the thermistor-channel and 5-V-sense ADC
readings to calculate the thermistor resistance. This cancels variation in
both `+5V_SENS` and the `+3V3_ANA` ADC reference. Pull-up resistance must be
chosen to limit thermistor self-heating while providing sufficient measurement
resolution over the required temperature range.
## +12V_SENS
The crank and cam sensors are currently described as 12 V, active-low,
open-collector-style Hall-effect sensors. They are supplied from `+12V_SENS`.
`+12V_SENS` is a regulated 12 V buck-boost rail generated from `VBAT_PROT`.
It provides a stable supply when the 4S LiPo is above or below 12 V and may be
used by future 12 V sensor circuits in addition to the crank and cam sensors.
The rail shall include a sensor-facing current-limit or protected high-side
switch, filtering appropriate to the harness, and local decoupling at the
sensor connector. Its voltage accuracy, ripple, current capability, and
current-limit threshold must be specified from the selected Hall sensors and
the future 12 V sensor budget.
Hall outputs shall not enter the MCU at the sensor supply voltage. Their input
conditioning shall provide protection, noise rejection, and a defined
logic-level conversion to protected 3.3 V timer inputs. Output pull-up and
level-shift details are to be selected with the final sensor wiring and output
type.
## Grounding and Layout Intent
- Keep ignition, injector, and starter-switch current returns separate from
sensor and MCU ground returns.
- Join these return domains deliberately near the input/power-entry region.
- Keep switching-regulator hot loops compact and away from trigger and ADC
signal paths.
- Route sensor supply and sensor-return paths as controlled pairs to the
connector where practical.
- Place the analogue front end near its ADC connections and isolate it from
ignition and injector switching nodes.
## Open Items Before Schematic Freeze
1. Confirm the current budget for each rail, including all expansion I/O.
2. Confirm the Hall-sensor part numbers, current, output type, cable lengths,
and pull-up requirements; establish the current budget for future
`+12V_SENS` loads.
3. Select the input transient and reverse-polarity ratings after the battery,
wiring, and enclosure arrangement are known.
4. Confirm sensor-supply accuracy, current limit, and diagnostic requirements.
5. Validate ADC noise and ratiometric accuracy on hardware before deciding
whether the optional `+3V3_ANA` LDO is needed.