From 1ea012aa57329f8983e7640c24569db775ca319c Mon Sep 17 00:00:00 2001 From: Roger Henderson <2350852+hendorog@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:19:57 +1300 Subject: [PATCH] implement FPGA-based CDS to avoid BRAM overflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- FPGA/VNA/SPIConfig.vhd | 10 +- FPGA/VNA/Sweep.vhd | 53 ++++- FPGA/VNA/ipcore_dir/SweepConfigMem.xco | 216 +++++++++--------- FPGA/VNA/top.bin | Bin 341712 -> 341712 bytes FPGA/VNA/top.vhd | 19 +- .../Application/Drivers/FPGA/FPGA.cpp | 83 ++++--- .../Application/Drivers/FPGA/FPGA.hpp | 7 +- Software/VNA_embedded/Application/VNA.cpp | 113 ++++----- 8 files changed, 260 insertions(+), 241 deletions(-) mode change 100644 => 100755 FPGA/VNA/SPIConfig.vhd mode change 100644 => 100755 FPGA/VNA/Sweep.vhd mode change 100644 => 100755 FPGA/VNA/ipcore_dir/SweepConfigMem.xco mode change 100644 => 100755 FPGA/VNA/top.bin mode change 100644 => 100755 FPGA/VNA/top.vhd diff --git a/FPGA/VNA/SPIConfig.vhd b/FPGA/VNA/SPIConfig.vhd old mode 100644 new mode 100755 index a2887d1..4cf523f --- a/FPGA/VNA/SPIConfig.vhd +++ b/FPGA/VNA/SPIConfig.vhd @@ -45,7 +45,7 @@ entity SPICommands is MAX2871_DEF_3 : out STD_LOGIC_VECTOR (31 downto 0); MAX2871_DEF_1 : out STD_LOGIC_VECTOR (31 downto 0); MAX2871_DEF_0 : out STD_LOGIC_VECTOR (31 downto 0); - SWEEP_DATA : out STD_LOGIC_VECTOR (111 downto 0); + SWEEP_DATA : out STD_LOGIC_VECTOR (95 downto 0); SWEEP_ADDRESS : out STD_LOGIC_VECTOR (12 downto 0); SWEEP_WRITE : out STD_LOGIC_VECTOR (0 downto 0); SWEEP_POINTS : out STD_LOGIC_VECTOR (12 downto 0); @@ -54,6 +54,7 @@ entity SPICommands is SETTLING_TIME : out STD_LOGIC_VECTOR (19 downto 0); SYNC_ENABLED : out STD_LOGIC; SYNC_MASTER : out STD_LOGIC; + CDS_ENABLED : out STD_LOGIC; PORT1_STAGE : out STD_LOGIC_VECTOR (2 downto 0); PORT2_STAGE : out STD_LOGIC_VECTOR (2 downto 0); PORT1_EN : out STD_LOGIC; @@ -288,6 +289,7 @@ begin when 5 => ADC_PHASEINC <= spi_buf_out(11 downto 0); when 6 => STAGES <= spi_buf_out(15 downto 13); SYNC_ENABLED <= spi_buf_out(12); + CDS_ENABLED <= spi_buf_out(11); PORT1_STAGE <= spi_buf_out(5 downto 3); PORT2_STAGE <= spi_buf_out(2 downto 0); when 7 => SPI_OVERWRITE_ENABLED <= spi_buf_out(15); @@ -308,9 +310,9 @@ begin end case; selected_register <= selected_register + 1; when WriteSweepConfig => - if word_cnt = 7 then - -- Sweep config data is complete pass on (112 bits = 96 + 16) - SWEEP_DATA <= sweepconfig_buffer & spi_buf_out; + if word_cnt = 5 then + -- Sweep config data is complete (96 bits = 6 x 16-bit words) + SWEEP_DATA <= sweepconfig_buffer(79 downto 0) & spi_buf_out; sweep_config_write <= '1'; else -- shift next word into buffer diff --git a/FPGA/VNA/Sweep.vhd b/FPGA/VNA/Sweep.vhd old mode 100644 new mode 100755 index 7dc3201..3ed7d24 --- a/FPGA/VNA/Sweep.vhd +++ b/FPGA/VNA/Sweep.vhd @@ -34,7 +34,7 @@ entity Sweep is RESET : in STD_LOGIC; NPOINTS : in STD_LOGIC_VECTOR (12 downto 0); CONFIG_ADDRESS : out STD_LOGIC_VECTOR (12 downto 0); - CONFIG_DATA : in STD_LOGIC_VECTOR (111 downto 0); + CONFIG_DATA : in STD_LOGIC_VECTOR (95 downto 0); USER_NSAMPLES : in STD_LOGIC_VECTOR (12 downto 0); NSAMPLES : out STD_LOGIC_VECTOR (12 downto 0); SETTLING_TIME : in STD_LOGIC_VECTOR (19 downto 0); @@ -86,6 +86,9 @@ entity Sweep is SOURCE_CE : out STD_LOGIC; + -- Correlated Double Sampling + CDS_ENABLED : in STD_LOGIC; + -- Debug signals DEBUG_STATUS : out STD_LOGIC_VECTOR (10 downto 0); RESULT_INDEX : out STD_LOGIC_VECTOR (15 downto 0) @@ -98,19 +101,31 @@ architecture Behavioral of Sweep is signal state : Point_states; signal settling_cnt : unsigned(19 downto 0); signal stage_cnt : unsigned (2 downto 0); - signal config_reg : std_logic_vector(111 downto 0); + signal config_reg : std_logic_vector(95 downto 0); signal source_active : std_logic; - -- Source phase value extracted from config (bits 111:100) + -- CDS phase tracking: 0 = first measurement (phase 0), 1 = second measurement (phase 180) + signal cds_phase : std_logic; + + -- Source phase value: computed from CDS state + -- When CDS disabled or cds_phase=0: phase = 0 + -- When CDS enabled and cds_phase=1: phase = M/2 (180 degrees) signal source_phase : std_logic_vector(11 downto 0); + signal source_M : std_logic_vector(11 downto 0); begin CONFIG_ADDRESS <= std_logic_vector(point_cnt); - -- Extract source phase from config (new bits 111:100) - source_phase <= config_reg(111 downto 100); + -- Extract Source M from config (bits 38:27) + source_M <= config_reg(38 downto 27); - -- Phase adjustment is enabled when source_phase is non-zero + -- Compute source phase for CDS + -- Phase 0: source_phase = 0 + -- Phase 180: source_phase = M/2 (right shift by 1) + source_phase <= (others => '0') when (CDS_ENABLED = '0' or cds_phase = '0') + else '0' & source_M(11 downto 1); -- M/2 for 180 degree shift + + -- Phase adjustment is enabled when source_phase is non-zero (i.e., CDS phase 1) SOURCE_PHASE_ADJUST <= '0' when source_phase = x"000" else '1'; -- assemble registers @@ -164,7 +179,7 @@ begin DEBUG_STATUS(2) <= source_active; DEBUG_STATUS(1 downto 0) <= (others => '1'); - config_reg <= CONFIG_DATA; + config_reg <= CONFIG_DATA(95 downto 0); process(CLK, RESET) begin @@ -172,6 +187,7 @@ begin if RESET = '1' then point_cnt <= (others => '0'); stage_cnt <= (others => '0'); + cds_phase <= '0'; state <= WaitInitialLow; START_SAMPLING <= '0'; RELOAD_PLL_REGS <= '0'; @@ -243,7 +259,9 @@ begin -- wait for sampling to finish START_SAMPLING <= '0'; if SAMPLING_BUSY = '0' then - RESULT_INDEX <= std_logic_vector(stage_cnt) & std_logic_vector(point_cnt); + -- RESULT_INDEX format: stage(2:0) & point(11:0) & cds_phase when CDS enabled + -- When CDS disabled, cds_phase is always 0 + RESULT_INDEX <= std_logic_vector(stage_cnt) & std_logic_vector(point_cnt(11 downto 0)) & cds_phase; state <= WaitTriggerLow; end if; when WaitTriggerLow => @@ -259,19 +277,32 @@ begin NEW_DATA <= '1'; if stage_cnt < unsigned(STAGES) then stage_cnt <= stage_cnt + 1; - -- can go directly to preperation for next stage + -- can go directly to preparation for next stage state <= Settling; else - state <= NextPoint; + -- All stages done for this measurement + -- Check if we need another CDS phase + if CDS_ENABLED = '1' and cds_phase = '0' then + -- First CDS phase done, do second phase at 180 degrees + cds_phase <= '1'; + stage_cnt <= (others => '0'); + -- Go back to reload PLL with new phase + state <= TriggerSetup; + else + -- CDS complete or disabled, move to next point + state <= NextPoint; + end if; end if; settling_cnt <= unsigned(SETTLING_TIME); when NextPoint => NEW_DATA <= '0'; + -- Reset CDS phase for next point + cds_phase <= '0'; if point_cnt < unsigned(NPOINTS) then point_cnt <= point_cnt + 1; stage_cnt <= (others => '0'); state <= TriggerSetup; - else + else point_cnt <= (others => '0'); state <= Done; TRIGGER_OUT <= '0'; diff --git a/FPGA/VNA/ipcore_dir/SweepConfigMem.xco b/FPGA/VNA/ipcore_dir/SweepConfigMem.xco old mode 100644 new mode 100755 index f272b47..e597e48 --- a/FPGA/VNA/ipcore_dir/SweepConfigMem.xco +++ b/FPGA/VNA/ipcore_dir/SweepConfigMem.xco @@ -1,108 +1,108 @@ -############################################################## -# -# Xilinx Core Generator version 14.6 -# Date: Mon Sep 14 08:50:12 2020 -# -############################################################## -# -# This file contains the customisation parameters for a -# Xilinx CORE Generator IP GUI. It is strongly recommended -# that you do not manually alter this file as it may cause -# unexpected and unsupported behavior. -# -############################################################## -# -# Generated from component: xilinx.com:ip:blk_mem_gen:7.3 -# -############################################################## -# -# BEGIN Project Options -SET addpads = false -SET asysymbol = true -SET busformat = BusFormatAngleBracketNotRipped -SET createndf = false -SET designentry = VHDL -SET device = xc6slx9 -SET devicefamily = spartan6 -SET flowvendor = Other -SET formalverification = false -SET foundationsym = false -SET implementationfiletype = Ngc -SET package = tqg144 -SET removerpms = false -SET simulationfiles = Behavioral -SET speedgrade = -2 -SET verilogsim = false -SET vhdlsim = true -# END Project Options -# BEGIN Select -SELECT Block_Memory_Generator xilinx.com:ip:blk_mem_gen:7.3 -# END Select -# BEGIN Parameters -CSET additional_inputs_for_power_estimation=false -CSET algorithm=Minimum_Area -CSET assume_synchronous_clk=false -CSET axi_id_width=4 -CSET axi_slave_type=Memory_Slave -CSET axi_type=AXI4_Full -CSET byte_size=9 -CSET coe_file=no_coe_file_loaded -CSET collision_warnings=ALL -CSET component_name=SweepConfigMem -CSET disable_collision_warnings=false -CSET disable_out_of_range_warnings=false -CSET ecc=false -CSET ecctype=No_ECC -CSET enable_32bit_address=false -CSET enable_a=Use_ENA_Pin -CSET enable_b=Always_Enabled -CSET error_injection_type=Single_Bit_Error_Injection -CSET fill_remaining_memory_locations=false -CSET interface_type=Native -CSET load_init_file=false -CSET mem_file=no_Mem_file_loaded -CSET memory_type=Simple_Dual_Port_RAM -CSET operating_mode_a=WRITE_FIRST -CSET operating_mode_b=WRITE_FIRST -CSET output_reset_value_a=0 -CSET output_reset_value_b=0 -CSET pipeline_stages=0 -CSET port_a_clock=100 -CSET port_a_enable_rate=100 -CSET port_a_write_rate=50 -CSET port_b_clock=100 -CSET port_b_enable_rate=100 -CSET port_b_write_rate=0 -CSET primitive=8kx2 -CSET read_width_a=112 -CSET read_width_b=112 -CSET register_porta_input_of_softecc=false -CSET register_porta_output_of_memory_core=false -CSET register_porta_output_of_memory_primitives=false -CSET register_portb_output_of_memory_core=false -CSET register_portb_output_of_memory_primitives=false -CSET register_portb_output_of_softecc=false -CSET remaining_memory_locations=0 -CSET reset_memory_latch_a=false -CSET reset_memory_latch_b=false -CSET reset_priority_a=CE -CSET reset_priority_b=CE -CSET reset_type=SYNC -CSET softecc=false -CSET use_axi_id=false -CSET use_bram_block=Stand_Alone -CSET use_byte_write_enable=false -CSET use_error_injection_pins=false -CSET use_regcea_pin=false -CSET use_regceb_pin=false -CSET use_rsta_pin=false -CSET use_rstb_pin=false -CSET write_depth_a=4501 -CSET write_width_a=112 -CSET write_width_b=112 -# END Parameters -# BEGIN Extra information -MISC pkg_timestamp=2012-11-19T16:22:25Z -# END Extra information -GENERATE -# CRC: e7b4a756 +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Sun Feb 01 07:48:09 2026 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:blk_mem_gen:7.3 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6slx9 +SET devicefamily = spartan6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = tqg144 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -2 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Block_Memory_Generator xilinx.com:ip:blk_mem_gen:7.3 +# END Select +# BEGIN Parameters +CSET additional_inputs_for_power_estimation=false +CSET algorithm=Minimum_Area +CSET assume_synchronous_clk=false +CSET axi_id_width=4 +CSET axi_slave_type=Memory_Slave +CSET axi_type=AXI4_Full +CSET byte_size=9 +CSET coe_file=no_coe_file_loaded +CSET collision_warnings=ALL +CSET component_name=SweepConfigMem +CSET disable_collision_warnings=false +CSET disable_out_of_range_warnings=false +CSET ecc=false +CSET ecctype=No_ECC +CSET enable_32bit_address=false +CSET enable_a=Use_ENA_Pin +CSET enable_b=Always_Enabled +CSET error_injection_type=Single_Bit_Error_Injection +CSET fill_remaining_memory_locations=false +CSET interface_type=Native +CSET load_init_file=false +CSET mem_file=no_Mem_file_loaded +CSET memory_type=Simple_Dual_Port_RAM +CSET operating_mode_a=WRITE_FIRST +CSET operating_mode_b=WRITE_FIRST +CSET output_reset_value_a=0 +CSET output_reset_value_b=0 +CSET pipeline_stages=0 +CSET port_a_clock=100 +CSET port_a_enable_rate=100 +CSET port_a_write_rate=50 +CSET port_b_clock=100 +CSET port_b_enable_rate=100 +CSET port_b_write_rate=0 +CSET primitive=8kx2 +CSET read_width_a=96 +CSET read_width_b=96 +CSET register_porta_input_of_softecc=false +CSET register_porta_output_of_memory_core=false +CSET register_porta_output_of_memory_primitives=false +CSET register_portb_output_of_memory_core=false +CSET register_portb_output_of_memory_primitives=false +CSET register_portb_output_of_softecc=false +CSET remaining_memory_locations=0 +CSET reset_memory_latch_a=false +CSET reset_memory_latch_b=false +CSET reset_priority_a=CE +CSET reset_priority_b=CE +CSET reset_type=SYNC +CSET softecc=false +CSET use_axi_id=false +CSET use_bram_block=Stand_Alone +CSET use_byte_write_enable=false +CSET use_error_injection_pins=false +CSET use_regcea_pin=false +CSET use_regceb_pin=false +CSET use_rsta_pin=false +CSET use_rstb_pin=false +CSET write_depth_a=4501 +CSET write_width_a=96 +CSET write_width_b=96 +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-11-19T16:22:25Z +# END Extra information +GENERATE +# CRC: e7b4a756 diff --git a/FPGA/VNA/top.bin b/FPGA/VNA/top.bin old mode 100644 new mode 100755 index 38af89c7edb97085c8101c282d92f4b5973da3f4..3b7dca59000fb9078ee02085084fa2e0386c8e20 GIT binary patch literal 341712 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 literal 341712 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 WhowU))*6yo`G0kTdzhtBD*S&U!Md{m diff --git a/FPGA/VNA/top.vhd b/FPGA/VNA/top.vhd old mode 100644 new mode 100755 index a39d81c..dd07a9c --- a/FPGA/VNA/top.vhd +++ b/FPGA/VNA/top.vhd @@ -113,7 +113,7 @@ architecture Behavioral of top is CLK : IN std_logic; RESET : IN std_logic; NPOINTS : IN std_logic_vector(12 downto 0); - CONFIG_DATA : IN std_logic_vector(111 downto 0); + CONFIG_DATA : IN std_logic_vector(95 downto 0); USER_NSAMPLES : in STD_LOGIC_VECTOR (12 downto 0); NSAMPLES : out STD_LOGIC_VECTOR (12 downto 0); SETTLING_TIME : in STD_LOGIC_VECTOR (19 downto 0); @@ -154,11 +154,12 @@ architecture Behavioral of top is PORT1_ACTIVE : out STD_LOGIC; PORT2_ACTIVE : out STD_LOGIC; SOURCE_CE : out STD_LOGIC; + CDS_ENABLED : in STD_LOGIC; RESULT_INDEX : out STD_LOGIC_VECTOR (15 downto 0); DEBUG_STATUS : out STD_LOGIC_VECTOR (10 downto 0) ); END COMPONENT; - + COMPONENT Windowing PORT( CLK : IN std_logic; @@ -252,7 +253,7 @@ architecture Behavioral of top is MAX2871_DEF_3 : OUT std_logic_vector(31 downto 0); MAX2871_DEF_1 : OUT std_logic_vector(31 downto 0); MAX2871_DEF_0 : OUT std_logic_vector(31 downto 0); - SWEEP_DATA : OUT std_logic_vector(111 downto 0); + SWEEP_DATA : OUT std_logic_vector(95 downto 0); SWEEP_ADDRESS : OUT std_logic_vector(12 downto 0); SWEEP_WRITE : OUT std_logic_vector(0 to 0); SWEEP_POINTS : OUT std_logic_vector(12 downto 0); @@ -261,6 +262,7 @@ architecture Behavioral of top is SETTLING_TIME : out STD_LOGIC_VECTOR (19 downto 0); SYNC_ENABLED : out STD_LOGIC; SYNC_MASTER : out STD_LOGIC; + CDS_ENABLED : out STD_LOGIC; PORT1_STAGE : out STD_LOGIC_VECTOR (2 downto 0); PORT2_STAGE : out STD_LOGIC_VECTOR (2 downto 0); PORT1_EN : out STD_LOGIC; @@ -315,10 +317,10 @@ architecture Behavioral of top is ena : IN STD_LOGIC; wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0); addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0); - dina : IN STD_LOGIC_VECTOR(111 DOWNTO 0); + dina : IN STD_LOGIC_VECTOR(95 DOWNTO 0); clkb : IN STD_LOGIC; addrb : IN STD_LOGIC_VECTOR(12 DOWNTO 0); - doutb : OUT STD_LOGIC_VECTOR(111 DOWNTO 0) + doutb : OUT STD_LOGIC_VECTOR(95 DOWNTO 0) ); END COMPONENT; @@ -387,14 +389,15 @@ architecture Behavioral of top is signal sweep_sync_master : STD_LOGIC; signal sweep_port1_stage : STD_LOGIC_VECTOR (2 downto 0); signal sweep_port2_stage : STD_LOGIC_VECTOR (2 downto 0); - signal sweep_config_data : std_logic_vector(111 downto 0); + signal sweep_config_data : std_logic_vector(95 downto 0); + signal cds_enabled : std_logic; signal sweep_config_address : std_logic_vector(12 downto 0); signal sweep_source_filter : std_logic_vector(1 downto 0); signal sweep_band : std_logic; signal sweep_attenuator : std_logic_vector(6 downto 0); signal sweep_config_write_address : std_logic_vector(12 downto 0); - signal sweep_config_write_data : std_logic_vector(111 downto 0); + signal sweep_config_write_data : std_logic_vector(95 downto 0); signal sweep_config_write : std_logic_vector(0 downto 0); -- Phase adjustment signal from Sweep to Source PLL @@ -724,6 +727,7 @@ begin SWEEP_HALTED => sweep_halted, SWEEP_RESUME => sweep_resume, SOURCE_PHASE_ADJUST => source_phase_adjust, + CDS_ENABLED => cds_enabled, SYNC_ENABLED => sweep_sync_enabled, SYNC_MASTER => sweep_sync_master, TRIGGER_IN => sweep_trigger_in, @@ -815,6 +819,7 @@ begin SETTLING_TIME => settling_time, SYNC_ENABLED => sweep_sync_enabled, SYNC_MASTER => sweep_sync_master, + CDS_ENABLED => cds_enabled, PORT1_STAGE => sweep_port1_stage, PORT2_STAGE => sweep_port2_stage, SPI_OVERWRITE_ENABLED => HW_overwrite_enabled, diff --git a/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.cpp b/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.cpp index bce2a94..d4a8eb3 100644 --- a/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.cpp +++ b/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.cpp @@ -13,6 +13,7 @@ static FPGA::HaltedCallback halted_cb; static uint16_t SysCtrlReg = 0x0000; static uint16_t ISRMaskReg = 0x0000; +static uint16_t SweepSetupReg = 0x0000; static uint32_t ADC_samplerate; static volatile bool busy_reading = false; @@ -144,17 +145,27 @@ void FPGA::SetSettlingTime(uint16_t us) { } void FPGA::SetupSweep(uint8_t stages, uint8_t port1_stage, uint8_t port2_stage, bool synchronize, bool syncMaster) { - uint16_t value = 0x0000; - value |= (uint16_t) (stages & 0x07) << 13; + // Preserve CDS bit when updating sweep setup + SweepSetupReg = SweepSetupReg & 0x0800; // Keep bit 11 (CDS_ENABLED) + SweepSetupReg |= (uint16_t) (stages & 0x07) << 13; if(synchronize) { - value |= 0x1000; + SweepSetupReg |= 0x1000; } - value |= (port1_stage & 0x07) << 3; - value |= (port2_stage & 0x07) << 0; - WriteRegister(Reg::SweepSetup, value); + SweepSetupReg |= (port1_stage & 0x07) << 3; + SweepSetupReg |= (port2_stage & 0x07) << 0; + WriteRegister(Reg::SweepSetup, SweepSetupReg); Enable(Periphery::SyncMaster, syncMaster); } +void FPGA::SetCDSEnabled(bool enabled) { + if(enabled) { + SweepSetupReg |= 0x0800; // Set bit 11 + } else { + SweepSetupReg &= ~0x0800; // Clear bit 11 + } + WriteRegister(Reg::SweepSetup, SweepSetupReg); +} + void FPGA::Enable(Periphery p, bool enable) { if (enable) { SysCtrlReg |= (uint16_t) p; @@ -210,9 +221,8 @@ void FPGA::WriteMAX2871Default(uint32_t *DefaultRegs) { } void FPGA::WriteSweepConfig(uint16_t pointnum, bool lowband, uint32_t *SourceRegs, uint32_t *LORegs, - uint8_t attenuation, uint64_t frequency, Samples samples, bool halt, LowpassFilter filter, - uint16_t sourcePhase) { - uint16_t send[8]; + uint8_t attenuation, uint64_t frequency, Samples samples, bool halt, LowpassFilter filter) { + uint16_t send[7]; // select which point this sweep config is for send[0] = pointnum & 0x1FFF; // assemble sweep config from required fields of PLL registers @@ -230,48 +240,48 @@ void FPGA::WriteSweepConfig(uint16_t pointnum, bool lowband, uint32_t *SourceReg uint16_t Source_Power = (SourceRegs[4] & 0x00000018) >> 3; - // Config memory layout (112 bits): - // bits 111:100 - Source Phase P[11:0] - // bits 99:96 - Reserved - // bits 95:0 - Original 96-bit config + // Config memory layout (96 bits): + // bits 95:80 - LO_M[11:4], halt, LO_N[6], Source_N[6], samples[2:0], filter[1:0] + // bits 79:64 - LO_M[3:0], LO_FRAC[11:0] + // bits 63:48 - LO_DIV_A[2:0], LO_VCO[5:0], LO_N[5:0], lowband + // bits 47:32 - Source_Power[1:0], attenuation[6:0], Source_M[11:5] + // bits 31:16 - Source_M[4:0], Source_FRAC[11:1] + // bits 15:0 - Source_FRAC[0], Source_DIV_A[2:0], Source_VCO[5:0], Source_N[5:0] - // send[1]: bits 111:96 - Source Phase (12 bits) + Reserved (4 bits) - send[1] = (sourcePhase & 0x0FFF) << 4; // Phase in bits 15:4, reserved bits 3:0 - - // send[2]: bits 95:80 - LO_M[11:4], halt, LO_N[6], Source_N[6], samples[2:0], filter[1:0] - send[2] = LO_M >> 4; + // send[1]: bits 95:80 + send[1] = LO_M >> 4; if (halt) { - send[2] |= 0x8000; + send[1] |= 0x8000; } if(LO_N & 0x40) { - send[2] |= 0x4000; + send[1] |= 0x4000; } if(Source_N & 0x40) { - send[2] |= 0x2000; + send[1] |= 0x2000; } - send[2] |= (int) samples << 10; + send[1] |= (int) samples << 10; if(filter == LowpassFilter::Auto) { // Select source LP filter if (frequency >= 3500000000) { - send[2] |= (int) LowpassFilter::None << 8; + send[1] |= (int) LowpassFilter::None << 8; } else if (frequency >= 1800000000) { - send[2] |= (int) LowpassFilter::M3500 << 8; + send[1] |= (int) LowpassFilter::M3500 << 8; } else if (frequency >= 900000000) { - send[2] |= (int) LowpassFilter::M1880 << 8; + send[1] |= (int) LowpassFilter::M1880 << 8; } else { - send[2] |= (int) LowpassFilter::M947 << 8; + send[1] |= (int) LowpassFilter::M947 << 8; } } else { - send[2] |= (int) filter << 8; + send[1] |= (int) filter << 8; } - send[3] = (LO_M & 0x000F) << 12 | LO_FRAC; - send[4] = LO_DIV_A << 13 | LO_VCO << 7 | (LO_N & 0x3F) << 1; + send[2] = (LO_M & 0x000F) << 12 | LO_FRAC; + send[3] = LO_DIV_A << 13 | LO_VCO << 7 | (LO_N & 0x3F) << 1; if (lowband) { - send[4] |= 0x0001; + send[3] |= 0x0001; } - send[5] = Source_Power << 14 | (uint16_t) attenuation << 7 | Source_M >> 5; - send[6] = (Source_M & 0x001F) << 11 | Source_FRAC >> 1; - send[7] = (Source_FRAC & 0x0001) << 15 | Source_DIV_A << 12 | Source_VCO << 6 | (Source_N & 0x3F); + send[4] = Source_Power << 14 | (uint16_t) attenuation << 7 | Source_M >> 5; + send[5] = (Source_M & 0x001F) << 11 | Source_FRAC >> 1; + send[6] = (Source_FRAC & 0x0001) << 15 | Source_DIV_A << 12 | Source_VCO << 6 | (Source_N & 0x3F); SwitchBytes(send[0]); SwitchBytes(send[1]); SwitchBytes(send[2]); @@ -279,9 +289,8 @@ void FPGA::WriteSweepConfig(uint16_t pointnum, bool lowband, uint32_t *SourceReg SwitchBytes(send[4]); SwitchBytes(send[5]); SwitchBytes(send[6]); - SwitchBytes(send[7]); Low(CS); - HAL_SPI_Transmit(&FPGA_SPI, (uint8_t*) send, 16, 100); + HAL_SPI_Transmit(&FPGA_SPI, (uint8_t*) send, 14, 100); High(CS); } @@ -333,8 +342,10 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) { result.P2Q = assembleSampleResultValue(&raw[14]); result.RefI = assembleSampleResultValue(&raw[8]); result.RefQ = assembleSampleResultValue(&raw[2]); - result.pointNum = (uint16_t)(raw[38]&0x1F) << 8 | raw[39]; + // RESULT_INDEX format: stage[2:0] & point[11:0] & cds_phase result.stageNum = (raw[38] & 0xE0) >> 5; + result.pointNum = ((uint16_t)(raw[38] & 0x1F) << 7) | (raw[39] >> 1); + result.cdsPhase = raw[39] & 0x01; High(CS); busy_reading = false; if ((status & 0x0004) && callback) { diff --git a/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.hpp b/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.hpp index b060190..b3f002c 100644 --- a/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.hpp +++ b/Software/VNA_embedded/Application/Drivers/FPGA/FPGA.hpp @@ -37,8 +37,9 @@ using SamplingResult = struct _samplingresult { int64_t P1I, P1Q; int64_t P2I, P2Q; int64_t RefI, RefQ; - uint16_t pointNum :13; + uint16_t pointNum :12; uint16_t stageNum :3; + uint16_t cdsPhase :1; // 0 = first measurement (phase 0), 1 = second measurement (phase 180) }; using DFTResult = struct _dftresult { @@ -120,8 +121,8 @@ void DisableInterrupt(Interrupt i); void DisableAllInterrupts(); void WriteMAX2871Default(uint32_t *DefaultRegs); void WriteSweepConfig(uint16_t pointnum, bool lowband, uint32_t *SourceRegs, uint32_t *LORegs, - uint8_t attenuation, uint64_t frequency, Samples samples, bool halt = false, LowpassFilter filter = LowpassFilter::Auto, - uint16_t sourcePhase = 0); + uint8_t attenuation, uint64_t frequency, Samples samples, bool halt = false, LowpassFilter filter = LowpassFilter::Auto); +void SetCDSEnabled(bool enabled); using ReadCallback = void(*)(const SamplingResult &result); bool InitiateSampleRead(ReadCallback cb); void SetupDFT(uint32_t f_firstBin, uint32_t f_binSpacing); diff --git a/Software/VNA_embedded/Application/VNA.cpp b/Software/VNA_embedded/Application/VNA.cpp index 81f784d..00f07c3 100644 --- a/Software/VNA_embedded/Application/VNA.cpp +++ b/Software/VNA_embedded/Application/VNA.cpp @@ -55,14 +55,13 @@ static constexpr uint8_t PLLRefFreqsNum = sizeof(PLLRefFreqs)/sizeof(PLLRefFreqs static uint8_t sourceRefIndex, LO1RefIndex; // Correlated Double Sampling (CDS) state -static uint8_t cdsPhaseCount; // Number of phase samples (0 or 2-7) +// CDS is now handled by FPGA which takes 2 measurements at 0° and 180° phase +static bool cdsEnabled; // CDS accumulators for weighted samples, per stage (max 8 stages) // I and Q for each receiver: Port1, Port2, Reference static double cdsAccumP1I[8], cdsAccumP1Q[8]; static double cdsAccumP2I[8], cdsAccumP2Q[8]; static double cdsAccumRefI[8], cdsAccumRefQ[8]; -// Precomputed cosine weights for CDS -static float cdsWeights[7]; // Max 7 phases using namespace HWHAL; @@ -177,34 +176,20 @@ bool VNA::Setup(Protocol::SweepSettings s) { logMultiplier = pow((double) settings.f_stop / settings.f_start, 1.0 / (settings.points-1)); // Initialize Correlated Double Sampling (CDS) - cdsPhaseCount = settings.cdsPhases >= 2 ? settings.cdsPhases : 0; + // CDS is now handled by FPGA with 180° phase shift (2 measurements per point) + cdsEnabled = settings.cdsPhases >= 2; // Clear per-stage accumulators for(uint8_t stg = 0; stg < 8; stg++) { cdsAccumP1I[stg] = cdsAccumP1Q[stg] = 0; cdsAccumP2I[stg] = cdsAccumP2Q[stg] = 0; cdsAccumRefI[stg] = cdsAccumRefQ[stg] = 0; } - // Precompute cosine weights: cos(2*pi*k/N) - if(cdsPhaseCount >= 2) { - for(uint8_t k = 0; k < cdsPhaseCount; k++) { - cdsWeights[k] = cosf(2.0f * M_PI * k / cdsPhaseCount); - } - } - // Calculate internal point count (multiply by CDS phases if enabled) - uint16_t internalPoints = settings.points; - if(cdsPhaseCount >= 2) { - internalPoints = settings.points * cdsPhaseCount; - if(internalPoints > FPGA::MaxPoints) { - // Reduce user points to fit - settings.points = FPGA::MaxPoints / cdsPhaseCount; - internalPoints = settings.points * cdsPhaseCount; - LOG_WARN("CDS: reduced points to %u to fit FPGA limit", settings.points); - } - } + // Configure CDS in FPGA (FPGA handles the phase switching internally) + FPGA::SetCDSEnabled(cdsEnabled); // Configure sweep - FPGA::SetNumberOfPoints(internalPoints); + FPGA::SetNumberOfPoints(settings.points); uint32_t samplesPerPoint = (HW::getADCRate() / s.if_bandwidth); // round up to next multiple of 16 (16 samples are spread across 5 IF2 periods) if(samplesPerPoint%16) { @@ -324,33 +309,11 @@ bool VNA::Setup(Protocol::SweepSettings s) { needs_halt = true; } - // Write sweep config(s) for this user point - if(cdsPhaseCount >= 2) { - // CDS enabled: write N configs with different phases - // Extract Source M from PLL registers for phase calculation - uint32_t* sourceRegs = Source.GetRegisters(); - uint16_t Source_M = (sourceRegs[1] & 0x00007FF8) >> 3; - - for(uint8_t k = 0; k < cdsPhaseCount; k++) { - uint16_t internalPointNum = i * cdsPhaseCount + k; - // Calculate phase: sourcePhase = M * k / N - // This gives phase = k * 360 / N degrees - uint16_t sourcePhase = (uint16_t)((uint32_t)Source_M * k / cdsPhaseCount); - - // Only halt on first CDS phase of each point (if needed) - bool pointHalt = (k == 0) ? needs_halt : false; - - FPGA::WriteSweepConfig(internalPointNum, lowband, sourceRegs, - LO1.GetRegisters(), attenuator, freq, - FPGA::Samples::SPPRegister, pointHalt, FPGA::LowpassFilter::Auto, - sourcePhase); - } - } else { - // No CDS: single config per point - FPGA::WriteSweepConfig(i, lowband, Source.GetRegisters(), - LO1.GetRegisters(), attenuator, freq, - FPGA::Samples::SPPRegister, needs_halt); - } + // Write sweep config for this point + // CDS is handled by FPGA internally - it takes 2 measurements per point when enabled + FPGA::WriteSweepConfig(i, lowband, Source.GetRegisters(), + LO1.GetRegisters(), attenuator, freq, + FPGA::Samples::SPPRegister, needs_halt); last_lowband = lowband; } // reset a possibly changed PLL reference index @@ -428,19 +391,18 @@ bool VNA::MeasurementDone(const FPGA::SamplingResult &result) { if(!active) { return false; } - if(result.pointNum != pointCnt || result.stageNum != stageCnt) { - LOG_WARN("Indicated point does not match (%u != %u, %d != %d)", result.pointNum, pointCnt, result.stageNum, stageCnt); - FPGA::AbortSweep(); - return false; - } - if(cdsPhaseCount >= 2) { - // CDS mode: accumulate weighted samples per stage - // Internal point mapping: user_point = pointCnt / cdsPhaseCount - // cds_phase = pointCnt % cdsPhaseCount - uint16_t userPoint = pointCnt / cdsPhaseCount; - uint8_t cdsPhase = pointCnt % cdsPhaseCount; - float weight = cdsWeights[cdsPhase]; + if(cdsEnabled) { + // CDS mode: FPGA returns 2 measurements per point (cdsPhase 0 and 1) + // Verify point and stage numbers match expected values + if(result.pointNum != pointCnt || result.stageNum != stageCnt) { + LOG_WARN("Indicated point does not match (%u != %u, %d != %d)", result.pointNum, pointCnt, result.stageNum, stageCnt); + FPGA::AbortSweep(); + return false; + } + + // Weight: +1.0 for phase 0 (0°), -1.0 for phase 1 (180°) + float weight = result.cdsPhase == 0 ? 1.0f : -1.0f; // Accumulate weighted values into per-stage accumulators cdsAccumP1I[stageCnt] += result.P1I * weight; @@ -450,24 +412,24 @@ bool VNA::MeasurementDone(const FPGA::SamplingResult &result) { cdsAccumRefI[stageCnt] += result.RefI * weight; cdsAccumRefQ[stageCnt] += result.RefQ * weight; - // Check if all stages for this internal point are complete + // Check if all stages for this CDS phase are complete stageCnt++; if(stageCnt > settings.stages) { stageCnt = 0; - // Check if this was the last CDS phase for this user point - if(cdsPhase == cdsPhaseCount - 1) { - // All CDS phases complete - add combined values to data + // Check if this was the second CDS phase (phase 1 = 180°) + if(result.cdsPhase == 1) { + // Both CDS phases complete - add combined values to data for(uint8_t stg = 0; stg <= settings.stages; stg++) { data.addValue((int64_t)cdsAccumP1I[stg], (int64_t)cdsAccumP1Q[stg], stg, (int) Protocol::Source::Port1); data.addValue((int64_t)cdsAccumP2I[stg], (int64_t)cdsAccumP2Q[stg], stg, (int) Protocol::Source::Port2); data.addValue((int64_t)cdsAccumRefI[stg], (int64_t)cdsAccumRefQ[stg], stg, (int) Protocol::Source::Port1 | (int) Protocol::Source::Port2 | (int) Protocol::Source::Reference); - // Reset accumulators for next user point + // Reset accumulators for next point cdsAccumP1I[stg] = cdsAccumP1Q[stg] = 0; cdsAccumP2I[stg] = cdsAccumP2Q[stg] = 0; cdsAccumRefI[stg] = cdsAccumRefQ[stg] = 0; } - data.pointNum = userPoint; + data.pointNum = pointCnt; if(zerospan) { uint64_t timestamp = HW::getLastISRTimestamp(); @@ -479,24 +441,31 @@ bool VNA::MeasurementDone(const FPGA::SamplingResult &result) { data.us = timestamp - firstPointTime; } } else { - data.frequency = getPointFrequency(userPoint); - data.cdBm = settings.cdbm_excitation_start + (settings.cdbm_excitation_stop - settings.cdbm_excitation_start) * userPoint / (settings.points - 1); + data.frequency = getPointFrequency(pointCnt); + data.cdBm = settings.cdbm_excitation_start + (settings.cdbm_excitation_stop - settings.cdbm_excitation_start) * pointCnt / (settings.points - 1); } - // Send data for this user point + // Send data for this point STM::DispatchToInterrupt(PassOnData); // Check if sweep is complete - if(userPoint >= settings.points - 1) { + if(pointCnt >= settings.points - 1) { pointCnt = 0; return true; // End of sweep } + pointCnt++; } - pointCnt++; } return false; } + // Non-CDS mode: verify point matches + if(result.pointNum != pointCnt || result.stageNum != stageCnt) { + LOG_WARN("Indicated point does not match (%u != %u, %d != %d)", result.pointNum, pointCnt, result.stageNum, stageCnt); + FPGA::AbortSweep(); + return false; + } + // Non-CDS mode: original behavior data.addValue(result.P1I, result.P1Q, stageCnt, (int) Protocol::Source::Port1); data.addValue(result.P2I, result.P2Q, stageCnt, (int) Protocol::Source::Port2);