Homogenized labels and added crank and cam sensor inputs
This commit is contained in:
@@ -19,7 +19,7 @@ temperature and pressure sensors, and an external starter switch.
|
||||
| --- | ---: | --- |
|
||||
| Crank trigger input | 1 | 12 V active-low Hall, timer capture |
|
||||
| Cam trigger input | 1 | 12 V active-low Hall, timer capture |
|
||||
| Deadman input | 1 | Dedicated 5 V vehicle-logic engine-permit input |
|
||||
| Deadman inputs | 2 | Dedicated, independent 5 V vehicle-logic engine-permit inputs |
|
||||
| Thermistor inputs | 4 | Air, oil, water, and one spare temperature input |
|
||||
| General analogue inputs | 9 | Protected 0-5 V sensor channels |
|
||||
| ADC rail-monitor channels | 3 | `VBAT_PROT`, `+5V_SENS`, and `+12V_SENS` |
|
||||
@@ -53,32 +53,11 @@ the scope of this document.
|
||||
|
||||
## Engine-Position Inputs
|
||||
|
||||
Crank and cam are dedicated inputs, not generic digital inputs. The assumed
|
||||
sensor type is a three-wire, active-low, open-collector/current-sinking Hall
|
||||
sensor.
|
||||
|
||||
```text
|
||||
+12V_SENS -- ECU-side pull-up -- Hall signal harness -- Hall output
|
||||
|
|
||||
protection / divider / fast RC
|
||||
|
|
||||
3.3 V Schmitt trigger
|
||||
|
|
||||
STM32 timer-capture pin
|
||||
```
|
||||
|
||||
The ECU-side pull-up is connected to regulated `+12V_SENS`, not to 3.3 V.
|
||||
This gives the harness a robust 12 V-class signal while keeping the MCU domain
|
||||
local and protected. An initial pull-up near 4.7 kohm is a reasonable starting
|
||||
point, subject to the selected sensor's output-current specification and the
|
||||
cable capacitance.
|
||||
|
||||
The divider scales the 12 V signal to the Schmitt-buffer input. A deliberately
|
||||
small, configurable RC filter follows the divider to reject spark-induced
|
||||
glitches without materially slowing genuine trigger edges. A nominal 1 nF
|
||||
capacitor footprint, with alternatives such as 470 pF and 2.2 nF, should be
|
||||
provided and validated with ignition active. The final divider, pull-up, clamp,
|
||||
filter, and cable requirements depend on the Hall part number and harness.
|
||||
Crank and cam are dedicated timer-capture inputs, not generic digital inputs.
|
||||
The V1 timing pattern remains two crank pulses per revolution and one cam pulse
|
||||
per 720-degree cycle. Their interface, harness/shield termination, protection,
|
||||
conditioning, and hardware/firmware glitch-rejection requirements are defined
|
||||
in [ENGINE_POSITION_INPUTS.md](IO_MODULES/ENGINE_POSITION_INPUTS.md).
|
||||
|
||||
## Analogue Inputs
|
||||
|
||||
@@ -174,25 +153,28 @@ actual harness and input-function requirements.
|
||||
|
||||
## Deadman Engine-Permit Interlock
|
||||
|
||||
The deadman input is a dedicated 5 V vehicle-logic input, not a generic digital
|
||||
input. It is conditioned through the normal protected 5 V input interface and
|
||||
level-shifted to protected 3.3 V logic. A loss of the external deadman signal
|
||||
is the not-permitted state.
|
||||
The deadman uses two dedicated 5 V vehicle-logic inputs, not generic digital
|
||||
inputs. The steering-wheel switch provides two electrically independent,
|
||||
normally-open contacts. Each contact has its own connector pin, protection,
|
||||
filtering, default-low bias, and conditioned logic path. This makes an open
|
||||
circuit or a short to the 5 V source on one signal path non-permissive.
|
||||
|
||||
The resulting `DEADMAN_OK` signal has two independent destinations:
|
||||
The resulting 5 V `DEADMAN_OK` signal is high only when channel A reports
|
||||
held and the independently conditioned, inverted channel B reports not
|
||||
released. It has two independent destinations:
|
||||
|
||||
- It enters an MCU digital input so firmware can observe whether the deadman is
|
||||
locked or unlocked, disable scheduling, and report the state.
|
||||
- It is combined in hardware with the MCU's `MCU_RUN_PERMIT` output to produce
|
||||
`ENGINE_PERMIT`.
|
||||
- `DEADMAN_A_STATUS` and `DEADMAN_B_STATUS` enter MCU digital inputs so
|
||||
firmware can observe each contact, detect disagreement, disable scheduling,
|
||||
and report the state.
|
||||
- `DEADMAN_OK` is combined in hardware with the MCU's `MCU_RUN_PERMIT` output
|
||||
to produce `ENGINE_PERMIT`.
|
||||
|
||||
```text
|
||||
5 V deadman input --> protection / level shift --> DEADMAN_OK --+--> MCU input
|
||||
|
|
||||
MCU_RUN_PERMIT --------------------------------------------------AND--> ENGINE_PERMIT
|
||||
|
|
||||
driver enable pins, or
|
||||
command-signal gating
|
||||
deadman contact A --> protected input --> DEADMAN_A_HELD --------+
|
||||
+--> valid-state logic --> DEADMAN_OK --+
|
||||
deadman contact B --> protected input --> inverted --> DEADMAN_B_RELEASED -+ |
|
||||
AND --> ENGINE_PERMIT
|
||||
MCU_RUN_PERMIT ----------------------------------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
`ENGINE_PERMIT` controls the enable inputs of the injector and ignition drivers
|
||||
@@ -200,13 +182,16 @@ where those inputs are provided. If a selected driver has no suitable enable
|
||||
input, `ENGINE_PERMIT` is ANDed with that driver's MCU command signal using
|
||||
logic that defaults to the disabled state on power-up or loss of power.
|
||||
|
||||
This hardware path ensures that releasing the deadman stops injector and
|
||||
ignition commands even if firmware or a timer output fails to respond. Firmware
|
||||
must also clear/disable pending injection and dwell schedules whenever
|
||||
`DEADMAN_OK` becomes invalid. A firmware test mode may assert
|
||||
`MCU_RUN_PERMIT`, but it does not override the physical deadman input; bench
|
||||
operation requires a deliberate external test arrangement that presents a valid
|
||||
deadman signal.
|
||||
This hardware path ensures that releasing the deadman, an open circuit, or a
|
||||
single signal-path short to the 5 V source stops injector and ignition commands
|
||||
even if firmware or a timer output fails to respond. It does not claim to cover
|
||||
a common-mode fault that energises both paths. Firmware must clear/disable
|
||||
pending injection and dwell schedules whenever `DEADMAN_OK` becomes invalid or
|
||||
the two MCU status inputs disagree. A firmware test mode may assert
|
||||
`MCU_RUN_PERMIT`, but it does not override the physical deadman inputs; bench
|
||||
operation requires a deliberate external test arrangement that presents the
|
||||
valid two-channel held state. The detailed signal and fault model is defined in
|
||||
[DEAD_MAN.md](IO_MODULES/DEAD_MAN.md).
|
||||
|
||||
## Outputs
|
||||
|
||||
@@ -266,8 +251,6 @@ included unless a future peripheral explicitly requires it.
|
||||
|
||||
- Keep trigger and ADC front ends physically separated from coil, injector,
|
||||
switching-regulator, and high-current output nodes.
|
||||
- Route Hall signals with their sensor return; use an appropriate harness and
|
||||
shielding strategy after cable testing.
|
||||
- Place protection at the connector, filtering/conditioning near the MCU side,
|
||||
and avoid dumping input-fault energy into `+3V3_ANA`.
|
||||
- Validate Hall glitch rejection with ignition active, including worst-case
|
||||
|
||||
Reference in New Issue
Block a user