Design Principles¶
Fundamental Architectural Concepts of REVA v4.0
Overview¶
REVA v4.0 was designed around a small number of core principles.
These principles influence every subsystem within the instrument.
Understanding them helps explain why the architecture is organized as it is.
Deterministic Timing¶
The primary design goal of REVA is deterministic waveform generation.
Waveform timing should remain independent from:
- display activity,
- button presses,
- menu navigation,
- EEPROM access.
The same settings should always produce the same waveform.
Separation of Responsibilities¶
Each subsystem performs a specific task.
Operator
↓
Packet Library
↓
Packet Executor
↓
Timer2 Scheduler
↓
Timer1 Carrier Engine
↓
Output Stage
This separation reduces complexity and improves maintainability.
Carrier Independence¶
Carrier generation is separated from packet generation.
Carrier Frequency
defines:
- pulse timing,
- pulse repetition rate.
Packet Geometry
defines:
- burst timing,
- packet structure,
- envelope shape.
This separation allows one carrier frequency to be combined with many packet families.
Mathematical Organization¶
Packet families are organized according to mathematical relationships.
Examples include:
- Harmonic
- Fibonacci
- Lucas
- Golden Ratio
- Prime
This organization improves navigation and reproducibility.
Compile-Time Configuration¶
Carrier frequency and packet category are selected within the firmware.
Example:
#define CARRIER_HZ 90000
#define ACTIVE_PACKET_CATEGORY CATEGORY_GOLDEN_RATIO
These parameters are considered part of experiment configuration.
Runtime controls are reserved for operational adjustments.
Runtime Simplicity¶
Only frequently adjusted parameters are exposed during operation.
Examples include:
- family selection,
- pulse scaling,
- gap scaling.
This minimizes menu complexity.
Hardware Simplicity¶
REVA intentionally uses minimal hardware.
Core components include:
- Arduino Nano
- IR2304
- OLED
- Buttons
No additional timing hardware is required.
Reproducibility¶
A waveform should be reproducible from:
- carrier frequency,
- packet category,
- family selection,
- pulse scale,
- gap scale.
These parameters fully describe the generated waveform.
Engineering Philosophy¶
REVA is not a collection of unrelated waveform generators.
It is a structured waveform synthesis system built around deterministic timing and mathematical packet geometry.