Group components to Groups → firmware interested in inter-Group connections
Implemented for KiCad v9
Applied in PCDU development process
Found electrical design fault: swapped pins in PCDU
kicad_firmware_generation
goal of PdF
Runtime analysis
Fault injection analysis
Writing paper (currently under review)
Port to KiCad v10
Synthetic Benchmark
120 test cases
Made with KiCad Open-Hardware projects
Automatically add synthetic annotations to schematics
Test runtime of kicad_firmware_generation
Result: negligible runtime
Systematic Fault Injection
Inject faults into PCDU schematics:
swap labels, delete cables
8885 unique faults
Over a week on CES server
Manual sample (300 cases) for fault classification
Result: detected 75% of otherwise not found Group Pin swaps
Part 2: TSN for Spacecraft
Networking inside Spacecraft
Real-time: worst-case delay, jitter
Previously: specialized point-to-point connections
→ heavy, costly, power inefficient
Can we use Ethernet & IP?
Transport Layer
UDP
Unreliable service (e.g., packets might be dropped)
Simple (3 pages in RFC 768)
TCP
Reliable service using Automatic Repeat Request (ARQ)
Complex (98 pages in RFC 9293)
Time Sensitive Networking (TSN)
Standardised under IEEE 802.1Q
Reliability at link layer: never drop a packet → no need for TCP
Accurate time-stamps based on PTP (Precision Time Protocol)
Hard timing guarantees
Ring Topology
Single Failure Criterion redundancy: "carrying out its mission in spite of the failure
of any single component" (US Nuclear Regulatory Commission 1977)
Goal: Validate TSN for use in spacecraft
Goal: Build a demonstrator
Ring Topology
Single Failure Criterion redundancy: "carrying out its mission in spite of the failure
of any single component" (US Nuclear Regulatory Commission 1977)
Goal: Validate TSN for use in spacecraft
Goal: Build a demonstrator
Hardware Requirements for TSN
For TSN Endpoints
IEEE 802.1AS: gPTP (based on IEEE 1588: PTP)
IEEE 802.1Qav: credit-based traffic shaper
TSN Switching
In-hardware switch
IEEE 802.1Qci: Per-Stream Filtering and Policing
Switchdev driver
Hardware Options
ST
STM32 MCU: no MMU → no Linux
STM32MP1: no TSN
STM32MP2 (like STM32MP257F): closed source drivers for switch (no switchdev
implementation)
NXP
i.MX 8DXL + SJA1105Q: expensive
NXP Layerscape 1028A: expensive
Texas Instruments
SK-AM64B
TMDS64EVM: expansion connector with RMII for other PHYs