Output Generation¶
How REVA Produces Physical Waveforms
Overview¶
The final waveform generated by REVA is the result of several independent subsystems working together.
No single subsystem creates the complete waveform.
Instead, each layer contributes specific information.
Output Generation Chain¶
Carrier Frequency
↓
Carrier Duty Cycle
↓
Packet Family
↓
Pulse Scaling
↓
Gap Scaling
↓
Packet Executor
↓
Timer2 Scheduler
↓
Timer1 Carrier Engine
↓
OC1A / OC1B
↓
D9 / D10
Carrier Contribution¶
Timer1 generates the fundamental pulse train.
The carrier defines:
- pulse frequency
- pulse spacing
- duty cycle
Packet Contribution¶
The selected packet family defines:
- burst lengths
- segment arrangement
- packet geometry
Packet families shape the envelope of the waveform.
Runtime Scaling¶
Runtime controls modify packet behavior.
Examples:
- pulse scaling
- gap scaling
Scaling changes packet size while preserving geometry.
Packet Executor Contribution¶
The Packet Executor combines:
- packet geometry
- scaling factors
- execution rules
The result is executable timing information.
Timer2 Contribution¶
Timer2 controls:
- burst start points
- burst stop points
- segment transitions
- packet repetition
Timer2 determines when carrier pulses become visible.
Timer1 Contribution¶
Timer1 generates the actual carrier waveform.
Timer1 determines what the pulses look like.
Timer2 determines when they appear.
Physical Outputs¶
The final waveform is available on:
| Pin | Function |
|---|---|
| D9 | OC1A |
| D10 | OC1B |
These outputs are connected to the IR2304 driver stage.
Engineering Perspective¶
A useful way to view REVA is:
Geometry
+
Timing
+
Carrier
=
Waveform
Each subsystem contributes one part of the final signal.