[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Using SPI on BasicRX
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] Using SPI on BasicRX |
Date: |
Tue, 15 Sep 2009 11:31:42 -0700 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Tue, Sep 15, 2009 at 09:06:58AM -0700, E. Ornelas wrote:
>
> Thanks for the help.
>
> I have another question:
> I noticed that the transfer is done 8-bit at a time.
> I need to write a 24-bit word into a ADF4153 Frequency Synthesizer.
> Is it possible to transfer 24-bit in a single burst?
The example below writes 32 bits in a single transfer.
You can confirm this by looking at the SEN and CLK signals.
To send 24-bits, give it 3 bytes.
Eric
> Again, thank you for your time.
>
>
> Eric Blossom wrote:
> >
> > On Mon, Sep 14, 2009 at 11:02:36AM -0700, E. Ornelas wrote:
> >>
> >> Hello.
> >> I'm trying to use the SPI interface of a BasicRX.
> >> I made a small test program.
> >> It basically keeps on writing.
> >>
> >> There are a few things I need to know:
> >> 1 - is this the right way to use the SPI?
> >
> > Pretty close. See below.
> >
> >> 2 - is the buffer the hex number passed as a string?
> >
> > It's binary, not hex.
> >
> >> 3 - Even though I don't know what to expect with the buffer I used, I at
> >> least expected to see something in the BasicRX SPI pins, which I don't...
> >> I
> >> can see some periodic bursts on the clock pin but nothing on the signal.
> >
> > We never implemented SPI_FMT_LSB; Use SPI_FMT_MSB instead.
> >
> >
> > Try this:
> >
> > from gnuradio import usrp
> >
> > u = usrp.source_c(0)
> > spi_cmd = ''.join([chr(x) for x in [0x55, 0xAA, 0x55, 0xAA]])
> >
> > while True:
> > r = u._write_spi(0, usrp.SPI_ENABLE_RX_A,
> > usrp.SPI_FMT_HDR_0|usrp.SPI_FMT_MSB, spi_cmd)
> >
> >
> >
> > Look at the SDI (into the d'board), SCLK and SEN pins.
> >
> > Eric