From 31b3595ac08bd54cdd7af4f7aa33c3837fddc6ce Mon Sep 17 00:00:00 2001 From: Hector van der Aa Date: Thu, 10 Sep 2026 23:39:49 +0200 Subject: [PATCH] [UNVERIFIED] Astra diagram pass --- Architecture/IO_ARCHITECTURE.md | 35 +- Architecture/IO_MODULES/ANALOG_INPUTS.md | 14 +- Architecture/IO_MODULES/DEAD_MAN.md | 19 +- Architecture/IO_MODULES/DIGITAL_INPUTS.md | 3 - Architecture/IO_MODULES/DIGITAL_OUTPUTS.md | 33 +- .../IO_MODULES/ENGINE_POSITION_INPUTS.md | 13 +- Architecture/IO_MODULES/IGNITION.md | 38 +- Architecture/IO_MODULES/INJECTON.md | 23 +- Architecture/POWER_ARCHITECTURE.md | 50 +- Architecture/README.md | 5 + Architecture/diagrams/README.md | 79 + Architecture/diagrams/analog-input.png | Bin 0 -> 44754 bytes Architecture/diagrams/analog-input.svg | 2 + .../diagrams/analog-input.topology.json | 130 ++ Architecture/diagrams/block-connections.json | 1484 +++++++++++++++++ Architecture/diagrams/build_blocks.py | 144 ++ Architecture/diagrams/build_circuits.py | 176 ++ Architecture/diagrams/dac-output.drawio | 38 + Architecture/diagrams/dac-output.png | Bin 0 -> 21502 bytes Architecture/diagrams/dac-output.svg | 2 + Architecture/diagrams/deadman-inputs.drawio | 59 + Architecture/diagrams/deadman-inputs.png | Bin 0 -> 60091 bytes Architecture/diagrams/deadman-inputs.svg | 2 + Architecture/diagrams/deadman-outputs.png | Bin 0 -> 42422 bytes Architecture/diagrams/deadman-outputs.svg | 2 + .../diagrams/deadman-outputs.topology.json | 99 ++ Architecture/diagrams/deadman-permit.png | Bin 0 -> 45017 bytes Architecture/diagrams/deadman-permit.svg | 2 + .../diagrams/deadman-permit.topology.json | 115 ++ Architecture/diagrams/export_blocks.py | 35 + Architecture/diagrams/ignition-command.png | Bin 0 -> 57068 bytes Architecture/diagrams/ignition-command.svg | 2 + .../diagrams/ignition-command.topology.json | 149 ++ Architecture/diagrams/ignition-flag.drawio | 32 + Architecture/diagrams/ignition-flag.png | Bin 0 -> 26143 bytes Architecture/diagrams/ignition-flag.svg | 2 + Architecture/diagrams/ignition-ground.drawio | 53 + Architecture/diagrams/ignition-ground.png | Bin 0 -> 37440 bytes Architecture/diagrams/ignition-ground.svg | 2 + Architecture/diagrams/ignition-power.drawio | 44 + Architecture/diagrams/ignition-power.png | Bin 0 -> 25785 bytes Architecture/diagrams/ignition-power.svg | 2 + Architecture/diagrams/injector-command.png | Bin 0 -> 40553 bytes Architecture/diagrams/injector-command.svg | 2 + .../diagrams/injector-command.topology.json | 94 ++ Architecture/diagrams/injector-ground.drawio | 32 + Architecture/diagrams/injector-ground.png | Bin 0 -> 25072 bytes Architecture/diagrams/injector-ground.svg | 2 + Architecture/diagrams/injector-power.drawio | 44 + Architecture/diagrams/injector-power.png | Bin 0 -> 28022 bytes Architecture/diagrams/injector-power.svg | 2 + Architecture/diagrams/injector-status.png | Bin 0 -> 33617 bytes Architecture/diagrams/injector-status.svg | 2 + .../diagrams/injector-status.topology.json | 74 + Architecture/diagrams/logic-output.png | Bin 0 -> 36104 bytes Architecture/diagrams/logic-output.svg | 2 + .../diagrams/logic-output.topology.json | 94 ++ Architecture/diagrams/power-branches.drawio | 77 + Architecture/diagrams/power-branches.png | Bin 0 -> 58370 bytes Architecture/diagrams/power-branches.svg | 2 + Architecture/diagrams/power-sources.drawio | 92 + Architecture/diagrams/power-sources.png | Bin 0 -> 71621 bytes Architecture/diagrams/power-sources.svg | 2 + Architecture/diagrams/ratiometric.drawio | 56 + Architecture/diagrams/ratiometric.png | Bin 0 -> 37003 bytes Architecture/diagrams/ratiometric.svg | 2 + Architecture/diagrams/sink-command.png | Bin 0 -> 47877 bytes Architecture/diagrams/sink-command.svg | 2 + .../diagrams/sink-command.topology.json | 101 ++ Architecture/diagrams/sink-interfaces.drawio | 53 + Architecture/diagrams/sink-interfaces.png | Bin 0 -> 39666 bytes Architecture/diagrams/sink-interfaces.svg | 2 + Architecture/diagrams/sink-power.drawio | 44 + Architecture/diagrams/sink-power.png | Bin 0 -> 31899 bytes Architecture/diagrams/sink-power.svg | 2 + Architecture/diagrams/thermistor.png | Bin 0 -> 46695 bytes Architecture/diagrams/thermistor.svg | 2 + .../diagrams/thermistor.topology.json | 124 ++ Architecture/diagrams/trigger-input.png | Bin 0 -> 65651 bytes Architecture/diagrams/trigger-input.svg | 2 + .../diagrams/trigger-input.topology.json | 155 ++ 81 files changed, 3762 insertions(+), 192 deletions(-) create mode 100644 Architecture/diagrams/README.md create mode 100644 Architecture/diagrams/analog-input.png create mode 100644 Architecture/diagrams/analog-input.svg create mode 100644 Architecture/diagrams/analog-input.topology.json create mode 100644 Architecture/diagrams/block-connections.json create mode 100644 Architecture/diagrams/build_blocks.py create mode 100644 Architecture/diagrams/build_circuits.py create mode 100644 Architecture/diagrams/dac-output.drawio create mode 100644 Architecture/diagrams/dac-output.png create mode 100644 Architecture/diagrams/dac-output.svg create mode 100644 Architecture/diagrams/deadman-inputs.drawio create mode 100644 Architecture/diagrams/deadman-inputs.png create mode 100644 Architecture/diagrams/deadman-inputs.svg create mode 100644 Architecture/diagrams/deadman-outputs.png create mode 100644 Architecture/diagrams/deadman-outputs.svg create mode 100644 Architecture/diagrams/deadman-outputs.topology.json create mode 100644 Architecture/diagrams/deadman-permit.png create mode 100644 Architecture/diagrams/deadman-permit.svg create mode 100644 Architecture/diagrams/deadman-permit.topology.json create mode 100644 Architecture/diagrams/export_blocks.py create mode 100644 Architecture/diagrams/ignition-command.png create mode 100644 Architecture/diagrams/ignition-command.svg create mode 100644 Architecture/diagrams/ignition-command.topology.json create mode 100644 Architecture/diagrams/ignition-flag.drawio create mode 100644 Architecture/diagrams/ignition-flag.png create mode 100644 Architecture/diagrams/ignition-flag.svg create mode 100644 Architecture/diagrams/ignition-ground.drawio create mode 100644 Architecture/diagrams/ignition-ground.png create mode 100644 Architecture/diagrams/ignition-ground.svg create mode 100644 Architecture/diagrams/ignition-power.drawio create mode 100644 Architecture/diagrams/ignition-power.png create mode 100644 Architecture/diagrams/ignition-power.svg create mode 100644 Architecture/diagrams/injector-command.png create mode 100644 Architecture/diagrams/injector-command.svg create mode 100644 Architecture/diagrams/injector-command.topology.json create mode 100644 Architecture/diagrams/injector-ground.drawio create mode 100644 Architecture/diagrams/injector-ground.png create mode 100644 Architecture/diagrams/injector-ground.svg create mode 100644 Architecture/diagrams/injector-power.drawio create mode 100644 Architecture/diagrams/injector-power.png create mode 100644 Architecture/diagrams/injector-power.svg create mode 100644 Architecture/diagrams/injector-status.png create mode 100644 Architecture/diagrams/injector-status.svg create mode 100644 Architecture/diagrams/injector-status.topology.json create mode 100644 Architecture/diagrams/logic-output.png create mode 100644 Architecture/diagrams/logic-output.svg create mode 100644 Architecture/diagrams/logic-output.topology.json create mode 100644 Architecture/diagrams/power-branches.drawio create mode 100644 Architecture/diagrams/power-branches.png create mode 100644 Architecture/diagrams/power-branches.svg create mode 100644 Architecture/diagrams/power-sources.drawio create mode 100644 Architecture/diagrams/power-sources.png create mode 100644 Architecture/diagrams/power-sources.svg create mode 100644 Architecture/diagrams/ratiometric.drawio create mode 100644 Architecture/diagrams/ratiometric.png create mode 100644 Architecture/diagrams/ratiometric.svg create mode 100644 Architecture/diagrams/sink-command.png create mode 100644 Architecture/diagrams/sink-command.svg create mode 100644 Architecture/diagrams/sink-command.topology.json create mode 100644 Architecture/diagrams/sink-interfaces.drawio create mode 100644 Architecture/diagrams/sink-interfaces.png create mode 100644 Architecture/diagrams/sink-interfaces.svg create mode 100644 Architecture/diagrams/sink-power.drawio create mode 100644 Architecture/diagrams/sink-power.png create mode 100644 Architecture/diagrams/sink-power.svg create mode 100644 Architecture/diagrams/thermistor.png create mode 100644 Architecture/diagrams/thermistor.svg create mode 100644 Architecture/diagrams/thermistor.topology.json create mode 100644 Architecture/diagrams/trigger-input.png create mode 100644 Architecture/diagrams/trigger-input.svg create mode 100644 Architecture/diagrams/trigger-input.topology.json diff --git a/Architecture/IO_ARCHITECTURE.md b/Architecture/IO_ARCHITECTURE.md index feffb04..0a50456 100644 --- a/Architecture/IO_ARCHITECTURE.md +++ b/Architecture/IO_ARCHITECTURE.md @@ -68,13 +68,14 @@ external analogue-pin pool, so they increase concurrent conversion capacity rather than doubling the number of physical sensor pins. The proposed V1 allocation occupies 16 conditioned ADC channels: -```text -4 thermistor inputs -9 general 0-5 V inputs -1 VBAT_PROT sense input -1 +5V_SENS sense input -1 +12V_SENS sense input -``` +| Conditioned ADC input class | Channels | +| --- | ---: | +| Thermistors | 4 | +| General 0–5 V inputs | 9 | +| `VBAT_PROT` sense | 1 | +| `+5V_SENS` sense | 1 | +| `+12V_SENS` sense | 1 | +| **Total** | **16** | This leaves meaningful MCU ADC and pin margin, but the final STM32 package and pin assignment must reserve all analogue pins alongside timer, CAN, debug, @@ -90,11 +91,7 @@ because an open thermistor drives the node towards 5 V. Firmware calculates the thermistor resistance from the ratio of its ADC result to the `+5V_SENS` ADC result, then applies the calibration map for the selected sensor. -```text -+5V_SENS -- precision pull-up --+-- thermistor -- sensor ground - | - attenuation/filter --> ADC -``` +![Thermistor](diagrams/thermistor.svg) The pull-up value is selected from the actual NTC curve and required temperature range, balancing resolution against self-heating. The attenuation @@ -169,13 +166,9 @@ released. It has two independent destinations: - `DEADMAN_OK` is combined in hardware with the MCU's `MCU_RUN_PERMIT` output to produce `ENGINE_PERMIT`. -```text -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 ----------------------------------------------------------------------------------------------+ -``` +![Deadman inputs](diagrams/deadman-inputs.svg) + +![Deadman permit](diagrams/deadman-permit.svg) `ENGINE_PERMIT` controls the enable inputs of the injector and ignition drivers where those inputs are provided. If a selected driver has no suitable enable @@ -239,9 +232,7 @@ only when the selected external starter switch accepts that interface. Analogue output is not a V1 functional requirement. Reserve two MCU pins and board footprints for future 0-5 V outputs. The intended future path is: -```text -DAC --> rail-to-rail buffer --> protection / series impedance --> connector -``` +![Dac output](diagrams/dac-output.svg) A true calibrated 0-5 V output may require an external 5 V-referenced DAC or a suitably characterised buffer stage. A general 0-12 V analogue output is not diff --git a/Architecture/IO_MODULES/ANALOG_INPUTS.md b/Architecture/IO_MODULES/ANALOG_INPUTS.md index 6ca918e..c7d3dab 100644 --- a/Architecture/IO_MODULES/ANALOG_INPUTS.md +++ b/Architecture/IO_MODULES/ANALOG_INPUTS.md @@ -9,13 +9,7 @@ use `SENSOR_GND` and are kept separate from ignition/injector return currents. ## General 0--5 V channels -```text -connector -- transient clamp -- R_TOP --+-- ADC-local C_HOLD -- ADC - | - R_BOTTOM - | - SENSOR_GND -``` +![Analog input](../diagrams/analog-input.svg) `R_TOP` is the divider's upper resistor; do not add a separate series `R_PROT` in the normal passive channel. It is the element that limits current @@ -45,11 +39,7 @@ of `+5V_SENS` and sample it close to the sensor channel. ## NTC temperature channels -```text -+5V_SENS -- R_PULLUP --+-- NTC -- SENSOR_GND - | - attenuator / local filter --> ADC -``` +![Thermistor](../diagrams/thermistor.svg) The attenuator and ADC protection are required even if a normal temperature range appears below 3.3 V: an open thermistor raises the node to `+5V_SENS`. diff --git a/Architecture/IO_MODULES/DEAD_MAN.md b/Architecture/IO_MODULES/DEAD_MAN.md index da2dd1b..ff3789f 100644 --- a/Architecture/IO_MODULES/DEAD_MAN.md +++ b/Architecture/IO_MODULES/DEAD_MAN.md @@ -48,22 +48,11 @@ not the safety-critical shutoff path. The permission gates operate from `+5V_MAIN` and accept 3.3 V MCU logic levels. Their outputs are 5 V logic levels. -```text -protected 5 V --> independent NO contact A --> protected A input - +--> 3.3 V --> DEADMAN_A_STATUS --> MCU - `--> 5 V --> DEADMAN_A_HELD -----+ - | -protected 5 V --> independent NO contact B --> protected B input +--> AND --> DEADMAN_OK --+ - +--> 3.3 V --> DEADMAN_B_STATUS --> MCU ^ | - `--> inverter --> DEADMAN_B_RELEASED -- NOT-+ | - | -MCU_RUN_PERMIT ---------------------------------------------------------------------------------------------AND --> ENGINE_PERMIT --+ - | - ignition-permission inverter - --> SAFE_IGNITION_INHIBIT +![Deadman inputs](../diagrams/deadman-inputs.svg) -MCU_INJECTOR_SIG -------------------------------------------------------------------------------------------AND --> SAFE_INJECTOR_SIG -``` +![Deadman permit](../diagrams/deadman-permit.svg) + +![Deadman outputs](../diagrams/deadman-outputs.svg) The logic equations are: diff --git a/Architecture/IO_MODULES/DIGITAL_INPUTS.md b/Architecture/IO_MODULES/DIGITAL_INPUTS.md index 2dd7daf..02e1fb5 100644 --- a/Architecture/IO_MODULES/DIGITAL_INPUTS.md +++ b/Architecture/IO_MODULES/DIGITAL_INPUTS.md @@ -113,9 +113,6 @@ The comparator's 40 V fail-safe input capability eliminates power-backfeed through the comparator; it does not replace harness fault protection. Every channel shall include the following protection functions: -The right-hand side of the figure above shows the required functional -protection arrangement. - - **Primary positive clamp:** use a connector-side TVS or equivalent protection element. Its working standoff shall exceed the 16.8 V maximum normal battery input. Its worst-case dynamic clamp voltage, including diff --git a/Architecture/IO_MODULES/DIGITAL_OUTPUTS.md b/Architecture/IO_MODULES/DIGITAL_OUTPUTS.md index 3266651..6a3e18e 100644 --- a/Architecture/IO_MODULES/DIGITAL_OUTPUTS.md +++ b/Architecture/IO_MODULES/DIGITAL_OUTPUTS.md @@ -22,15 +22,7 @@ may use either class only when the external starter interface accepts it. Use the automotive-qualified TI `TPS4H000-Q1` quad smart high-side switch. It is supplied from `+5V_AUX`, not directly from `+5V_MAIN`. -```text -+5V_MAIN --> +5V_AUX eFuse / load switch --> TPS4H000-Q1 VBB - | -MCU GPIO --> TPS4H000-Q1 INx OUTx --> LOGIC_OUTx --> connector - | | - R_IN_PD R_OUT_PD - | | - GND GND -``` +![Logic output](../diagrams/logic-output.svg) - `+5V_AUX` isolates an external logic-output fault from `+5V_MAIN`, the MCU, and the sensor-excitation rail. @@ -67,28 +59,11 @@ fault and transient specification before schematic freeze. Use the automotive-qualified Infineon `TLE9104SH` smart quad low-side switch. It drives battery-domain loads supplied from `VBAT_PROT`. -```text -VBAT_PROT --> external load --> SINK_OUTx --> TLE9104SH OUTx - | - internal low-side MOSFET - | - OUT_PGND --> power-entry ground star +![Sink power](../diagrams/sink-power.svg) -VBAT_PROT --> TLE9104SH VS +5V_MAIN --> TLE9104SH VDD - +3V3_MAIN --> TLE9104SH VIO +![Sink interfaces](../diagrams/sink-interfaces.svg) -MCU GPIO --> TLE9104SH INx MCU SPI <--> TLE9104SH SPI - | | - R_IN_PD diagnostics - | - TLE9104SH local ground reference - -MCU enable --> TLE9104SH EN - | - R_EN_PD - | - TLE9104SH local ground reference -``` +![Sink command](../diagrams/sink-command.svg) - The TLE9104SH supplies active inductive-load clamping, configurable overcurrent protection, short-circuit and thermal protection, direct channel diff --git a/Architecture/IO_MODULES/ENGINE_POSITION_INPUTS.md b/Architecture/IO_MODULES/ENGINE_POSITION_INPUTS.md index 6b9578e..08e5e82 100644 --- a/Architecture/IO_MODULES/ENGINE_POSITION_INPUTS.md +++ b/Architecture/IO_MODULES/ENGINE_POSITION_INPUTS.md @@ -39,18 +39,7 @@ freezing `R_PULLUP`. The crank-sensor part number remains to be selected. ## Electrical interface -```text - ECU - +12V_SENS ------------------------+--------------------------> sensor supply - SENSOR_GND ---------------------------------------------------> sensor return - | - +12V_SENS -- R_PULLUP -- TRIG_x ---+-- connector -- sensor output - | - +-- connector-side transient protection - +-- R_DIV_TOP --+-- Schmitt buffer --> 3.3 V timer input - +-- R_DIV_BOTTOM -- SENSOR_GND - +-- C_FILTER ------ SENSOR_GND -``` +![Trigger input](../diagrams/trigger-input.svg) - Supply the sensor from `+12V_SENS`; its rail generation, protection, current limit, and diagnostics belong to `POWER_ARCHITECTURE.md`. diff --git a/Architecture/IO_MODULES/IGNITION.md b/Architecture/IO_MODULES/IGNITION.md index d5b4974..c110740 100644 --- a/Architecture/IO_MODULES/IGNITION.md +++ b/Architecture/IO_MODULES/IGNITION.md @@ -14,13 +14,7 @@ confirmed. ## Power path -```text -VBAT_PROT --> coil primary --> VBG08H HVC - | - internal IGBT - | - PGND1 + PGND2 --> IGN_PGND --> power-entry ground -``` +![Ignition power](../diagrams/ignition-power.svg) - `HVC` connects to one coil-primary terminal; the other terminal connects to `VBAT_PROT`. @@ -37,23 +31,7 @@ VBAT_PROT --> coil primary --> VBG08H HVC `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 -``` +![Ignition command](../diagrams/ignition-command.svg) 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, @@ -91,9 +69,7 @@ and must not create a path that can pull `EN` low during a fault. 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 -``` +![Ignition flag](../diagrams/ignition-flag.svg) 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 @@ -105,13 +81,7 @@ maximum dwell time. 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 --+ -``` +![Ignition ground](../diagrams/ignition-ground.svg) - `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 diff --git a/Architecture/IO_MODULES/INJECTON.md b/Architecture/IO_MODULES/INJECTON.md index 787d318..91824f6 100644 --- a/Architecture/IO_MODULES/INJECTON.md +++ b/Architecture/IO_MODULES/INJECTON.md @@ -13,13 +13,7 @@ low-impedance injector requires a different architecture. ## Power path -```text -VBAT_PROT --> injector positive terminal --> injector coil --> VNL5050 DRAIN - | - internal low-side MOSFET - | - SOURCE --> INJ_PGND --> power-entry ground -``` +![Injector power](../diagrams/injector-power.svg) - The injector's positive terminal connects to `VBAT_PROT`; its negative terminal connects to `DRAIN`. @@ -37,12 +31,7 @@ VBAT_PROT --> injector positive terminal --> injector coil --> VNL5050 DRAIN `INPUT` is active high. It receives only the hardware-permitted injector command defined by the two-channel deadman interlock. -```text -SAFE_INJECTOR_SIG --> 1 kOhm Rprot --> INPUT - |-- 10 kOhm ---------> INJ_PGND - `-- low-capacitance - Zener clamp ------> INJ_PGND -``` +![Injector command](../diagrams/injector-command.svg) ```text SAFE_INJECTOR_SIG = ENGINE_PERMIT AND MCU_INJECTOR_SIG @@ -70,9 +59,7 @@ status inputs disagree. `STATUS` is an open-drain diagnostic output. It is read by the MCU through a 1 kOhm protection resistor and a `+3V3_MAIN` pull-up. -```text -+3V3_MAIN pull-up --> MCU-side status node --> 1 kOhm Rprot --> STATUS -``` +![Injector status](../diagrams/injector-status.svg) The 3.3 V pull-up is within the pin rating and provides a safe MCU logic level. The diagnostic path supports off-state open-load detection and indicates @@ -84,9 +71,7 @@ separate, unambiguous MCU-readable short-circuit/current-limit indication. Define `INJ_PGND` as the injector module's high-current return domain. -```text -VNL5050 SOURCE --> short, low-impedance INJ_PGND copper --> power-entry ground star -``` +![Injector ground](../diagrams/injector-ground.svg) - `INJ_PGND` runs directly to the power-entry ground star, where it joins the battery return, `IGN_PGND`, `DGND`, and sensor return domains. diff --git a/Architecture/POWER_ARCHITECTURE.md b/Architecture/POWER_ARCHITECTURE.md index 93cbc0b..44b14cf 100644 --- a/Architecture/POWER_ARCHITECTURE.md +++ b/Architecture/POWER_ARCHITECTURE.md @@ -25,39 +25,9 @@ part numbers remain to be selected after the loads and packaging are confirmed. ## Rail Tree -```text -4S LiPo - | - +-- input fuse, reverse-polarity protection, TVS/transient protection - | - +-- VBAT_PROT ---------------------------------> ignition branch - | injector branch - | protected low-side outputs - | protected VBAT sense - | - +-- synchronous buck --------------------------> +5V_MAIN - | | internal 5 V circuitry - | | - | +-- eFuse / load switch ------------------> +5V_AUX - | | external logic-level outputs - | | - | +-- eFuse / load switch, ferrite/filter --> +5V_SENS - | protected sensor supply - | - +-- synchronous buck --------------------------> +3V3_MAIN - | | MCU digital supplies - | | 3.3 V logic / communications - | | - | +-- ferrite bead / filtering -------------> +5V_AUX - | MCU analogue domain - | analogue front ends - | ADC reference - | - +-- regulated buck-boost ----------------------> +12V_SENS - 12 V sensor supply - crank/cam Hall sensors +![Power sources](diagrams/power-sources.svg) -``` +![Power branches](diagrams/power-branches.svg) ## Input and Raw-Battery Domain @@ -148,13 +118,7 @@ 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. -```text -+5V_SENS ----> sensor excitation - | - +--> sensor output -- matched divider --> ADC sensor channel - | - +--> +5V_SENS sense - matched divider --> ADC 5-V-sense channel -``` +![Ratiometric](diagrams/ratiometric.svg) Firmware shall calculate the sensor signal as a ratio of the two ADC readings: @@ -186,13 +150,7 @@ 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. -```text -+5V_SENS -- precision pull-up --+-- thermistor -- sensor ground - | - +-- matched divider/filter --> ADC thermistor channel - -+5V_SENS ------ matched divider/filter -----------------> ADC 5-V-sense channel -``` +![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 diff --git a/Architecture/README.md b/Architecture/README.md index 29c792a..b001418 100644 --- a/Architecture/README.md +++ b/Architecture/README.md @@ -143,3 +143,8 @@ selection are finalised: requirements. 5. CAN connector and bus topology. 6. Detailed trigger sensor wiring, connector, and cable-length information. + +## Diagram sources + +The architecture figures are embedded as SVGs. Editable sources, PNG previews, +and regeneration instructions are in [diagrams/](diagrams/README.md). diff --git a/Architecture/diagrams/README.md b/Architecture/diagrams/README.md new file mode 100644 index 0000000..51ae236 --- /dev/null +++ b/Architecture/diagrams/README.md @@ -0,0 +1,79 @@ +# Architecture diagram sources + +The architecture Markdown embeds these 22 SVG figures. Matching PNG previews +are provided for viewers that do not support SVG. Diagrams describe the working +architecture; component qualification and schematic-release requirements remain +in the parent documents. + +## Figures + +| Topic | Figures | +| --- | --- | +| Power | [Sources](power-sources.svg), [protected branches](power-branches.svg) | +| Analogue acquisition | [Passive input](analog-input.svg), [thermistor](thermistor.svg), [ratiometric acquisition](ratiometric.svg) | +| Timing inputs | [Crank/cam interface](trigger-input.svg) | +| Deadman | [Contacts and diagnostics](deadman-inputs.svg), [permit gates](deadman-permit.svg), [output gates](deadman-outputs.svg) | +| Ignition | [Power](ignition-power.svg), [commands](ignition-command.svg), [current flag](ignition-flag.svg), [grounding](ignition-ground.svg) | +| Injection | [Power](injector-power.svg), [command](injector-command.svg), [status](injector-status.svg), [grounding](injector-ground.svg) | +| Generic outputs | [5 V logic](logic-output.svg), [low-side power](sink-power.svg), [supplies and SPI](sink-interfaces.svg), [command bias](sink-command.svg) | +| Optional DAC | [Output provision](dac-output.svg) | + +## Editing and regeneration + +- The 12 block figures have editable `.drawio` sources. Open them in draw.io. + `build_blocks.py` recreates their baseline layout and `block-connections.json`. + Running it overwrites manual layout edits, so update the generator when those + edits should be reproducible, or export the edited `.drawio` directly. +- The 10 circuit/logic figures are generated by `build_circuits.py`, with a + separate `*.topology.json` connection manifest for each figure. Change the + relevant component/net definitions and layout together in that script; + rerunning it overwrites the generated topology and images. JSON is a review + manifest, not an independently interpreted rendering input. +- Reference designators introduced by these drawings are documentation labels, + not KiCad assignments. Named continuation ports are electrically identical + only when their names match within the documented domain. + +Run from this directory using the configured schematic environment: + +```bash +python build_blocks.py +~/.venvs/codex-schematics/bin/python export_blocks.py +~/.venvs/codex-schematics/bin/python build_circuits.py +``` + +`export_blocks.py` requires the installed draw.io desktop renderer; restricted +Electron sandboxes may require an authorized external execution. It exports +only `.drawio` inputs, keeps editable sources, checks for native SVG text, and +creates PNG previews. The circuit builder uses Schemdraw and CairoSVG. +Inspect changed figures at their intended embedded size after rebuilding. + +Validate each circuit manifest with the installed topology validator: + +```bash +~/.venvs/codex-schematics/bin/python \ + ~/.codex/skills/electronics-schematic-rendering/scripts/validate_topology.py \ + analog-input.topology.json +``` + +## Source clarifications in this redraw + +- The former power-tree branch labelled `+5V_AUX` after 3.3 V filtering is now + `+3V3_ANA`, matching the dedicated rail description. `+5V_AUX` remains a + protected branch of `+5V_MAIN`. +- The passive ADC drawing now shows `C_HOLD` as a shunt capacitor after the + small isolation resistor specified in the prose. It does not add a separate + connector-side `R_PROT`. Exact values remain unspecified. +- The Hall-input drawing separates sensor supply, sensor return and signal; + the original ASCII alignment could suggest an unintended join. The pull-up, + divider and parallel filter follow the existing prose. +- The deadman equations are unchanged. Contact observations, permission gates + and output gates occupy separate figures; shared net names connect them. +- `VBG_LOCAL_KELVIN` labels the documented local ignition reference at the + `IGN_PGND` joining point. `LOCAL_GND` in the sink-command figure denotes the + TLE9104SH local ground reference. Neither denotes a new remote ground path. +- The obsolete reference to a missing figure in `DIGITAL_INPUTS.md` was removed. + That module remains described by its existing component-level prose. + +Protection blocks whose devices or ratings remain unselected are deliberately +functional. Supply-loss behavior, real pin mappings, ratings and physical fault +responses still require the validation specified in the module documents. diff --git a/Architecture/diagrams/analog-input.png b/Architecture/diagrams/analog-input.png new file mode 100644 index 0000000000000000000000000000000000000000..816060a6023ca56723619dc5d2c954c4d6e3c54c GIT binary patch literal 44754 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 P1NK-|OQlrlS;&6@g1;ps literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/analog-input.svg b/Architecture/diagrams/analog-input.svg new file mode 100644 index 0000000..423d772 --- /dev/null +++ b/Architecture/diagrams/analog-input.svg @@ -0,0 +1,2 @@ + +SIGRETTransient clampSENSOR_GNDR_TOPR_BOTTOMSENSOR_GNDIsolation RValue TBDC_HOLDSENSOR_GNDPassive analogue inputSensor signalADC_IN \ No newline at end of file diff --git a/Architecture/diagrams/analog-input.topology.json b/Architecture/diagrams/analog-input.topology.json new file mode 100644 index 0000000..bbd7992 --- /dev/null +++ b/Architecture/diagrams/analog-input.topology.json @@ -0,0 +1,130 @@ +{ + "title": "Passive 0\u20135 V ADC channel", + "source": "IO_MODULES/ANALOG_INPUTS.md: General 0--5 V channels", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J", + "kind": "port", + "pins": [ + "P" + ], + "value": "Sensor signal" + }, + { + "ref": "CLAMP", + "kind": "transient-protection", + "pins": [ + "SIG", + "RET" + ], + "value": "Connector clamp\nPart / rating TBD" + }, + { + "ref": "GC", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "R_TOP", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_TOP" + }, + { + "ref": "R_BOTTOM", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_BOTTOM" + }, + { + "ref": "GR", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "R_ISO", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "Isolation R\nValue TBD" + }, + { + "ref": "C_HOLD", + "kind": "capacitor", + "pins": [ + "1", + "2" + ], + "value": "C_HOLD" + }, + { + "ref": "GH", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "ADC", + "kind": "port", + "pins": [ + "P" + ], + "value": "ADC_IN" + } + ], + "nets": [ + { + "name": "Sensor signal", + "connections": [ + "J.P", + "CLAMP.SIG", + "R_TOP.1" + ] + }, + { + "name": "SENSOR_GND", + "connections": [ + "CLAMP.RET", + "GC.P", + "R_BOTTOM.2", + "GR.P", + "C_HOLD.2", + "GH.P" + ] + }, + { + "name": "DIVIDED", + "connections": [ + "R_TOP.2", + "R_BOTTOM.1", + "R_ISO.1" + ] + }, + { + "name": "ADC_IN", + "connections": [ + "R_ISO.2", + "C_HOLD.1", + "ADC.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/block-connections.json b/Architecture/diagrams/block-connections.json new file mode 100644 index 0000000..4a50c03 --- /dev/null +++ b/Architecture/diagrams/block-connections.json @@ -0,0 +1,1484 @@ +{ + "power-sources": { + "title": "Power sources and battery loads", + "source": "POWER_ARCHITECTURE.md: Rail Tree", + "nodes": { + "title": { + "label": "Power sources and battery loads", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "battery": { + "label": "4S LiPo\n14.8 V nominal \u00b7 16.8 V full", + "kind": "power", + "bounds": [ + 30, + 90, + 290, + 80 + ] + }, + "protection": { + "label": "Input fuse \u00b7 reverse protection\nTVS / transient protection", + "kind": "power", + "bounds": [ + 390, + 90, + 310, + 80 + ] + }, + "vbat": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 770, + 90, + 230, + 80 + ] + }, + "loadsin": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 245, + 190, + 74 + ] + }, + "loads": { + "label": "Protected battery branches", + "kind": "power", + "bounds": [ + 300, + 245, + 310, + 74 + ] + }, + "loadsout": { + "label": "Ignition \u00b7 injector\nLow-side outputs \u00b7 VBAT sense", + "kind": "power", + "bounds": [ + 690, + 245, + 310, + 74 + ] + }, + "fivein": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 365, + 190, + 74 + ] + }, + "five": { + "label": "Synchronous buck \u00b7 5 V", + "kind": "power", + "bounds": [ + 300, + 365, + 310, + 74 + ] + }, + "fiveout": { + "label": "+5V_MAIN\nInternal 5 V circuitry", + "kind": "power", + "bounds": [ + 690, + 365, + 310, + 74 + ] + }, + "threein": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 485, + 190, + 74 + ] + }, + "three": { + "label": "Synchronous buck \u00b7 3.3 V", + "kind": "power", + "bounds": [ + 300, + 485, + 310, + 74 + ] + }, + "threeout": { + "label": "+3V3_MAIN\nMCU / digital / communications", + "kind": "power", + "bounds": [ + 690, + 485, + 310, + 74 + ] + }, + "twelvein": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 605, + 190, + 74 + ] + }, + "twelve": { + "label": "Regulated buck-boost \u00b7 12 V", + "kind": "power", + "bounds": [ + 300, + 605, + 310, + 74 + ] + }, + "twelveout": { + "label": "+12V_SENS\nProtected Hall-sensor supply", + "kind": "power", + "bounds": [ + 690, + 605, + 310, + 74 + ] + }, + "note725": { + "label": "Repeated VBAT_PROT labels denote the same rail. Protected branch details are shown separately.", + "kind": "note", + "bounds": [ + 30, + 725, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "battery", + "to": "protection", + "label": "", + "kind": "power" + }, + { + "from": "protection", + "to": "vbat", + "label": "", + "kind": "power" + }, + { + "from": "loadsin", + "to": "loads", + "label": "", + "kind": "power" + }, + { + "from": "loads", + "to": "loadsout", + "label": "", + "kind": "power" + }, + { + "from": "fivein", + "to": "five", + "label": "", + "kind": "power" + }, + { + "from": "five", + "to": "fiveout", + "label": "", + "kind": "power" + }, + { + "from": "threein", + "to": "three", + "label": "", + "kind": "power" + }, + { + "from": "three", + "to": "threeout", + "label": "", + "kind": "power" + }, + { + "from": "twelvein", + "to": "twelve", + "label": "", + "kind": "power" + }, + { + "from": "twelve", + "to": "twelveout", + "label": "", + "kind": "power" + } + ] + }, + "power-branches": { + "title": "Protected and filtered rail branches", + "source": "POWER_ARCHITECTURE.md: rail descriptions", + "nodes": { + "title": { + "label": "Protected and filtered rail branches", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "a0": { + "label": "+5V_MAIN", + "kind": "power", + "bounds": [ + 30, + 95, + 240, + 90 + ] + }, + "b0": { + "label": "eFuse / protected load switch", + "kind": "power", + "bounds": [ + 340, + 95, + 320, + 90 + ] + }, + "c0": { + "label": "+5V_AUX\nExternal logic outputs", + "kind": "power", + "bounds": [ + 730, + 95, + 280, + 90 + ] + }, + "a1": { + "label": "+5V_MAIN", + "kind": "power", + "bounds": [ + 30, + 230, + 240, + 90 + ] + }, + "b1": { + "label": "eFuse / load switch\nFerrite bead + local filter", + "kind": "power", + "bounds": [ + 340, + 230, + 320, + 90 + ] + }, + "c1": { + "label": "+5V_SENS\n5 V sensor excitation", + "kind": "power", + "bounds": [ + 730, + 230, + 280, + 90 + ] + }, + "a2": { + "label": "+3V3_MAIN", + "kind": "power", + "bounds": [ + 30, + 365, + 240, + 90 + ] + }, + "b2": { + "label": "Ferrite bead + local filter", + "kind": "power", + "bounds": [ + 340, + 365, + 320, + 90 + ] + }, + "c2": { + "label": "+3V3_ANA\nAnalogue supplies /\nADC reference", + "kind": "power", + "bounds": [ + 730, + 365, + 280, + 90 + ] + }, + "a3": { + "label": "12 V buck-boost output", + "kind": "power", + "bounds": [ + 30, + 500, + 240, + 90 + ] + }, + "b3": { + "label": "Current limit / protected switch\nHarness filter + decoupling", + "kind": "power", + "bounds": [ + 340, + 500, + 320, + 90 + ] + }, + "c3": { + "label": "+12V_SENS\nCrank / cam Hall sensors", + "kind": "power", + "bounds": [ + 730, + 500, + 280, + 90 + ] + }, + "note630": { + "label": "Optional analogue LDO and final current limits remain validation items; see the rail descriptions.", + "kind": "note", + "bounds": [ + 30, + 630, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "a0", + "to": "b0", + "label": "", + "kind": "power" + }, + { + "from": "b0", + "to": "c0", + "label": "", + "kind": "power" + }, + { + "from": "a1", + "to": "b1", + "label": "", + "kind": "power" + }, + { + "from": "b1", + "to": "c1", + "label": "", + "kind": "power" + }, + { + "from": "a2", + "to": "b2", + "label": "", + "kind": "power" + }, + { + "from": "b2", + "to": "c2", + "label": "", + "kind": "power" + }, + { + "from": "a3", + "to": "b3", + "label": "", + "kind": "power" + }, + { + "from": "b3", + "to": "c3", + "label": "", + "kind": "power" + } + ] + }, + "ratiometric": { + "title": "Ratiometric sensor acquisition", + "source": "POWER_ARCHITECTURE.md: Ratiometric 5 V Sensor Measurements", + "nodes": { + "title": { + "label": "Ratiometric sensor acquisition", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "rail": { + "label": "+5V_SENS", + "kind": "power", + "bounds": [ + 30, + 90, + 220, + 74 + ] + }, + "sensor": { + "label": "5 V sensor\nExcitation input", + "kind": "device", + "bounds": [ + 340, + 90, + 280, + 74 + ] + }, + "sig": { + "label": "Sensor output", + "kind": "signal", + "bounds": [ + 30, + 240, + 220, + 74 + ] + }, + "div": { + "label": "Matched divider / filter", + "kind": "signal", + "bounds": [ + 340, + 240, + 280, + 74 + ] + }, + "adc": { + "label": "ADC sensor channel", + "kind": "signal", + "bounds": [ + 730, + 240, + 280, + 74 + ] + }, + "rail2": { + "label": "+5V_SENS", + "kind": "power", + "bounds": [ + 30, + 380, + 220, + 74 + ] + }, + "sense": { + "label": "Matched divider / filter", + "kind": "signal", + "bounds": [ + 340, + 380, + 280, + 74 + ] + }, + "adc2": { + "label": "ADC 5-V-sense channel", + "kind": "signal", + "bounds": [ + 730, + 380, + 280, + 74 + ] + }, + "note470": { + "label": "Sensor output is the sensor\u2019s signal pin. Both ADC channels use +3V3_ANA as their reference.", + "kind": "note", + "bounds": [ + 30, + 470, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "rail", + "to": "sensor", + "label": "", + "kind": "power" + }, + { + "from": "sig", + "to": "div", + "label": "", + "kind": "signal" + }, + { + "from": "div", + "to": "adc", + "label": "", + "kind": "signal" + }, + { + "from": "rail2", + "to": "sense", + "label": "", + "kind": "signal" + }, + { + "from": "sense", + "to": "adc2", + "label": "", + "kind": "signal" + } + ] + }, + "dac-output": { + "title": "Optional analogue-output provision", + "source": "IO_ARCHITECTURE.md: Analogue-output provision", + "nodes": { + "title": { + "label": "Optional analogue-output provision", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "0": { + "label": "MCU DAC", + "kind": "signal", + "bounds": [ + 40.0, + 95, + 210.0, + 85 + ] + }, + "1": { + "label": "Rail-to-rail buffer", + "kind": "signal", + "bounds": [ + 290.0, + 95, + 210.0, + 85 + ] + }, + "2": { + "label": "Protection /\nseries impedance", + "kind": "signal", + "bounds": [ + 540.0, + 95, + 210.0, + 85 + ] + }, + "3": { + "label": "Connector", + "kind": "signal", + "bounds": [ + 790.0, + 95, + 210.0, + 85 + ] + }, + "note195": { + "label": "Provision only; final electrical range, load and protection remain to be defined.", + "kind": "note", + "bounds": [ + 30, + 195, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "0", + "to": "1", + "label": "", + "kind": "signal" + }, + { + "from": "1", + "to": "2", + "label": "", + "kind": "signal" + }, + { + "from": "2", + "to": "3", + "label": "", + "kind": "signal" + } + ] + }, + "deadman-inputs": { + "title": "Deadman contacts and observations", + "source": "IO_MODULES/DEAD_MAN.md: Logic domains", + "nodes": { + "title": { + "label": "Deadman contacts and observations", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "As": { + "label": "Protected 5 V\nIndependent NO contact A", + "kind": "power", + "bounds": [ + 30, + 100, + 260, + 80 + ] + }, + "Ap": { + "label": "Protected input A\nOwn filter + default-low bias", + "kind": "signal", + "bounds": [ + 370, + 100, + 290, + 80 + ] + }, + "Ah": { + "label": "DEADMAN_A_HELD\n5 V \u00b7 non-inverting", + "kind": "signal", + "bounds": [ + 750, + 100, + 260, + 80 + ] + }, + "Ad": { + "label": "DEADMAN_A_STATUS\n3.3 V \u00b7 held = high \u2192 MCU", + "kind": "device", + "bounds": [ + 370, + 220, + 330, + 75 + ] + }, + "Bs": { + "label": "Protected 5 V\nIndependent NO contact B", + "kind": "power", + "bounds": [ + 30, + 345, + 260, + 80 + ] + }, + "Bp": { + "label": "Protected input B\nOwn filter + default-low bias", + "kind": "signal", + "bounds": [ + 370, + 345, + 290, + 80 + ] + }, + "Bh": { + "label": "DEADMAN_B_RELEASED\n5 V \u00b7 inverting", + "kind": "signal", + "bounds": [ + 750, + 345, + 260, + 80 + ] + }, + "Bd": { + "label": "DEADMAN_B_STATUS\n3.3 V \u00b7 held = high \u2192 MCU", + "kind": "device", + "bounds": [ + 370, + 465, + 330, + 75 + ] + }, + "note575": { + "label": "Separate harness paths. MCU status observations are diagnostic; the 5 V signals feed the permit gates.", + "kind": "note", + "bounds": [ + 30, + 575, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "As", + "to": "Ap", + "label": "", + "kind": "signal" + }, + { + "from": "Ap", + "to": "Ah", + "label": "", + "kind": "signal" + }, + { + "from": "Ap", + "to": "Ad", + "label": "", + "kind": "signal" + }, + { + "from": "Bs", + "to": "Bp", + "label": "", + "kind": "signal" + }, + { + "from": "Bp", + "to": "Bh", + "label": "", + "kind": "signal" + }, + { + "from": "Bp", + "to": "Bd", + "label": "", + "kind": "signal" + } + ] + }, + "ignition-power": { + "title": "Ignition power path", + "source": "IO_MODULES/IGNITION.md: Power path", + "nodes": { + "title": { + "label": "Ignition power path", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "rail": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 100, + 230, + 80 + ] + }, + "load": { + "label": "Coil primary", + "kind": "device", + "bounds": [ + 350, + 100, + 280, + 80 + ] + }, + "driver": { + "label": "VBG08H-E\nHVC", + "kind": "device", + "bounds": [ + 720, + 100, + 290, + 80 + ] + }, + "switch": { + "label": "Internal IGBT", + "kind": "device", + "bounds": [ + 720, + 230, + 290, + 70 + ] + }, + "return": { + "label": "PGND1 + PGND2 \u2192 IGN_PGND", + "kind": "ground", + "bounds": [ + 350, + 350, + 660, + 60 + ] + }, + "note410": { + "label": "Functional current path. IGN_PGND returns separately to the power-entry ground star.", + "kind": "note", + "bounds": [ + 30, + 410, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "rail", + "to": "load", + "label": "", + "kind": "power" + }, + { + "from": "load", + "to": "driver", + "label": "", + "kind": "power" + }, + { + "from": "driver", + "to": "switch", + "label": "", + "kind": "power" + }, + { + "from": "switch", + "to": "return", + "label": "", + "kind": "power" + } + ] + }, + "injector-power": { + "title": "Injector power path", + "source": "IO_MODULES/INJECTON.md: Power path", + "nodes": { + "title": { + "label": "Injector power path", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "rail": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 100, + 230, + 80 + ] + }, + "load": { + "label": "Injector coil", + "kind": "device", + "bounds": [ + 350, + 100, + 280, + 80 + ] + }, + "driver": { + "label": "VNL5050S5-E\nDRAIN", + "kind": "device", + "bounds": [ + 720, + 100, + 290, + 80 + ] + }, + "switch": { + "label": "Internal low-side MOSFET", + "kind": "device", + "bounds": [ + 720, + 230, + 290, + 70 + ] + }, + "return": { + "label": "SOURCE \u2192 INJ_PGND", + "kind": "ground", + "bounds": [ + 350, + 350, + 660, + 60 + ] + }, + "note410": { + "label": "Functional current path. INJ_PGND returns separately to the power-entry ground star.", + "kind": "note", + "bounds": [ + 30, + 410, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "rail", + "to": "load", + "label": "", + "kind": "power" + }, + { + "from": "load", + "to": "driver", + "label": "", + "kind": "power" + }, + { + "from": "driver", + "to": "switch", + "label": "", + "kind": "power" + }, + { + "from": "switch", + "to": "return", + "label": "", + "kind": "power" + } + ] + }, + "sink-power": { + "title": "Generic low-side power path", + "source": "IO_MODULES/DIGITAL_OUTPUTS.md: Power path", + "nodes": { + "title": { + "label": "Generic low-side power path", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "rail": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 100, + 230, + 80 + ] + }, + "load": { + "label": "External load\nvia SINK_OUTx", + "kind": "device", + "bounds": [ + 350, + 100, + 280, + 80 + ] + }, + "driver": { + "label": "TLE9104SH\nOUTx", + "kind": "device", + "bounds": [ + 720, + 100, + 290, + 80 + ] + }, + "switch": { + "label": "Internal low-side MOSFET", + "kind": "device", + "bounds": [ + 720, + 230, + 290, + 70 + ] + }, + "return": { + "label": "Power return \u2192 OUT_PGND", + "kind": "ground", + "bounds": [ + 350, + 350, + 660, + 60 + ] + }, + "note410": { + "label": "Functional current path. OUT_PGND returns separately to the power-entry ground star.", + "kind": "note", + "bounds": [ + 30, + 410, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "rail", + "to": "load", + "label": "", + "kind": "power" + }, + { + "from": "load", + "to": "driver", + "label": "", + "kind": "power" + }, + { + "from": "driver", + "to": "switch", + "label": "", + "kind": "power" + }, + { + "from": "switch", + "to": "return", + "label": "", + "kind": "power" + } + ] + }, + "ignition-flag": { + "title": "Ignition current-flag diagnostic", + "source": "IO_MODULES/IGNITION.md: Current-flag diagnostic", + "nodes": { + "title": { + "label": "Ignition current-flag diagnostic", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "0": { + "label": "VBG08H-E C.F.\nOpen-drain output", + "kind": "signal", + "bounds": [ + 40.0, + 95, + 293.3333333333333, + 85 + ] + }, + "1": { + "label": "Reference-style R/C filter\n+3V3_MAIN pull-up", + "kind": "signal", + "bounds": [ + 373.3333333333333, + 95, + 293.3333333333333, + 85 + ] + }, + "2": { + "label": "STM32 GPIO", + "kind": "signal", + "bounds": [ + 706.6666666666666, + 95, + 293.3333333333333, + 85 + ] + }, + "note195": { + "label": "Diagnostic current-threshold observation; separate from the hardware inhibit path.", + "kind": "note", + "bounds": [ + 30, + 195, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "0", + "to": "1", + "label": "", + "kind": "signal" + }, + { + "from": "1", + "to": "2", + "label": "", + "kind": "signal" + } + ] + }, + "ignition-ground": { + "title": "Ignition ground and Kelvin reference", + "source": "IO_MODULES/IGNITION.md: Ground and layout", + "nodes": { + "title": { + "label": "Ignition ground and Kelvin reference", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "p1": { + "label": "VBG08H-E PGND1", + "kind": "ground", + "bounds": [ + 30, + 100, + 230, + 64 + ] + }, + "p2": { + "label": "VBG08H-E PGND2", + "kind": "ground", + "bounds": [ + 30, + 215, + 230, + 64 + ] + }, + "g": { + "label": "VBG08H-E GND", + "kind": "ground", + "bounds": [ + 30, + 330, + 230, + 64 + ] + }, + "join": { + "label": "IGN_PGND\nLocal joining point", + "kind": "ground", + "bounds": [ + 490, + 170, + 220, + 105 + ] + }, + "star": { + "label": "Power-entry\nground star", + "kind": "ground", + "bounds": [ + 800, + 170, + 210, + 105 + ] + }, + "note410": { + "label": "GND carries the local reference, not coil current. No separate remote-DGND connection.", + "kind": "note", + "bounds": [ + 30, + 410, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "p1", + "to": "join", + "label": "Matched heavy copper", + "kind": "signal" + }, + { + "from": "p2", + "to": "join", + "label": "Matched heavy copper", + "kind": "signal" + }, + { + "from": "g", + "to": "join", + "label": "Separate Kelvin trace", + "kind": "signal" + }, + { + "from": "join", + "to": "star", + "label": "", + "kind": "signal" + } + ] + }, + "injector-ground": { + "title": "Injector ground return", + "source": "IO_MODULES/INJECTON.md: Ground and layout", + "nodes": { + "title": { + "label": "Injector ground return", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "0": { + "label": "VNL5050S5-E SOURCE", + "kind": "ground", + "bounds": [ + 40.0, + 95, + 293.3333333333333, + 85 + ] + }, + "1": { + "label": "INJ_PGND\nShort, low-impedance copper", + "kind": "ground", + "bounds": [ + 373.3333333333333, + 95, + 293.3333333333333, + 85 + ] + }, + "2": { + "label": "Power-entry ground star", + "kind": "ground", + "bounds": [ + 706.6666666666666, + 95, + 293.3333333333333, + 85 + ] + }, + "note195": { + "label": "SOURCE is both power return and local logic reference. No separate Kelvin pin.", + "kind": "note", + "bounds": [ + 30, + 195, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "0", + "to": "1", + "label": "", + "kind": "ground" + }, + { + "from": "1", + "to": "2", + "label": "", + "kind": "ground" + } + ] + }, + "sink-interfaces": { + "title": "Low-side driver supplies and diagnostics", + "source": "IO_MODULES/DIGITAL_OUTPUTS.md: Protected low-side outputs", + "nodes": { + "title": { + "label": "Low-side driver supplies and diagnostics", + "kind": "note", + "bounds": [ + 30, + 18, + 980, + 42 + ] + }, + "s0": { + "label": "VBAT_PROT", + "kind": "power", + "bounds": [ + 30, + 95, + 230, + 70 + ] + }, + "p0": { + "label": "TLE9104SH VS", + "kind": "device", + "bounds": [ + 380, + 95, + 280, + 70 + ] + }, + "s1": { + "label": "+5V_MAIN", + "kind": "power", + "bounds": [ + 30, + 205, + 230, + 70 + ] + }, + "p1": { + "label": "TLE9104SH VDD", + "kind": "device", + "bounds": [ + 380, + 205, + 280, + 70 + ] + }, + "s2": { + "label": "+3V3_MAIN", + "kind": "power", + "bounds": [ + 30, + 315, + 230, + 70 + ] + }, + "p2": { + "label": "TLE9104SH VIO", + "kind": "device", + "bounds": [ + 380, + 315, + 280, + 70 + ] + }, + "mcu": { + "label": "MCU SPI", + "kind": "signal", + "bounds": [ + 30, + 440, + 230, + 80 + ] + }, + "spi": { + "label": "TLE9104SH SPI\nCommands + diagnostics", + "kind": "device", + "bounds": [ + 380, + 440, + 280, + 80 + ] + }, + "note540": { + "label": "INx / EN default-low networks are shown in the companion circuit. Decouple supplies locally.", + "kind": "note", + "bounds": [ + 30, + 540, + 980, + 60 + ] + } + }, + "connections": [ + { + "from": "s0", + "to": "p0", + "label": "", + "kind": "power" + }, + { + "from": "s1", + "to": "p1", + "label": "", + "kind": "power" + }, + { + "from": "s2", + "to": "p2", + "label": "", + "kind": "power" + }, + { + "from": "mcu", + "to": "spi", + "label": "", + "kind": "signal" + } + ] + } +} diff --git a/Architecture/diagrams/build_blocks.py b/Architecture/diagrams/build_blocks.py new file mode 100644 index 0000000..fe49cb6 --- /dev/null +++ b/Architecture/diagrams/build_blocks.py @@ -0,0 +1,144 @@ +"""Rebuild editable architectural figures (standard-library Python). + +Export the resulting .drawio files with the installed draw.io desktop renderer. +Node/edge records are retained as a source-traceable connection manifest. +""" +from pathlib import Path +import json +import xml.etree.ElementTree as ET + +OUT = Path(__file__).resolve().parent +COLORS = {'power': '#fff1d6', 'signal': '#e8f0fc', 'device': '#e8f4ed', + 'ground': '#eef0f3', 'note': '#ffffff'} +manifest = {} + +class Figure: + def __init__(self, name, title, source, width=1040, height=620): + self.name, self.width, self.height = name, width, height + self.data = {'title': title, 'source': source, 'nodes': {}, 'connections': []} + self.root = ET.Element('mxfile', host='app.diagrams.net') + diagram = ET.SubElement(self.root, 'diagram', name=title, id=name) + model = ET.SubElement(diagram, 'mxGraphModel', page='1', pageWidth=str(width), pageHeight=str(height), grid='1', gridSize='10') + self.cells = ET.SubElement(model, 'root') + ET.SubElement(self.cells, 'mxCell', id='0') + ET.SubElement(self.cells, 'mxCell', id='1', parent='0') + self.node('title', title, 30, 18, width-60, 42, 'note', text=True, size=26) + + def node(self, key, label, x, y, w=220, h=74, kind='signal', text=False, size=18): + style = f'rounded=1;html=0;fontFamily=DejaVu Sans;fontSize={size};fontColor=#172b40;strokeColor=#577086;fillColor={COLORS[kind]};spacing=10;' + if text: + style += 'strokeColor=none;fillColor=none;align=left;' + cell = ET.SubElement(self.cells, 'mxCell', id='node_'+key, value=label, style=style, vertex='1', parent='1') + ET.SubElement(cell, 'mxGeometry', x=str(x), y=str(y), width=str(w), height=str(h), **{'as':'geometry'}) + self.data['nodes'][key] = {'label': label, 'kind':kind, 'bounds':[x,y,w,h]} + return key + + def edge(self, a, b, label='', points=(), exit=(1,.5), entry=(0,.5), kind='signal', arrows=True): + assert a in self.data['nodes'] and b in self.data['nodes'] + idx = 'e'+str(len(self.data['connections'])) + color = '#946221' if kind=='power' else '#416680' + bidirectional = label == 'Bidirectional' + if bidirectional: label = '' + style = f'edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor={color};fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow={"block" if arrows else "none"};endFill=1;exitX={exit[0]};exitY={exit[1]};entryX={entry[0]};entryY={entry[1]};' + if bidirectional: style += 'startArrow=block;startFill=1;' + cell = ET.SubElement(self.cells, 'mxCell', id=idx, source='node_'+a, target='node_'+b, value=label, style=style, edge='1', parent='1') + geo = ET.SubElement(cell, 'mxGeometry', relative='1', **{'as':'geometry'}) + if points: + arr = ET.SubElement(geo, 'Array', **{'as':'points'}) + for x,y in points: ET.SubElement(arr, 'mxPoint', x=str(x), y=str(y)) + self.data['connections'].append({'from':a,'to':b,'label':label,'kind':kind}) + + def note(self, label, y): + self.node('note'+str(y), label, 30, y, self.width-60, 60, 'note', text=True, size=16) + + def save(self): + ET.indent(self.root) + ET.ElementTree(self.root).write(OUT/(self.name+'.drawio'), encoding='utf-8', xml_declaration=True) + manifest[self.name] = self.data + +def chain(name, title, source, labels, note='', kind='signal'): + f = Figure(name,title,source,1040,270) + w = (960-(len(labels)-1)*40)/len(labels) + for i,label in enumerate(labels): + f.node(str(i),label,40+i*(w+40),95,w,85,kind) + if i: f.edge(str(i-1),str(i),kind=kind) + if note: f.note(note,195) + f.save() + +f = Figure('power-sources','Power sources and battery loads','POWER_ARCHITECTURE.md: Rail Tree',1040,790) +f.node('battery','4S LiPo\n14.8 V nominal · 16.8 V full',30,90,290,80,'power') +f.node('protection','Input fuse · reverse protection\nTVS / transient protection',390,90,310,80,'power') +f.node('vbat','VBAT_PROT',770,90,230,80,'power') +f.edge('battery','protection',kind='power'); f.edge('protection','vbat',kind='power') +for i,(key,label,out) in enumerate([ + ('loads','Protected battery branches','Ignition · injector\nLow-side outputs · VBAT sense'), + ('five','Synchronous buck · 5 V','+5V_MAIN\nInternal 5 V circuitry'), + ('three','Synchronous buck · 3.3 V','+3V3_MAIN\nMCU / digital / communications'), + ('twelve','Regulated buck-boost · 12 V','+12V_SENS\nProtected Hall-sensor supply')]): + y=245+i*120 + f.node(key+'in','VBAT_PROT',30,y,190,74,'power') + f.node(key,label,300,y,310,74,'power'); f.node(key+'out',out,690,y,310,74,'power') + f.edge(key+'in',key,kind='power'); f.edge(key,key+'out',kind='power') +f.note('Repeated VBAT_PROT labels denote the same rail. Protected branch details are shown separately.',725); f.save() + +f = Figure('power-branches','Protected and filtered rail branches','POWER_ARCHITECTURE.md: rail descriptions',1040,700) +for i,(a,b,c) in enumerate([ + ('+5V_MAIN','eFuse / protected load switch','+5V_AUX\nExternal logic outputs'), + ('+5V_MAIN','eFuse / load switch\nFerrite bead + local filter','+5V_SENS\n5 V sensor excitation'), + ('+3V3_MAIN','Ferrite bead + local filter','+3V3_ANA\nAnalogue supplies /\nADC reference'), + ('12 V buck-boost output','Current limit / protected switch\nHarness filter + decoupling','+12V_SENS\nCrank / cam Hall sensors')]): + y=95+i*135 + f.node(f'a{i}',a,30,y,240,90,'power'); f.node(f'b{i}',b,340,y,320,90,'power'); f.node(f'c{i}',c,730,y,280,90,'power') + f.edge(f'a{i}',f'b{i}',kind='power'); f.edge(f'b{i}',f'c{i}',kind='power') +f.note('Optional analogue LDO and final current limits remain validation items; see the rail descriptions.',630); f.save() + +f=Figure('ratiometric','Ratiometric sensor acquisition','POWER_ARCHITECTURE.md: Ratiometric 5 V Sensor Measurements',1040,540) +for key,label,x,y,w,kind in [('rail','+5V_SENS',30,90,220,'power'),('sensor','5 V sensor\nExcitation input',340,90,280,'device'),('sig','Sensor output',30,240,220,'signal'),('div','Matched divider / filter',340,240,280,'signal'),('adc','ADC sensor channel',730,240,280,'signal'),('rail2','+5V_SENS',30,380,220,'power'),('sense','Matched divider / filter',340,380,280,'signal'),('adc2','ADC 5-V-sense channel',730,380,280,'signal')]: f.node(key,label,x,y,w,74,kind) +f.edge('rail','sensor',kind='power'); f.edge('sig','div'); f.edge('div','adc'); f.edge('rail2','sense'); f.edge('sense','adc2') +f.note('Sensor output is the sensor’s signal pin. Both ADC channels use +3V3_ANA as their reference.',470); f.save() + +chain('dac-output','Optional analogue-output provision','IO_ARCHITECTURE.md: Analogue-output provision',['MCU DAC','Rail-to-rail buffer','Protection /\nseries impedance','Connector'],'Provision only; final electrical range, load and protection remain to be defined.') + +f=Figure('deadman-inputs','Deadman contacts and observations','IO_MODULES/DEAD_MAN.md: Logic domains',1040,650) +for i,c in enumerate('AB'): + y=100+i*245 + f.node(c+'s','Protected 5 V\nIndependent NO contact '+c,30,y,260,80,'power') + f.node(c+'p','Protected input '+c+'\nOwn filter + default-low bias',370,y,290,80,'signal') + f.node(c+'h','DEADMAN_A_HELD\n5 V · non-inverting' if c=='A' else 'DEADMAN_B_RELEASED\n5 V · inverting',750,y,260,80,'signal') + f.node(c+'d','DEADMAN_'+c+'_STATUS\n3.3 V · held = high → MCU',370,y+120,330,75,'device') + f.edge(c+'s',c+'p'); f.edge(c+'p',c+'h'); f.edge(c+'p',c+'d',exit=(.5,1),entry=(.5,0)) +f.note('Separate harness paths. MCU status observations are diagnostic; the 5 V signals feed the permit gates.',575);f.save() + +for name,title,part,pin,load,ground,source in [ + ('ignition-power','Ignition power path','VBG08H-E','HVC','Coil primary','IGN_PGND','IGNITION'), + ('injector-power','Injector power path','VNL5050S5-E','DRAIN','Injector coil','INJ_PGND','INJECTON'), + ('sink-power','Generic low-side power path','TLE9104SH','OUTx','External load\nvia SINK_OUTx','OUT_PGND','DIGITAL_OUTPUTS')]: + f=Figure(name,title,'IO_MODULES/'+source+'.md: Power path',1040,460) + f.node('rail','VBAT_PROT',30,100,230,80,'power'); f.node('load',load,350,100,280,80,'device');f.node('driver',part+'\n'+pin,720,100,290,80,'device') + f.node('switch','Internal IGBT' if source=='IGNITION' else 'Internal low-side MOSFET',720,230,290,70,'device') + f.node('return',('PGND1 + PGND2' if source=='IGNITION' else 'SOURCE' if source=='INJECTON' else 'Power return')+' → '+ground,350,350,660,60,'ground') + f.edge('rail','load',kind='power');f.edge('load','driver',kind='power');f.edge('driver','switch',exit=(.5,1),entry=(.5,0),kind='power');f.edge('switch','return',exit=(.5,1),entry=(.8,0),kind='power') + f.note('Functional current path. '+ground+' returns separately to the power-entry ground star.',410);f.save() + +chain('ignition-flag','Ignition current-flag diagnostic','IO_MODULES/IGNITION.md: Current-flag diagnostic',['VBG08H-E C.F.\nOpen-drain output','Reference-style R/C filter\n+3V3_MAIN pull-up','STM32 GPIO'],'Diagnostic current-threshold observation; separate from the hardware inhibit path.') + +f=Figure('ignition-ground','Ignition ground and Kelvin reference','IO_MODULES/IGNITION.md: Ground and layout',1040,480) +for i,(key,label) in enumerate([('p1','VBG08H-E PGND1'),('p2','VBG08H-E PGND2'),('g','VBG08H-E GND')]): + f.node(key,label,30,100+i*115,230,64,'ground') +f.node('join','IGN_PGND\nLocal joining point',490,170,220,105,'ground');f.node('star','Power-entry\nground star',800,170,210,105,'ground') +f.edge('p1','join','Matched heavy copper',points=[(400,132),(400,190)],entry=(0,.2),arrows=False) +f.edge('p2','join','Matched heavy copper',entry=(0,.65),arrows=False) +f.edge('g','join','Separate Kelvin trace',points=[(600,362)],entry=(.5,1),arrows=False) +f.edge('join','star',arrows=False) +f.note('GND carries the local reference, not coil current. No separate remote-DGND connection.',410);f.save() +chain('injector-ground','Injector ground return','IO_MODULES/INJECTON.md: Ground and layout',['VNL5050S5-E SOURCE','INJ_PGND\nShort, low-impedance copper','Power-entry ground star'],'SOURCE is both power return and local logic reference. No separate Kelvin pin.',kind='ground') + +f=Figure('sink-interfaces','Low-side driver supplies and diagnostics','IO_MODULES/DIGITAL_OUTPUTS.md: Protected low-side outputs',1040,610) +for i,(a,b) in enumerate([('VBAT_PROT','TLE9104SH VS'),('+5V_MAIN','TLE9104SH VDD'),('+3V3_MAIN','TLE9104SH VIO')]): + y=95+i*110 + f.node('s'+str(i),a,30,y,230,70,'power'); f.node('p'+str(i),b,380,y,280,70,'device');f.edge('s'+str(i),'p'+str(i),kind='power') +f.node('mcu','MCU SPI',30,440,230,80);f.node('spi','TLE9104SH SPI\nCommands + diagnostics',380,440,280,80,'device');f.edge('mcu','spi','Bidirectional') +f.note('INx / EN default-low networks are shown in the companion circuit. Decouple supplies locally.',540);f.save() + +(OUT/'block-connections.json').write_text(json.dumps(manifest,indent=2)+'\n') +print(f'Wrote {len(manifest)} editable block figures.') diff --git a/Architecture/diagrams/build_circuits.py b/Architecture/diagrams/build_circuits.py new file mode 100644 index 0000000..5809c5a --- /dev/null +++ b/Architecture/diagrams/build_circuits.py @@ -0,0 +1,176 @@ +"""Rebuild documentation schematics with Schemdraw. + +Run with ~/.venvs/codex-schematics/bin/python. Topology JSON is emitted beside +each figure. References identify documentation symbols, not CAD placements. +""" +from pathlib import Path +import json +import xml.etree.ElementTree as ET +import schemdraw +import schemdraw.elements as e +import schemdraw.logic as logic +import cairosvg + +OUT = Path(__file__).resolve().parent + +class Circuit: + def __init__(self,name,title,source): + self.name=name + self.d=schemdraw.Drawing(show=False) + self.d.config(unit=2.5,fontsize=12,font='DejaVu Sans',lw=1.5,color='#20394e',bgcolor='white') + self.top={'title':title,'source':source,'reference_scope':'documentation only','components':[],'nets':[],'no_connects':[]} + self.nets={} + def component(self,ref,kind,pins,value=''): + assert ref not in [c['ref'] for c in self.top['components']],ref + self.top['components'].append({'ref':ref,'kind':kind,'pins':list(pins),'value':value}) + for pin,net in pins.items(): self.nets.setdefault(net,[]).append(ref+'.'+pin) + def label(self,xy,text,loc='top',size=12): + self.d.add(e.Label().at(xy).label(text,loc=loc,fontsize=size)) + def wire(self,a,b): self.d.add(e.Line().at(a).to(b)) + def dot(self,xy): self.d.add(e.Dot().at(xy)) + def port(self,ref,xy,net,loc='left'): + self.component(ref,'port',{'P':net},net) + self.d.add(e.Dot(open=True).at(xy).label(net,loc=loc)) + def res(self,ref,a,b,n1,n2,label=None): + self.component(ref,'resistor',{'1':n1,'2':n2},label or ref) + self.d.add(e.Resistor().at(a).to(b).label(label or ref)) + def cap(self,ref,a,b,n1,n2,label=None): + self.component(ref,'capacitor',{'1':n1,'2':n2},label or ref) + self.d.add(e.Capacitor().at(a).to(b).label(label or ref)) + def zener(self,ref,a,b,n1,n2): + self.component(ref,'zener',{'K':n1,'A':n2},'Low-C clamp\nVoltage TBD') + self.d.add(e.Zener().at(a).to(b).reverse().label('Low-C Zener\nVoltage TBD')) + def ground(self,ref,xy,net='SENSOR_GND'): + self.component(ref,'ground-port',{'P':net},net) + self.d.add(e.Ground().at(xy).label(net,loc='bottom')) + def block(self,ref,xy,label,ins,outs,w=3.5,h=2): + pins=[] + for side,ports in [('L',ins),('R',outs)]: + for i,(pin,net) in enumerate(ports): + pins.append(e.IcPin(name=pin,anchorname=pin,side=side,pos=(i+1)/(len(ports)+1))) + self.component(ref,'functional-block',dict(ins+outs),label) + return self.d.add(e.Ic(size=(w,h),pins=pins).at(xy).theta(0).label(label,loc='top')) + def save(self): + for net,ends in self.nets.items(): + entry={'name':net,'connections':ends} + if len(ends)==1: entry.update(allow_single=True,note='Named boundary or supply shown in the documentation figure') + self.top['nets'].append(entry) + (OUT/(self.name+'.topology.json')).write_text(json.dumps(self.top,indent=2)+'\n') + self.d.save(str(OUT/(self.name+'.svg'))) + svg_path = OUT/(self.name+'.svg') + ET.register_namespace('', 'http://www.w3.org/2000/svg') + tree = ET.parse(svg_path); root = tree.getroot() + x,y,w,h = map(float,root.get('viewBox').split()) + root.set('viewBox', f'{x-16} {y-16} {w+32} {h+32}') + root.set('width', f'{w+32}pt'); root.set('height', f'{h+32}pt') + tree.write(svg_path, encoding='utf-8', xml_declaration=True) + cairosvg.svg2png(url=str(OUT/(self.name+'.svg')),write_to=str(OUT/(self.name+'.png')),background_color='white',output_width=1200) + +# Shunt protection and ADC reservoir are deliberately drawn as branches. +c=Circuit('analog-input','Passive 0–5 V ADC channel','IO_MODULES/ANALOG_INPUTS.md: General 0--5 V channels') +c.port('J',(0,0),'Sensor signal') +c.wire((0,0),(2,0));c.dot((2,0)) +c.component('CLAMP','transient-protection',{'SIG':'Sensor signal','RET':'SENSOR_GND'},'Connector clamp\nPart / rating TBD') +cl=c.d.add(e.Ic(size=(2,1),pins=[e.IcPin(name='SIG',side='T',anchorname='SIG'),e.IcPin(name='RET',side='B',anchorname='RET')]).at((1,-3)).theta(0).label('Transient clamp',loc='left')) +c.wire((2,0),cl.SIG);c.ground('GC',cl.RET) +c.res('R_TOP',(2,0),(6,0),'Sensor signal','DIVIDED') +c.dot((6,0));c.res('R_BOTTOM',(6,0),(6,-3),'DIVIDED','SENSOR_GND');c.ground('GR',(6,-3)) +c.res('R_ISO',(6,0),(10,0),'DIVIDED','ADC_IN','Isolation R\nValue TBD') +c.dot((10,0));c.cap('C_HOLD',(10,0),(10,-3),'ADC_IN','SENSOR_GND');c.ground('GH',(10,-3)) +c.wire((10,0),(13,0));c.port('ADC',(13,0),'ADC_IN',loc='right') +c.label((6,2),'Passive analogue input',size=18);c.save() + +c=Circuit('thermistor','NTC excitation and acquisition','IO_MODULES/ANALOG_INPUTS.md: NTC temperature channels') +c.port('V',(0,0),'+5V_SENS');c.res('R_PULLUP',(0,0),(4,0),'+5V_SENS','NTC_NODE','R_PULLUP\nSelected for sensor curve');c.dot((4,0)) +c.component('NTC','thermistor',{'1':'NTC_NODE','2':'SENSOR_GND'},'NTC') +c.d.add(e.Thermistor().at((4,0)).to((4,-3)).label('NTC'));c.ground('GN',(4,-3)) +b=c.block('AFE',(7,-1),'Attenuation / local filter',[('IN','NTC_NODE')],[('OUT','ADC_NTC')],w=4) +c.wire((4,0),b.IN);c.wire(b.OUT,(14,0));c.port('ADC',(14,0),'ADC_NTC',loc='right') +c.port('VS',(0,-6),'+5V_SENS');b2=c.block('SENSE',(7,-7),'Matched divider / filter',[('IN','+5V_SENS')],[('OUT','ADC_5V_SENSE')],w=4) +c.wire((0,-6),b2.IN);c.wire(b2.OUT,(14,-6));c.port('ADCS',(14,-6),'ADC_5V_SENSE',loc='right') +c.label((7,2),'Thermistor + excitation-supply measurement',size=18) +c.label((7,-9),'Both ADC channels use +3V3_ANA as reference. Filter and protection details remain in the text.',size=11);c.save() + +c=Circuit('trigger-input','Crank / cam Hall input','IO_MODULES/ENGINE_POSITION_INPUTS.md: Electrical interface') +c.port('J',(0,0),'TRIG_x');c.wire((0,0),(3,0));c.dot((3,0)) +c.port('V',(3,4),'+12V_SENS',loc='top');c.res('R_PULLUP',(3,4),(3,0),'+12V_SENS','TRIG_x','R_PULLUP\n4.7 kΩ provision') +c.component('CLAMP','transient-protection',{'SIG':'TRIG_x','RET':'SENSOR_GND'},'Harness clamp / ratings TBD') +b=c.d.add(e.Ic(size=(2,1),pins=[e.IcPin(name='SIG',side='T',anchorname='SIG'),e.IcPin(name='RET',side='B',anchorname='RET')]).at((2,-3)).theta(0).label('Transient\nprotection',loc='left')) +c.wire((3,0),b.SIG);c.ground('GC',b.RET) +c.res('R_DIV_TOP',(3,0),(7,0),'TRIG_x','DIVIDED');c.dot((7,0)) +c.res('R_DIV_BOTTOM',(7,0),(7,-3),'DIVIDED','SENSOR_GND');c.ground('GB',(7,-3)) +c.wire((7,0),(10,0));c.dot((10,0));c.cap('C_FILTER',(10,0),(10,-3),'DIVIDED','SENSOR_GND','C_FILTER\n1 nF initial');c.ground('GF',(10,-3)) +c.wire((10,0),(12,0));s=c.d.add(logic.Schmitt().at((12,0)).right().label('SN74LVC2G17-Q1\nSupply: +3V3_MAIN',loc='top')) +c.component('U','schmitt-buffer',{'IN':'DIVIDED','OUT':'TIMER_3V3'},'SN74LVC2G17-Q1') +c.wire(s.out,(16,0));c.port('MCU',(16,0),'TIMER_3V3',loc='right') +c.label((8,6),'Hall input · repeated for crank and cam',size=18) +c.label((8,-5.5),'Sensor connector: supply = +12V_SENS; return = SENSOR_GND; output = TRIG_x. Pin numbers unassigned.',size=11);c.save() + +c=Circuit('ignition-command','Ignition timing and inhibit protection','IO_MODULES/IGNITION.md: Command and inhibit path') +for i,(net,out) in enumerate([('STM32 timing (3.3 V)','INP'),('SAFE_IGNITION_INHIBIT','EN')]): + y=-i*7 + c.port('J'+str(i),(0,y),net) + if i==0: + b=c.block('BUFFER',(2,y-1),'Non-inverting\n3.3 V → 5 V',[('IN',net)],[('OUT','TIMING_5V')],w=3) + c.wire((0,y),b.IN);c.wire(b.OUT,(7,y));net2='TIMING_5V' + else:c.wire((0,y),(7,y));net2=net + c.res('RP'+str(i),(7,y),(11,y),net2,out,'1 kΩ') + c.dot((11,y));c.zener('Z'+str(i),(11,y),(11,y-3),out,'VBG_LOCAL_KELVIN');c.ground('G'+str(i),(11,y-3),'VBG_LOCAL_KELVIN') + c.wire((11,y),(14,y));c.port('U'+str(i),(14,y),out,loc='right') +c.label((7,2.5),'VBG08H-E command pins',size=18) +c.label((6,-12),'INP: high = dwell; falling edge = spark. EN: high = inhibit; low = permission.',size=11);c.save() + +c=Circuit('injector-command','Injector command protection','IO_MODULES/INJECTON.md: Command path') +c.port('J',(0,0),'SAFE_INJECTOR_SIG');c.res('Rprot',(0,0),(4,0),'SAFE_INJECTOR_SIG','INPUT','Rprot · 1 kΩ');c.dot((4,0)) +c.res('R_PD',(4,0),(4,-3),'INPUT','INJ_PGND','10 kΩ');c.ground('GR',(4,-3),'INJ_PGND') +c.wire((4,0),(8,0));c.dot((8,0));c.zener('Z',(8,0),(8,-3),'INPUT','INJ_PGND');c.ground('GZ',(8,-3),'INJ_PGND') +c.wire((8,0),(12,0));c.port('U',(12,0),'INPUT',loc='right');c.label((6,2),'VNL5050S5-E · active-high command',size=18);c.save() + +c=Circuit('injector-status','Injector status acquisition','IO_MODULES/INJECTON.md: Status diagnostic') +c.port('U',(0,0),'STATUS');c.res('Rprot',(0,0),(5,0),'STATUS','MCU_STATUS','Rprot · 1 kΩ');c.dot((5,0)) +c.port('V',(5,4),'+3V3_MAIN',loc='top');c.res('R_PULLUP',(5,4),(5,0),'+3V3_MAIN','MCU_STATUS','Pull-up\nValue TBD') +c.wire((5,0),(10,0));c.port('M',(10,0),'MCU_STATUS',loc='right');c.label((5,6),'VNL5050S5-E · open-drain diagnostic',size=18);c.save() + +c=Circuit('logic-output','Protected 5 V logic output','IO_MODULES/DIGITAL_OUTPUTS.md: Protected 5 V logic outputs') +c.port('J',(0,0),'MCU GPIO');c.wire((0,0),(3,0));c.dot((3,0)) +c.res('R_IN_PD',(3,0),(3,-3),'MCU GPIO','GND');c.ground('GI',(3,-3),'GND') +b=c.block('U',(6,-1),'TPS4H000-Q1\nVBB = +5V_AUX',[('INx','MCU GPIO')],[('OUTx','LOGIC_OUTx')],w=4) +c.wire((3,0),b.INx);c.wire(b.OUTx,(13,0));c.dot((13,0));c.res('R_OUT_PD',(13,0),(13,-3),'LOGIC_OUTx','GND');c.ground('GO',(13,-3),'GND') +c.wire((13,0),(17,0));c.port('O',(17,0),'LOGIC_OUTx',loc='right') +c.label((8,3),'5 V high-side logic output',size=18) +c.label((8,-5.5),'+5V_MAIN → eFuse / load switch → +5V_AUX. Connector TVS selection is specified in the text.',size=11);c.save() + +c=Circuit('sink-command','Low-side command default states','IO_MODULES/DIGITAL_OUTPUTS.md: Protected low-side outputs') +for i,(net,pin) in enumerate([('MCU GPIO','INx'),('MCU enable','EN')]): + y=-i*6 + c.port('J'+str(i),(0,y),net);c.wire((0,y),(4,y));c.dot((4,y)) + c.res('R_IN_PD' if i==0 else 'R_EN_PD',(4,y),(4,y-2.5),net,'LOCAL_GND') + c.ground('G'+str(i),(4,y-2.5),'LOCAL_GND') + c.wire((4,y),(9,y));c.component('U'+str(i),'driver-pin',{pin:net},'TLE9104SH '+pin) + c.d.add(e.Dot(open=True).at((9,y)).label('TLE9104SH '+pin,loc='right')) +c.label((4,2),'TLE9104SH · default-low commands',size=18);c.save() + +def equation_gate(c,ref,xy,a,b,out,invert_b=False): + x,y=xy + gate=c.d.add(logic.And(inputs=2,inputnots=[2] if invert_b else []).at(xy).right()) + c.component(ref,'and-with-inverted-B' if invert_b else 'and',{'A':a,'B':b,'Y':out}) + for idx,(anchor,net) in enumerate([(gate.in1,a),(gate.in2,b)]): + yy=y+1.4 if idx==0 else y-1.4 + start=(x-5,yy); c.port(ref+'P'+str(idx),start,net) + c.wire(start,(x-1.2,yy));c.wire((x-1.2,yy),(x-1.2,anchor.y));c.wire((x-1.2,anchor.y),anchor) + c.wire(gate.out,(x+5,y));c.port(ref+'O',(x+5,y),out,loc='right') + +c=Circuit('deadman-permit','Hardware engine-permit equations','IO_MODULES/DEAD_MAN.md: Logic equations') +equation_gate(c,'VALID',(0,0),'DEADMAN_A_HELD','DEADMAN_B_RELEASED','DEADMAN_OK',True) +equation_gate(c,'PERMIT',(0,-6),'DEADMAN_OK','MCU_RUN_PERMIT','ENGINE_PERMIT') +c.label((0,3),'Hardware permission · 5 V gate outputs',size=18) +c.label((0,-9),'Bubble inverts channel B. MCU_RUN_PERMIT is 3.3 V; gates must accept that input level.',size=11);c.save() + +c=Circuit('deadman-outputs','Hardware permitted output commands','IO_MODULES/DEAD_MAN.md: Logic equations') +equation_gate(c,'INJECT',(0,0),'ENGINE_PERMIT','MCU_INJECTOR_SIG','SAFE_INJECTOR_SIG') +gate=c.d.add(logic.Not().at((0,-6)).right());c.component('INHIBIT','not',{'A':'ENGINE_PERMIT','Y':'SAFE_IGNITION_INHIBIT'}) +c.port('I',(-5,-6),'ENGINE_PERMIT');c.wire((-5,-6),gate.in1);c.wire(gate.out,(5,-6));c.port('O',(5,-6),'SAFE_IGNITION_INHIBIT',loc='right') +c.label((0,3),'Injector permission and ignition inhibit',size=18) +c.label((0,-8),'SAFE_IGNITION_INHIBIT: high = inhibited. Supply-loss default states require the documented bias networks.',size=11);c.save() + +print('Wrote 10 SVG circuits, previews and topology manifests.') diff --git a/Architecture/diagrams/dac-output.drawio b/Architecture/diagrams/dac-output.drawio new file mode 100644 index 0000000..99732ca --- /dev/null +++ b/Architecture/diagrams/dac-output.drawio @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/dac-output.png b/Architecture/diagrams/dac-output.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c01a5a197546feb3dbde255a87a2f57343088c GIT binary patch literal 21502 zcmd?RWmH_fr5Apq@}0*qOkv23`w` zcRvZs4e^}Pg-`RAPOF*OkU7I5ouREiG3SJy$=cA*20f&o-0_qW6IvR#J1tcr*@r>)m8JU1A z?^5Va3tA2Diu1`>`V@=v&l@D9u{!Az(~lo%Gn>tA+F5F&GuuehV&e5be^L4)^N@J@ zad)@|i;w>{(i8W(Mvqsk=2+2Nvg*mk_Oz@O5?19OmF7Qx=ixgFHC>=!jpKQcqTXw= zBq_9Na6PGz;rFreifv2p1<(`4|v zYw6cyUYFe}q0#t+pE-r#hU(q9Vek8pCqi=Cu^DOL-5Cb#igHpdO=-s1t@9$r%*(t8 zObL6W-@ee()$c|aNJ#89uY7}B>|xTsCuah1+x3>FnbJDx2m$}JzK2^Ivl7wcd-gXA zQ4&X_riFrQx4pSh*!RBs2Li#jGb-F@?eXIW=ps#_xUOcu}4*Li$*zy6N$Em42DTn!F*iAr8y*3;sWWPK$cYKxN{gfp?zmS64{qgjC z6>3K$M>W|cwbG*9ON1w3ZqN=@v z^V@Qpr!V~Ue8;XMR?wG$hCxL`qaLvT>IR49H+`Na-qvUJHjpR&1l|}bdchLMd_Iia z^remYP$~VHnU;e^n!I+ehiw6CTF~a!Q9Hd{q#FjDoJHUrukCj9dmmkXmF$d|lU*Mp zQ#=trSOy2n#7>r)y56zxV^2l!=(-@)n>PvO4N&u$9-oQbKjdWdVQqT#x_slJZzv0_ z>Z7IJecumxNr+HchIsn!Lc3#r6-Sh(w+Xb6&b2kDr}4IDk5%8{;)g#hoVmwI;NW93 zwg2j?UigY1-ny35q|$>4nxY`p3l<~g^SrciQ#Ey|ERTq2FqIWW&R`_dLA|@GW98ar zn10)f4>(iFPwU~Bl#Dx0{xIB$GEZu6U4~T3UL2V3@c@}fU&i;hdc(hKVb@KUzU1o; zP0-Hku1yBd=oJWs+um$eDg#Gx=zvVvHdWAElY5{z<%<_*D9!VbBCGoHTNRqojPKbg zvYhb=N#})LA&3jmV;o{-M)7!VwnR6LHp_Xf=OM7H;n%G7zJY_x{Es+-r{EEOxtW23WK&33QH)Sk51%oOi~wOVbQEO`ncucKHk9VAJ}eThXRWVl+~cftyhF*g0o&$F)NqJ?oAun! z8X?o!O>(lgt|-s{qO65~f86@Jych>P+E35Z>D!IT@@qcr!NYV2Taq1&*Nc}*(0)4> z%a`JD2d_dhxS{GeT@Q#Nh;y#_*#$kJdhM>a@AEc_7_@y?_R))7& zVK`4QmFxjQ_U>SP*#D70F7kppn&_R3%KBFHM=?c z7OJaZWuj;79~#Lqow8KHIok1tkDmi;YgB(yF7g=|0mKw^&=POco_T#aBjB6yD=wr| z0T;Xbf_7)-By=jz-EZuOG_wSKTM?UqVKvH;WlVd21K)S3RD{@AO23k2F=B zfr-H@A~M9*0oM;r3nI-UUD6TqMS5yFSu`ci34LDISX0?ZwRRY~*Ui;2TB z{mSZem|LVQ&-J|R8i)3kW0MY@V;mi|%jc{iRke6uQl4K42{$pJ7+rI6B0ftHCOT?G zMahHXCS-_;7!dRtDmC*f<_vpt+BsnYES4cvHL-?~@}WsWm$DOgA?(O^XP0R$Y3G5R z+FM&&&;FVkesx%0SgP|y)!|0{x8h{a3$aVu59zq9U88AK*F{XCv^=C0i44Fdv5D1H z)4*KczFjPt@tDQZzgFMd9AyEof8W(`Q?~AHVTZ8XeYDkB)i6)d_h+A~s%PdLMPkp)4ktfr|xFItwir6_sN@^s;sb=0>%pBLmS zvfsiEmLhQ-Zl*l%JL5Zbz`63v^n^HBtDr1FyCj`2W_?! z1;a`Vz%aaZ&aadEj9I-P{Ai$#9oDIVv@xmutjE?Cj8U@H4e?_8-)l-wYqc~r2}$Zo(;ET@$o9(0#{U-`EoN^?8|qLJ_AtZM&2em!?>2 zoRIHm4WNz~?EcI&sEBCBEp>Z#aZg~0iI#cs3psEDbBTky6^4q4l$Hd3ON}yw=_xvh z#$qo3_l*hVdt}|UrUrFHy7DClgXmZF1kq;qqMG=`N8dgp7u)5=xk1tQhNa;-*}obS zl@M8ggR}j0@OY?Q0ImR;JcpXe+E&F-nL?13wA8H#+L}WXwr&|A** zL@gBM-UT>W&h!9~Ay`rWNXY&%2GPwKRl(a_e`*e!=x(j>^W%ST?8ZobcYBNupmvVf z3L>|phKRdlXnh{ta4ab{+-QP8B;>@rd%q21Q=W;20q;)hT{mR`yKZsmM>axC#w2Z3 zop;Q#L05Q$2psxJ{0fZ75G570Og48XoM`OAo?BYl0q9QtqtVW@U~#3QPa%?!o&q8- z8}K)23nGx1boKs^XStaC6-ovMEFiI-Ij5m~KFv^DQM_0_STN3gnD$vU5%l2|XLpznDU zu7mjkF;mXy$LHefh>o{=JqKkE^R@>2Q?DQOvcO&mlNJ(zFEls?2Eqbx#l-``@X>Kp z{r42TE_OR;!_!x8KU(}%w~UN}gk+xnfiF{7Lwm9!QUJ8+ zvpRS&WSvT>sM{#~FbOsz_@Rj&npNf{(@``UfQzhq)ST{QU|6h(M#D%WFFX1=lLXF^ zaw~a#Vfa#9qW7f;R5c+`$WcS}*Q+>{E-UpHkuw^1^-CQ+LAL=h7enbCxwLI*MLrR) z3X9(=mh#w$HtMSwiPGlpYvFxc>ua!sQDEE??e2wCyVPT;iPg_bet7w*^_hesM0aX# zIgvN(==NkN^fH%ld`9pi32X^&k zX$8uN$?j<#y^lr9)_a;qeN`zFsom%ULk}Nrb2no#!gfRCzg>-8JQ9zs85{V&en#sgXEj)N4E@XlXC$dsrhGzf{LIZhwx>(GK=ystz z|E&KmF+Q;s?QxVty4K;0(^}|*UfP5Oq-`ERn+*-j&JAG70P8tVkyS`kl3gcEsHEBS zo3o`nnmgGmVUy>hW#E@dcF)o1t+R_J+riYJ&ENg!Rif`ot(o^^OFxSLB)m~6`yARw z!*DD3E(d9!oKT?Jbqe$VK?k|t1mYm;>$cw|1Dh`ko^afe+=UDcOSxU2x4N zUQ|B^Qm)hwdTf9rETtuaYdEO`4u$O7;3pQ;k8M|sXQI|36M5NOveOT9W}6X1hdKaW zT}bVQSf!n?jZI-=dkT5goBc4d49$@}Ql~ZIvA``$*40HL&*Arov5eMFgq5iGaT! zJ8%{6rc9Y@0!F}TFcL<~BrJ+Xbhx0Rrx&HG$zypN+Y+5whr9jRCC5kP3oQ+F}lSCuhpOK9}z9JP^C_r3S+$pqSM-Bmag^mdU*kk+b zNZhL7m57#R8n~e$M(j6$?IUB1dq1hvacJwnSL(lACIZQYc(;#EgHQ19r?<^ofHxi< z%{2`a@zphC9&#FYUWqE|2c0O|*%(#(p3D3QY;ks}t!E9tONQKobq9SH#O2euEyoJq zoR?vY_AhU*HcZtfTFWU&r`=ClK5Fil(o(~%^N)on$xSG`8OjJ0^dXD_Y@WC4&XB#c zGY3yj2BEW=g64E##_|8MG2^k#3`54l!L~OLvOB2|h$3n>Bmc<3oyd$!43O9=zZ^IdZfpVt!&ud+Tf!a(SMT`QwL;#-o4LJMF$7^ zn2Fx0LF;u}=7VTuWM(WWeu^PYm8gB?c;%@fuG?cYW|HB&4(tbpvr=h0vyt$6Dxl=@GbGy6L zmT-3u{J3^=bx7>AvH2Lclf{pt@R0cDE3;h01;9b1-)u;&-94L0)Q25wJh&e5dfg7U zz$ps~n&(r2bbKV4xnp_ytWQ6Q*m2`>*2e~XQfJ=@BwxooF2_JdEp3tVv(0uTQx^cN z4wBEB5zm<#8)Igy#C~D`Q}Sx*Mb`A)uq-$ zuipOa63~N3*zC-@rci^UJ*LN-S8wiE1lahP+CPhH_V-MbgUyOU^H9Q*$zKTo)C`go zRvwG~k>^!SWRk7m#qsoMm3JC3FTVNf5&ae}yKWc&Whqt`b9z{~93x#QEb4v$+x>UK z4}zIbvdIP9Zo_cbjm`Z1{t`}~EI+e-GE&_dCemxeYQKCNgFCU(t1|!O?`P~r%EY5c zpXo%Y8FqKK7gu^GM|wnr^#myy9&THy`LHwBzcosrGy}k$)9E{KKGHCnC5m}On5+y= zMzh;4RQ$&tuNH&i@p5r)IrOd4KbKT2Cdy{fYPTNA_-+QIpDCJ6H_roU2V@erdzP1Y z<%#&jMCI#q^8V6j=6b}J&H%3pyt4loV6y*n^go>8{J)}gel-&uO@2G z&t8Owg~=9BAbUl>e!a;tHB~;0DWG$duBF+>-0mMnFo(S^+#q`X!#a3-!*j@m93^Qm zLCY+K=Vr(Dc~JKU-dQc+eQ;n|R`RjzBb_t@(sgBmhU(@v0o4az^w5xzk$$r2qHx!p z227N^oQ+cA8nXSTbJ)YEHDsyLFuH~3QdOpnkGoTs-!+!_n%!M2nV6`lGZb=4WCr`1 z-R_f#$N35%&hEh4KJ}mV<)`DMz4;Dp{ zmzL*$+-u9e`N|v;n$y-+Ir3w2MoW{>3ao0k8-ga>;BWkPA?M~3V2W|>+E(6I6rT1+ z<7G@MHN99zOwg{XcpB#~!hoe{%qN8pj1$M0kDVftcEJLmB>MVB zT3()5PV@=S4u5huEN9@KZ#leZpZ;a=c0u^X-*5N#Hs&AZ6clSXI-9f=TU?#2atf)& z^^hPfPV_WoZg?*jzOw))^Zw^#OyFcc4pBW}B{AzP8)dtRvE;_p55gdZrEUIupxc%4;YS2Efxa7#BcAzd%$m;%w6YHK^=u4<)CMMVh|5MQhL zX6sErjPS#4xn9HPAezUj1JNFZ#H1u4S8Lza=UVb<{$AePI<^8=${8np@VlsVYcM$S z_3hK|Ffz-(xscznK3`FJe%F=*o*-q#mzKT#iWbHZZ2yN_PA46XJA>J`drq%$uOZ?X zSOjL0drqiGEB{oJ#*A4AF-c^@yU$JKGr-)tYRqbE=}q6nH8m}=s}!Zah(UuJCnhF{ z;(G8zxJi!>V#a0zqA?j~dghyr_%x{Egyn^t)>Rd3+sey_ei%Kf4(3T>Dru+{JR)!r zEcE;}jrm<;pW0>3T=%K5eNIEOmIKA{@!wcjSTr}-vvP3eTAZ)fYm+htBNp@bpXPlo zV=LCr8ViBHR2pZMGwr>y(}Gi} zbv8Nna9z3dTff^t;vDLHIT!|E{-t6II6^>uY4aYf!>#`Q#|UTqLkig(Lk@2Gt%Zp*}$ zPkUCNpg@%UK#d3$LhwAxv zQ?z!er%0dh>I?>>5=c0iG+PZ$l0ylqmRMPt2?g#E8_zb4O_G?>2k8iN4Gl%#FT)R( z9A|&~u*wx;#_>3PYWHdNlz>FL6TDQ@CFsv;U&L@@wS}Jic)0ycjX^|0Tz>B^Y+$gK z@x3=7CZH=n_=m7Sv-?mMi>9>FPuzE%#vYAeHZ~S~dj>H~IVE9(et_6AF-8N`IMj%u zUeJB~7$Gl}Z^5(LU&~0gaQ+uP3EYqT^_b5(Uhm@izYg>fk`QBFToMTyBO#cPMUlN3 zh7%#dusk7Lk!I(kp%p(f*XRRR3NeY^I%k*SnsBb1wSbsW8hzJ8p^mgK{Xii|kkS_v z08}1vMZ7#b!dmg)p_rN)b|K>YGAlVj9|Q#QnoU)dC)WjiZtaI~3{g>#hOz#&Nbhlu zl+~3>Z7WS>u^xkO0s{kZZRF)2LwQrR0%AHka`%b*2S=#`jEzkb6XQ=5;ot1ctp8FL zA3uHw*xd&zNxl_NRn#9xQ(2ScM9{*!ODpHT|9;D(Iaf)3{QtVoF*_8B2GZo=xyNI3 ztm$vxD6+`pFujfuT-H-#{DfuEH#8LM@Rh^kp1oLiffI5d_yh@xwn2ns`Fl-jV_W7` z!UfOPZx%%U=BS#Wb-E>q<6^HOYSc~9y(e71n(_lxM!Sa*LJ84=L!rS{fNu44j**-i zl}|+K>zM3gsA6X8hX8KASrwcuW0N_0PQ+7Nn+05vV}3VP-CA3lbaW6LIa3w<{ac#h zGj(mACigX1o~P3}E^JR;qITE?>2%dKs1(SZ-*Rw7{`o4G!Yr{mKb7+mwgSPT47k4B zGqE;*d(s81vjeUD)YP1lqv{+R8(W$Ryv+=CID~4NP*SelT`u~*PEL;JciCiCODL_f z7w#4X7{}0DKS*h5X+l$qt`&*pXWfK%%e@dcJnP~ruHQ37%_h5f&t;&!Ou<$B>0>LC z!z0QAy1ufbjUES#mqJOh@$qkl<>h#tzp2G&6sz%NwdWrS?b}&7G9EAfTMJ-gVrxo! z|I5DAX2>3$0#0%1YVYuRnNHkwW8`6~-9|}GZEAeN$!=%9cR|)IY&O!DfS7rKB+=VS zTf?lE501R3la6wG1q#q|=3Il~#~ zsQLP4c9Nbunrs=PgL)M*CZQAMxu$4tXTZ7yJ>02luzf!LjC}pY+C|fy2PCE`ZIP{? z)ig<^?#|KLDjC)8bElxLFkLHawkGo_-u%bTLobsMjC;$_N-(G0j6|EQy{ zo(@URP3H&Y7v~2IZdqDc*dlByYV$I7kCKT=6iDy_?;_fF#j&OoxXyFFe# zZ9jv`Vp!RN+^bMu({Ot*M!wAWmcO9is@U4@TYHs04`L_5iqmERVnhJ~wuQQc`mO29 zGB*s&Js8QwnRAtJ-o>R8n!mjp9ACiZsD6+DNTt);zTH%vCpp#CzrY9|7#K`Qi05y4 zJZE@pPLQ3o;vy4tzuhfin@>&Uxw)~%zdNa{P#ykkl2(sZ-taV2(DhgCo8w|4%hEZY zhpW~M)F@Mv9bA#uZ(bLVVwx6GmHA|jwm3??pIL(1wQNiBhyLS}YF0nM!N(Neoh z6!C+-4gTQiy6C>ND`h4=t`39k|($2_18Vgg^Pf0 z%0L@F(1UBzxF{+^I$H*=vXY+tP0x}10-RpA_Vg-H1;GA2JIX`Da=xiN;;}5#LVLYK zmF02|S2my9+aPD3++@zjKhNng-QQlh*lc`YqSIJE+-&dO{*$1m~JWD&pFxKe}&*OUb0o?`gQb74Hn9il8_Q-CS_F>7Frq_ zLzlZX6&|yer&Lv4?3Quyl5p|KHI=nWD+>1Z*R2hWr6#w3{qP}Wl)U&IpwatT(RF+C zw1IQF<3LYG`Rvwa_pl#NY$0*D!!_fmBkDS9&if=euxT!=`<$-@tfKn)W7S7rl2<;5 z7c20mnO;mB$m}A+$C1C(QLe89zul_}3xi;uw}9Y;hW6vd-kdi=$@h_x%Vr@V^Jlf! zDdeX=>IqdUA(28B_efPVScapWJVaheILALt7L_Y0a=|475F-3mLI6nYgz4MSm4GHu zO8tFuP7X^caiyc}{{OCMbyg4ue^pL%q;4MS1p(c0h+B`;6M zK*z>D2Ak;5XpfM)O?QB=~#v)$L7s zMqJrkO<=Gm-}10|86Ny}GViyUkGBV~>!Y-KW!y648MQP3_;t!|i2vs1xuTz*vB^$y zN{S17_apV)s8SSf*|&>df9{1^GFsf!^n`t+d{+P>DzG(r`&%Q6{VA|{;E7x~I}7^C zZ)CA%+t~rTu80%>slqk>=(iOP(Dk+O@|_~q^_K>wE#DAF!!Bx}-vwKD2?!rnMBm}W z_3tkJsc;Oov~x5yF)%ez>ULpfV<~Lk^2?~G&#-xuwOVHFIQ!|(9oHl(6@>TJqnV8= zvdUr2j7hIn(;Cwh_bS7*<@;ny}@($=g|se{JhRmQgZA1$=hE? z_~J`Sik}Jkrlcg;WLLqKS}|ZjmDdvXN~U+(O+Tfxa5p#qqa85sY`)qY{|MV8XDJxxsz7*Nq+C)2j8}K(|jkX5Q(l?k6;sYBofS}IJ$M%ynb!jV6CLAtOZDGCMO*?_DxjnmA3|DcFD?kjQOA~0CHK`_(f{m67tyQ z6xq2plEL{CVf%r9I&m9<*u&X|=9EMHoR6k;*^J)vxHrX|^odd{W(h*lc*&Z3o=eF~ z%8K;GWha&SF2n-cXlX9}d%CnN{nhKSxQ)NElFLQ zS{S>ChyeL`zc)0zCh#P{@85E0akBibatzezb<+?3`a}GE3S52)h*&EVY>5oXqG+dA z`&SDMOG&oNdgGRQ{*rXhyUPdSxR48`$u5ssbJ~lb9{1^I9Ng@3(n{k)T_IdbN=j=x z?re8g`@-JDQDLFFzr2nnrbz7c`MdepX9m8uw^`EChO1Ym2^qaWH04+MiE_bacQ(gv zMCTwltKsDES=^td&5z>1JNO$_JC` zoF9Tf66?CRPr-Mkm6~?uTS51$=GDYzE!lU}ImTSD!Am)+JV$v{E7$PAC0mrogD7ulDW_C}WiJbNQ`WvfA%uBfSvQ*^QVBY|Cw437oJ^6=>_utq8 zQgcv{?=ElLr*47Ut4}9t*e$cLuv#zlC}o>UjSjsFAlwi2oyly@_DL8V>ED{d)UaK& z9T&-yEy51KHK8of%hZJ}`(B)<6G54Rut+NMOZxgT&-awuZA^`KR@{lyx9FE$m0X|d zLG6m}{q$OaJdZkHb93u?a8Nbvmv;KpLElCnGIKVWxho0mg^;s1eWDQL6{d?LVmIzw~xumBr*3DAB1MB zU}-U~V3^SD8ApQats5B`pR;-psP+iV0e$0;EZ4KU=I^hEn$_;$-)@TgMHAg3b`JY9 zCE(+%Y_(7*v=qYnLI^M^kWsH?sLYhKrlo}1e={fa9sX4NDN=GU@6n8wC!xJcx8Dk= zf|hASA3Nh{^GdFoqH%~~L7JV^H8fgW&W|H#HYiYAlX-odoRJm9DPpwR8y68e2F=;o zC-!6EYse37`qNkN%O)TApU&TJSC$3b!Z}pyVhi6n_61!UAiHUSw(Xm{#jQ5ALC+!pBeg#+@E9Bq!20W4Cvy%?62%s%PdZKp9q% zi;M&!-@80P=(UcS=N}9K>37?eh}I5?q^M)SI$>@UD*7Cq3$AOHmb3s;+{jAK%F4=! z8x%T`b~B;Okv8S~ln`^2i?{Wl+vV?mfWYnm3X?LUeXs3*5Jx8hSpZc}&s5}jiR|nI z&r>c@07bo}X4+Y3*{MK%5)|ZNjc)~PIBO;sPIc%Y{dN=REU{=%|JJvFqFOpSbP#3` zH+VMhN)bo`p`B@P@*3JN6zh12RSRPBfJOlmWn*A?L3Q}8N8M-2z4koJ-G%UGTV)H) zx!d6dAR#ogHJx9|!?XJV*iaBLHg@#{^$pAc3QZm|bcfZkwlWq!F zuS~mtZ5Nzk(E0LtcD_gEYi?A7I*?l>kSZ7mgXC49*?u0ODM9Lki3s=Nxma9fRaMm_ z&Kp3-Q&w8i(@lM%2>q;b{>`p;ZK3|T`qkakGeMyzA;lKPEm2WdN%8Tq6UvV(xq;&p zL+%<|ugt|Hf;30C;-h^2+Ufc8Ku&f1`Y&8RJ8fAdS9?%6M2AuCu6SHe_cQ%_`5GK6 z&R((D=%y25N{kI^V3;Wu*p&u0dnnjeo?IL*>Y(`N2)*w%kS@iYbCs;Q}ogp{X~0(Gy<7GPBSmTD2N%cD|LQ=6OT+k||pjM5|Z{muBkL)i?0gst(PH?8P8U*6bew*(U zunEi!Zy0t`RH=Q z2W(!PhR|>Oxzghl>xOu*cI49fe49a_4>ULDzsKV$mzude_oH(qG5Dj@sUkP^a?W0y z)fUNpX)-vU!_c6LBoUXFyG}N?GV1mfj?nm%^NzE)tit(m6STI+T2m7c^Ww@^(133a zTv(af%Qv+%I0Nm~AzrLEx)~G@UDPUKigHW1z0pdbmg#kf! z6Bm;lpO$21ozLWPXKRyzoXH;^8VR;CQGuJ26!pX%IoqGkGhiomk}RH)ap)0*X2rsU zun#wuIu}(-xkT@MI3lfgxEywW({TZ^Mkh#|C*PV97J8^OR4M84s~(djzZO7$zHlQJ zizIlHN!R0vD@8oO`ZHa~{p0mVNDFd*KSfee z&QPRCEGggauz?NgYH3;h#Nx=Ng5g+O20pgu))~)x9_F9WUr8B9Jenp0#563d3&r%- z&pKzLbS9>zq~{<(TB^jqq6E9eCf~LFVcx6Usxncu&_~=}A^XFSoCMO5Fz0pv9KRF+ zY_Cy%mjTqT6R)(&)MCYk0%Cec_4Obw;hjK)SUdp3mOQWXtpJL1bB1#y%Hhl*Sn)9- zElCpXCO#el3}}A2+-5%7Xlru|ze)#wrOV9`Uz`hhx7(ez;hRx*+O!hblXzs<;&!y% zO~=*N+jH=ag~lD=S4Q=fiFspSqH+B$KEQy@6f=?mUv9K;%zD;JU-gkXAYLP0$oIzd zEM0tuQMUlUtk>V&8JGzLVlJ5=np)$_AozGSH2yGsF*rI)86kTsfY$YWg=jyxA#r=J zvxUog&VK#y2G49%g+dGff$5M%0BkTor%Jj>kF;&R)LU;%lc{VoCK|93vC91`sdqdJ zAhr_`L)%;9O2_TkRt2KvUv=2lcqi&;hF~af&M!#r{fNILkc-}fZ`b#><}SxV+w~ys z3k61=FY}(ifb|eW29!q(bydITvYm6kTA!lXki--5N#$|Ay{9xP906iGBR#$9XVqjb z$BD#@yMqZ?D{ZU0=?2M%(Zxn@MQP0@GdLrFQ;%ntFL!R(z%af=&s7{~eKkNg5sakh zZHUJONWU``=^K*Xa3$xi@rDVb7yw9h;fq%Jg9!_VtcJGLd;p6lPS(j8No8rdj;b=N z)j+_6XFZAF_`tlw48?(l%`CtB$UE`p&(+it4%2lQlMZ$^bbI?qLjO(_$>u@l4eS!s zmeeC`nJU+Sk<98-2bi=HS#pO-xBDwIkhaSV4xoV&@l9(B?;Q~^5B_A0qMp10Z>t4) zD~*cvvN89vMMOf{;f?#$7gnkBYLEbzHI!H^;cGO1ZLbR>@GcI zT%?l~I+?-a4yn!a|9$bN&D+7@O!bk>Yy0cW{ zKushkA7Q3IZf9Ytywyp|LKuN}2NuHexa8TQ3m9t&n|&$j>FJDd3nxzp_@k;* z!Lf#E^^QB))?T^GiQWaP>rd^y!b~-_j&kzy5PsfML@e`BZ*>M=9S%B%(Li4#*s-?0 z2FOFUGVne!(QyHGc@&UxdjZN<@dWb`JbDn3p3(56;O15o9Bq!Jx{^iHYT)NbH(1W>W>lYxKX)|Rz_zt1(OhpuT|=W+!mR9SqrWluQ*_bz!BxFQx776~1O0>_qS@bikhHD9bj#*71b8y+Q^DMwFCQo$Os+Uqk!C`PtXK#Z>Ds1lx)kdw_u7b2yq2kk%>Z_ova7%Sn3qXPzXB#p&1>Kvarr`fLf=I53# ziip0a<^tE19~PykP(?lbzy;E}X3GZ(AOi-#Hb70+)Ht%UL%}v*hDk2}`{Ip0#3fEe zv;Xdk;tHBKQpYo5A;-0_2KB++Ml_k74p{iy+AdFK1C?pwW^a?ga1hT_982h%2!%R zMa8K03m=?}T(B=%Xr!Rs7IJq|onBsU8je5L)C2%tAo)!5(H-HV-Wdv{BPO;KX3~@F z>6-td=_PXuv4Q_lll39yUCkOadYu$szWnRP;47~GpRwtQp}|43>bYPSTYI}1^?0-= z*);!@7qRxb%T^cQ6vG*U7VEPV#Z^~80`KO!|E1PKd-Yu7Ad%^KWhS`a80d>((5rU& zb5;)?y*szfC3pahER-#@%9@q7+>&~~zjzYzj+IJXUH$m6-qB-z9-wcjMl~-EVA_L& zv<(jpg^sA;*olc7S&b}SPlL_XN0eI+h*@`65Bz-3{p+16RotH~2j8W-BRH8S5b*hC z>tC64Cp|W^a0qxG+^PY9iCgCw;0#?T_5~x6eK-9Ee@_ zT!CH`WL7o?_6Hp_nnXmL;R4=&CdlrhFHWy=8Jk4^ySh`9ehus-5CH08>2oq zxY;kKN5cFm?vh>mV{TD}Jes|O`BGksUsVbd#c26LT8=1%ji55*m7}Vh_4VB@kPLZT?v8wAHclR*=#6l4z8MvO24nB; z9GXj3#QQ-ya+@XrB;h_&kn@rDBmIpr7$AKBZdMAlh z#03ma-in)J`SOI>)~)+{+a(f2qDk?HdD5GDOMMjcG`KN#-1#r>5SNHB+h@sQ=5ejY> z8BOW_qM{u?O%)Dy==s?>I*2GGrGOIAWETODiAJ4>l?cV!0u=c>4o(rg?;&N`IfVm= z&k72OxVb%CN($-#2782Im9n!xQ(Uzu$+_Bd4ExAJ@cPY5k!Q4&KY|zFWLH9-dO+Qz z0}9j#Li>&56BB6q22Pps%FDYDF@KC-iF~2Q2jypH$Kd9cm8opehF?!0eTw^$3aF2W zzmQ1YEv0e&(mX7lZM=K(qligoWMp`$)!jcRl^A3^bOK@rL(6}Dj8rA~KAREtj*d?I ztBk37RC8(RM;4WElby{o#Z6yAfFSSMYX|%QyuNb-ajcY(&rHZjcyH(iO%50uDyQ9< z9t2FZ@-o50b&?@q8J>O<7$}LEt_ukO%vM}t{C=y&4rlLF)>!qZ@izmk>#D&3JerC*#byFnM_>)F_>T5%Uh%mz5O}$)j2t%F)X}V zsVQ?jawr=+?zQQpTH&wQK$~!mL4bB{Hoqa>f5Zet`6|AowTNON4zLXgHIN0^E_&nQ z66Tkdrlurp?QAeGQ72uO;0tk-Yc~b7x=gOc6-8(A=2euW#AS_|R^!0tWpsH<^z?|4 zuJyA2YBqw{0if8noCz~BtaWq%N?Y=g5xh;{JQOUvzqK09N&T@-{)cSh^{tr+Z+nd|tVz$Lad;o0HCb8PjNevq~9wsqdf7Q|P zURFjHh#0!M>GBbn;t{|+z53fhJocM@Xc%~#;{!xHCmTzp!!*EF1yW;^%vPyKLJ5)N zH#(lwSuIFp^8=_XgT=xtp`xjo8+}pZ2Zj7l04~6-KZ5%9OH0}4A1A}p!fVsQ*6nFsBtx00MRa!cm|)54`?Y5A#2s^43NTyAyElx_<;cQrZcf%)pXn z_~*0#?d<<^$1|W+VkQh2Owc(;@@v%T_{uIf)8`Vy`d6d%SN8-IU#&j;NflPpY--FG zb2vgq`v_n|H6`1aNh;^Y z>gO}7py|XOdVD%Y7EK3Tq?33xRWWKW2gkbqPQ8^oBX1aScHndLXvE0Kixdmry-9P4 zYS=HuVsikrbQ1ypmT`6dm2r9c24Rm>OvS%J&TNl0XF>vWnWO$Ikrzkv|Bd7f=tb}s z-j1Xoyr80|T8k6o^V=@>>*l?MPk{uj30oJJK|CTN0y)^Z7CR8Sw zj!XU73cFzFFvh+-GAS-&_$xD{Eh~1rxF0@Wb@li3yf|2H%jtXx*u>*Mc6mSQVlYt# z+*^kcz83CE027!2`uB$WM+S!SO)#9r-Q7!`Bdyf0$4>a=uGd8j!K=|((6i=wW+M(~ zD#kN!f}g&PJx4;qOZ)p=0PEo9zY4;C#FTdfE>Dyzh(3~HbG_p{6*rgb*ny_schsD{ zpaFDPG-_`O5-m$_c~fnUD&~3S+2_N5o{Bd3yZzf0uE}dNik|$9^}y>oihcjj-)>)E zk*@y#p>+c^!vCWlFVH`Y**l^$?s}2?Sk8Oxfs^KOc7G{@E&0mZM#ycT#(Sli>AlJ2 zn~57MI4_*UY<*&|Ax~d`lg@?j^3^Axn3;#}qrOO!Dl3T5myF`MgVq$bHodzPZRm4e4P|!1nKj43)@o| zm(KM`l?!baJ1?a#ax3O0rUxL$gI>`!4rln4%j z{Cvf(XLwa5g{g^#RT=`eM<`HL96l^7r<o-1n~%6ixN znqGsJ_6yK%U?z_(_GVxLfWgC}WH;>`fu}VH1S^0L4?nmmIlO@`2!*BK zhQwjXV3QdJjBI% zPZdc8O@5B{5nX6IFNdw5Mx@E2?Qs~Uw&l%~uE5dCX}pmr)`fK)ZISQsB28ZJW2@&J84UD~X?jP~pIY83(~$xSzI*O3d(*X$tU zDVV1V>1|ndaWXHs!X|nxKQ;ZOn`W7H1*4UgNzp~c)OD_YJ3L<&fezfH1t-<*V2$lZ z9In{PuM6{unw|>#jTN*O?CaC*hfk?``;9bWuni4SrfegPXdc+(A@y}$>3IN4fYVM_$Gb^>*mGe8>2;Hh{)!AA|Wq8o_{P>hZM zZ7c+K{9jtlc`q-94i|woVs-jtsir2!@dQuKgrK8NFye>fS*FGa~^ppZDxK> z!i?6dvgUOktgfSrXQLl_M=VTi+MJIJ)l3Rh2<))aYIdjhT1T!L>a|#bXFaT5yKhrT z93+mgKqsZ;6hfo!q|h|k9YrXE9Utdgdy}GHi5Q!hxE;KUVY@H2`qxx*GyrDrAd0M`fd5A9ZWeG?N( zCXpx3i?4HC#nAfcKI*i(!zv>Ot;>gOmvMBOeSmJQ^?;YirJgC~oFWP6>g`Rm>sG?; zp#kVsrja}<%37QoJC|`1Sg8UQ&`?JWGkQHP?~apIS6C8)z22`|tNmy-U7u4|uuZp% zK=m!5(z_}Lys1XbX8=Q?pj+p1ys0#eUkFCdtXOK!g742*R^^QHrWWqI{VKqzX}Eie z^u5lWa&LEU&;vX3rIJ0+)Mc@!=^2$d<#=*$zbs>UoXT)_LCT-i`eMshW<`mO?>fS; zdJftd4|Uq$T$Y`&DI#aoY3=T|`eH&E?BOCLkhGg7qt zKo75G|0ywlD17})=%-IV2#=udlz1R*&~9?%J?HVmb&+Zc+r9UA9o1E;`W%h7)y0C> z?`wA;GOZ1VMcozetn!#{v+jc)wsWaHf+l-~zI8wtAE-}U>S9jJAJO)JHhXC4`_d9g zVLLaK#L9(Zs5e@Dlp(2N0A4w{qne0h8m&g0p!GgYbQY=#POXCjRysrn5|ogbprjI& z)mplNk_!LnGrj8bWpEEmODp`31G(7&hXws7C!SAksquEtWJS*@`q}$ufgv z9mWVDJ6Xn9Mhk-()68IIFpT%sPwzkQ{`UTMU&nD@$8jIu`@HV^yw3Cbe7zJuxWQTQ zMU4;uOB3eb3-zdarEBeK@!<|qn$ots{Olu7VecyYWybnE+CWiw8enaq1hIU1apsI6 zSP`@UKgVIUCi8b}7ZwB9h_h!w^ug|+NkN*W9aL~=yQKR?(9+XGc?HGae~xGK2B*GU zPy&1A*(S?TA&xB#JEUi9yZ813&TofiFTgznutYFxsyHkJ{9~NvXd_RRcLArQzt6@2 zk4Z+z`O+pP5v%7-zXF?=h2y@J;{!9X>l~UzoaH{C$I#S(h?bLe!zzJPuK~sEgKQ49 zuPoK1pOp`@C0r~kAC~pNhUMJBPXTd4q2&C^5iNQU8xR0Td%eIZ6|o0RscHhBI$QkQ5b;W1#V!E z;uZ1K*cY3vr^OSn*s`wXr1Dz-5Yr=^=Ej_~#8g51ab6=l0&Q>eJn8uipTGZyygg&G z8qQ42O%S-_1M42W?O$cL-Lg5>-)xdBci7a~MIcd%!-Yg$i3^8v#?zm>T0@!TMg23c zE_i?L`}+|YA0=TSe#py4R9gt}u^8OmOqM+Gp*Hvza1JIt4RV2nVoW0)oabda*@!(- zc%;ymQ@0CJHL{4`TB}dbOMoMHuv-Qk_hmVz2a{hAhAiQ%78GLHtqm;Ni z#6jeWSjXN_B@K;V=D{_TL*|5V3CC+2o!Nb*nd=9Z9@m8Co4^PTeI zX}2g5+D2u^M=v5|kL!l@kkf01xdnw?-Y7-SsIJoN31zfWo@KEhG;m1EeL3KFXkai1 zZr~n#vDwk(4xgJl80J|66{E-S-V0j0-_#afK+#2!vC~&Op0bcH@tFyQgUzQ4ogGXb zGLBwV8LhGY=u}F`(=3G)L~Pyr_V`CrDN5Gh;9*y=&Q<$?*xh@Apx!$CyCNbR-1jLd zPBhmihMl{!{LANPjrr;O#YG1Nt#$AUm5O3fQ5LD0^wo2IU3@&K4z1V-yl4}{;FR7& z!^RWQGiQo$GvlhN6@eIBF~Q$R%fSjj12yvBPO$Od#@CJj79OU+riu&K^BZf9mfJ9xP zDg!gVnqtouAdpVHS zxk761t7u|%NNcq|k}KCsanYm3LADGLZ`oLp+CB2LtP zLb-pu+NiF$em2bv(`RQF91>FP*@H!0+1pQ6y4s;6ucj|`Uh;f<+Q-HkM*JCM!}tp>(hN341Hwe{cG=5YS8}8_lec#Z+?SOCfA2r+AyeV4(XpF z9&~qe%GL1Uu1;`U#<0Z8PZ28zPpFbNVklF_WwkLSFii1e9g|SQc#;pz4Y-{$Jyxxg zebysrplyh1gNfLjU6j71BrTaW`;{lK7Ew zVxirKDVV`3?uEZ@0&Hl?o-jQkk+T9EW(i1 zCGD7S+}6I9mPZfrqW!`Knw-6U{9;Vk*)#iK=LKvZjWFET&-!%Tpf4;u8j@mtqGT)H z5rSA*B_Bvm1~ZS*@pA`m^?5WX-~5@RjP_%_6MBukiqk!bprsNIN)oav?@v#vfJhM1 zSbQWyla=tGC`o}qdnvqOIUi~b%_K(Mq&37FBIFmyKCM~^SfpUY{^!|bxs1$8j)jY@ z`88fXKNoZEKt8^yP&`W0ee?Tx(%ec`A?&U87Kd`sLcm6-m-Y4T7f^}Gf7GAKT;BZk zcV{`Y@+6$`Ap;hcn6%G6+rUmQgSQjq1?l@)yq@bBn+e7h`Z3FQdF7r`#7ymV{O&sR zjhX)vpK~G7zOr&hd=VCJ@>T8EAB{|>J+tLnwXfWlzb@m>OIfG2dk01`c-gx?n|uJ) z12bB@zOxa(UeOEX4iLZ-_H9)WE7E`=oXR~2KL@=QQ-6Ps_M!--kDwkHR!)I8u(qZ| zxf9@~gfZC8kb+um z_Yj!ARsjbnUS3(^!_SaA6I z$Eop*@1LU05zQUGd6&rRotqxU_U;T!Oo56r0FIpcW8C=Sh0M +Optional analogue-output provisionMCU DACRail-to-rail bufferProtection /series impedanceConnectorProvision only; final electrical range, load and protection remain to be defined. \ No newline at end of file diff --git a/Architecture/diagrams/deadman-inputs.drawio b/Architecture/diagrams/deadman-inputs.drawio new file mode 100644 index 0000000..5385430 --- /dev/null +++ b/Architecture/diagrams/deadman-inputs.drawio @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/deadman-inputs.png b/Architecture/diagrams/deadman-inputs.png new file mode 100644 index 0000000000000000000000000000000000000000..98221b52b54b210d3c24b410f99ee3344b2c1a8a GIT binary patch literal 60091 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 +Deadman contacts and observationsProtected 5 VIndependent NO contact AProtected input AOwn filter + default-low biasDEADMAN_A_HELD5 V · non-invertingDEADMAN_A_STATUS3.3 V · held = high → MCUProtected 5 VIndependent NO contact BProtected input BOwn filter + default-low biasDEADMAN_B_RELEASED5 V · invertingDEADMAN_B_STATUS3.3 V · held = high → MCUSeparate harness paths. MCU status observations are diagnostic; the 5 V signals feed the permit gates. \ No newline at end of file diff --git a/Architecture/diagrams/deadman-outputs.png b/Architecture/diagrams/deadman-outputs.png new file mode 100644 index 0000000000000000000000000000000000000000..384a4f5d38ae54a486c5f349ed9ab08773cba93c GIT binary patch literal 42422 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 +Injector permission and ignition inhibitSAFE_IGNITION_INHIBIT: high = inhibited. Supply-loss default states require the documented bias networks.ENGINE_PERMITMCU_INJECTOR_SIGSAFE_INJECTOR_SIGENGINE_PERMITSAFE_IGNITION_INHIBIT \ No newline at end of file diff --git a/Architecture/diagrams/deadman-outputs.topology.json b/Architecture/diagrams/deadman-outputs.topology.json new file mode 100644 index 0000000..fef59ec --- /dev/null +++ b/Architecture/diagrams/deadman-outputs.topology.json @@ -0,0 +1,99 @@ +{ + "title": "Hardware permitted output commands", + "source": "IO_MODULES/DEAD_MAN.md: Logic equations", + "reference_scope": "documentation only", + "components": [ + { + "ref": "INJECT", + "kind": "and", + "pins": [ + "A", + "B", + "Y" + ], + "value": "" + }, + { + "ref": "INJECTP0", + "kind": "port", + "pins": [ + "P" + ], + "value": "ENGINE_PERMIT" + }, + { + "ref": "INJECTP1", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU_INJECTOR_SIG" + }, + { + "ref": "INJECTO", + "kind": "port", + "pins": [ + "P" + ], + "value": "SAFE_INJECTOR_SIG" + }, + { + "ref": "INHIBIT", + "kind": "not", + "pins": [ + "A", + "Y" + ], + "value": "" + }, + { + "ref": "I", + "kind": "port", + "pins": [ + "P" + ], + "value": "ENGINE_PERMIT" + }, + { + "ref": "O", + "kind": "port", + "pins": [ + "P" + ], + "value": "SAFE_IGNITION_INHIBIT" + } + ], + "nets": [ + { + "name": "ENGINE_PERMIT", + "connections": [ + "INJECT.A", + "INJECTP0.P", + "INHIBIT.A", + "I.P" + ] + }, + { + "name": "MCU_INJECTOR_SIG", + "connections": [ + "INJECT.B", + "INJECTP1.P" + ] + }, + { + "name": "SAFE_INJECTOR_SIG", + "connections": [ + "INJECT.Y", + "INJECTO.P" + ] + }, + { + "name": "SAFE_IGNITION_INHIBIT", + "connections": [ + "INHIBIT.Y", + "O.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/deadman-permit.png b/Architecture/diagrams/deadman-permit.png new file mode 100644 index 0000000000000000000000000000000000000000..591fa80a53c4bf8837f128e97c8f55f46ffe04d8 GIT binary patch literal 45017 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 +Hardware permission · 5 V gate outputsBubble inverts channel B. MCU_RUN_PERMIT is 3.3 V; gates must accept that input level.DEADMAN_A_HELDDEADMAN_B_RELEASEDDEADMAN_OKDEADMAN_OKMCU_RUN_PERMITENGINE_PERMIT \ No newline at end of file diff --git a/Architecture/diagrams/deadman-permit.topology.json b/Architecture/diagrams/deadman-permit.topology.json new file mode 100644 index 0000000..f8dc4bf --- /dev/null +++ b/Architecture/diagrams/deadman-permit.topology.json @@ -0,0 +1,115 @@ +{ + "title": "Hardware engine-permit equations", + "source": "IO_MODULES/DEAD_MAN.md: Logic equations", + "reference_scope": "documentation only", + "components": [ + { + "ref": "VALID", + "kind": "and-with-inverted-B", + "pins": [ + "A", + "B", + "Y" + ], + "value": "" + }, + { + "ref": "VALIDP0", + "kind": "port", + "pins": [ + "P" + ], + "value": "DEADMAN_A_HELD" + }, + { + "ref": "VALIDP1", + "kind": "port", + "pins": [ + "P" + ], + "value": "DEADMAN_B_RELEASED" + }, + { + "ref": "VALIDO", + "kind": "port", + "pins": [ + "P" + ], + "value": "DEADMAN_OK" + }, + { + "ref": "PERMIT", + "kind": "and", + "pins": [ + "A", + "B", + "Y" + ], + "value": "" + }, + { + "ref": "PERMITP0", + "kind": "port", + "pins": [ + "P" + ], + "value": "DEADMAN_OK" + }, + { + "ref": "PERMITP1", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU_RUN_PERMIT" + }, + { + "ref": "PERMITO", + "kind": "port", + "pins": [ + "P" + ], + "value": "ENGINE_PERMIT" + } + ], + "nets": [ + { + "name": "DEADMAN_A_HELD", + "connections": [ + "VALID.A", + "VALIDP0.P" + ] + }, + { + "name": "DEADMAN_B_RELEASED", + "connections": [ + "VALID.B", + "VALIDP1.P" + ] + }, + { + "name": "DEADMAN_OK", + "connections": [ + "VALID.Y", + "VALIDO.P", + "PERMIT.A", + "PERMITP0.P" + ] + }, + { + "name": "MCU_RUN_PERMIT", + "connections": [ + "PERMIT.B", + "PERMITP1.P" + ] + }, + { + "name": "ENGINE_PERMIT", + "connections": [ + "PERMIT.Y", + "PERMITO.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/export_blocks.py b/Architecture/diagrams/export_blocks.py new file mode 100644 index 0000000..33743fd --- /dev/null +++ b/Architecture/diagrams/export_blocks.py @@ -0,0 +1,35 @@ +"""Export only .drawio inputs, verify SVG content, and build PNG previews. + +Run with ~/.venvs/codex-schematics/bin/python. The desktop renderer may need +execution outside a restricted Electron sandbox. It never edits source XML. +""" +from pathlib import Path +import shutil +import subprocess +import tempfile +import xml.etree.ElementTree as ET +import cairosvg + +OUT=Path(__file__).resolve().parent +sources=sorted(OUT.glob('*.drawio')) +assert sources, 'No draw.io sources found' +with tempfile.TemporaryDirectory(prefix='neoecu-drawio-') as tmp: + for source in sources: shutil.copy2(source,Path(tmp)/source.name) + subprocess.run(['/usr/bin/drawio','-x','-f','svg','-e','-b','20','--svg-theme','light','-o',str(OUT),tmp],check=True) + +ET.register_namespace('', 'http://www.w3.org/2000/svg') +ET.register_namespace('xlink', 'http://www.w3.org/1999/xlink') +for source in sources: + svg=source.with_suffix('.svg') + tree=ET.parse(svg);root=tree.getroot() + assert any(e.tag.endswith('text') for e in root.iter()),f'Empty figure: {svg}' + # draw.io emits an irrelevant fallback warning even for native SVG text. + # Remove only that advisory, and only when there is no foreignObject text. + assert not any(e.tag.endswith('foreignObject') for e in root.iter()),f'Nonportable SVG text: {svg}' + for parent in root.iter(): + for child in list(parent): + if child.tag.endswith('switch') and 'Text is not SVG - cannot display' in ''.join(child.itertext()): + parent.remove(child) + tree.write(svg,encoding='utf-8',xml_declaration=True) + cairosvg.svg2png(url=str(svg),write_to=str(svg.with_suffix('.png')),background_color='white') +print(f'Exported and checked {len(sources)} block figures.') diff --git a/Architecture/diagrams/ignition-command.png b/Architecture/diagrams/ignition-command.png new file mode 100644 index 0000000000000000000000000000000000000000..20c4c1c18540b4c6075f48954c29fa69128a4416 GIT binary patch literal 57068 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℞kwnrZ+Xen%OhZF1Ge_D!;fB1|JlTOmX`5`%PIuV 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 +INOUTNon-inverting3.3 V → 5 V1 kΩLow-C ZenerVoltage TBDVBG_LOCAL_KELVIN1 kΩLow-C ZenerVoltage TBDVBG_LOCAL_KELVINVBG08H-E command pinsINP: high = dwell; falling edge = spark. EN: high = inhibit; low = permission.STM32 timing (3.3 V)INPSAFE_IGNITION_INHIBITEN \ No newline at end of file diff --git a/Architecture/diagrams/ignition-command.topology.json b/Architecture/diagrams/ignition-command.topology.json new file mode 100644 index 0000000..9705f41 --- /dev/null +++ b/Architecture/diagrams/ignition-command.topology.json @@ -0,0 +1,149 @@ +{ + "title": "Ignition timing and inhibit protection", + "source": "IO_MODULES/IGNITION.md: Command and inhibit path", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J0", + "kind": "port", + "pins": [ + "P" + ], + "value": "STM32 timing (3.3 V)" + }, + { + "ref": "BUFFER", + "kind": "functional-block", + "pins": [ + "IN", + "OUT" + ], + "value": "Non-inverting\n3.3 V \u2192 5 V" + }, + { + "ref": "RP0", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "1 k\u03a9" + }, + { + "ref": "Z0", + "kind": "zener", + "pins": [ + "K", + "A" + ], + "value": "Low-C clamp\nVoltage TBD" + }, + { + "ref": "G0", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "VBG_LOCAL_KELVIN" + }, + { + "ref": "U0", + "kind": "port", + "pins": [ + "P" + ], + "value": "INP" + }, + { + "ref": "J1", + "kind": "port", + "pins": [ + "P" + ], + "value": "SAFE_IGNITION_INHIBIT" + }, + { + "ref": "RP1", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "1 k\u03a9" + }, + { + "ref": "Z1", + "kind": "zener", + "pins": [ + "K", + "A" + ], + "value": "Low-C clamp\nVoltage TBD" + }, + { + "ref": "G1", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "VBG_LOCAL_KELVIN" + }, + { + "ref": "U1", + "kind": "port", + "pins": [ + "P" + ], + "value": "EN" + } + ], + "nets": [ + { + "name": "STM32 timing (3.3 V)", + "connections": [ + "J0.P", + "BUFFER.IN" + ] + }, + { + "name": "TIMING_5V", + "connections": [ + "BUFFER.OUT", + "RP0.1" + ] + }, + { + "name": "INP", + "connections": [ + "RP0.2", + "Z0.K", + "U0.P" + ] + }, + { + "name": "VBG_LOCAL_KELVIN", + "connections": [ + "Z0.A", + "G0.P", + "Z1.A", + "G1.P" + ] + }, + { + "name": "SAFE_IGNITION_INHIBIT", + "connections": [ + "J1.P", + "RP1.1" + ] + }, + { + "name": "EN", + "connections": [ + "RP1.2", + "Z1.K", + "U1.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/ignition-flag.drawio b/Architecture/diagrams/ignition-flag.drawio new file mode 100644 index 0000000..d033dd7 --- /dev/null +++ b/Architecture/diagrams/ignition-flag.drawio @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/ignition-flag.png b/Architecture/diagrams/ignition-flag.png new file mode 100644 index 0000000000000000000000000000000000000000..22c0632f687e5279ca8ede0d6f5f0857923dafa8 GIT binary patch literal 26143 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 +Ignition current-flag diagnosticVBG08H-E C.F.Open-drain outputReference-style R/C filter+3V3_MAIN pull-upSTM32 GPIODiagnostic current-threshold observation; separate from the hardware inhibit path. \ No newline at end of file diff --git a/Architecture/diagrams/ignition-ground.drawio b/Architecture/diagrams/ignition-ground.drawio new file mode 100644 index 0000000..6398356 --- /dev/null +++ b/Architecture/diagrams/ignition-ground.drawio @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/ignition-ground.png b/Architecture/diagrams/ignition-ground.png new file mode 100644 index 0000000000000000000000000000000000000000..b39a7901ff4015b19f3212a11ffb17cafcb86939 GIT binary patch literal 37440 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 +Ignition ground and Kelvin referenceVBG08H-E PGND1VBG08H-E PGND2VBG08H-E GNDIGN_PGNDLocal joining pointPower-entryground starMatched heavy copperMatched heavy copperSeparate Kelvin traceGND carries the local reference, not coil current. No separate remote-DGND connection. \ No newline at end of file diff --git a/Architecture/diagrams/ignition-power.drawio b/Architecture/diagrams/ignition-power.drawio new file mode 100644 index 0000000..0f788ab --- /dev/null +++ b/Architecture/diagrams/ignition-power.drawio @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/ignition-power.png b/Architecture/diagrams/ignition-power.png new file mode 100644 index 0000000000000000000000000000000000000000..c6386b69300ff78e43d22b1a81bfe14e082c1720 GIT binary patch literal 25785 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 literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/ignition-power.svg b/Architecture/diagrams/ignition-power.svg new file mode 100644 index 0000000..aae4fab --- /dev/null +++ b/Architecture/diagrams/ignition-power.svg @@ -0,0 +1,2 @@ + +Ignition power pathVBAT_PROTCoil primaryVBG08H-EHVCInternal IGBTPGND1 + PGND2 → IGN_PGNDFunctional current path. IGN_PGND returns separately to the power-entry ground star. \ No newline at end of file diff --git a/Architecture/diagrams/injector-command.png b/Architecture/diagrams/injector-command.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc791d843f2b9134cdee1ad08638eff7592a7d8 GIT binary patch literal 40553 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 Vw|r#VK-Ww#c)I$ztaD0e0st0G;HLlp literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/injector-command.svg b/Architecture/diagrams/injector-command.svg new file mode 100644 index 0000000..db2bc08 --- /dev/null +++ b/Architecture/diagrams/injector-command.svg @@ -0,0 +1,2 @@ + +Rprot · 1 kΩ10 kΩINJ_PGNDLow-C ZenerVoltage TBDINJ_PGNDVNL5050S5-E · active-high commandSAFE_INJECTOR_SIGINPUT \ No newline at end of file diff --git a/Architecture/diagrams/injector-command.topology.json b/Architecture/diagrams/injector-command.topology.json new file mode 100644 index 0000000..6b9fb4a --- /dev/null +++ b/Architecture/diagrams/injector-command.topology.json @@ -0,0 +1,94 @@ +{ + "title": "Injector command protection", + "source": "IO_MODULES/INJECTON.md: Command path", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J", + "kind": "port", + "pins": [ + "P" + ], + "value": "SAFE_INJECTOR_SIG" + }, + { + "ref": "Rprot", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "Rprot \u00b7 1 k\u03a9" + }, + { + "ref": "R_PD", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "10 k\u03a9" + }, + { + "ref": "GR", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "INJ_PGND" + }, + { + "ref": "Z", + "kind": "zener", + "pins": [ + "K", + "A" + ], + "value": "Low-C clamp\nVoltage TBD" + }, + { + "ref": "GZ", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "INJ_PGND" + }, + { + "ref": "U", + "kind": "port", + "pins": [ + "P" + ], + "value": "INPUT" + } + ], + "nets": [ + { + "name": "SAFE_INJECTOR_SIG", + "connections": [ + "J.P", + "Rprot.1" + ] + }, + { + "name": "INPUT", + "connections": [ + "Rprot.2", + "R_PD.1", + "Z.K", + "U.P" + ] + }, + { + "name": "INJ_PGND", + "connections": [ + "R_PD.2", + "GR.P", + "Z.A", + "GZ.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/injector-ground.drawio b/Architecture/diagrams/injector-ground.drawio new file mode 100644 index 0000000..4b35d35 --- /dev/null +++ b/Architecture/diagrams/injector-ground.drawio @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/injector-ground.png b/Architecture/diagrams/injector-ground.png new file mode 100644 index 0000000000000000000000000000000000000000..8357eaa9cc609dcff5d6f6e4f44430ffdfaf0d31 GIT binary patch literal 25072 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 F{{v2BWH$f+ literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/injector-ground.svg b/Architecture/diagrams/injector-ground.svg new file mode 100644 index 0000000..dd210fc --- /dev/null +++ b/Architecture/diagrams/injector-ground.svg @@ -0,0 +1,2 @@ + +Injector ground returnVNL5050S5-E SOURCEINJ_PGNDShort, low-impedance copperPower-entry ground starSOURCE is both power return and local logic reference. No separate Kelvin pin. \ No newline at end of file diff --git a/Architecture/diagrams/injector-power.drawio b/Architecture/diagrams/injector-power.drawio new file mode 100644 index 0000000..4b14d52 --- /dev/null +++ b/Architecture/diagrams/injector-power.drawio @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/injector-power.png b/Architecture/diagrams/injector-power.png new file mode 100644 index 0000000000000000000000000000000000000000..34214ed4bb6273749ddefd4af17c518f5cdf888f GIT binary patch literal 28022 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 +Injector power pathVBAT_PROTInjector coilVNL5050S5-EDRAINInternal low-side MOSFETSOURCE → INJ_PGNDFunctional current path. INJ_PGND returns separately to the power-entry ground star. \ No newline at end of file diff --git a/Architecture/diagrams/injector-status.png b/Architecture/diagrams/injector-status.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e74238bacb464f0c89563c51cbc57ddb85cb8c GIT binary patch literal 33617 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 +Rprot · 1 kΩPull-upValue TBDVNL5050S5-E · open-drain diagnosticSTATUS+3V3_MAINMCU_STATUS \ No newline at end of file diff --git a/Architecture/diagrams/injector-status.topology.json b/Architecture/diagrams/injector-status.topology.json new file mode 100644 index 0000000..2952b9d --- /dev/null +++ b/Architecture/diagrams/injector-status.topology.json @@ -0,0 +1,74 @@ +{ + "title": "Injector status acquisition", + "source": "IO_MODULES/INJECTON.md: Status diagnostic", + "reference_scope": "documentation only", + "components": [ + { + "ref": "U", + "kind": "port", + "pins": [ + "P" + ], + "value": "STATUS" + }, + { + "ref": "Rprot", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "Rprot \u00b7 1 k\u03a9" + }, + { + "ref": "V", + "kind": "port", + "pins": [ + "P" + ], + "value": "+3V3_MAIN" + }, + { + "ref": "R_PULLUP", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "Pull-up\nValue TBD" + }, + { + "ref": "M", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU_STATUS" + } + ], + "nets": [ + { + "name": "STATUS", + "connections": [ + "U.P", + "Rprot.1" + ] + }, + { + "name": "MCU_STATUS", + "connections": [ + "Rprot.2", + "R_PULLUP.2", + "M.P" + ] + }, + { + "name": "+3V3_MAIN", + "connections": [ + "V.P", + "R_PULLUP.1" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/logic-output.png b/Architecture/diagrams/logic-output.png new file mode 100644 index 0000000000000000000000000000000000000000..da401527af1afdb7803041f5f2006ae19f7b7a48 GIT binary patch literal 36104 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 +R_IN_PDGNDINxOUTxTPS4H000-Q1VBB = +5V_AUXR_OUT_PDGND5 V high-side logic output+5V_MAIN → eFuse / load switch → +5V_AUX. Connector TVS selection is specified in the text.MCU GPIOLOGIC_OUTx \ No newline at end of file diff --git a/Architecture/diagrams/logic-output.topology.json b/Architecture/diagrams/logic-output.topology.json new file mode 100644 index 0000000..e08406c --- /dev/null +++ b/Architecture/diagrams/logic-output.topology.json @@ -0,0 +1,94 @@ +{ + "title": "Protected 5 V logic output", + "source": "IO_MODULES/DIGITAL_OUTPUTS.md: Protected 5 V logic outputs", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU GPIO" + }, + { + "ref": "R_IN_PD", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_IN_PD" + }, + { + "ref": "GI", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "GND" + }, + { + "ref": "U", + "kind": "functional-block", + "pins": [ + "INx", + "OUTx" + ], + "value": "TPS4H000-Q1\nVBB = +5V_AUX" + }, + { + "ref": "R_OUT_PD", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_OUT_PD" + }, + { + "ref": "GO", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "GND" + }, + { + "ref": "O", + "kind": "port", + "pins": [ + "P" + ], + "value": "LOGIC_OUTx" + } + ], + "nets": [ + { + "name": "MCU GPIO", + "connections": [ + "J.P", + "R_IN_PD.1", + "U.INx" + ] + }, + { + "name": "GND", + "connections": [ + "R_IN_PD.2", + "GI.P", + "R_OUT_PD.2", + "GO.P" + ] + }, + { + "name": "LOGIC_OUTx", + "connections": [ + "U.OUTx", + "R_OUT_PD.1", + "O.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/power-branches.drawio b/Architecture/diagrams/power-branches.drawio new file mode 100644 index 0000000..d6094d6 --- /dev/null +++ b/Architecture/diagrams/power-branches.drawio @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/power-branches.png b/Architecture/diagrams/power-branches.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c62ad42eef3ecf6dac1648bedf631f7cc045b3 GIT binary patch literal 58370 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 +Protected and filtered rail branches+5V_MAINeFuse / protected load switch+5V_AUXExternal logic outputs+5V_MAINeFuse / load switchFerrite bead + local filter+5V_SENS5 V sensor excitation+3V3_MAINFerrite bead + local filter+3V3_ANAAnalogue supplies /ADC reference12 V buck-boost outputCurrent limit / protected switchHarness filter + decoupling+12V_SENSCrank / cam Hall sensorsOptional analogue LDO and final current limits remain validation items; see the rail descriptions. \ No newline at end of file diff --git a/Architecture/diagrams/power-sources.drawio b/Architecture/diagrams/power-sources.drawio new file mode 100644 index 0000000..6db0306 --- /dev/null +++ b/Architecture/diagrams/power-sources.drawio @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/power-sources.png b/Architecture/diagrams/power-sources.png new file mode 100644 index 0000000000000000000000000000000000000000..71795f00e0b2cd2839f3c485c6f1ee8f3f0e9e2b GIT binary patch literal 71621 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

K@1N3bOVodzwthB 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

i>9NlNNo_?R-OWW0zWS? z&3LjK9TiMFTBv+wKF~mjTm&Y;?v7Z&D@pz(%nk(1CCMVXnpzFst8gGN0o%Y4zy9V< z6EG(>f277j{wqHu_uS9i!m;3kFOi-1rSZ(vfujKQq}K4$3c0*Nu?HUB6F;SaFq|2A zr)0LFCtyzoa{D%dcDshBM1f>qIZt0pXQtl2?G^2DHd@8GG)tRXb{OS?_O%%9#zmwhqK2*`XAajFA-*FM< zF=xu+x6qe$w<3t-*wwXp{vByx`aW72O^fS{SlDobCg^I*2 zmR$D71FA36JP&^fjOggb0UV77<2_}c3}!AC3rq7FpH=?g8sSMI05WBrN)_M?d-rdb zkj^w%A7>1FwEQTJn8U&#nH9enQH~})xu3R+1gI6x2Wbi;VE=TS^Gz?ku&}Tn$fr#i z7-`L)&IUP6w(}pi#ZMZ0@EO5i)lKs=FNde+w5yA^fgJgfrw~P+%=2BVv~L3bMbmi% zKCD;26rh7_{0>Pk(5A8kD7>$Z%3RybOu$s?yFMwKVbk)LC!HE^Ctft^U1M?WmxK)rFY(afQP(-wlu~ +Power sources and battery loads4S LiPo14.8 V nominal · 16.8 V fullInput fuse · reverse protectionTVS / transient protectionVBAT_PROTVBAT_PROTProtected battery branchesIgnition · injectorLow-side outputs · VBAT senseVBAT_PROTSynchronous buck · 5 V+5V_MAINInternal 5 V circuitryVBAT_PROTSynchronous buck · 3.3 V+3V3_MAINMCU / digital / communicationsVBAT_PROTRegulated buck-boost · 12 V+12V_SENSProtected Hall-sensor supplyRepeated VBAT_PROT labels denote the same rail. Protected branch details are shown separately. \ No newline at end of file diff --git a/Architecture/diagrams/ratiometric.drawio b/Architecture/diagrams/ratiometric.drawio new file mode 100644 index 0000000..52252a8 --- /dev/null +++ b/Architecture/diagrams/ratiometric.drawio @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/ratiometric.png b/Architecture/diagrams/ratiometric.png new file mode 100644 index 0000000000000000000000000000000000000000..092734dc8fd8ada37fd22bf02a54c4cb97aa5414 GIT binary patch literal 37003 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

    +Ratiometric sensor acquisition+5V_SENS5 V sensorExcitation inputSensor outputMatched divider / filterADC sensor channel+5V_SENSMatched divider / filterADC 5-V-sense channelSensor output is the sensor’s signal pin. Both ADC channels use +3V3_ANA as their reference. \ No newline at end of file diff --git a/Architecture/diagrams/sink-command.png b/Architecture/diagrams/sink-command.png new file mode 100644 index 0000000000000000000000000000000000000000..79a08210b95b60d9ff35376e49b4e1db1c0d105c GIT binary patch literal 47877 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 SEqP=JmE>>#m4$im>|X$xAXXCq literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/sink-command.svg b/Architecture/diagrams/sink-command.svg new file mode 100644 index 0000000..d261aea --- /dev/null +++ b/Architecture/diagrams/sink-command.svg @@ -0,0 +1,2 @@ + +R_IN_PDLOCAL_GNDR_EN_PDLOCAL_GNDTLE9104SH · default-low commandsMCU GPIOTLE9104SH INxMCU enableTLE9104SH EN \ No newline at end of file diff --git a/Architecture/diagrams/sink-command.topology.json b/Architecture/diagrams/sink-command.topology.json new file mode 100644 index 0000000..47fa1e6 --- /dev/null +++ b/Architecture/diagrams/sink-command.topology.json @@ -0,0 +1,101 @@ +{ + "title": "Low-side command default states", + "source": "IO_MODULES/DIGITAL_OUTPUTS.md: Protected low-side outputs", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J0", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU GPIO" + }, + { + "ref": "R_IN_PD", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_IN_PD" + }, + { + "ref": "G0", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "LOCAL_GND" + }, + { + "ref": "U0", + "kind": "driver-pin", + "pins": [ + "INx" + ], + "value": "TLE9104SH INx" + }, + { + "ref": "J1", + "kind": "port", + "pins": [ + "P" + ], + "value": "MCU enable" + }, + { + "ref": "R_EN_PD", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_EN_PD" + }, + { + "ref": "G1", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "LOCAL_GND" + }, + { + "ref": "U1", + "kind": "driver-pin", + "pins": [ + "EN" + ], + "value": "TLE9104SH EN" + } + ], + "nets": [ + { + "name": "MCU GPIO", + "connections": [ + "J0.P", + "R_IN_PD.1", + "U0.INx" + ] + }, + { + "name": "LOCAL_GND", + "connections": [ + "R_IN_PD.2", + "G0.P", + "R_EN_PD.2", + "G1.P" + ] + }, + { + "name": "MCU enable", + "connections": [ + "J1.P", + "R_EN_PD.1", + "U1.EN" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/sink-interfaces.drawio b/Architecture/diagrams/sink-interfaces.drawio new file mode 100644 index 0000000..fbb6e93 --- /dev/null +++ b/Architecture/diagrams/sink-interfaces.drawio @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/sink-interfaces.png b/Architecture/diagrams/sink-interfaces.png new file mode 100644 index 0000000000000000000000000000000000000000..85d7eda73bf55739dc031873d5984d8ed7b4f599 GIT binary patch literal 39666 zcmd?Rby!sG*ET%LErLiWBFa!BB`qzDgS3EjcXxLw-5@F5HNenaBHai>cf-)#@NK-G z-~0Xb{q;WIalFU#j{7*+&aTi@$qTXZDS&fIawPNOB@4iyw6WQ$wW38?BCqgvipBv z5cu$wZ$I9v+s$AN5GRoAY-r`;>q7V0qKCrzdImS9PrYK` ze|Lrj%>O+?5QzDAM*yYlzb+?b|Mv)HJL=z^^zZ*8ZW3l0f%!Dzw%CMIeAHH6O7oLb z$@c9`^)-iNpA0cy;gjThu_FvqtH$1LTy7z&AR`zuYYYm#^xM*@%7^9SV(*OUEfwAqq&~6|Lr}o zHdPJw^-~ZCO;-?KOf*nJ^rq`vM{BY(_4)NZ?=LA!k~3@&D3bUMn7QKElizdC(%Ib6 zk}tXkF*a^*_qN)0>5GDa(EQZwMv-gG&qmijMf7R#Rf`%h2R93M1kOu`+sf~j{FZLk z%ArHOLmfZ+SJAvURoE@w{=p``cR90F|2^uR`O=1oNx>k;Q`NLB04rgcsdG{wfP1ET zuI1KoXBNlo*vts)=oBaZ!2X`ZNRODepa?cTE`M$fKKwJnxm!}1TYc8fdH;($gPKuG zNnW0smUMNCd>eR{OYJ0JI`Seiw7$an^>p6eD zky@XHyPBfq7FShs^HPJPS^UKplc}Ydqh}KF)TgJIGc7m9Q?msrlU&nL(~w0B4$Jl6 zt|3`P`oy}^Q3ZEi9#Q9Y&T~Pi=*~bz{d6L|L_L_;ZFTk1H;)=mLBVxeHF{3Ot5*ND zgg7jv7{~gDV%0J6_AprZ7w>3XXKrq-h_vM_CU!)SSIQ3s1r0JrMzcQ)#>*EncDc1R zH(z=hF43ja_ODmW``g+_%5CW#6waC2IEsFjkTOo#(x+S$n@9xIn>tWA*+*0V!N$eD zTLXjdPv%_XFB^M$9g^-ILCBA$sRem=8TKe1VMpB~1kdXin(;aB+awYFOcANZs^QBF z4bFqBDO$y5X7^uB&9(>C8y)H2vr<#+TDbTHM|p?Gt-rw!C`h%u;!^dF2RxEjYbY3V z!soZ5#jK_r(0pQ29!cuMV>V%jwMcJVc z!}h*SGnJ(C`DK=!8kM$~x`x-1G0{!m`AizN z-N$?RsKmItmG3RUsSO7kL%rh9eye`QA)3z7SYYweYCb%SBXLm+mYDY!;(r$6x$1Pf zzO~>L86Run@QMFkjl}C#&qEO9RL|9LaKG!;8>;tsh;UIYd(>(!&UZwCiv2QT6raPZ zCGA>OZu_+5?a^GW!)}ShK@<7Krzo_u`idMC)cV_Caq&J{Savpf6+)rzxbS^dl%O+3 zUbAZHI_*4%j-{szumNu4n>Q43Td#4z3<9NZY=0_)9I7CXq^rj`SdGmJtmaE+T{ag1 z>q@_tS-7>WtX2* z>7>AcCht70Ql@XIJn7#*BZl~f5-*iH7DN=3rN(6ITY4@Ph8C$oUND=ROcQ64PHFaW6;!6R)>vB>$L@6wh{Ti@9k^u z8RTAfTSHua6QsI1sbq^ka<^k_SCC6>aVL67Y-VD3wG=gl5{lVNTlg$EcqY*$F>fYp z@!%=?5OcZhNoCbVt|nToAexO$rGlIcvUl7epZr}Ye)#z4Dt@cZpFu&3X7z^t#ugbF zo2`V92~S>IE^0Q5vCdsDl1rKQA!wO`4f5~Zgw?-D2?Oz7kaU#TKtBO|g?bx%0< z{Yf}oAnbQr>nYcsbB98GIkK9$UX5!a+)3X_=u<`)CKoMSItq>-d8ITZC&o2zoZ~j; zxpLi(TZk!ZIM_#%t-Q?d*S7fM)kj5ZLHAT%VL~0_*<9Ji!N$ytTFIhYf#6fIM_NuB z89rI?wE2sHA*#Vk?D9>o(^bAl=h9N1OO+HP_^~nK71=qfRQj=?{&t2a-jt9IB z1~cQ52Zq5Dci#8x=69Z29)dpQQQr4G9=EJx1)VOVP3BKkzWi*0WtJmn(mXdbvzE2Z zC_44o+1Z5n-FMcRLrt@#`1%uhmJpYqdE6HYV{GWssklI&TNwA%l3b>j6^IFm9k$;Q zE$iyaX9Z=X24&1ED~Wt!*Pq#2_(&L@T0Ne#((=B$=Ot9%V6tyRnqy=lq2{Vj5r3+F zTU*Dbz(27Ub77%QiQs*A-|pQ46|6Vd4LfbxVR16KfY{t5ZdgguB|3In+icfKza~5T zpIy{&@D@2$A45rg{hK$Ho|ioHVw{(LGT1NCAaYH!^|cN}G(l)9ep#{6TEaW zE6kpN-)!y4{frh|t@B!lje?BU=;nPMzt^Q=Xb-vXCQcX-1Zh3gJhxOM_t(H`d@4QK zAM!c5|5v}>pRZUEVs%XloR5?>A@X!o-kxQuM5Dd|f6-{nNWnvIj_0zE+}T?QEOFYS zrJ;_EifX)=m~T}yl+ViaPLA_WOzQivmk@n^5P}W@?Tbj)u?VZW8lJR$hIUUI*wuMq zQLpC;hZsq}^Hs-wMoUefMPOhs8MmJ68yWc1>5!C}{X0&%@fo>-K}T|<_k>k>!P!p{ zX#xUp!WVy^Vm1p3%&;(D9HA#Fds?+vE|*-#ODp8i?z}>LSrV1nS#|$9uIVcE?DYKh zdqXscK46<_nkkK*9XxNVPiD%GA_J8(N)ji|7{}2r9%+b+kF*W=;n*@AU@c@zOn4_I zejK5rj$k6okAs`1EK>YnXt92Lbrl^e4_Z`3vcz6_PMjZM>d=oghwqJ8&asTYz8#Rn z1Scgrd*Rmo{L&fDI3b(nUzb1njUvb3txBD|1pY#Oqwl1Gn(EvtehKr-RKC3NzH`j_ zthw|veiDq@crMq-o$(1?s+I%QukRtNZ5Mq}^a6UV-eSI57^zh{boy|Rq^*8i|u0Tah zLhUbTKqJ`!Mh(PtM|(kClG_T%iU@a2GLp&hb6;nEt*?KlFscvJNL}m@D;+g8EW6#P z0IJ0n5AapL-xFq)W4!X5eL6RYc-U!>6P3z@-LX{nU?`tUeJ2fh>zjd-x& zQ?(;D=7iA0tYmaZSwt$D!3$NQxt!nAERvGR+n;o{+3!Dij*ADN^ZAGjrQhW=_mcW% z=d_sAb%XQ-Q#=XW!zhJa5ni=QDGqDJeIkJxKf=vz&2QwOXg;mhb|w^%Q1FzdIgT}> z!wKnBamx!Jlp}_Jyv6OR;@@z)==cZp?K~?_Jv$~LS_JKfj)a+6K~3`Xf^yoGw4xMW z&7VJ>!>xK=b^#o|9qqVK!rdakoGO~a?gw!84*UbXD4W2Okx5$e8ggwluX%~+nJ7p9 zSVjWr6!&?SC%5C?LC~=e-P7k4M62djEVDYLF)`%3{*66@6u$X|G&KY=UocNq*_)kj z{c(OTS)+y<8~8HepG$m(z!O8x_ZYn2?0xtwC`nP0zNxDnnUjD%cCoA=tSd_c(I*(f z6aRnPk|T z?RG`{*SKy0XAAD4K%kI;)hC1|Z9BEkp4j@3A9QUuB*3{G#LwljeT*W#zy`>VjNBlKKnGJt8AD!bkLTM_d~MMWEws32LUUGh`Ib3>meJ>!`_9&hjD&w&dqk&RovTb{Scr?t}HgYLit zlfD!yC5~MsRo|XI1N_h?a;JGAu(y}SG{?JtcCO_o2z20i60^c~S`&HIFez)G0PIDd zm&7y{^$V~>13m&6pd~}wJ7?WC5H1Q}L?`__SN^DgCw=+$9rKl#SWtu#!(^%M-7$Vi z7BOFVU=TJ|2z6optjED*($1__wb%S$IU+z~Pvf(yr6_GksfsVoYYCdYxRP&p&&$Ga9FQdm&MfJyS!UCG}s8 z5nICwSyd5Nb?zsFb}yyfaRgK0%J$Nzat;kcpzhnx3Jb$6nXBgGHa>9I0|8-~bgE;b zsYzFV(idkwa3p+>7N}F_^HQ0sKh>mBLbA(YTvR3LYlxWmErizv9JG#Q)!joYI&@>C zjlyQ~bB+`$3Z%PiQq!3&KQezeJf*rMx}`qv(P;KU6reJo`sf&%)*6pzxA9v@*1FAm z^jkx_>u5RDiX*KAfs|<>PN_0kT;t_{h;$xF)h?q}jjcoNB3Bs_URu2=t>J2OI86lY z_VG2^O5n`CA~;ul57#X#I>hBk#~NO-d(`XRq!zoU zVk3SNO+<()u`#x)S#IfJWH^v}E_xuT%XBtzXp#JnYW9J^>9tJ^`5f9)SyjDg;Z#`x z@#PT{Z*t-AzTqzYp7@y}IPj-4lJ1`cxkxT?fBM_Q-Y32|SOKGV0p!=MaR_sHF?aX^ zy2aGT-#Q-@95?m~M`IP7UaRlU+OVtfIe?Ru^x8?%wZ+P{~!gn50> zBas-PnQjX;K4}w?jzWh>32voL3IJ7)$*D>E?1psBy}p(n${b{T-8V7~i+H6W3i6Sa zi~JpY?VT!t>HLcDODIr)GhDTRneDAo{Sb zH_h8#zEuvDTqnOV%b3Z0Kl3~HpKF-N&#r`g|Fm0Va6J@o0oT3S-l2d+PeoIqnf*9( zu#a~yew3NpFxUY9~~_H_nT1792kR zutBeZ`r?2ehUwvLcu~FpTF(IEtI{`;4tPk0{_Fb#j~lw2wdb?v?h^~1AkeU2W6NaZ z&zLLHC6&Vae6?otd-pKkTIWwPJpg3!WFDQKnx2-9f!Aqm9nk@XnVA|)j%az6N0mrF z;Z#Aw$dQaVR_1TCb<;Dme=2>I*IM|c{ejTp3GYnleMCiD6aEgLGtZTdu1(KO;`DS; z@(l}qiN{gPoP3QTrT^}E>1lNAb5t^379(Wl={XsRyu9KX{%aCm51Xm3`;~?nu8A70 zqCfIV1tnHL4_osVZtOP?D`INa@T~f1f!sf>!Pag`M2pjHu*7twe2W2IPy5{ddJ3zY z)YtvC?e6!oEVP@oq-?InVRw5NgQG()G&}pVpx#O{9@y%i0Hcj{s+`!f^3vo|p>o?fW+m@qh+?CE9!f_Vrp<6KAq{g-ASl`I_k_8|ih0tBe z2pK2<&0E$|LZ^PLPQc}@uQR&US!aeq!`)QEp)C$K5<@7Z}=cMup* z_yH|Q9Ws7@G86O=+b9Esd2e*D=N+^>7J?oMPAWGq!A$(3OIWd3%l*Zv{`nup*SP_n z)8(!!;V1pcIomY{gQSeKcJB9BNOTognd3u0lPU`#N&2tfMGo*QQLJ(xZB={^R z$7qkw+5Eg!&wUq&Q2|a?7DlY}9j)W88|w~9jyFf-mmU4sd~4O)re=FLrW%Dq1qww|v^#;*NdS!H-Z-{}S4hKI9Bk|M-%}_HK~}p}`h$hLp1n0!J^$$N#*% z@f#iaI&;<2TjIFq7W<>hc-PSKTAQ|lahxILwAHBijDNUazhD=!>xQ)u;r?sJ($Mr` z20ri?0GP|saF+nebAHQ9=Z?IERlHZl7bjrLhV1P2yOgBx)cWDmzEQu6aXfLQl*!d4 zET5Lko3`QxEJ_{^K98-gSw|0|VxpvR+3nqBvLV18Z5ko!H7nZHVV7I!Dt8w5dLU8X#ISsSGXbbAfLim)BwzB)ZsVSh z3nFDg%^!alOn`e<=hk2UTr!KlByVw+93WjJ zl9+*9d@2_#Y4EMR=x8~+JDE9jdtswecUe{C;QdO^()883*UiO(Qppp)oJMyI8I>GZ zQTB{<+kn9vhbMX>eIU@c)X+b+zeqp_mj@w4_>cE$>z;EvSR0+wKfYJkfX}L5kDZUu z6~r@5TsF@EFzqJ2Yj316=-WMP<~$1xqPU*h{TzsnZV&+CMiVK-wg?QBKx_1fz**+? zT)k#M1AzpbUB@R;LEq-hrlT<1%!`}4B3L=tVxnUD`+FK(S@icaq9r8>E$AK63Wzfq z0O&XU_yPL$%_@go0Y-q3BycV$cu%xYBj`_09|Z$`gYRPiSQq%%e5*Tfnm#;vk@v)p z!m6(qh`7S2T$T*see046k z%B+TKBJdssrm{+iD~Qd1RkHIfrU+L84Icw6OZZnVSfLeKE!g4Kvnc0BVpD?u_gwGb z$7@;*y}>vYHAt+h0QA)#FcDnhxSGcxh?q zudm{9;o)&)DaAq>7y^u6RTS)2S0zy_PS;p?Z5khcBhD`r%rx6Zdhys|B|LJaflfp{t$@Ec0V81 z6B7%x_-W!sPrfcBT%B*WCHNSc85^?}`4+_WSytBl(7eVBQua~vkpMO#XY#9zg2%1r z&TQHGZy0Ji_xnDHp|>oHh&Ap^hU}8`@aMQ)n0O8lP*a4rcj$!jb+nTAXAQusTNpb0 zC);01kgV+v&ML4miM^+#sN(nV8(B4iF|l8! z%_Nzi6~6km*QWi!Uv2wyCqJ$O!~?3X8w_+`ej#YH_|0?w;wqER?os&|k3hz`5@itD zl5SB68RZ<1JuO)7G#gR9zwI#&l#}GmF!F(CH z)l%ZJ(7$Jn$VLIhLMHq%C_Mo_{|yg_CLqw=-{1u7{GY-5rK9vdV=hk<38{Y|Pn{Rq zg*3hy(_JG)f6a+F0j9$`wv^PqWbH4ta8zA{wD~pYyUG!*c-x*rPE8Fj$o$yf={(SQ zc#Fw)`PyAg(_rmZNJFD-e}OJx$54b#QE`GGVrtlviP7f_=z%IWHm)TKD@^ma?6T(0 zFXuWExedWg3B^O{c}#6{I$NPX5YHQFV5Z?$e*gIMxSr;wXOxMF$hm~B{2Jr4B!E4G z7QDVYrV&44*iFnb&^6;XX@dJzUqC;zF?ck4arhE>U*q#mDizZ?^(weWJ2B}kqZYHrkSA>XGG~cU&QzrRi1%XJrTb3xy(V&0O~ZX5ks@~t(?|EeqN4i zC%-osOit0xueCRjvT=AEx_$m~R^zD(_V5b3xcG3(vsr?p;Can@yz^7d7Q_T+1N&8F zaz=XXjp?uteM_=*U-$i8#Z+TTV=vv$CQmI_$0f9eM`r60(Kxsv(o+1cdvGg(_Cpdy zOtAU8BGV;)#*Gf2LjHjX;t%GV*$%g;9|P-?&j+S#0(V+SiqIil(i)V$bjchEGtAwl z-@a)SD{~2|H%{%x#O6?+rs+{J?oWA*2xz%YWo`jA%Ry(8!glji({Tk8+5ObgdE3ej z!z}BE;XNx@+68%)!G@nu4n~}ZilPjsn}0weY@{mboPVJ)uc*;>9dYPxXQ;nUe05By zmI%;`Z8LYf=K&1r&Bb|HTU&duY;rB!+EdN{XaOR%Zdf^YheB$xew z$L5$APXe_DvjK%mb3y#$J-}w?Q^^`i0EgN1<-2-ez54ao6Df{w*%EYbdnEv8)S@dU?gkI92X1B$e?Y-r$H+myR>S2U6u`X9@$NF}YrC!;fW7+q>G@7}N5u5Z>v;LyuUyZrJTO`=cvlgI^lU;I@)#bE zd?JfBWa1r#PFoKawXN2)tvYTGZ#t5EBiAHyoiYoBj;U&{id{@hrtaFBxuyxc(k2IV z#a=>R_aCM*S+zMeU^RTi{1F*L>f4{XRA&Ci{wv+%I zsG%egztNx0rfaGC2#2`n=(UvNnUogHa>8G_Vt)Soi|jzxXx6&BrTg^+wQ;w*G&6P& zF-FD5Z?|_IB`)()9*UX%I(5TvZ*-YqVYVab;0G_67XtWYF(9Q75IOx*h6&(;)p>e7 zGrdVV5iT=*v}TV5iB;a1VKa|fnW@Zq$`c#M)xJz?afwRg9Bs2fDs$T~qte2YRV@me*=!;{DPq9RE=L2JZ|*Nrw)6|CJc=U-*K4r(_7;ravSMO zu1?zr_6pzLxqbAFbXw9G>_}mm=fS|Yk-UeX2Muj+BdJ0ia+y&epJl~=do-Hq$e1|G zKOW13Wp<}b%j(IE4yY}mUQNpzlKKWp1YY+a6&1m-u!5FSj)T1p+I&|B(ik_kmn01t zAniRmkrHZo9QRT_1Q%^Cu5P zoe;479Ec)ZVIAi9a1>3E`h_x!n`XoMV+r#yIz;>#v&8_=AfiBHd2t8|90)?Ye^WEi z8>KSMFKzRBeuqRjdNNB~teugQ^@bBFyM9I}+~ireq3jz-yn`1g_4N1Zl_g@nmQ_+P zEF<6E2BSgDO-$y+%-KV5qApG@Me(_(Qx_V00O*sD7dE9r3f_L?8<{txDRp$Wv8rz) zHnpb}!I;25C7_j5@|0IY5-MuE+U93Rb(E5lJ{LSvgSQ(`)fVRn-rXd5b96El^8GcX zyq+BH2C~XcJop(yn+3N#&`6C>Jvi7mO$xZMnJ|OId+D7E3vvb6u26-=MFS;C_+y*~ zapT*h)Uj6Xj7`(G?yvK15wW%ORaK|)mR&Ak#J>#z+c&JoZm_vOyscgRAvoZtVBsP( zkd*umD(WdSb=a37t)>4EONrE5Q!+}kml0#7?J*pVal%)(^8=B|arE>QI;O+DW4~l& zU*2L~Q;_H3$17TwxIX@NuH88sajANCdy>;<%}pk#0Tu1{Y0nACwWSj3;-&OmU90j; z{2{IB$prZJ6Qyq*U2d?=A3dnF}Po}nWr@mcwSlg zp{o2tbwyQ7)bf39%bFsZ?sPlT-FJx6&AzRkp#B%Ar{|yFb+`qib>8?u1MPoW2*dQn z0Y;kAr_>u(!X*hD;W$U{c+Xp-m2gF{m#$wgw2c{t$CE*_;TeZxNjLmAP{ZQ;)0^hg zPFE!2`S0IeN3y4X-_DjQVn4K6o=`(rS%C)X1=B9RT7%O5B0@8g7a`xn_v56;sD zmr^nsVTzi$1K^16zH&5(K`h(-?j#P){rCM;Mj;KM{kW8uZd(CPMmcYMtiBCO2~S12jRRVK0N5$Ek$wTkPsKEobDNyEZjAxzeU;as zRXqA3Z~hS%M-1)Igy}{}OU9sIJ0o{42fDO`F22wMs;crokOc z+^>#7x`X+wsG8VabrA#vSG~xnj+^<-^Vbr;<+bG01PjLA0di!X-_q(2# z6KLyS>@`n5e*M>^(!wzTbC>I!B582uXJ@kL7VtUd$hPWo&B zkJ9~OC@iIO(I$@-u)@0SN+yvzHu0#qD^fBg3-si>}xvB4P6Bt}@uRb*ui z4gFgoe|&MWUi;vv=48OXp!HaI3dw!?^a5}#z^iO`5INqzU#7j?dz(;)kVoWV-cqYf=C$VSCqoXW3)nSNBMH?@ea8beuC9b9h}fJfk_I4BjlG8oUL@=~%M% zywZhxt5=kOoQUgP$N8bkWf_8msBedUemI#u-OL#k!F+2hz~&lGNO(rNc9C;UPoiM6 zCoJz^aZ4xNb*}OLMAhTQ#%e!05f+t*<{aEE;`z;<0k83RY0@ZzHMRvL( zfT0H!Rh0T9=+U+ut94BO(XG|UmU*XiF}m2%Ot*-NfijME^5U5)j3#(cN)Xz%a&+{J z@$#vdghUvL#BuIRO8^WZt!*X-7ol#dCL-1Aj!C&od|S2qUoU3a+24dDd&}Z_NSaUw zKxNfLuMIgLvIg_LFeKyPR($U+r2x7rMuxz zln>!%@N!e-isPDry1Q(GK6zN!2(;f#WAbIn`L)rTc_05P)Om2kJbHK|?#o@~S$Ip3 zK)@>|O1oL*yyJMw03p6i20@sW@kh5k0<}c8UWfNU9_HWGy)>}bZGUpnk-b`JRRhmS zeVLLFt0XJi>2X6?6AIAWdMHHi$mJTlW--EU593$FdQ74lMfyq?=6H~|uYk^cjNC5! zj2yzPr)|2Jnw*0J z>ugsTsW0KxC?glUO?q8f5#6=QNMC8U2#|5yUz@Ty4espRd;_1OLx$wEaG_8#;#aR@ zUqUHE!BV`RT-M4}063lR+V*@W;hu+ri*s!(cZe@CKAyr?`6pQIC-@kCW&2A5+6|1^ zmgdTbf7tcN<}w@=Zz~aIX4_FwTJsoTdS&GN>VI~^F*KNTFK`s_giLQ(7aT)v(?8x%w5_cNMdMr{kwQBpG#Ry} zW?AtB1{h!%wou~;qX?dP0@wPubd*x7A@X?ewmi<1X~NnLUrCF zraG~Yhl|B~&0<#dKWhl3rNiDUsmn4TX+W-Jigxad*Fip$JN7+wl{w8>Z2Q&+8s@^J4(o=F~tr6=Lf zK`C)RV=Rrvv;Z^*#0ua&+J@P*v}AVtOJNU}P}X(CifsuwqDTs9h^9RpVCRxCe^AixSq>`RbkSD(regN+VF=CwKSq>>Eqk-ToGduIo+?Xc9?*u}5 zbvvuE6Oqyc*aIn2733P7KI|JDOn|M#Erb6U^h+9T$l`!_H@~pB>egA`1<$e$jdyUY z6u(AylwXBQ5UQ?@s5+s?72zf@E+o03EiH!$BdS0rSf9>uf9s`s)a!FS0G=pJzRc!7 z+8~}BdvhUD${%$WzlL~f?Bk?w+lJ6c&ABSdPF-w`B#1vN&t%ABT(%Be2)lO5B9T6{ zC)C$@kF*83!o4$Vl&n50$d9{M>!Uv0lLY`#zebHR-ybwkLON~A#+f+e6%-=lbi~jK z?LeOp2)0-83V8-CVUmNA;*3WGTZ?<95&OHJX*ubS^A{YLnEX>Dz4Qd>DTGwmQ}vz* zh+1ge&Xo6t7J0X4p8!qYB#d=zUDfu0uhQvsqC(LE+FTM7iC@QG(6H2$RyLN`D+Z>Z z4C{)Cz3=NYHOrq=Nt#kg>=o7fq7xxN^cG6O<8n#~oLKZs1Qi5TmW>iWDxW5xIU7f@ ze&|%`?*G!}-?{mIASd|iGj}upk(~eEE9w8=q6`8tY8rxJ$jL5h8|hS|4LrPf1;jWT zT8-DYvoe(^nD~)DS7O_45uN1e+vooIw2z^8yv*%_STzv7~BaK$%3k72N4M!I6p zv-$&1sGe1$lNot>RNX({~Sk@~-bFgtSA_=$P*GRU`94B>F{(NnBP^$hIP8y8_zWIM%1 z^%3ng&hKQ@Rhzf-)1u0Y&L=YfWI2=JY5Ioi&CY3#*$eoYBFmh{-w+~(R+f=pY2G)# zLfrP8Hzm|h7WZ3ejMCUH7j9Nz@oDQ9#v2OHpBQu$a$HN%%ierSF zE~5f!9+zLFAA;mlBrUNweZ!ATc#c&;ap8hPJ9fe& z0c&RSab!noNySmg@7Ki4o-T;|D!b^(yjPq%nm7 zr#|X8tRFG2w0LHARYmFkh7Jd6c6oUPtrik)r=q%tu!+@sG-B8J{G-EV_(S;1Cu?iB z5fsuu6WGs6CtYD1zgvwZ{TsVV0OX#XsbfSGQ!hPZ!>;U4VSbUQlp7fmdgVLW9&^{p z^#%oVnDfl%I$lBX-+&pf+vd~0ab`&Ho90RS^@lg1OXFNW4u?Ji@fj!nr>+5<@nOWE z1++(I76dQS$bpCpN(4av?p|8v5!qJ{<3?|%JTEny214NkUByMH{uc3f+%TNidfG(` z+BB(u1s3n6#amN;c!F91Z5f6{A5gNUeO1+@X6$U!*4$I|1UUNUmf5Hl6BDyGn(;h1x|6H1yt}+4Ww||bdVIo$N8u9hIPizL ztSYTibKzf2aBRxcxO~11fbU}b411%+8^HN zE`Mp+mNCQsvdBI@!J*kmL`6X%qo%fC`@_F87pT@TD;2a1S37t-IT6!89qBoruh;G&Dv-2VdnB>K%{oHj>U`VwDDyd+$3w3mfib@DG*c zr~qRA#@z)^ug%|UGp<~Tse5p7@uMe~9n#UGShqHVqjN&ic}*zV*P&td#dMN_Z9qN{ zLrvRrEZOwRS}C;W~e*Qx`pKSx+EIE<>tf(sO~T0@Z5oX z8|QVq|CxK!M9GCkM->?uX!o(%vS;NZ^fMlfDa3pp9(Tegy_|Z^Gg=0(KXt+LXtn6zfOv9U4fK-iq&TXj^cuS#7+1L(l<^?1pw?a3E`e=N*_xjF-3 z*SD_AosD9HN6f|MXaa?AeD!%F>MH@gAt5p0PBF06@~5^qN8^;c_nb)CR~g@}Dh>(7 z#KrCM?-XVgAD#!z(Z!KN^jit{-yXBO*KC)DjN+h+p+mcO-V*n{mNY6ON3onWV`IPZ zJlSvbUPj^fVw-gV)bZnpL%Y`&vkm*%*UCnmb%t7M?hVH^pW;w}M1A<+>1=0c|13tl z6?WwZP8;Wd+V%$iXP1{kM@P0PlggSv9Zk+BhFR-r^*w^a$_?n9tP3NuWD7P#OkEgD zp7i3J#88wb{C?-!Vu1)T{MCk#E6~ZNb>klpNT+qu9}X+A>hGm>QIi>%;F}r<2Vm-^ z*F6(^V4P2Ahlh?YOYb>T!%eJ?^oUzlw;;CZLDdFcbBY`MxHuUL(qk@xTL>G$l6e<^ zm>xx%H#V#C)>Rgn-uKKrj{8RdfD@tfegT~LPJ_5I zB>9FzT~!q+F7QF?8t)#^$HxTesj6*~yk76*ZqZmkv~yZ-nqQl}c(AEW)?|xK7(|YJ zY>e%%^LjK+>W#cngK5MK91-xY&Q|4LWZQ#}y@b&K-eOQALQy6Lylp;a7%@=C_0tSS zoqT)V_(^kVra@-tuEtT-Lr||T;W(t%n=GwJYjsfjgQ4ql?i;6rSZ?ffsq8wCM~si( zapWVBJ1kYMIR!z5PrrVF!J^}Rhorfat6lnjUQY310zqbAxCWGDjr2%ZFI}9z zhX)G8mws;NGfC3GJ3vY6!8g(oUcJF#W!p3WBU|Rm4Z%H5upCW}Bav zbjA0lnWvWwO!%b2DIw&nM@s+#eK{yKY$>!g6MWVets~J8=6Hhr+~sPgLjVI8R#p&X zcRI~WA@n4Esd|^ulG`~w+u13$8f#=*z6rq}(l9*W*} z$3s%SvZ4a;(hFh6xo`BQKe{cL$=h|zT@bc!1Q#AJlIL2*x7NQ>?Nr? z%{u{Uch6_5{)qhg4HB?sS@-OpDBsUx)bO8q`xf~Us!L4Hpurl;P0h8(1R-ZE5sgee zJ_s-ax zosQLUva&aM1ge&Pq`8uWDiWh*~rf z_*wxPObE@UlnDS|#3LLa05VyIbWOZ_@ z(b87mg)L5fLwgF=`tdDeTr zQ22#+uMO?i-#>$YU5<*4rSz4TKhi>*j^%s=O2@?kCtfa<-Us#RxQB(aEX;Kx%vKk( z7CeTL<*uqQyT)X!dm_Sfa*G(BCu1MG`b@4{`zH3fq~Ds|S2rSEjlENHWW3tK=MvgQ zl|1sR4yS&JlJTD6Z`Ivj8=DqZ2z9kMC;Z^IxcO>1SXRZV|KW|%<9F3?6OR{~TJU6N zGS;PQK_zS}t?`VbbgN}l|NDdgLjRGG#?Wr;84mL~&*6#v`jQ0)XrO=M(FO_Q)M1-W zHJw^ystVm}NOp5`cuiR@Je9kkzW!`RBcLnXhG6ewZL!qPFa9+Rg*6RkdUA5pg&a#V zhh5T|^KOeVnVCHM2R?CXhwtcD9C18;L^pNq@LJPsYQ|jGzF1qsYdzOPRl)qgjCi4s z($`mr1}T3$Tl(qXKaG{Z@8TQM#ChJOB|Te|51XpAeOZ%pJ43Q%3iyEdyrQidz^+~2 z4J#~s%cs`cWtHRStFnB%M3kbU3cb8sVBI*a1o}W@oh%^{z-XtRp0AQNAHu4n5!_mgm`a%|A&v{ zi8#6lT^wj3DF)-{Ye*!m9i83V>#-j{w{38Y+8e zG%Y%bOS-0ZYJWI!sPg?t1p?VW))iz?ymcsc-ut==enZVLctS9?u4L~ntGR{)2#4mw zXcU!xkn9?}P`zW~Zdo-KAWx#;>J_?&2#L$=%yo7y4A?&3 z-jDBELj&bzsGd4+Ax(SwddbOi57=e-u_`}M`s%N}VnuM!Xx+FYeL*3QYNNH~Me+|J7 zP|6qNR>RY4lewA%f+W8jH@z+>dT(ZA@{2n!B7U^Ev`fva>EObp)0|O6#c>;-rczp1 z)pTNmuY?7|(B-+AgMXjXGRzeD`U}z06c2HzP5I4k|1Qhj3-5MRNj5)h!|-XRqxBhE zb;9Sx(F!9!%Ma-WKcLA7dZ6s5Nbmn6GLIhQ_||e_;d8oCWe8KkN+(we5aQ^LUO2p! z^$={EvYVJ3DUyK;qC@ytc!aU697S@ox)>=b@;n+G=ucxd`->W*qL}wqHfjx6S=kA| zX!b-uNOPSd>hKA!R~WmZqedxRBI0yLwZvmC$Q?$7DE z;Ow7do^|{NuwQgZv5Bd6EGJCStrv%OB#Or~5w)CZu)^-^r~Kr;7tRjmA6QGaRsyP7 zPD8zXD`VO>bxjT8s&YX+D1dQwuA`bSV3*)4+AA4W93q4hlfRb3OhjHJpvrIXP1pbq(=$7R_ z{D8e0K3~e^bz-frvYeovn90;id(1`q23_1LN7BRrpM6P|-DA+VQc`yNsK%lb?;bK; zl9n%`gZV`;8O4}WLQX(?R_4=x(L(wPUvJRb>7zBWx-1oSmnDgtYE5CUEw6-E!y;R) zK{9ybebTo`5ihL>pdRJ1Py!NlvyF)R^)pmD_&P@=e`>AwE&Aqb4X?H%onJi^4>E-G3j3)*HC ziW^hsGbYeL-)!GTx|v}Cqthc`l1liJN2op3`a^!KWBoB%ijl{yO=`g++D{o%peC{D zl-csv6>2drn?E_x1Uu}5|dBA%_Obo2)|ALbsM)hoR=2Oft$uP-cDcxYECtjhf z4@U%?1kG_06x8mXqq!iE*^b0Cz=9aS6t_DFdtiUALbT##Z55Z8*r#<~{J-mz3}dyU z{$K*s<@F~Oe}&P3g#MrZUBTpk3;g^4UgHG7T(VW76sk`DVlE03;}R9*510!eBLe;t zRR8RoW>Ic+ct_OB2Nq)hfL-!wdhucuF&;#m3bLA6{pm z#K@;E$kW|4wNxD7U`(d099R_|?yYT^nHCcT`AaZ_7CrtC!C*~b{vt85XUW=E0aM^S zNOG{Mih%Ut-W#p!Ht3Aj`k>9q_H29Z!n^;)U$BsAsJuSEkzH?$42O@rMhqFBSri2soer3s4b&znomxHGJIRJWsD~mU;i=5!xJp_*3A8 z?ZM9gO)fUmpZ$$JU9X*;l=^zq2beJFA3sWYd4zNA^xu_JJfY5(KIg_F8WzR7U1WWQ z)_p>oHgNx@TD+vYo{_h})bj_VFyZ6$9|5)7MXm3#3T&D1C+SXT^=UZ7$2+4Gqkpx? zfsh!T5JIfO2Ah3N``^FOQ36y?wp{~28u4oKHpuacsNPQL_(6HuNIVBlj~4-gHpRaZ*4hqz}932rlxymV>Xl@LG?FQ`6R?5oL@T8)7{)< z<)?bmyI#1mXg+#h!}=ENi^H6-(>ZrAiVx=v4Gou;k{s$E*WUO>u1AIfmaxMYQQJp# zXlyb~Ot6;JsUszME2YtRcVJ`hZYz#ThC=FF_9LSzr!FL`SlVYgR0-6}kJ@ZV*GNdH|TNZ?_r1E3}S=ifz!(Eo)NU;ewo5c$7+h3LPo7y0k{L;qtg z1kf-IRbj*KF>ZYLLU^#4=ohiR!Jbj``){VXo&JvFabxN!)6Ns;uq}92R@QDXY5Tpf zf8@4PrtZrq*^zQP+bWG0=^m7w!VjmyK2}*EJDi`S-;Dm~(I?n?PsL$1bXajM?eDBm zb6&8bJXR28K_N$m!W(9fl}}B^&B4ccyqcVu?>Ynzrbs3fa@CmB#ExM61j8r7sUtq-2sPMx%%wFE<5L0wzq ztU(e{F=l|nk$ovUtw(^smY*-LhR33-S{kZP{q-SzsvOPE zs9R7FK?M;I*oe}LQl%p*NUxy>w)Bqlo~Seh0i}raCLKbrA)wN0XrYDPTL?Xn5ONp$ zJLl&;f9@UQj&c7uhKrR|-Zkf2p68kG{E{ZQjWl$3&v;tM)%w|@GIS-O90FcOkMxy$ zUvrtb+Dr~eX}-f`jZhtLm;Q!cKA5(H(C5Lyo^-gENb;4{_^_hIFFFE%XsC(cS5fCw zWCU1ooqtx*mTb(<*71Ds0ZCcQ()SrK7m`$&nNP?wJZr=siDbhftI>bH7 zsR659uj1NEtBt;%e8rDFJRENo?lsNu;16K^hrA%?H+|hRP+@C7J1q^+wS?=;YVp}D zP9((gr#h-4?iG%g<$?n>;2V4RBK@9HJG;zU=~zcNEg5&IekJ?LG)wu`iP^R2gK{uO zea%sgDGjR={3|8!hjbHGnAtVz=7*V`wYnoB4*)Ysai=httY9LoJPelRgwTd&%~BPrSWq`SI@6#l*FJ&v~iQfJ_q z$dEi3YNN}U-@O0-WUiYlsG7YR!+1_#vIfnL_-Vm~+I>+$|GCKEBv+ZByQvAu>84Y2 z#oqDL*yx=l^C`_6&o27%0%I)Xs_<0hDX_5n2|d;WAevU4&?sHD6quu^i(b%)N0?d4^uU(yR|=(GiD1VYE!eOo0NJOrMm1S8sBvJOGz-|u!Id+UJH998A=O;PszUp6;Yxz2 z6Q3H6cTj_Qg8A4$=u9cGCK@V$uCd=->u5#l3mPq6gme+ZA(L|xcE8h*k%P01gvp6{ zp&++|z5QGQJ(`p^RB@bo5@t@Vrm89?B2i{o5YRf8F6C`+yyJ6)toLf=qI~jHqc5ux zsC>!(twBGQ(4}=x6WoC6t}b>H(Yh9l2wZ%YdP0Gf33xj{qUC7d&2)b#0J-1Cj7vL% zY-K4@k%OBErw)G#(g~EKW^ad%P1f4 zJ|<>x?iv>-bPt29mfzjLVKwC#z25eXhk#0&#)>x~82oHbdKcH@*oP#4Re;<4AiIMp z#j(hoZGJi9DcTIddkc&SKN1euj~vM7>|{(f?j3C=_*g4mKh`NEN<2GDha#H4jGW)lQwdbr4v4!y&xwK=p7K>mE;J0FkX^q&9y~0 zl?%?rM7%snzk!+PSZ@XGQ0-0@&lP<|cL-KNaLMBujy_Hk8zt9GS>-hfmz+xi=&83G zBIYPbPHo>DtO5%4?(%Z7uxHH3!Gi~RbXzz91_WKM|irvuL zsracOP-HfDFI$?2Xd$yKOj?JF+=Yi z$dnk~SA1Lmv=H+0_6|R-R}c6O**gNQiWhAf2VN7JIDY3~)CI1(=RH=uHr4fmgbVAx#B{${(PtW3<8`-(M=bJ~)? zc@G~tgGvoGW}9lBJ$p9YxNelaDecQfuXuz(Rc<_L^!INSGO@F^J{_eQ6-bOZd9bk! zC7xLuGIV*Tp0u|=`Cj#u?7h_U={-xJGZ~ONd3qeOz3wDdd6d)USd|1E7{3gt`_bx1 z3P;!l)VY<~w=Q>w_3zANUnv{gdBp+1uN&q7T7>KcIOYz%Z;h)%_Ap~~1ZjkNzp*J49!L3utdDfhuE_+#m3?w`R@ zbsiP`)&Oc|Y383$QEdB>oOpV=Z|JAbD%u6>KPF$XhsG~^ay^QmM^v!3oO0^`HIE^aDUQOkXai3FR#f;f>F|Y6^+!f!(!8F2$%+&Z?2>iMk7Wy zOX+=tMY#i$4nXwzEMM-O4NXpl0wI<@@bjN^iaUy*0y0=TP7LZbz1iDm35!BHH^~-W zgEl6=T4>YWIi4>cDg0s0{>u5hI^vsqW&J~@k(O%HS2T6l$4A_ z3+=1|0=Ch-?W##;i{E-?$ogDxNfhmpx!+O8HcgN|Tm{_KXG&VL?ym2jLT}nb+RJ;GK z;$P{FUJHAhVN|vcm>B8MJ^ey+`>w!x7wrDmsEL&%*&oR%>JLVt{oO6a^-I6LiA2O^ z=z!lYD|weRNn+)_wsL8d`=}-x2|s9av=pA%ao=PY9uW?s&9~+37zFYFdc~gwHpS*V zWC|R-Ue0gcs5(j7+h%`eyJ#>tvssvC^p@e}GnYb}N)k+Nvg3V^H%E&caPFQ}Ri1Xu zhuB&D^I&F>u*6gamk}%TIQHg!#ar8;Q_jRXKK#mPUy7%#8lvt$4K>&qDp>Y6RRLmig50^FeCj^8su4P*eb418~IE7h2ZD$ ztlKREQHaMTH}*$ydUg=fdZz$E!gWe0^j%H;nb-6r8^pxY(Y06;+1c5t_-SV5;p%5& z$;L?IVu5a}@M;TFK5ovxD%MNTx_&lGn}Eg43PX%4gWTHV0!z z$r;d`OAbLpd2r$6Qq+PQI%6^z#+zSn#>~J}hrOTJO?we}z~5^Y*PA zwm@rXDgF;f&X?#fTVq8&{CjD%IRW3IXd_oQ{^1Dy1iAQ<-_YF(OdP#)n<`z*s?T>rd;gp)`EH^A9`I`y z(-oe${ax_%uC$+&1Xn$hB-q4VY~U@y-X2{+=om!!Z-1c8$yeT&02o|*gRmHCpvdb@ z5(1J721QXPqufd6iu-&59NSZeU0o3rHRiRL6(EfE@N8Dz>|h6 z@ApLpD=Co&OEW;TS2|_wY=ozTGO5e0_h)bk)eP9_3c?qu%IwH$%tj05yQ>`JVmgF@ zm&UD`^0cAeuxD;?dTw`~?>!C6?YoLKyk`sVt9U_a0s{kz<+C~&+)(3kSOo1-&uByQ zO!G50D9HXdJBNJTQxVx<=Q3_hY8r`PS%m#Dto*CBofE1F6tDM!!P0W69xLZ)X*pKw z`I!x1eobzljB{yPe2P}%^#XahYVN`iUDQX%=vvUWyC~Uv-QuCj#ju&!Peogf5-HUt8jb@|yKuvD8*Z3~)%U!cQSj)P7)^SvRK+3%Se8Pa zyIVy;MBm<{f;Y1Pw8w`B2q5E7YvL-cqEYrmS8$yYjore`5>v&s&mnwGtJG^skr2n2lY4?&d>+q z6%iJx>lfYTbpfW6Wfb!RK^Bm}(QdA1Dk?lcUtpfz?mi^0(B$0zl~A^uLf5?l#kGqj zsh#nVxhpLF>S{85-3k`a-k)zpS}jgDlUmQkNmNwT&g&kXp;c~i=o zY7jLaOQKDKMF(4dHhx%d%dw0PzfO1fG$I2M4K;7^CBj6u+R07%qI%k-2EcXeulw3k zdq?I5M&>lopakEN@m=nthZ_b1%>Jknosk({Sj;TEhF+21ymHm7yB3H_Yis!uZM&Jb zTg*_itEocsIyGM+BWFDqe$pe0edBV@{mFCwD!=TJzNDla8PKTm+VXI9lSj?CHb~~ zH}kpo@5#w`y+5;4rsZAGqLtOPaTf9d{!4n9?{DAvrj=AaJzhdea7{<+!*+oFQXVTC z$)CD61X)ZG62?}bD`ff{;)Nw{cG&*Xv_nI-c208uzXGK>E8(0ZZ2Z=9Xu!MkwNs^G z=;~_Eh!g&x5RPMMp1fmtNGRO_jRw=;i2mHru0LRK zqxtuJp?O{V$fBakN8)tp=%&{k{?7JeLx&@Y6$lC~8*AIf=Tp&avu^#}kTq4@oybpL z%p3edmR2i&9UiPVpo%~sR%W2Mn&3}I{IfU@jJky6L~yQ2;?z83GS|sej1O0Ac({$6 zzfIW^B(~;*xZ_K5}2L#9lo|c)w+h)r=mdT4@7jc2mgFSHp zrtR zWB{C{CTvpMdN=GKmTG9Yj?CV2_Qf*y${Fo3|A6Tvg1ju}H^pw$go))(N+2h5D( z$Hn;=Uf{rc%XcdOQZfIx&{+V0`tg9-)_UEsm@Z4*#&$jB0kb0j6#)Z@TSQv<5-O@J z-Fawb#ql4g2;^K*UG+(Aa7>>^Az4**psMcas1H5;$MnS4mb%4tC1mDSJVlKE1y_+H znRX3#JMAwoE&C~8ZOgg#OY~Rj-vhS2eVKEp6ZvUDn0X-ez~Qqt&i|gWq$FM-Zx&B z0Y-iweGw^_pj)9HA~G*or8^NmE%=w8K*y8(87SQ)D%;G1Nl%#Dn)P2Eu4t!&y;Eqc z+Z`InfD8<%N7sViyndErSb&H?auxh^g3~S>R}+3s0l55sK)z^du^B#Jw~3&OwJ4yM z6cf*lp$2dP?HqCSzqJ6^CwZ&BxZ`0TcKSEexZYXxS?Tn<$6Q=m=vuP!_}l`;(UB?u z;|DHH#;tx0>2hOZs46n*5LXhSC(^L`s5c#4fMub)nJMR*^`WKZ5*G~sfEHB8A~G>> zRHUi~OtlyAJV01<<9r~t^Y%Z@SG8|%+OJf-PF8o8e7DrzIHWVXC01hEc*Jrwk0Jf* z2`)QTW%GJq-!?dS|2hl)Anvz2yy|cJSM28fr+q-;Tm1 zSQ~F^88TBw@vX0ZM`S3z)@fnOcwi6~_c^)pL%tNn*tf*^q#to-e{UIgmu*z+g#y-t z6YzV8bRQt3G&=V|WMx^fO0_b@lBTA~sRs}F6h7^w&Dim5-qBiug@w&S=}@EPuW2mY zF7Nf7(+WtiIOAse)yG!=lvsp3qh8iOGU_AT` zD;#Y_Q4?%(F#svj^N%%ID1Z>v)QS4K*Bm=&r|wfKoE0oi0<#5RIC4Lz<@}3nPW?Z@ zHi2jO|C>4apRD@AVp(==Z57;l$i0FGYBQ~Py-~fI(Hj5k>zuYRUIP&r?<4s1Jng#?k0DOQS7;wf+gn{%- zi+4LaiO}2Rl9R@PDA?wrL0()~a$|Bb3>K4ba3$e!Yu4XS#01#Sj3;L)7|Q3od@2~x ztx+ZM>2=$G0RHA>0m}}rKdNYJao4P8WNfBC^xGAB1IUXPs;Wwg9;%a=E{2y_N$JTi znE6CtOi310PSPfwI`39N0dU}48s8)(Y5!AeVHF4sSy9;(F`2vL<8X_lajA3fVp;dk z$TdNlMx!>5#s;P9X!yL?i zbOc9k{|e}g8L1&{mhQ|&y$LJmvym}*CnV#z8wr)FbsB?(CDl1y>8%~B>8IbOX_T7M zVwwrL9P>Xv{QG>JAH_lfeaZ~cFFC}nq{PLi!X5hr(W?2_TiZn#6W+9jb~_OWShm3s z9pF7v3-}YJ?w%gg+Raa8c^%SiR{;-0MweS-;Q$B*`@tt#1>yrex40v2QQuOc**ShH ze6mm!H4V$N>_H0sfIF)d_(XT#dY^KO`dFD}_voo`%H@;jPfr4$hThXtWKct~(Z(K- zlWJoHC^S1bA3MRnQ?5)-@vW_KrltPXO#AXB@!3mhH%Y&^OB3rC1O1be>W{U*LX|E4 zrEE-{_~zF%Bz7dTF^asAKcDHYK$|E!gW}0|#6gZg zQ>We3&;w+7A~HH~G3W!%(X92bd#>&-PUEV1jKwy&#I7*FD)|EOW6%Pw*Q%*;NvE*9 zycQCkQ9Eefm0jU3Gd14<~6&n`iT+%hGpn|o$3c_WK z@}pzan;kIzmst@)7AO7Lb%0Zn`Dqqil5xd}d5!t1S9%k2)4k39i2O_0$f?y9TLUru z{lt%4a9+c!OGl^%ob9L-o?KM)@7Z}_uRTvsgTXBS@9~l2f2Nw^pq!zQc`cS-@ThDVA8a|QbhGxg{RKP z04!aXA`1DMT=cm)S)J3gGJr5p5h&p*?}ry19G+Vn%E)^ih;G^5z-t7uDZMiOkzC`l zO#ChFHZ`r!JIya9R))*M-MgDf{T~V?a`V}fXzjK)05I>P0L0=+B?AtMe@e z1I4&q<#WVaBtVgXpuy#CSwf-RLfoe=!%}K$hXLL)x_Tp#7-&x<^uFNSP=n5_12+0g zOpIx(4b=d1N%0N@bDDHlX1X}Pm*JSB+s?(YrWo_!dmK z1%YnIv|%-w9Bpij@xbCpp-3lYvaBFU=w=fPrkR<6q1U^5PP}z=?2Dz=SN~=g9{2FM z2d9vPTl)~1zb&nz*XCsJ@UScH;$H87ho?s?(OpLY=QEJvN58eWA8*gXl3wSM!mTwn zF

      ;bfk;cpB@wt7)TX8;^+SQTJEzz@D;N6Ntbd4fj24|v7f#eTre=F{+*ea8edRQ zUS9516%WLz?CjqF{OD2TiP}8x90&x|vgWmPdH|@v6o85ZvJiDu9d)y2OEpE^ts0uh zMwwp&9mbsT7FBMA@5mIj>?~Bq_cvwmH6j3al$QRP5Mzkd3lM)ViY!vji6>)xIhkdN_2-zsS>567=bxXz&~Y+(Q-qLSXA z?{n^qZ$Re9s;Q{JA2QW>BKLDYtjqnlXj^MtXJlklbq#ae@|v5QC@_q@EhQzT)ESPN z1*fI$m|MOkBhvsnkt#Hf=2?}Tvwwe!nEH0XORGCxG}Y)`k?GP8QJt}XR`MP08TPrt?7M+^uy&vHaCnHfJ?(P0#wdrhEhEeRTE!bD7 z{LDk`)CeddB+LMGXh~CblQDUIz`V4iM8wuwUJO9fDp6P{%(VWkR@aHZipp|#<-*3s zDL^UTWOsHhg(MTdc@O|F=#XTDuJaz1lSNMygEVfqFX?~s)f4LQEDECqP>l~;q3@#(Ta$>jnx zaOE*zDUL2J*U2W4M+Yh%s*&DL_;9>}8q8u3#GJE=K7Y>n$KOg83^rxn?xfz#@&Z8hxFDi7Xj;KiTBn1qJ0c;~lIJTPW?C znOf{CFRwJ(C1XdE7m$`_K8nCpxhpK8w3?be%St$s(^URGwtr_N+Xj#e;GrjtjZ)D} z!^$__Iy)O}d<;!}iwmQ5g=t1^@=ffVT6Z>&3ouO-8xM?)J(rW)-`lU&(Wy*7PvP6e z9*y+Yc#p zgjjj=iaMRL;@qp}&kwZY`V8H`Edgr&kzvV2m*5g#sQu#Tui-f*0HF+Vt5!>LW4$Tk zWNkl|1u0{*3!dyJG;&qBpdoMk_rszjZm`R2>nC-Qv$wC@3;_@(3Fj$XAJ(Z~Lj&&Z zdI+Q-#wn>q#^*;gN^EkFlRtUeNiW-Ubw@PRH5?7fg>7GDCi$_R@a;Y%(^mRKEu>(m z+*Phol8)>OUw-ksrw19}wON53dbZjLr+Ii`)zjPL?MOTs^*!++&C1FO$S%j`@d0j1 zRZr#BN<3hr@xxMt?QnT7GBh$es=B5|-&L~ELa5_+sEyM&sl~6O(?wdI@J`iX{KEF{ zrwMb3(y_4fs^Uix5fFqlJt4_8K0G6Pz3zKW!d9c=4Iug%i#)!Fhne6*to^UyeOQO; ztF1-YUxBq^6`!DR#m4g``H`>nox`@u_-xi4fyT=A54Ao+o&^VbQ9~d4pKVchB%}w@ zjKOpeK4nZmggrcfSk%l6b?;4(QuERnLuuD+^D~2=cZ}!j+x?M&9O&N|E>5oZ00Q&# zNi;JvV`5E$MXG_~r%&BndB(@g3wUCeh2YH7<0OzZd31xv`tX>A0Ycucqoaai8U}!7 z3G^}I%|GrBAXs*seRrnj8(zq=zcLH@lU&U{IuC^p4To$?{IOhGhI{P^Z1#rgdU%%c zhd%c{nJLV^#?L<{JH;a-tb5}v@qF1sunp>a(| zEGN5N78kXaF4}u%J871zY|Jby%*Ud59l!Ru5M>fJX+De=ER9dp0h)l2`RTdWEQTHL zW1B27;ebOS_rg|L&1avKnVJ}bc*i(7WMAHRTReAYW--{0%ny`sXb2=_e~mKKOqb*e zeJUcB{?u{uM}0WA#5Q64c?a^ot!*acc^-KCzKtPB(k`n�}5g5gZ>WetMky?AWOZ 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 +Low-side driver supplies and diagnosticsVBAT_PROTTLE9104SH VS+5V_MAINTLE9104SH VDD+3V3_MAINTLE9104SH VIOMCU SPITLE9104SH SPICommands + diagnosticsINx / EN default-low networks are shown in the companion circuit. Decouple supplies locally. \ No newline at end of file diff --git a/Architecture/diagrams/sink-power.drawio b/Architecture/diagrams/sink-power.drawio new file mode 100644 index 0000000..559b8d9 --- /dev/null +++ b/Architecture/diagrams/sink-power.drawio @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Architecture/diagrams/sink-power.png b/Architecture/diagrams/sink-power.png new file mode 100644 index 0000000000000000000000000000000000000000..f77e759d0019635c6cc2664a7135d9913673ca4b GIT binary patch literal 31899 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 literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/sink-power.svg b/Architecture/diagrams/sink-power.svg new file mode 100644 index 0000000..3042a3d --- /dev/null +++ b/Architecture/diagrams/sink-power.svg @@ -0,0 +1,2 @@ + +Generic low-side power pathVBAT_PROTExternal loadvia SINK_OUTxTLE9104SHOUTxInternal low-side MOSFETPower return → OUT_PGNDFunctional current path. OUT_PGND returns separately to the power-entry ground star. \ No newline at end of file diff --git a/Architecture/diagrams/thermistor.png b/Architecture/diagrams/thermistor.png new file mode 100644 index 0000000000000000000000000000000000000000..716284d25a75f5e9c45fe62af6c1084740609e8b GIT binary patch literal 46695 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%0A`tY+=8W2npZAPk?%6x>`!a-?z%~8xa(!H`K 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 S?r{0@9n~IbDHSO^4fzkCup;09 literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/thermistor.svg b/Architecture/diagrams/thermistor.svg new file mode 100644 index 0000000..4460a8c --- /dev/null +++ b/Architecture/diagrams/thermistor.svg @@ -0,0 +1,2 @@ + +R_PULLUPSelected for sensor curveNTCSENSOR_GNDINOUTAttenuation / local filterINOUTMatched divider / filterThermistor + excitation-supply measurementBoth ADC channels use +3V3_ANA as reference. Filter and protection details remain in the text.+5V_SENSADC_NTC+5V_SENSADC_5V_SENSE \ No newline at end of file diff --git a/Architecture/diagrams/thermistor.topology.json b/Architecture/diagrams/thermistor.topology.json new file mode 100644 index 0000000..7475a4c --- /dev/null +++ b/Architecture/diagrams/thermistor.topology.json @@ -0,0 +1,124 @@ +{ + "title": "NTC excitation and acquisition", + "source": "IO_MODULES/ANALOG_INPUTS.md: NTC temperature channels", + "reference_scope": "documentation only", + "components": [ + { + "ref": "V", + "kind": "port", + "pins": [ + "P" + ], + "value": "+5V_SENS" + }, + { + "ref": "R_PULLUP", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_PULLUP\nSelected for sensor curve" + }, + { + "ref": "NTC", + "kind": "thermistor", + "pins": [ + "1", + "2" + ], + "value": "NTC" + }, + { + "ref": "GN", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "AFE", + "kind": "functional-block", + "pins": [ + "IN", + "OUT" + ], + "value": "Attenuation / local filter" + }, + { + "ref": "ADC", + "kind": "port", + "pins": [ + "P" + ], + "value": "ADC_NTC" + }, + { + "ref": "VS", + "kind": "port", + "pins": [ + "P" + ], + "value": "+5V_SENS" + }, + { + "ref": "SENSE", + "kind": "functional-block", + "pins": [ + "IN", + "OUT" + ], + "value": "Matched divider / filter" + }, + { + "ref": "ADCS", + "kind": "port", + "pins": [ + "P" + ], + "value": "ADC_5V_SENSE" + } + ], + "nets": [ + { + "name": "+5V_SENS", + "connections": [ + "V.P", + "R_PULLUP.1", + "VS.P", + "SENSE.IN" + ] + }, + { + "name": "NTC_NODE", + "connections": [ + "R_PULLUP.2", + "NTC.1", + "AFE.IN" + ] + }, + { + "name": "SENSOR_GND", + "connections": [ + "NTC.2", + "GN.P" + ] + }, + { + "name": "ADC_NTC", + "connections": [ + "AFE.OUT", + "ADC.P" + ] + }, + { + "name": "ADC_5V_SENSE", + "connections": [ + "SENSE.OUT", + "ADCS.P" + ] + } + ], + "no_connects": [] +} diff --git a/Architecture/diagrams/trigger-input.png b/Architecture/diagrams/trigger-input.png new file mode 100644 index 0000000000000000000000000000000000000000..bb63314459321e261519cd37a6d6f13339699b16 GIT binary patch literal 65651 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 literal 0 HcmV?d00001 diff --git a/Architecture/diagrams/trigger-input.svg b/Architecture/diagrams/trigger-input.svg new file mode 100644 index 0000000..67709d1 --- /dev/null +++ b/Architecture/diagrams/trigger-input.svg @@ -0,0 +1,2 @@ + +R_PULLUP4.7 kΩ provisionSIGRETTransientprotectionSENSOR_GNDR_DIV_TOPR_DIV_BOTTOMSENSOR_GNDC_FILTER1 nF initialSENSOR_GNDSN74LVC2G17-Q1Supply: +3V3_MAINHall input · repeated for crank and camSensor connector: supply = +12V_SENS; return = SENSOR_GND; output = TRIG_x. Pin numbers unassigned.TRIG_x+12V_SENSTIMER_3V3 \ No newline at end of file diff --git a/Architecture/diagrams/trigger-input.topology.json b/Architecture/diagrams/trigger-input.topology.json new file mode 100644 index 0000000..6d404ba --- /dev/null +++ b/Architecture/diagrams/trigger-input.topology.json @@ -0,0 +1,155 @@ +{ + "title": "Crank / cam Hall input", + "source": "IO_MODULES/ENGINE_POSITION_INPUTS.md: Electrical interface", + "reference_scope": "documentation only", + "components": [ + { + "ref": "J", + "kind": "port", + "pins": [ + "P" + ], + "value": "TRIG_x" + }, + { + "ref": "V", + "kind": "port", + "pins": [ + "P" + ], + "value": "+12V_SENS" + }, + { + "ref": "R_PULLUP", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_PULLUP\n4.7 k\u03a9 provision" + }, + { + "ref": "CLAMP", + "kind": "transient-protection", + "pins": [ + "SIG", + "RET" + ], + "value": "Harness clamp / ratings TBD" + }, + { + "ref": "GC", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "R_DIV_TOP", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_DIV_TOP" + }, + { + "ref": "R_DIV_BOTTOM", + "kind": "resistor", + "pins": [ + "1", + "2" + ], + "value": "R_DIV_BOTTOM" + }, + { + "ref": "GB", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "C_FILTER", + "kind": "capacitor", + "pins": [ + "1", + "2" + ], + "value": "C_FILTER\n1 nF initial" + }, + { + "ref": "GF", + "kind": "ground-port", + "pins": [ + "P" + ], + "value": "SENSOR_GND" + }, + { + "ref": "U", + "kind": "schmitt-buffer", + "pins": [ + "IN", + "OUT" + ], + "value": "SN74LVC2G17-Q1" + }, + { + "ref": "MCU", + "kind": "port", + "pins": [ + "P" + ], + "value": "TIMER_3V3" + } + ], + "nets": [ + { + "name": "TRIG_x", + "connections": [ + "J.P", + "R_PULLUP.2", + "CLAMP.SIG", + "R_DIV_TOP.1" + ] + }, + { + "name": "+12V_SENS", + "connections": [ + "V.P", + "R_PULLUP.1" + ] + }, + { + "name": "SENSOR_GND", + "connections": [ + "CLAMP.RET", + "GC.P", + "R_DIV_BOTTOM.2", + "GB.P", + "C_FILTER.2", + "GF.P" + ] + }, + { + "name": "DIVIDED", + "connections": [ + "R_DIV_TOP.2", + "R_DIV_BOTTOM.1", + "C_FILTER.1", + "U.IN" + ] + }, + { + "name": "TIMER_3V3", + "connections": [ + "U.OUT", + "MCU.P" + ] + } + ], + "no_connects": [] +}