discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Re: Changing interp rate dynamically?


From: Matt Ettus
Subject: Re: [Discuss-gnuradio] Re: Changing interp rate dynamically?
Date: Sun, 14 Oct 2007 20:53:39 -0700
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

Then the interpolator will need to be reset when changing the
interpolation rate.  This will require a verilog change.

Matt

Michael Dickens wrote:
> On Oct 10, 2007, at 2:49 PM, Matt Ettus wrote:
>> I think the problem is that the CIC interpolator needs to be stopped
>> before you change the rate.  It may also need to be reset, but I don't
>> think so.  I think the decimator had the same problem a while ago, and
>> it was fixed by stopping, changing the rate, and then restarting.  This
>> should be somewhere in the host code.
>
> All of the following in usrp/host/apps/lib/legacy/
>
> By "stop" do you mean "disable"?  From usrp_standard.cc:627
> ++++
>   bool s = disable_tx ();
>   bool ok = _write_fpga_reg (FR_INTERP_RATE, d_interp_rate/4 - 1);
>   restore_tx (s);
> ++++
>
> The decim code does exactly the same thing usrp_standard.cc:251
> ++++
>   bool s = disable_rx ();
>   int v = has_rx_halfband() ? d_decim_rate/2 - 1 : d_decim_rate - 1;
>   bool ok = _write_fpga_reg (FR_DECIM_RATE, v);
>   restore_rx (s);
> ++++
> The code for "disable_XX" and "restore_XX" are in usrp_basic.cc; RX is
> 634:636 and TX is 1070:1096.  Both of these eventually call
> "usrp_set_fpga_XX_enable()", which are in usrp_prims.cc: 644:654. 
> Both of these functions call "usrp_set_switch()" with
> VRQ_FPGA_SET_xx_ENABLE, which is at usrp_prims.cc:570, and just does a
> write_cmd over USB to the FPGA at that register.
>
> Possibly the code for disable_tx isn't doing what it's supposed to do,
> w/r.t. writing to the FPGA's register?  I have verified that the local
> code and variables are doing what they're supposed to do.
>
> Any other places I should be investigating?  Thanks! - MLD





reply via email to

[Prev in Thread] Current Thread [Next in Thread]