Hello,
I would like access to the I and Q output data (12 bits each) from ADC
U601
using the debug headers from two RFX2400 daughterboards and was
wondering if
someone could assist my understanding and tell me if what I am doing is
right or wrong prior to my actually implementing this on the USRP.
Specific
questions are labelled with a “Q” in what follows.
Based on a couple of mailing list discussions I was able to figure out
the
following. Output enable all the general purpose i/o pins referred to
below:
-
Each d’board has 16-bits of general purpose i/o.
-
Setting the bit makes it an output from the FPGA to the d’board.
-
This register is initialized based on a value stored in the
-
d’board EEPROM. In general, you shouldn’t be using this routine
-
without a very good reason. Using this method incorrectly will
-
kill your USRP motherboard and/or daughterboard.
*/
bool _write_oe (int which_dboard, int value, int mask);
u = usrp.sink_c(0, 64)
side0 = 0 # side A
u._write_oe(side0, 0xffff, 0xffff) # set all i/o pins as outputs
side1=1 # side B
u._write_oe(side1, 0xffff, 0xffff) # set all i/o pins as outputs
Next output enable the debug pins and enable them as debug outputs.
u._write_fpga_reg(FR_DEBUG_EN, ??) <-- Q. I am not sure how to safely
output enable the debug outputs. Would 0xf do the job?
Q. I am also not sure how to assign the 12 I bits and the 12 Q bits
from U601 across
the daughterboard headers. Would the following in usrp_std.v
(master_control) do the trick?
.debug_0(rx_a_a[11:4]),.debug_1(rx_a_a[3:0]),
.debug_2(rx_b_a[11:4]),.debug_3(rx_b_a[3:0]),
);
Q. I was a little confused about the “RX Nets” beside J24 and “TX
Nets” beside J101 in the
2400 receiver and transmitter schematics, respectively. Can someone
please explain?
Thanks very much in advance!
-Nikhil