Node Hardware Interface Layer
Migrated from Original Docs/Node/Node-Hardware-Interface.md
Node Hardware Interface Layer
1. RF Hardware
Supported configurations:
- Phased-array transceiver: Analog Devices AD9371-based radios or USRP X310 (example) with antenna coupler
- Motorized directional antenna: LNA + variable-gain frontend feeding USRP B210 or HackRF One
- Fixed antenna: simplified fixed-gain path for low-ERP test or backup operations
Hardware requirements:
- Carrier frequency: configurable 1–6 GHz (USRP X310), 70 MHz–6 GHz (B210), 10 MHz–6 GHz (HackRF)
- Sample rate: 40 MHz primary, 20 MHz secondary, 10 MHz tertiary
- Bit depth: 12–16 bits I/Q (hardware-dependent)
- Timing accuracy: PPS (pulse-per-second) input for deterministic sample clocking
Local oscillator (LO) reference:
- Source: GPSDO (GPS Disciplined Oscillator) or rubidium standard
- Discipline loop: ±500 ns per day typical after lock
- Fallback: TCXO (Temperature Compensated Crystal Oscillator) with ±2 ppm drift
2. Phased-Array Beamforming Hardware (Primary Path)
FPGA-based beamforming:
- Device: Lattice ECP5 or Xilinx Zynq-7000
- Sample clocking: driven by GPSDO PPS
- Beamforming weights: updated via SPI or AXI interface from antenna control daemon
- Beam output: phase-coherent I/Q streams to transceiver RX port
Antenna array:
- 8–16 elements (typical)
- Element spacing: λ/2 at highest operating frequency
- Tuning range: 4.5–5.5 GHz (C-band example)
- Azimuth scan: 360° mechanical
- Elevation scan: 0–90° mechanical
- Gain: 15–20 dBi typical
3. Antenna Actuation (Motorized or Phased)
For phased-array:
- Beam steering is all-electronic via FPGA weights (no moving parts)
- Slew rate: limited by FPGA update rate (~100 us per weight update)
- Typical slew rate: 10–50°/second
For motorized parabolic antenna:
- Azimuth motor: stepper or servo, 1–10°/second slew
- Elevation motor: stepper or servo, 1–5°/second slew
- Feedback: potentiometer or encoder on each axis
- Control interface: PWM (pulse-width modulation) or CAN bus
For fixed antenna:
- No actuation; beamforming or LO tuning only
4. GNSS Receiver (Local Position & Timing)
Device: u-blox ZED-F9P or similar RTK-capable receiver
Functions:
- Provide local geodetic position (latitude, longitude, altitude)
- Provide PPS for sample clock discipline
- Provide integer-second timing and 1 MHz clock output
- Report fix quality (no fix, 2D, 3D, RTK Float, RTK Fixed)
Interface: UART (4800–460800 baud) or USB
Update rate: 1–10 Hz typical
Accuracy:
- Position: ±2 m typical (float), ±2 cm RTK Fixed
- Timing: ±50 ns PPS edge jitter typical
Next: See Node-SoftwareProcesses-IPC for the software architecture and process model.