Usrp TX mux settings

I think i’ve narrowed down the problems with my code to the mux setting
for
the usrp system. Is there anywhere you could point me to for a list of
possible values for that mux, currently i’m just using one i found in a
demo
program but can’t seem to find a list of all possible values.
-Garrett McGrath

On Thu, May 18, 2006 at 08:11:30PM -0400, Garrett McGrath wrote:

I think i’ve narrowed down the problems with my code to the mux setting for
the usrp system. Is there anywhere you could point me to for a list of
possible values for that mux, currently i’m just using one i found in a
demo
program but can’t seem to find a list of all possible values.
-Garrett McGrath

Use the source, Luke :wink:

From usrp/host/lib/usrp_standard.h:

Receive mux:

/*!

  • \brief Set input mux configuration.
  • This determines which ADC (or constant zero) is connected to
  • each DDC input. There are 4 DDCs. Each has two inputs.
  • 
    
  • Mux value:
  • 3 2 1
  • 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  • ±------±------±------±------±------±------±------±------+
  • | Q3 | I3 | Q2 | I2 | Q1 | I1 | Q0 | I0 |
  • ±------±------±------±------±------±------±------±------+
  • Each 4-bit I field is either 0,1,2,3
  • Each 4-bit Q field is either 0,1,2,3 or 0xf (input is const zero)
  • All Q’s must be 0xf or none of them may be 0xf

*/
bool set_mux (int mux);

Transmit mux:

/*!

  • \brief Set output mux configuration.
  • 
    
  • 3                   2                   1
    
  • 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  • ±------------------------------±------±------±------±------+
  • | | DAC3 | DAC2 | DAC1 | DAC0 |
  • ±------------------------------±------±------±------±------+
  • There are two interpolators with complex inputs and outputs.
  • There are four DACs.
  • Each 4-bit DACx field specifies the source for the DAC and
  • whether or not that DAC is enabled. Each subfield is coded
  • like this:
  • 3 2 1 0
    
  • ±±----+
  • |E| N |
  • ±±----+
  • Where E is set if the DAC is enabled, and N specifies which
  • interpolator output is connected to this DAC.
  • N which interp output

  • 0 chan 0 I
  • 1 chan 0 Q
  • 2 chan 1 I
  • 3 chan 1 Q

*/
bool set_mux (int mux);

In the USRP source code directory, look for the file
doc/html/classusrp__standard__tx.html. Then you should find:

bool usrp_standard_tx::set_mux ( int mux )

Set output mux configuration.

 3                   2                   1

1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
±------------------------------±------±------±------±------+
| | DAC3 | DAC2 | DAC1 | DAC0 |
±------------------------------±------±------±------±------+

There are two interpolators with complex inputs and outputs.
There are four DACs.

Each 4-bit DACx field specifies the source for the DAC and
whether or not that DAC is enabled. Each subfield is coded
like this:

 3 2 1 0
+-+-----+
|E|  N  |
+-+-----+

Where E is set if the DAC is enabled, and N specifies which
interpolator output is connected to this DAC.

N which interp output


0 chan 0 I
1 chan 0 Q
2 chan 1 I
3 chan 1 Q

Regards,

Pascal