From a44b72ba2a9e572145cf96a7b9f7758bc58238be Mon Sep 17 00:00:00 2001 From: jcorgan Date: Mon, 17 Sep 2007 22:08:05 +0000 Subject: [PATCH] Merged -r6379:6451 from jcorgan/radar into trunk. Adds working receiver implementation to gr-radar-mono. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@6452 221aa14e-8319-0410-a670-987f0aec2ac5 --- config/grc_gr_radar_mono.m4 | 1 + gr-radar-mono/README | 29 ++-- gr-radar-mono/src/fpga/Makefile.am | 2 +- gr-radar-mono/src/fpga/lib/Makefile.am | 2 +- gr-radar-mono/src/fpga/lib/radar.v | 13 +- gr-radar-mono/src/fpga/lib/radar_control.v | 15 +- gr-radar-mono/src/fpga/lib/radar_rx.v | 96 ++++++------ gr-radar-mono/src/fpga/models/Makefile.am | 27 ++++ gr-radar-mono/src/fpga/models/fifo_1clk.v | 88 +++++++++++ gr-radar-mono/src/fpga/tb/radar_tb.sav | 19 ++- gr-radar-mono/src/fpga/tb/radar_tb.sh | 6 +- .../src/fpga/top/usrp_radar_mono.rbf | Bin 122679 -> 123637 bytes gr-radar-mono/src/fpga/top/usrp_radar_mono.v | 8 +- gr-radar-mono/src/python/radar_mono.py | 146 ++++++++++-------- gr-radar-mono/src/python/usrp_radar_mono.py | 63 +++----- 15 files changed, 330 insertions(+), 185 deletions(-) create mode 100644 gr-radar-mono/src/fpga/models/Makefile.am create mode 100644 gr-radar-mono/src/fpga/models/fifo_1clk.v diff --git a/config/grc_gr_radar_mono.m4 b/config/grc_gr_radar_mono.m4 index 9793f512..cbc2f8de 100644 --- a/config/grc_gr_radar_mono.m4 +++ b/config/grc_gr_radar_mono.m4 @@ -27,6 +27,7 @@ AC_DEFUN([GRC_GR_RADAR_MONO],[ gr-radar-mono/src/fpga/Makefile \ gr-radar-mono/src/fpga/top/Makefile \ gr-radar-mono/src/fpga/lib/Makefile \ + gr-radar-mono/src/fpga/models/Makefile \ gr-radar-mono/src/fpga/tb/Makefile \ gr-radar-mono/src/lib/Makefile \ gr-radar-mono/src/python/Makefile \ diff --git a/gr-radar-mono/README b/gr-radar-mono/README index 0ecf4e38..577c8e09 100644 --- a/gr-radar-mono/README +++ b/gr-radar-mono/README @@ -1,28 +1,32 @@ This GNU Radio component implements a monostatic radar transmitter and receiver. It uses a custom FPGA build to generate a linear -FM chirp waveform directly in the USRP. Echo returns are (will be) -recorded to a file for offline analysis. +FM chirp waveform directly in the USRP. Echo returns are recorded +to a file for offline analysis. The LFM chirp can be up to 32 MHz in width, whose center frequency is set by which transmit daughter board is installed. This gives a range resolution of approximately 5 meters. -Only boards in slot A are supported. - The script to run is placed in $prefix/bin: Usage: usrp_radar_mono.py [options] Options: -h, --help show this help message and exit + -T TX_SUBDEV_SPEC, --tx-subdev-spec=TX_SUBDEV_SPEC + use transmitter board side A or B (default is first + found) + -R RX_SUBDEV_SPEC, --rx-subdev-spec=RX_SUBDEV_SPEC + use receiver board side A or B (default is first + found) + -g GAIN, --gain=GAIN set gain in dB (default is midpoint) -f FREQ, --frequency=FREQ set transmitter center frequency to FREQ in Hz, default is 0.0 -w FREQ, --chirp-width=FREQ - set LFM chirp bandwidth in Hz, default is 32000000.0 + set LFM chirp bandwidth in Hz, default is 32M -a AMPLITUDE, --amplitude=AMPLITUDE - set waveform amplitude in % full scale, default is - 100, + set waveform amplitude in % full scale, default is 15, --ton=TON set pulse on period in seconds, default is 5e-06, --tsw=TSW set transmitter switching period in seconds, default is 4.0625e-07, @@ -31,6 +35,8 @@ Options: 10000.0, -v, --verbose enable verbose output, default is disabled -D, --debug enable debugging output, default is disabled + -F FILENAME, --filename=FILENAME + log received echos to file The transmitter creates an LFM chirp, evenly centered on the supplied frequency. The four timing parameters are: @@ -50,15 +56,12 @@ prf Pulse repetition frequency in Hz. This establishes to overall pulse repetition period, which results in idle time between when the receiver is turned off and the next transmitted chirp begins. -Currently, only the transmitter is written. Also, there is not yet any sanity -checks on the supplied parameters to the script. - -The receiver, when completed, will record the radar returns, preserving phase, -into a file with metadata about each chirp. +The transmitter is completed. The receive path is logging echo data to a supplied +file; however, no meta-data is logged. This is experimental code. Johnathan Corgan Corgan Enterprises LLC jcorgan@corganenterprises.com -7/18/2007 +9/17/2007 diff --git a/gr-radar-mono/src/fpga/Makefile.am b/gr-radar-mono/src/fpga/Makefile.am index 3e2ebbfb..fb2a09c9 100644 --- a/gr-radar-mono/src/fpga/Makefile.am +++ b/gr-radar-mono/src/fpga/Makefile.am @@ -21,4 +21,4 @@ include $(top_srcdir)/Makefile.common -SUBDIRS = lib top tb +SUBDIRS = lib top tb models diff --git a/gr-radar-mono/src/fpga/lib/Makefile.am b/gr-radar-mono/src/fpga/lib/Makefile.am index 8aefd754..2a7d6d88 100644 --- a/gr-radar-mono/src/fpga/lib/Makefile.am +++ b/gr-radar-mono/src/fpga/lib/Makefile.am @@ -31,4 +31,4 @@ EXTRA_DIST = \ fifo32_4k.v \ cordic_nco.v -MOSTLYCLEANFILES = *~ +MOSTLYCLEANFILES = *~ *.bak diff --git a/gr-radar-mono/src/fpga/lib/radar.v b/gr-radar-mono/src/fpga/lib/radar.v index 127e9cee..d71d9397 100644 --- a/gr-radar-mono/src/fpga/lib/radar.v +++ b/gr-radar-mono/src/fpga/lib/radar.v @@ -24,8 +24,8 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i, tx_side_o,tx_strobe_o,tx_dac_i_o,tx_dac_q_o, rx_adc_i_i,rx_adc_q_i, - rx_strobe_o,rx_ech_i_o,rx_ech_q_o); - + rx_strobe_o,rx_ech_i_o,rx_ech_q_o,auto_tr_o); + // System interface input clk_i; // Master clock @ 64 MHz input [6:0] saddr_i; // Configuration bus address @@ -37,7 +37,8 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i, output tx_strobe_o; // Generate an transmitter output sample output [13:0] tx_dac_i_o; // I channel transmitter output to DAC output [13:0] tx_dac_q_o; // Q channel transmitter output to DAC - + output auto_tr_o; // Transmit/Receive switching + // Receive subsystem input [15:0] rx_adc_i_i; // I channel input from ADC input [15:0] rx_adc_q_i; // Q channel input from ADC @@ -53,6 +54,7 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i, wire rx_enable; // Receiver enable wire tx_ctrl; // Transmitter on control wire rx_ctrl; // Receiver on control + wire [15:0] pulse_num; // Count of pulses since tx_enabled // Configuration wire [15:0] ampl; // Pulse amplitude @@ -63,7 +65,8 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i, (.clk_i(clk_i),.saddr_i(saddr_i),.sdata_i(sdata_i),.s_strobe_i(s_strobe_i), .reset_o(reset),.tx_side_o(tx_side_o),.dbg_o(debug_enabled), .tx_strobe_o(tx_strobe_o),.tx_ctrl_o(tx_ctrl),.rx_ctrl_o(rx_ctrl), - .ampl_o(ampl),.fstart_o(fstart),.fincr_o(fincr)); + .ampl_o(ampl),.fstart_o(fstart),.fincr_o(fincr),.pulse_num_o(pulse_num)); + assign auto_tr_o = tx_ctrl; radar_tx transmitter ( .clk_i(clk_i),.rst_i(reset),.ena_i(tx_ctrl),.strobe_i(tx_strobe_o), @@ -72,7 +75,7 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i, radar_rx receiver ( .clk_i(clk_i),.rst_i(reset),.ena_i(rx_ctrl),.dbg_i(debug_enabled), - .rx_in_i_i(rx_adc_i_i),.rx_in_q_i(rx_adc_q_i), + .pulse_num_i(pulse_num),.rx_in_i_i(rx_adc_i_i),.rx_in_q_i(rx_adc_q_i), .rx_strobe_o(rx_strobe_o),.rx_i_o(rx_ech_i_o),.rx_q_o(rx_ech_q_o) ); endmodule // radar diff --git a/gr-radar-mono/src/fpga/lib/radar_control.v b/gr-radar-mono/src/fpga/lib/radar_control.v index e22da962..86494110 100644 --- a/gr-radar-mono/src/fpga/lib/radar_control.v +++ b/gr-radar-mono/src/fpga/lib/radar_control.v @@ -21,10 +21,9 @@ `include "../lib/radar_config.vh" -module radar_control(clk_i,saddr_i,sdata_i,s_strobe_i, - reset_o,tx_side_o,dbg_o, - tx_strobe_o,tx_ctrl_o,rx_ctrl_o, - ampl_o,fstart_o,fincr_o); +module radar_control(clk_i,saddr_i,sdata_i,s_strobe_i,reset_o, + tx_side_o,dbg_o,tx_strobe_o,tx_ctrl_o,rx_ctrl_o, + ampl_o,fstart_o,fincr_o,pulse_num_o); // System interface input clk_i; // Master clock @ 64 MHz @@ -42,7 +41,8 @@ module radar_control(clk_i,saddr_i,sdata_i,s_strobe_i, output [15:0] ampl_o; output [31:0] fstart_o; output [31:0] fincr_o; - + output [15:0] pulse_num_o; + // Internal configuration wire lp_ena; wire md_ena; @@ -94,12 +94,14 @@ module radar_control(clk_i,saddr_i,sdata_i,s_strobe_i, reg [3:0] state; reg [31:0] count; - + reg [15:0] pulse_num_o; + always @(posedge clk_i) if (reset_o) begin state <= `ST_ON; count <= 32'b0; + pulse_num_o <= 16'b0; end else case (state) @@ -108,6 +110,7 @@ module radar_control(clk_i,saddr_i,sdata_i,s_strobe_i, begin state <= `ST_SW; count <= 32'b0; + pulse_num_o <= pulse_num_o + 16'b1; end else count <= count + 32'b1; diff --git a/gr-radar-mono/src/fpga/lib/radar_rx.v b/gr-radar-mono/src/fpga/lib/radar_rx.v index 1ca54613..29bbadd4 100644 --- a/gr-radar-mono/src/fpga/lib/radar_rx.v +++ b/gr-radar-mono/src/fpga/lib/radar_rx.v @@ -22,9 +22,8 @@ `include "../../../../usrp/firmware/include/fpga_regs_common.v" `include "../../../../usrp/firmware/include/fpga_regs_standard.v" -module radar_rx(clk_i,rst_i,ena_i,dbg_i, - rx_in_i_i,rx_in_q_i, - rx_i_o,rx_q_o,rx_strobe_o); +module radar_rx(clk_i,rst_i,ena_i,dbg_i,pulse_num_i,rx_in_i_i, + rx_in_q_i,rx_i_o,rx_q_o,rx_strobe_o); input clk_i; input rst_i; @@ -33,11 +32,12 @@ module radar_rx(clk_i,rst_i,ena_i,dbg_i, input [15:0] rx_in_i_i; input [15:0] rx_in_q_i; + input [15:0] pulse_num_i; output [15:0] rx_i_o; output [15:0] rx_q_o; output reg rx_strobe_o; - + reg [15:0] count; always @(posedge clk_i) @@ -46,71 +46,63 @@ module radar_rx(clk_i,rst_i,ena_i,dbg_i, else count <= count + 16'b1; - wire [31:0] fifo_data = dbg_i ? {count[15:0],16'hAA55} : {rx_in_i_i,rx_in_q_i}; + wire [31:0] fifo_inp = dbg_i ? {count[15:0],pulse_num_i[15:0]} : {rx_in_i_i,rx_in_q_i}; - // Need to buffer received samples as they come in at 32 bits per cycle - // but the rx_buffer.v fifo is only 16 bits wide. - // - reg fifo_read; + // Buffer incoming samples every clock wire [31:0] fifo_out; + reg fifo_ack; wire fifo_empty; + +// Use model if simulating, otherwise Altera Megacell +`ifdef SIMULATION + fifo_1clk #(32, 4096) buffer(.clock(clk_i),.sclr(rst_i), + .data(fifo_inp),.wrreq(ena_i), + .rdreq(fifo_ack),.q(fifo_out), + .empty(fifo_empty)); +`else + fifo32_4k buffer(.clock(clk_i),.sclr(rst_i), + .data(fifo_inp),.wrreq(ena_i), + .rdreq(fifo_ack),.q(fifo_out), + .empty(fifo_empty)); +`endif - fifo32_4k fifo(.clock(clk_i),.sclr(rst_i), - .data(fifo_data),.wrreq(ena_i), - .q(fifo_out),.rdreq(fifo_read), - .empty(fifo_empty) ); + // Write samples to rx_fifo every third clock + `define ST_FIFO_IDLE 3'b001 + `define ST_FIFO_STROBE 3'b010 + `define ST_FIFO_ACK 3'b100 - `define ST_RD_IDLE 4'b0001 - `define ST_RD_REQ 4'b0010 - `define ST_WR_FIFO 4'b0100 - `define ST_RD_DELAY 4'b1000 + reg [2:0] state; - reg [3:0] state; - reg [3:0] delay; - always @(posedge clk_i) - if (rst_i | ~ena_i) + if (rst_i) begin - state <= `ST_RD_IDLE; - delay <= 4'd0; + state <= `ST_FIFO_IDLE; rx_strobe_o <= 1'b0; - fifo_read <= 1'b0; + fifo_ack <= 1'b0; end else case (state) - `ST_RD_IDLE: - begin - if (!fifo_empty) - begin - fifo_read <= 1'b1; - state <= `ST_RD_REQ; - end - end - - `ST_RD_REQ: + `ST_FIFO_IDLE: + if (!fifo_empty) + begin + // Tell rx_fifo sample is ready + rx_strobe_o <= 1'b1; + state <= `ST_FIFO_STROBE; + end + `ST_FIFO_STROBE: begin - fifo_read <= 1'b0; - rx_strobe_o <= 1'b1; - state <= `ST_WR_FIFO; + rx_strobe_o <= 1'b0; + // Ack our FIFO + fifo_ack <= 1'b1; + state <= `ST_FIFO_ACK; end - - `ST_WR_FIFO: + `ST_FIFO_ACK: begin - rx_strobe_o <= 1'b0; - state <= `ST_RD_DELAY; + fifo_ack <= 1'b0; + state <= `ST_FIFO_IDLE; end - - `ST_RD_DELAY: - if (delay == 7) - begin - delay <= 0; - state <= `ST_RD_IDLE; - end - else - delay <= delay + 1'b1; - endcase // case(state) - + assign rx_i_o = fifo_out[31:16]; assign rx_q_o = fifo_out[15:0]; diff --git a/gr-radar-mono/src/fpga/models/Makefile.am b/gr-radar-mono/src/fpga/models/Makefile.am new file mode 100644 index 00000000..1d51f485 --- /dev/null +++ b/gr-radar-mono/src/fpga/models/Makefile.am @@ -0,0 +1,27 @@ +# +# Copyright 2007 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +include $(top_srcdir)/Makefile.common + +EXTRA_DIST = \ + fifo_1clk.v + +MOSTLYCLEANFILES = *~ diff --git a/gr-radar-mono/src/fpga/models/fifo_1clk.v b/gr-radar-mono/src/fpga/models/fifo_1clk.v new file mode 100644 index 00000000..93ada6c8 --- /dev/null +++ b/gr-radar-mono/src/fpga/models/fifo_1clk.v @@ -0,0 +1,88 @@ +/* -*- verilog -*- */ +/* + * Copyright (C) 2003 Matt Ettus + * Copyright (C) 2007 Corgan Enterprises LLC + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +// Model of Altera FIFO with common clock domain + +module fifo_1clk(data, wrreq, rdreq, clock, sclr, q, + full, empty, usedw); + + parameter width = 32; + parameter depth = 4096; + //`define rd_req 0; // Set this to 0 for rd_ack, 1 for rd_req + + input [31:0] data; + input wrreq; + input rdreq; + input clock; + input sclr; + output [31:0] q; + output full; + output empty; + output [11:0] usedw; + + reg [width-1:0] mem [0:depth-1]; + reg [7:0] rdptr; + reg [7:0] wrptr; + +`ifdef rd_req + reg [width-1:0] q; +`else + wire [width-1:0] q; +`endif + + reg [11:0] usedw; + + integer i; + + always @( sclr) + begin + wrptr <= #1 0; + rdptr <= #1 0; + for(i=0;i radar_tb.out diff --git a/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf b/gr-radar-mono/src/fpga/top/usrp_radar_mono.rbf index f36c3ac763d5ab529b54f9bf50d30ad3cf322db1..13c36c78a9844a4334cb62de3700961978c068d2 100644 GIT binary patch literal 123637 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∓zU<+A|Ie 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 literal 122679 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 diff --git a/gr-radar-mono/src/fpga/top/usrp_radar_mono.v b/gr-radar-mono/src/fpga/top/usrp_radar_mono.v index f6f86293..0382734b 100644 --- a/gr-radar-mono/src/fpga/top/usrp_radar_mono.v +++ b/gr-radar-mono/src/fpga/top/usrp_radar_mono.v @@ -86,7 +86,7 @@ module usrp_radar_mono // TX wire tx_sample_strobe; - wire tx_empty; + wire auto_tr; wire serial_strobe; wire [6:0] serial_addr; @@ -145,7 +145,7 @@ module usrp_radar_mono radar radar_mono ( .clk_i(clk64),.saddr_i(serial_addr),.sdata_i(serial_data),.s_strobe_i(serial_strobe), .tx_side_o(tx_side),.tx_strobe_o(tx_sample_strobe),.tx_dac_i_o(tx_i),.tx_dac_q_o(tx_q), .rx_adc_i_i(rx_adc0_i),.rx_adc_q_i(rx_adc0_q), - .rx_strobe_o(rx_strobe),.rx_ech_i_o(rx_buf_i),.rx_ech_q_o(rx_buf_q) + .rx_strobe_o(rx_strobe),.rx_ech_i_o(rx_buf_i),.rx_ech_q_o(rx_buf_q),.auto_tr_o(auto_tr) ); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -155,7 +155,7 @@ module usrp_radar_mono assign capabilities[7] = 0; // `TX_CAP_HB; assign capabilities[6:4] = 1; // `TX_CAP_NCHAN; assign capabilities[3] = 0; // `RX_CAP_HB; - assign capabilities[2:0] = 1; // `RX_CAP_NCHAN; + assign capabilities[2:0] = 2; // `RX_CAP_NCHAN; serial_io serial_io ( .master_clk(clk64),.serial_clock(SCLK),.serial_data_in(SDI), @@ -175,7 +175,7 @@ module usrp_radar_mono .interp_rate(),.decim_rate(), .tx_sample_strobe(),.strobe_interp(), .rx_sample_strobe(),.strobe_decim(), - .tx_empty(tx_empty), + .tx_empty(auto_tr), .debug_0(),.debug_1(), .debug_2(),.debug_3(), .reg_0(reg_0),.reg_1(reg_1),.reg_2(reg_2),.reg_3(reg_3) ); diff --git a/gr-radar-mono/src/python/radar_mono.py b/gr-radar-mono/src/python/radar_mono.py index 7aeec1a7..701157cc 100644 --- a/gr-radar-mono/src/python/radar_mono.py +++ b/gr-radar-mono/src/python/radar_mono.py @@ -22,6 +22,7 @@ from gnuradio import gr, usrp from gnuradio import eng_notation +from gr import gr_threading as _threading n2s = eng_notation.num_to_str @@ -63,11 +64,11 @@ FR_RADAR_FINCR = usrp.FR_USER_7 # 32-bit FTW increment per transmit clock # Transmitter object. Uses usrp_sink, but only for a handle to the # FPGA registers. #----------------------------------------------------------------------- -class radar_tx: - def __init__(self, subdev_spec=None, verbose=False, debug=False): - self._subdev_spec = subdev_spec - self._verbose = verbose - self._debug = debug +class radar_tx(object): + def __init__(self, options): + self._subdev_spec = options.tx_subdev_spec + self._verbose = options.verbose + self._debug = options.debug self._u = usrp.sink_s(fpga_filename='usrp_radar_mono.rbf') if self._subdev_spec == None: @@ -148,47 +149,26 @@ class radar_tx: #----------------------------------------------------------------------- # Receiver object. Uses usrp_source_c to receive echo records. #----------------------------------------------------------------------- -class radar_rx: - def __init__(self, gain=None, subdev_spec=None, msgq=None, length=None, - verbose=False, debug=False): - self._gain = gain - self._subdev_spec = subdev_spec - self._msgq = msgq - self._length = length - self._verbose = verbose - self._debug = debug - self._length_set = False - - self._fg = gr.flow_graph() - self._u = usrp.source_c(fpga_filename='usrp_radar_mono.rbf') - if self._subdev_spec == None: - self._subdev_spec = usrp.pick_rx_subdevice(self._u) - self._u.set_mux(usrp.determine_rx_mux_value(self._u, self._subdev_spec)) - - if self._debug: - self._usrp_sink = gr.file_sink(gr.sizeof_gr_complex, "usrp.dat") - self._fg.connect(self._u, self._usrp_sink) - - self._subdev = usrp.selected_subdev(self._u, self._subdev_spec) - self.set_gain(gain) +class radar_rx(gr.top_block): + def __init__(self, options, callback): + gr.top_block.__init__(self, "radar_rx") - if self._verbose: - print "Using", self._subdev.name(), "for radar receiver." - print "Setting receiver gain to", self._gain - + self._subdev_spec = options.rx_subdev_spec + self._gain = options.gain + self._verbose = options.verbose + self._debug = options.debug + self._callback = callback + self._length_set = False + self._connected = False + self._msgq = gr.msg_queue() + self._watcher = _queue_watcher_thread(self._msgq, self._callback) + def set_echo_length(self, length): # Only call once if self._length_set is True: raise RuntimeError("Can only set echo length once.") self._length = length - self._vblen = gr.sizeof_gr_complex*self._length - self._s2v = gr.stream_to_vector(gr.sizeof_gr_complex, self._length) - self._sink = gr.message_sink(self._vblen, self._msgq, True) - self._fg.connect(self._u, self._s2v, self._sink) self._length_set = True - if self._verbose: - print "Receiving echo vectors of length", self._length, \ - "(samples)", self._vblen, "(bytes)" def tune(self, frequency): if self._verbose: @@ -205,35 +185,61 @@ class radar_rx: self._gain = float(g[0]+g[1])/2 self._subdev.set_gain(self._gain) - def start(self): + def begin(self): + if not self._connected: + self._setup_connections() + if self._verbose: - print "Starting receiver flow graph." - self._fg.start() + print "Starting receiver..." + self.start() - def wait(self): + def end(self): if self._verbose: - print "Waiting for threads..." - self._fg.wait() + print "Stopping receiver..." + self.stop() + self.wait() + if self._verbose: + print "Receiver stopped." + + def _setup_usrp(self): + self._u = usrp.source_c(fpga_filename='usrp_radar_mono.rbf') + if self._subdev_spec == None: + self._subdev_spec = usrp.pick_rx_subdevice(self._u) + self._u.set_mux(usrp.determine_rx_mux_value(self._u, self._subdev_spec)) + self._subdev = usrp.selected_subdev(self._u, self._subdev_spec) - def stop(self): if self._verbose: - print "Stopping receiver flow graph." - self._fg.stop() - self.wait() + print "Using", self._subdev.side_and_name(), "for radar receiver." + print "Setting receiver gain to", self._gain + self.set_gain(self._gain) + self._subdev.set_auto_tr(True) + self._subdev.set_atr_tx_delay(26) # TX CORDIC pipeline delay + self._subdev.set_atr_rx_delay(26) + + def _setup_connections(self): + if not self._length_set: + raise RuntimeError("Echo length not set.") + self._setup_usrp() + self._vblen = gr.sizeof_gr_complex*self._length + self._s2v = gr.stream_to_vector(gr.sizeof_gr_complex, self._length) + self._sink = gr.message_sink(self._vblen, self._msgq, False) + self.connect(self._u, self._s2v, self._sink) + if self._verbose: - print "Receiver flow graph stopped." + print "Generating echo vectors of length", self._length, \ + "(samples)", self._vblen, "(bytes)" -class radar: - def __init__(self, msgq=None, tx_subdev_spec=None, rx_subdev_spec=None, - gain=None, verbose=False, debug=False): - self._msgq = msgq - self._verbose = verbose - self._debug = debug + self._connected = True + +class radar(object): + def __init__(self, options, callback): + + self._verbose = options.verbose + self._debug = options.debug self._mode = 0 - self._trans = radar_tx(subdev_spec=tx_subdev_spec, verbose=self._verbose, debug=self._debug) - self._rcvr = radar_rx(gain=gain, msgq=self._msgq, subdev_spec=rx_subdev_spec, - verbose=self._verbose, debug=self._debug) + self._trans = radar_tx(options) + self._rcvr = radar_rx(options, callback) self.set_reset(True) self.set_tx_board(self._trans.subdev_spec()) self.set_debug(self._debug) @@ -285,10 +291,28 @@ class radar: def start(self): self.set_reset(False) self._trans.start() - self._rcvr.start() + self._rcvr.begin() def stop(self): + self._rcvr.end() self._trans.stop() - self._rcvr.stop() self.set_reset(True) +#----------------------------------------------------------------------- +# Queue watcher. Dispatches received echos to callback. +#----------------------------------------------------------------------- +class _queue_watcher_thread(_threading.Thread): + def __init__(self, msgq, callback): + _threading.Thread.__init__(self) + self.setDaemon(1) + self._msgq = msgq + self._callback = callback + self._keep_running = True + self.start() + + def run(self): + while self._keep_running == True: + msg = self._msgq.delete_head() + if self._callback: + self._callback(msg.to_string()) + diff --git a/gr-radar-mono/src/python/usrp_radar_mono.py b/gr-radar-mono/src/python/usrp_radar_mono.py index e372ec9f..077b798c 100755 --- a/gr-radar-mono/src/python/usrp_radar_mono.py +++ b/gr-radar-mono/src/python/usrp_radar_mono.py @@ -25,11 +25,18 @@ from gnuradio.radar_mono import radar from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser -import sys +import sys, time n2s = eng_notation.num_to_str +logfile = None +def process_echo(echo): + global logfile + #sys.stdout.write('.') + logfile.write(echo) + def main(): + global logfile parser = OptionParser(option_class=eng_option) parser.add_option("-T", "--tx-subdev-spec", type="subdev", default=None, help="use transmitter board side A or B (default is first found)") @@ -55,59 +62,37 @@ def main(): help="enable verbose output, default is disabled") parser.add_option("-D", "--debug", action="store_true", default=False, help="enable debugging output, default is disabled") + parser.add_option("-F", "--filename", default=None, + help="log received echos to file") - # NOT IMPLEMENTED - #parser.add_option("-l", "--loopback", action="store_true", default=False, - # help="enable digital loopback, default is disabled") - #parser.add_option("-F", "--filename", default=None, - # help="log received echos to file") - (options, args) = parser.parse_args() if len(args) != 0: parser.print_help() sys.exit(1) - """ if options.filename == None: print "Must supply filename for logging received data." sys.exit(1) else: if options.verbose: print "Logging echo records to file: ", options.filename - """ - - msgq = gr.msg_queue() - s = radar(msgq=msgq, tx_subdev_spec=options.tx_subdev_spec, - rx_subdev_spec=options.rx_subdev_spec,gain=options.gain, - verbose=options.verbose, debug=options.debug) - - s.set_ton(options.ton) - s.set_tsw(options.tsw) - s.set_tlook(options.tlook) - s.set_prf(options.prf) - s.set_amplitude(options.amplitude) - s.set_freq(options.frequency, options.chirp_width) - s.start() + logfile = open(options.filename, 'wb') + + r = radar(options, process_echo) - #f = open(options.filename, "wb") - print "Enter CTRL-C to stop." - try: - while 1: - if not msgq.empty_p(): - msg = msgq.delete_head() - if msg.type() == 1: - break - echo = msg.to_string() - if options.debug: - print "Received echo vector of length", len(echo) - #f.write(rec) - - except KeyboardInterrupt: - pass + r.set_ton(options.ton) + r.set_tsw(options.tsw) + r.set_tlook(options.tlook) + r.set_prf(options.prf) + r.set_amplitude(options.amplitude) + r.set_freq(options.frequency, options.chirp_width) - s.stop() - + r.start() + raw_input("Press ENTER to stop.") + r.stop() + logfile.close() + if __name__ == "__main__": main() -- 2.47.2