{ "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": "Parallel switches \u00b7 one ECU deadman input", "source": "IO_MODULES/DEAD_MAN.md: Steering-wheel wiring and ECU input", "nodes": { "title": { "label": "Parallel switches \u00b7 one ECU deadman input", "kind": "note", "bounds": [ 30, 18, 980, 42 ] }, "supply": { "label": "Protected 5 V", "kind": "power", "bounds": [ 30, 200, 220, 80 ] }, "left": { "label": "Left NO switch\nHeld = closed", "kind": "device", "bounds": [ 340, 90, 230, 80 ] }, "right": { "label": "Right NO switch\nHeld = closed", "kind": "device", "bounds": [ 340, 300, 230, 80 ] }, "shared": { "label": "DEADMAN_IN\nJoined at steering wheel", "kind": "signal", "bounds": [ 740, 200, 270, 80 ] }, "note390": { "label": "Switches are physically in parallel. Either held \u2192 asserted; both released \u2192 deasserted.", "kind": "note", "bounds": [ 30, 390, 980, 60 ] }, "input": { "label": "DEADMAN_IN\nOne ECU signal pin", "kind": "signal", "bounds": [ 30, 490, 240, 80 ] }, "conditioning": { "label": "Protection + filter\nDefault-low bias", "kind": "signal", "bounds": [ 340, 490, 270, 80 ] }, "ok": { "label": "DEADMAN_OK\n5 V \u00b7 hardware gates", "kind": "signal", "bounds": [ 740, 490, 270, 80 ] }, "status": { "label": "DEADMAN_STATUS\n3.3 V \u2192 one MCU input", "kind": "device", "bounds": [ 340, 630, 310, 80 ] } }, "connections": [ { "from": "supply", "to": "left", "label": "", "kind": "signal" }, { "from": "supply", "to": "right", "label": "", "kind": "signal" }, { "from": "left", "to": "shared", "label": "", "kind": "signal" }, { "from": "right", "to": "shared", "label": "", "kind": "signal" }, { "from": "input", "to": "conditioning", "label": "", "kind": "signal" }, { "from": "conditioning", "to": "ok", "label": "", "kind": "signal" }, { "from": "conditioning", "to": "status", "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" } ] } }