|
From: | Nirali Patel |
Subject: | [Discuss-gnuradio] I and Q samples out of FPGA receive chain |
Date: | Thu, 1 Nov 2007 13:05:56 -0500 |
Hi, I am using the USRP and
TV_RX in slot B to capture over the air signals. I understand the receive chain
processing inside of the FPGA and was trying to get the complex 16-bit I and Q
samples out at the debug IO pins. As a dry run I tried connecting 12-bit the
rx_a_b input to the debug IO pins and could do so successfully by enabling
appropriate registers and modifying usrp_std.v. However, in the usrp_std.v I am
unable to pinpoint the signals that carry I and Q channels that come out of the
receive chain. I tried routing the bb_rx_i0 and bb_rx_q0 signals that come out
of the rx_chain_0 block. Since I am running 1rx and 1tx configuration only
rx_chain_0 is enabled, I guess. However I do not see any outputs when I connect
these signals to the debug pins using debug_0(bb_rx_q0),.debug_1(bb_rx_i0). I
have a Basic RX and Basic TX in A slots to look at the outputs. I also tried
routing the signals labeled ch0rx, ch1rx to debug pins but still no outputs.
Then in my desperation I tried routing the rest of ch2rx to ch7rx to debug pins
with a new rbf file everytime but still no outputs. I could verify that the ddc0_in_i
signals are toggling but the bb_rx_i0 and bb_rx_q0 do not seem to toggle. I
would like to look at individual I Q signals and then eventually connect the
interleaved I and Q that go to the USB. Any help/guidelines
appreciated. Thanks, Nirali Patel assign ch0rx =
counter ? debug_counter : loopback ? loopback_i_0 : bb_rx_i0; assign ch1rx =
counter ? debug_counter + 16'd1 : loopback ? loopback_q_0 : bb_rx_q0; assign ch2rx =
bb_rx_i1; assign ch3rx =
bb_rx_q1; assign ch4rx =
bb_rx_i2; assign ch5rx =
bb_rx_q2; assign ch6rx =
bb_rx_i3; assign ch7rx =
bb_rx_q3; wire [15:0]
ddc0_in_i,ddc0_in_q,ddc1_in_i,ddc1_in_q,ddc2_in_i,ddc2_in_q,ddc3_in_i,ddc3_in_q; wire [31:0]
rssi_0,rssi_1,rssi_2,rssi_3; adc_interface
adc_interface(.clock(clk64),.reset(rx_dsp_reset),.enable(1'b1),
.serial_addr(serial_addr),.serial_data(serial_data),.serial_strobe(serial_strobe),
.rx_a_a(rx_a_a),.rx_b_a(rx_b_a),.rx_a_b(rx_a_b),.rx_b_b(rx_b_b),
.rssi_0(rssi_0),.rssi_1(rssi_1),.rssi_2(rssi_2),.rssi_3(rssi_3),
.ddc0_in_i(ddc0_in_i),.ddc0_in_q(ddc0_in_q),
.ddc1_in_i(ddc1_in_i),.ddc1_in_q(ddc1_in_q),
.ddc2_in_i(ddc2_in_i),.ddc2_in_q(ddc2_in_q),
.ddc3_in_i(ddc3_in_i),.ddc3_in_q(ddc3_in_q),.rx_numchan(rx_numchan) ); `ifdef RX_EN_0 rx_chain
#(`FR_RX_FREQ_0,`FR_RX_PHASE_0) rx_chain_0 (
.clock(clk64),.reset(1'b0),.enable(enable_rx),
.decim_rate(decim_rate),.sample_strobe(rx_sample_strobe),.decimator_strobe(strobe_decim),.hb_strobe(hb_strobe),
.serial_addr(serial_addr),.serial_data(serial_data),.serial_strobe(serial_strobe),
.i_in(ddc0_in_i),.q_in(ddc0_in_q),.i_out(bb_rx_i0),.q_out(bb_rx_q0),.debugdata(debugdata),.debugctrl(debugctrl)); `else
assign bb_rx_i0=16'd0;
assign bb_rx_q0=16'd0; `endif |
[Prev in Thread] | Current Thread | [Next in Thread] |