Przeglądaj źródła

Подбираются настройки цифрового фильтра-дециматора.

Shalambala 2 lat temu
rodzic
commit
dd97a708f9

Plik diff jest za duży
+ 25 - 93
S5443_M/S5443.srcs/constrs_1/new/S5443Top.xdc


+ 28 - 28
S5443_M/S5443.srcs/sources_1/new/ExtDspInterface/DspInterface.v

@@ -229,33 +229,33 @@ DecimFilterWrapper	DecimFilter
 	.FilteredDataVal_o	(filteredDecimDataVal)
 );
 
-// FftDataFormer	FftDataFormerInst
-// (
-	// .Clk_i				(Clk_i), 
-	// .Rst_i				(Rst_i),	
-	// .OscWind_i			(OscWind_i),
-	// .MeasNum_i			(MeasNum_i),
-	
-	// .AdcData_i			({filteredDecimDataI,filteredDecimDataQ}),
+FftDataFormer	FftDataFormerInst
+(
+	.Clk_i				(Clk_i), 
+	.Rst_i				(Rst_i),	
+	.OscWind_i			(OscWind_i),
+	.MeasNum_i			(MeasNum_i),
+	
+	.AdcData_i			({filteredDecimDataI,filteredDecimDataQ}),
 	// .AdcData_i			({testPatternData,testPatternData}),
-	// .AdcDataVal_i		(filteredDecimDataVal),
+	.AdcDataVal_i		(filteredDecimDataVal),
 	
-	// .OscDataBus_o		(fftDataBus),
-	// .OscDataBusVal_o	(fftDataBusVal)
-// );
+	.OscDataBus_o		(fftDataBus),
+	.OscDataBusVal_o	(fftDataBusVal)
+);
 
-// OscDataFormer	BypassDataFormer
-// (
-	// .Clk_i				(Clk_i), 
-	// .Rst_i				(Rst_i),	
-	// .OscWind_i			(OscWind_i),
-	// .MeasNum_i			(MeasNum_i),
-	
-	// .AdcData_i			(currDataChannel),	
-	
-	// .OscDataBus_o		(bypassDataBus),
-	// .OscDataBusVal_o	(bypassDataBusVal)
-// );
+OscDataFormer	BypassDataFormer
+(
+	.Clk_i				(Clk_i), 
+	.Rst_i				(Rst_i),	
+	.OscWind_i			(OscWind_i),
+	.MeasNum_i			(MeasNum_i),
+	
+	.AdcData_i			(currDataChannel),	
+	
+	.OscDataBus_o		(bypassDataBus),
+	.OscDataBusVal_o	(bypassDataBusVal)
+);
 
 always	@(posedge	Clk_i)	begin
 	if	(!Rst_i)	begin
@@ -290,10 +290,10 @@ MeasDataFifoInst
 	.MeasNum_i		(MeasNum_i),	
 	.StartMeasDsp_i	(StartMeasDsp_i),	
 	.DspReadyForRx_i(DspReadyForRx_i),	
-	.MeasDataBus_i	(measDataBus),
-	// .MeasDataBus_i	(dataForFifo),
-	.MeasDataVal_i	(LpOutStart_i),	
-	// .MeasDataVal_i	(dataForFifoVal),	
+	// .MeasDataBus_i	(measDataBus),
+	.MeasDataBus_i	(dataForFifo),
+	// .MeasDataVal_i	(LpOutStart_i),	
+	.MeasDataVal_i	(dataForFifoVal),	
 	
 	.MeasDataBus_o	(measDataBusTx),
 	.MeasDataVal_o	(measDataValTx)

+ 6 - 7
S5443_M/S5443.srcs/sources_1/new/FftDataFiltering/DecimFilterWrapper.v

@@ -21,9 +21,9 @@
 module	DecimFilterWrapper
 #(	
 	parameter	AdcDataWidth		=	14,
-	parameter	N	=	4,
+	parameter	N	=	2,
 	parameter	M	=	1,
-	parameter	FilteredDataWidth	=	21,
+	parameter	FilteredDataWidth	=	26,
 	parameter	FirOutDataWidth		=	48,
 	parameter	FirOutCutBit		=	42
 )
@@ -118,7 +118,7 @@ AdcNcoSinMult
 	.Clk_i		(Clk_i),
 	.Val_i		(1'b1),
 	.FactorA_i	(ncoSin),
-	.FactorB_i	(ncoSin),	
+	.FactorB_i	(AdcData_i),	
 	.Result_o	(adcSinResult),
 	.ResultVal_o(adcSinVal)
 );
@@ -135,7 +135,7 @@ AdcNcoCosMult
 	.Clk_i		(Clk_i),
 	.Val_i		(1'b1),
 	.FactorA_i	(ncoCos),
-	.FactorB_i	(ncoSin),
+	.FactorB_i	(AdcData_i),
 	.Result_o	(adcCosResult),
 	.ResultVal_o(adcCosVal)
 );
@@ -153,7 +153,7 @@ cicFilterInstI
 	.Clk_i			(Clk_i),
 	.Rst_i			(Rst_i),
 	.DecimFactor_i	(DecimFactor_i),
-	// .Data_i			({{7{AdcData_i[AdcDataWidth-1]}},AdcData_i}),
+	// .Data_i			({{12{AdcData_i[AdcDataWidth-1]}},AdcData_i}),
 	.Data_i			(adcCosResult),
 	.DataNd_i		(OscWind_i),
 	.Data_o			(decimDataI),
@@ -173,8 +173,7 @@ cicFilterInstQ
 	.Clk_i			(Clk_i),
 	.Rst_i			(Rst_i),
 	.DecimFactor_i	(DecimFactor_i),
-	// .Data_i			(AdcData_i),
-	// .Data_i			({{7{AdcData_i[AdcDataWidth-1]}},AdcData_i}),
+	// .Data_i			({{12{AdcData_i[AdcDataWidth-1]}},AdcData_i}),
 	.Data_i			(adcSinResult),
 	.DataNd_i		(OscWind_i),
 	.Data_o			(decimDataQ),

+ 9 - 9
S5443_M/S5443.srcs/sources_1/new/S5443Top.v

@@ -699,15 +699,15 @@ ExternalDspInterface
 	
 	.OscDataRdFlag_o	(oscDataRdFlag),
 	
-	.Adc1ChT1Data_i		(adc1ChT1Data),	
-	.Adc1ChR1Data_i		(adc1ChR1Data),	
-	.Adc2ChR2Data_i		(adc2ChT2Data),	
-	.Adc2ChT2Data_i		(adc2ChR2Data),	
-
-	// .Adc1ChT1Data_i		(AdcData_i),	
-	// .Adc1ChR1Data_i		(AdcData_i),	
-	// .Adc2ChR2Data_i		(AdcData_i),	
-	// .Adc2ChT2Data_i		(AdcData_i),	
+	// .Adc1ChT1Data_i		(adc1ChT1Data),	
+	// .Adc1ChR1Data_i		(adc1ChR1Data),	
+	// .Adc2ChR2Data_i		(adc2ChT2Data),	
+	// .Adc2ChT2Data_i		(adc2ChR2Data),	
+
+	.Adc1ChT1Data_i		(AdcData_i),	
+	.Adc1ChR1Data_i		(AdcData_i),	
+	.Adc2ChR2Data_i		(AdcData_i),	
+	.Adc2ChT2Data_i		(AdcData_i),	
 	
 	// .Adc1ChT1Data_i		(14'h1fff),	
 	// .Adc1ChR1Data_i		(14'h257f),	

+ 10 - 10
S5443_M/S5443.srcs/sources_1/new/S5443TopPulseProfileTb.v

@@ -325,8 +325,7 @@ S5443Top MasterFpga
 	
 	//fpga-dsp signals
 	.StartMeas_i		(startCalcCmdReg),
-	// .StartMeas_i		(1'b0),
-	.StartMeas_o		(startMeasS),
+	.StartMeasEvent_o	(startMeasS),
 	.EndMeas_o			(endMeas),
 	.TimersClk_o		(),
 	
@@ -347,10 +346,11 @@ S5443Top MasterFpga
 	.Mod_o				(),	
 	
 	//gain lines
-	.SensEnM_io			(sensEn),
-	.AmpEn_o			(),	//	0-adc1ChA 1-adc1ChB 2-adc2ChA 3-adc2ChB
-	.AdcData_i			(sin_value[17-:14])
-	// .AdcData_i			(Data_i)
+	.DspReadyForRx_i		(1'b0),
+	.DspReadyForRxToFpgaS_o	(),
+	.AmpEn_o				(),	//	0-adc1ChA 1-adc1ChB 2-adc2ChA 3-adc2ChB
+	// .AdcData_i				(sin_value[17-:14])
+	.AdcData_i			(Data_i)
 );
 
 parameter	IDLE	=	2'h0;
@@ -546,9 +546,9 @@ always	@(posedge	Clk41)	begin
 			DspSpiData		<=	MuxCtrl3RegCmd;
 		end	else	if	(cmdCnt	==	68)	begin
 			DspSpiData		<=	AdcCtrl;
-		end	else	if	(cmdCnt	==	200)	begin
-			DspSpiData		<=	AdcCtrl;
-		end	else	if	(cmdCnt	==	250)	begin
+		end	else	if	(cmdCnt	==	99)	begin
+			DspSpiData		<=	{8'h58,24'd100};
+		end	else	if	(cmdCnt	==	100)	begin
 			DspSpiData		<=	MeasCmdFft;
 		end else	begin
 			DspSpiData	<=	32'hfffffff;
@@ -633,7 +633,7 @@ end
 	real signal;
 	always @ (posedge Clk50)
 		begin
-			if (tb_cnt >= 11200)
+			if (tb_cnt >= 4505)
 				begin
 					phase = phase + phaseInc;
 					phaseInc <= phaseInc + 0.0005;