Files
NeoECU-Hardware/Architecture/diagrams/block-connections.json
T

1485 lines
28 KiB
JSON

{
"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"
}
]
}
}