System Requirements

Purpose

This document lists the system-level requirements for the MOTSEN Tool. Every requirement is derived from a single desc node in System Description and is written as a small, testable “shall” statement so that one verification case can later cover one requirement.

Rules used in this document:

  • Each sysreq makes a single claim. Compound behaviors are split into multiple requirements.

  • derived_from points to exactly one DESC_*. If two descriptions apply, the requirement is split.

  • Requirements that depend on an open decision use status: placeholder and linked_to: the relevant DEC_* in Project Plan.

  • Forward links to hardware/software requirements and to test cases are added as those documents come online; they are intentionally not stubbed here.

Top-Level Requirements

System Requirement: Target motor class SYS_001
status: draft
derived from: DESC_001
is derived by: TEST_SYS_001

MOTSEN shall operate on three-phase permanent-magnet synchronous motors (PMSM, IPMSM) and brushless DC motors (BLDC).

System Requirement: Results presented on the host PC SYS_002
status: draft
derived from: DESC_001

MOTSEN shall present every measurement and diagnostic result through the host PC user interface.

System Requirement: MVP operating envelope SYS_003
status: draft
derived from: DESC_001

MOTSEN shall operate from a DC bus in the 12–24 V range with an output below 100 W for the Phase 1 (MVP) target.

System Context

System Requirement: Single-user single-PC operation SYS_010
status: draft
derived from: DESC_010

MOTSEN shall be operable by a single user from a single host PC.

System Requirement: No external lab instruments required SYS_011
status: draft
derived from: DESC_010

MOTSEN shall perform its specified functions without requiring any external laboratory instrument (oscilloscope, LCR meter, power analyzer, signal generator).

System Requirement: No remote connectivity required SYS_012
status: draft
derived from: DESC_011

MOTSEN shall provide every feature without requiring a network or cloud connection.

Power Stage Requirements

System Requirement: Three-phase drive SYS_030
status: draft
derived from: DESC_030

The power stage shall drive three motor phases from the DC bus.

System Requirement: Center-aligned PWM with dead-time SYS_031
status: draft
derived from: DESC_030

The power stage shall be driven by center-aligned PWM with a configurable dead-time on each half-bridge.

System Requirement: PWM synchronized to ADC sampling SYS_032
status: draft
derived from: DESC_030

PWM generation shall be synchronized with ADC sampling such that phase currents are sampled at a defined point within the PWM cycle.

System Requirement: Configurable PWM frequency SYS_033
status: placeholder
links to: DEC_001
derived from: DESC_030

The PWM frequency shall be configurable. The supported range is a placeholder pending eval-board selection (DEC_001).

System Requirement: Fast output disable SYS_034
status: draft
derived from: DESC_030

On output-disable, the power stage shall return all three phases to a high-impedance state within one PWM period.

Sensing Requirements

System Requirement: Phase current measurement SYS_040
status: draft
derived from: DESC_031

MOTSEN shall measure the current in each motor phase.

System Requirement: PWM-synchronous current sampling SYS_041
status: draft
derived from: DESC_031

Phase currents shall be sampled synchronously with the PWM cycle.

System Requirement: DC-bus voltage measurement SYS_042
status: draft
derived from: DESC_031

MOTSEN shall measure the DC-bus voltage.

System Requirement: DC-bus over/under-voltage supervision SYS_043
status: draft
derived from: DESC_031

MOTSEN shall trip a fault when the DC-bus voltage falls below or exceeds firmware-configurable thresholds.

System Requirement: Sensing chain calibrated before characterization SYS_044
status: draft
derived from: DESC_031
is derived by: HWREQ_033

MOTSEN shall not report a characterization result before the sensing chain has been calibrated against a reference for the current session or stored calibration.

Position Sensor Requirements

System Requirement: Hall sensor readout SYS_050
status: draft
derived from: DESC_032

MOTSEN shall read the state of each Hall sensor input.

System Requirement: Hall decoding to sector and direction SYS_051
status: draft
derived from: DESC_032

MOTSEN shall decode Hall states into a 6-state commutation sector and an inferred direction of rotation.

System Requirement: Incremental encoder support SYS_052
status: placeholder
links to: MIL_042
derived from: DESC_032

MOTSEN shall read an incremental encoder alongside Hall sensors. Scheduled for Phase 2 (MIL_042).

System Requirement: Resolver support SYS_053
status: placeholder
links to: MIL_077
derived from: DESC_032

MOTSEN shall read a resolver. Scheduled for Phase 3 (MIL_077).

System Requirement: Detect disconnected position sensor SYS_054
status: draft
derived from: DESC_032

MOTSEN shall detect a missing or disconnected position sensor and report it as a sensor-check failure.

Embedded Controller Requirements

System Requirement: HAL coverage SYS_060
status: draft
derived from: DESC_033

The firmware shall provide a hardware abstraction layer covering GPIO, UART, timer, ADC, and PWM peripherals.

System Requirement: MVP target MCU SYS_061
status: draft
derived from: DESC_033

The Phase 1 (MVP) firmware shall run on the NXP S32K322 MCU.

System Requirement: Second MCU support SYS_062
status: placeholder
links to: MIL_048
derived from: DESC_033

The firmware shall support a second MCU family without modification to application-layer code. Scheduled for Phase 2 (MIL_048).

System Requirement: HAL implementation strategy SYS_063
status: placeholder
links to: DEC_005
derived from: DESC_033

The HAL implementation strategy (NXP RTD/SDK wrap vs thin register layer) is pending DEC_005.

Safety & Protection Requirements

System Requirement: Firmware current limit always active SYS_070
status: draft
derived from: DESC_034

The firmware shall enforce a configured current limit at all times while PWM output is enabled.

System Requirement: PWM disabled on fault within one control cycle SYS_071
status: draft
derived from: DESC_034

On any detected fault, the firmware shall disable PWM output within one control cycle.

System Requirement: Independent hardware overcurrent latch SYS_072
status: draft
derived from: DESC_034

A hardware overcurrent latch shall trip the PWM outputs independently of the firmware control loop.

System Requirement: Explicit fault acknowledgement SYS_073
status: draft
derived from: DESC_034

The system shall exit the Fault state only after an explicit acknowledgement from the user.

System Requirement: Power-on safe state SYS_074
status: draft
derived from: DESC_034

On power-on, the system shall enter the Idle / Safe state with PWM disabled.

System Requirement: Sensor-check excitation current cap SYS_075
status: draft
derived from: DESC_034

In Sensor Check mode, excitation current shall be limited to a value below the configured Run-mode current limit.

Host Application Requirements

System Requirement: Local web server serves the UI SYS_090
status: draft
derived from: DESC_036

The host application shall serve the user interface from a local web server running on the host PC.

System Requirement: Live phase current display SYS_091
status: draft
derived from: DESC_036

The UI shall display live phase currents.

System Requirement: Live position sensor display SYS_092
status: draft
derived from: DESC_036

The UI shall display the live state of the active position sensor.

System Requirement: Parameter editing from UI SYS_093
status: draft
derived from: DESC_036

The UI shall allow the user to read and edit firmware parameters and apply them to the running firmware.

System Requirement: Single-user, no authentication SYS_094
status: draft
derived from: DESC_036

The host application shall be single-user and shall not require authentication.

System Requirement: Mode and fault display SYS_095
status: draft
derived from: DESC_036

The UI shall display the current operating mode and any active fault.

System Requirement: Scripting interface SYS_096
status: placeholder
links to: MIL_044
derived from: DESC_036

The host application shall expose a scriptable interface for running measurement sequences without manual UI interaction. Scheduled for Phase 2 (MIL_044).

System Requirement: Persistent parameter and result storage SYS_097
status: placeholder
links to: MIL_047
derived from: DESC_036

The host application shall persist motor parameters and measurement results to the host filesystem. Scheduled for Phase 2 (MIL_047).

Measurement & Characterization Requirements

System Requirement: Measure phase resistance Rs SYS_100
status: draft
derived from: DESC_037

MOTSEN shall measure motor phase resistance Rs.

System Requirement: Rs accuracy against reference motor SYS_101
status: draft
derived from: DESC_037

The Rs result shall agree with a reference motor measurement within a documented tolerance.

System Requirement: Detect incorrect phase sequence SYS_102
status: draft
derived from: DESC_037

The sensor health check shall detect an incorrect phase sequence and report it as a failure with a clear diagnostic message.

System Requirement: Detect Hall misalignment SYS_103
status: draft
derived from: DESC_037

The sensor health check shall detect Hall sensor misalignment and report it as a failure with a clear diagnostic message.

System Requirement: Sensor health check end-to-end from UI SYS_104
status: draft
derived from: DESC_037

The sensor health check shall run end-to-end on a real motor when triggered from the host UI and shall report a pass/fail result back to the UI.

System Requirement: Measure Ld and Lq SYS_105
status: placeholder
links to: MIL_040
derived from: DESC_037

MOTSEN shall measure D-axis and Q-axis inductances Ld and Lq. Scheduled for Phase 2 (MIL_040).

System Requirement: Measure back-EMF / torque constant SYS_106
status: placeholder
links to: MIL_041
derived from: DESC_037

MOTSEN shall measure the back-EMF constant and torque constant Kt. Scheduled for Phase 2 (MIL_041).

Operating Mode Requirements

System Requirement: Defined mode set SYS_110
status: draft
derived from: DESC_040

MOTSEN shall expose exactly five operating modes to the user: Idle / Safe, Sensor Check, Characterization, Run, and Fault.

System Requirement: Firmware-enforced transitions SYS_111
status: draft
derived from: DESC_040

All operating-mode transitions shall be enforced by the firmware. UI actions request transitions; firmware decides whether to grant them.

System Requirement: Fault preempts all modes SYS_112
status: draft
derived from: DESC_040

On any detected fault, the system shall transition immediately to the Fault state from any source mode.

System Requirement: Fault exit requires acknowledgement SYS_113
status: draft
derived from: DESC_040

The system shall exit Fault only into Idle / Safe, and only after explicit user acknowledgement.

System Requirement: No direct Characterization to Run SYS_114
status: draft
derived from: DESC_040

The system shall not transition directly between Characterization and Run. Any such transition shall pass through Idle / Safe.

System Requirement: Phase 1 Run is open-loop SYS_115
status: placeholder
links to: MIL_045
derived from: DESC_040

Phase 1 Run mode shall be open-loop commutation only. FOC closed-loop control is scheduled for Phase 2 (MIL_045).

Open-Decision Placeholders

These requirements are intentionally redundant with the placeholder descriptions in System Description so that the open decisions are visible from both sides.

System Requirement: Final power-stage ratings — pending SYS_120
status: placeholder
links to: DEC_001
derived from: DESC_060

Final voltage range, continuous/peak current, switching frequency, and gate driver topology are pending DEC_001 (eval board selection).

System Requirement: Host-link physical & framing — pending SYS_121
status: placeholder
links to: DEC_003
derived from: DESC_061

Host-link physical layer and frame format are pending DEC_003.

System Requirement: Host backend stack — pending SYS_122
status: placeholder
links to: DEC_002
derived from: DESC_062

Backend language and framework for the local web server are pending DEC_002.

System Requirement: HAL strategy — pending SYS_123
status: placeholder
links to: DEC_005
derived from: DESC_063

HAL implementation strategy is pending DEC_005.

System Requirement: CAN scope — pending SYS_124
status: placeholder
links to: DEC_004
derived from: DESC_064

Whether CAN is in Phase 1 or strictly Phase 2 is pending DEC_004.

System Requirement: Sensorless control scope — pending SYS_125
status: placeholder
links to: DEC_006
derived from: DESC_065

Whether sensorless control is in scope, and for which phase, is pending DEC_006.

System Requirement: License & publication policy — pending SYS_126
status: placeholder
links to: DEC_007
derived from: DESC_066

License selection and publication policy are pending DEC_007.

Traceability

Each sysreq above declares derived_from: exactly one DESC_* node in System Description. Forward links downward will be added as the following documents come online:

Placeholder requirements (status: placeholder) close in two ways:

  • By closure of their referenced DEC_* (an architectural decision is made), at which point the requirement is rewritten to a concrete shall and the status moves to draft.

  • By their referenced MIL_* becoming active in the current phase, at which point the placeholder requirement becomes a real requirement for that phase.