[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r5041 - in gnuradio/branches/developers/jcorgan/snd/gr
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r5041 - in gnuradio/branches/developers/jcorgan/snd/gr-sounder/src: fpga/lib fpga/rbf/rev2 fpga/rbf/rev4 python |
Date: |
Wed, 18 Apr 2007 10:13:32 -0600 (MDT) |
Author: jcorgan
Date: 2007-04-18 10:13:32 -0600 (Wed, 18 Apr 2007)
New Revision: 5041
Added:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
Removed:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder.py
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/lfsr.v
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/sounder_tx.v
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/rbf/rev2/usrp_sounder.rbf
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/rbf/rev4/usrp_sounder.rbf
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/Makefile.am
Log:
Make lfsr mask programmable.
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/lfsr.v
===================================================================
--- gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/lfsr.v
2007-04-18 04:28:12 UTC (rev 5040)
+++ gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/lfsr.v
2007-04-18 16:13:32 UTC (rev 5041)
@@ -19,28 +19,29 @@
// Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA
//
-module lfsr(clk_i,rst_i,ena_i,strobe_i,bit_o);
+module lfsr(clk_i,rst_i,ena_i,strobe_i,mask_i,bit_o);
input clk_i;
input rst_i;
input ena_i;
input strobe_i;
+ input [15:0] mask_i;
output bit_o;
- reg [10:0] shifter;
+ reg [15:0] shifter;
+ wire [15:0] taps = shifter & mask_i;
- // x^11 + x^2 + 1
- // M-sequence of length 2^11-1 (2047) @ 32 MHz = ~64us
- // ~7.6 impulse vector updates per second
+ wire parity = taps[15]^taps[14]^taps[13]^taps[12]^
+ taps[11]^taps[10]^taps[9]^taps[8]^
+ taps[7]^taps[6]^taps[5]^taps[4]^
+ taps[3]^taps[2]^taps[1]^taps[0];
- wire parity = shifter[10]^shifter[1];
-
always @(posedge clk_i)
if (rst_i | ~ena_i)
- shifter <= 11'd1;
+ shifter <= 16'd1;
else
if (strobe_i)
- shifter <= {shifter[9:0],parity};
+ shifter <= {shifter[14:0],parity};
assign bit_o = shifter[0];
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/sounder_tx.v
===================================================================
---
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/sounder_tx.v
2007-04-18 04:28:12 UTC (rev 5040)
+++
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/lib/sounder_tx.v
2007-04-18 16:13:32 UTC (rev 5041)
@@ -36,11 +36,16 @@
output [15:0] tx_q_o;
output [15:0] debug_o;
- wire bit;
+ wire out;
+ wire [15:0] mask;
- lfsr
pn(.clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(strobe_i),.bit_o(bit));
+ setting_reg #(`FR_USER_0)
+
sr_lfsr_mask(.clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i),
+ .out(mask));
+
+ lfsr
pn(.clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(strobe_i),.mask_i(mask),.bit_o(out));
- assign tx_i_o = bit ? 16'h7FFF : 16'h8000;
+ assign tx_i_o = out ? 16'h7FFF : 16'h8000;
assign tx_q_o = 16'b0;
assign debug_o = 16'hAA55;
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/rbf/rev2/usrp_sounder.rbf
===================================================================
(Binary files differ)
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/fpga/rbf/rev4/usrp_sounder.rbf
===================================================================
(Binary files differ)
Modified:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/Makefile.am
===================================================================
--- gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/Makefile.am
2007-04-18 04:28:12 UTC (rev 5040)
+++ gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/Makefile.am
2007-04-18 16:13:32 UTC (rev 5041)
@@ -22,8 +22,10 @@
include $(top_srcdir)/Makefile.common
EXTRA_DIST = \
- sounder.py \
qa_nothing.py \
run_tests.in
+bin_SCRIPTS = \
+ usrp_sounder.py
+
MOSTLYCLEANFILES = *~ *.pyc *.pyo
Deleted:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder.py
Copied:
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
(from rev 5040,
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder.py)
===================================================================
---
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
(rev 0)
+++
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
2007-04-18 16:13:32 UTC (rev 5041)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+
+from gnuradio import gr, usrp
+from gnuradio import eng_notation
+from gnuradio.eng_option import eng_option
+from optparse import OptionParser
+import math
+
+# Set to 0 for 32 MHz tx clock, 1 for 64 MHz tx clock
+# Must match config.vh in FPGA code
+TX_RATE_MAX = 0
+_tx_freq_divisor = 32e6*(TX_RATE_MAX+1)
+
+class sounder_tx:
+ def __init__(self, frequency, mask):
+ self.trans = usrp.sink_s(fpga_filename='usrp_sounder.rbf')
+ self.subdev_spec = usrp.pick_tx_subdevice(self.trans)
+ self.subdev = usrp.selected_subdev(self.trans, self.subdev_spec)
+ self.trans.tune(0, self.subdev, frequency)
+ self.set_mask(mask);
+
+ def turn_on(self):
+ self.trans.start()
+
+ def turn_off(self):
+ self.trans.stop()
+
+ def set_mask(self, value):
+ return self.trans._write_fpga_reg(usrp.FR_USER_0, value);
+
+def test_transmit(options):
+ t = sounder_tx(options.frequency, options.mask)
+ t.turn_on()
+ raw_input('Press return to stop transmitter.')
+ t.turn_off()
+
+def main():
+ parser = OptionParser(option_class=eng_option)
+ parser.add_option("-f", "--frequency", type="eng_float", default=0.0,
+ help="set frequency to FREQ in Hz, default is %default",
metavar="FREQ")
+
+ (options, args) = parser.parse_args()
+
+ options.mask = 0x0801;
+
+ if len(args) != 0:
+ parser.print_help()
+ sys.exit(1)
+
+ test_transmit(options)
+
+if __name__ == "__main__":
+ main()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5041 - in gnuradio/branches/developers/jcorgan/snd/gr-sounder/src: fpga/lib fpga/rbf/rev2 fpga/rbf/rev4 python,
jcorgan <=