mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-02-24 16:34:21 +01:00
Move CDS phase computation from per-point config storage to FPGA logic. The FPGA now computes the 180° phase shift internally (M/2) and loops twice per point when CDS is enabled. This keeps config memory at 96 bits instead of 112, avoiding BRAM overflow on the Spartan 6. FPGA changes: - Add CDS_ENABLED input to Sweep module (controlled via SPI register 6) - Compute source_phase = M/2 for 180° shift when cds_phase=1 - State machine loops through all stages twice per point when CDS enabled - RESULT_INDEX now includes cds_phase bit: stage[2:0] & point[11:0] & cds_phase Firmware changes: - Add FPGA::SetCDSEnabled() to control CDS via register 6 bit 11 - Update SamplingResult to include cdsPhase field (1 bit) - Simplify VNA.cpp: FPGA handles phase switching, MCU combines results Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Communication | ||
| Drivers | ||
| App.cpp | ||
| App.h | ||
| Cal.cpp | ||
| Cal.hpp | ||
| Firmware.cpp | ||
| Firmware.hpp | ||
| Generator.cpp | ||
| Generator.hpp | ||
| Hardware.cpp | ||
| Hardware.hpp | ||
| HW_HAL.cpp | ||
| HW_HAL.hpp | ||
| Led.cpp | ||
| Led.hpp | ||
| Manual.cpp | ||
| Manual.hpp | ||
| SpectrumAnalyzer.cpp | ||
| SpectrumAnalyzer.hpp | ||
| Trigger.cpp | ||
| Trigger.hpp | ||
| Util.cpp | ||
| Util.hpp | ||
| VNA.cpp | ||
| VNA.hpp | ||