Adds ability to set phase adjustment on Source PLL for each sweep point.
When sourcePhase != 0, the FPGA executes a CDM toggle sequence after
normal PLL register load to apply the specified phase offset.
Changes:
- MAX2871.vhd: add PHASE_ADJUST input and CDM toggle state machine
- Sweep.vhd: extract phase from config, generate phase adjust signal
- SPIConfig.vhd: handle 112-bit config data (was 96-bit)
- top.vhd: wire phase adjustment signals, widen data buses
- SweepConfigMem.xco: update BRAM width to 112 bits
- FPGA.cpp/hpp: add sourcePhase parameter to WriteSweepConfig
Phase formula: phase_degrees = (sourcePhase / M) * 360
For 180° shift: sourcePhase = M/2
Note: SweepConfigMem IP core must be regenerated before FPGA build.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Bugfixes:
- improve SPI timing in FPGA
- fix markers and reduce CPU load when using markers with fast traces
- New features:
- dwell time configurable in acquisition toolbar
- PLL settling delay in device configuration
- device configuration persistent across power cycles
- Add manual overwrite in FPGA for hardware that is usually handled by sweep control
- Use static hardware configuration for generator (no sweep active anymore)
- Faster sweeps by changing 2.LO only when necessary and using 400kHz I2C frequency
- Added FPGA settings for selectable ADC samplerate
- Additional measurement with different ADC samplerate when signal ID is on to remove ADC images