Files
NeoECU-Hardware/Architecture/IO_MODULES/IGNITION.md
T
h3cx 0de94168f7 Initial function IO and power architecture
This commit contains the inital functional IO (engine controls and
general digital and analog IO excluding digital IO) and the initial
power architecture for the project
2026-08-29 21:18:45 +02:00

136 lines
5.7 KiB
Markdown

# Ignition Output Module
## Purpose
This module drives the existing dual-ended, two-pin dumb ignition coil. The
coil primary is battery-fed and switched on its low side by an STMicroelectronics
VBG08H-E smart ignition IGBT (`VBG08HTR-E` for tape-and-reel assembly).
The VBG08H-E integrates the ignition IGBT, high-voltage clamp, coil-current
limit, thermal protection, soft shutdown, and a coil-current threshold flag.
Its 8 A maximum operative coil-current rating is compatible with V1 only after
the final coil's primary characteristics and required dwell current are
confirmed.
## Power path
```text
VBAT_PROT --> coil primary --> VBG08H HVC
|
internal IGBT
|
PGND1 + PGND2 --> IGN_PGND --> power-entry ground
```
- `HVC` connects to one coil-primary terminal; the other terminal connects to
`VBAT_PROT`.
- `VS` is supplied from `VBAT_PROT`. Place a 100 nF ceramic and 10 µF local
capacitor at `VS`, following the VBG08H-E reference circuit.
- `VBAT_PROT` protection must maintain the VBG08H-E within its 5.4-28 V
operating supply range during normal operation and expected local transients.
- Do not place a conventional flyback diode across the coil primary. The
VBG08H-E's internal high-voltage clamp provides the rapid primary-current
collapse required to generate a spark.
## Command and inhibit path
`INP` is active high: a rising edge begins coil dwell and a falling edge
causes the normal spark event.
```text
STM32 ignition timing output
--> 3.3 V-to-5 V non-inverting buffer --> 1 kOhm --> INP
|
low-capacitance
Zener clamp
|
VBG local Kelvin-ground reference
SAFE_IGNITION_INHIBIT
--> 1 kOhm --> EN
|
low-capacitance
Zener clamp
|
VBG local Kelvin-ground reference
```
The VBG08H-E input-high requirement is 3 V. A 5 V buffer is used rather than
direct STM32 drive to preserve high-level margin across MCU output tolerance,
temperature, and ignition noise.
`EN` is active low:
```text
SAFE_IGNITION_INHIBIT = NOT(ENGINE_PERMIT)
```
When `ENGINE_PERMIT` is removed, `SAFE_IGNITION_INHIBIT` becomes high. If a
dwell is active, this invokes the VBG08H-E soft shutdown so coil current is
removed without intentionally generating a spark. The 1 kOhm resistors on
`INP` and `EN` follow the manufacturer's reference circuit and limit transient
current into the device's control pins.
The command traces shall be short, have a continuous quiet reference, and be
routed away from the `HVC` switching node and coil connector. The VBG08H-E
already includes input filtering; no external RC filter shall be added until
its timing effect has been analysed.
Fit a low-capacitance Zener clamp directly at each `INP` and `EN` power-IC pin,
on the VBG side of its 1 kOhm series resistor. Each clamp returns to the VBG
local Kelvin-ground reference at the `IGN_PGND` joining point, not to remote
`DGND`. The clamp voltage shall tolerate the valid 5 V logic high while
limiting positive transients before the VBG08H-E input-overvoltage threshold.
On `EN`, the protection network must preserve the fail-safe high/inhibit state
and must not create a path that can pull `EN` low during a fault.
## Current-flag diagnostic
`C.F.` is an open-drain output. It is low while coil current is below its
internal threshold and releases when the current reaches the nominal 6.5 A
threshold. The threshold is not externally programmable.
```text
VBG08H C.F. --> reference-style R/C filter and 3.3 V pull-up --> STM32 GPIO
```
The pull-up voltage must not exceed 5.5 V; `+3V3_MAIN` is suitable. The signal
is a diagnostic confirmation of primary-current buildup and is not part of the
hardware ignition shutoff path. Firmware shall use it to detect and report an
under-current/late-current condition while retaining a separately defined
maximum dwell time.
## Ground and layout
Define `IGN_PGND` as the ignition module's high-current return domain.
```text
PGND1 -- matched heavy copper --+
+--> IGN_PGND local joining point --> power-entry ground
PGND2 -- matched heavy copper --+
|
VBG08H GND -- short, separate Kelvin reference trace --+
```
- `PGND1` and `PGND2` must use equal-length, equal-width, and similarly
shaped copper paths to the `IGN_PGND` joining point. The VBG08H-E uses these
paths in its internal current-sensing scheme; imbalance shifts its current
limit and current-flag threshold.
- The VBG08H-E `GND` pin connects locally to that same joining point through a
short, separate Kelvin/reference trace. It does not carry coil current.
- Do not separately connect the VBG08H-E `GND` pin to the remote `DGND` plane.
`IGN_PGND` and `DGND` meet only at the deliberate power-entry ground star,
preventing parallel ground-return paths.
- Keep the coil-current loop compact and isolate its routing from MCU, ADC,
trigger-input, and communication traces.
## Remaining validation before schematic freeze
1. Identify the coil and measure/obtain its primary resistance, inductance,
operating current, and permitted dwell characteristics.
2. Confirm that worst-case stored energy and current remain within the
VBG08H-E repetitive operating limits at the 16.8 V battery maximum.
3. Verify thermal performance with the selected PCB copper area and enclosure.
4. Validate spark noise, `C.F.` behavior, input margins, and the effective
engine-permit shutdown behavior on hardware.