dear Forum
Excuse me for opening this topic again. I have read TS Documentation but I
still can't solve my problem.
I am trying to utilize hardware SPI without modifying FPGA core.
What I was trying is running TS7500 without TS752, so I can use SPI pins which
were before connected to offboard SPI (TS-752 flash chip) for my custom
requirement.
11 DIO_11 DIO or flash_cs#
12 DIO_12 DIO or spi_miso
13 DIO_13 DIO or spi_mosi
14 DIO_14 DIO or spi_clk
I was trying the following code and tapping signal form SPI pins to
oscilloscope, but I didn't get anything.
sbuslock();
sbus_poke16(0x40, (0 << 14) | (15 << 10) | (1 << 8)); // go to LUN#1
sbus_poke16(0x4c, ii); // write ii to SPI
usleep(10000);
ret_val = sbus_peek16(0x42) >> 3; // read from SPI
usleep(10000);
sbusunlock();
Did I access the right register? Is there any procedure I must do before
accessing SPI register?
I give so much appreciation for your answer
--- In "Gregory W. Maglathlin" <> wrote:
>
> Actually if you use version 4 of the FPGA core a programmable SPI
> interface is supported. I modified the core to use different I/Os for
> Chip select #2 and #3. Specifically I changed the FPGA to use DIO 21
> for CS #2 and DIO 22 for CS#3. This allows me to use the FPGA SPI
> interface to read the TS-752 temperature sensor in approximately 2 usec
> with the following 5 instructions (works beautifully). You can still bit
> bang to get the data (as in the sbus.c gettemp() routine but this takes
> significantly longer.
>
> sbus_poke16(0x40, (0 << 14) | (15 << 10) | (3 << 8));
> sbus_poke16(0x4c, 0x8000);
> val = sbus_peek16(0x42) >> 3;
> if((val & 0x1000) != 0) val=((~(val & 0xfff) & 0xfff) + 1);
> temperature = (float) val * 62500.0 / 1000000.0;
>
> Modifying CS#2 to use DIO 21 allows for the interface of another spi
> device via the 20 pin header.
>
> I suggest looking at the latest ts-75xx/tsa-4500 document (published Feb
> 2010) and the fpga open core source code. Utilizing the free fpga
> devlopment software is a bit of a learning curve but well worth it. I
> think TS's decision to use the opencore framework for the 7500 is rather
> cool.
>
> Good luck,
> Greg
>
> Razvan-Ionut Stoian wrote:
> >
> >
> > TS7500 does not have a specific hardware SPI port (no hardware pins
> > assigned).
> >
> > You have to bit bang 3 GPIOs in order to create the SPI port.
> > (Unfortunately, TS does not specify this in their docs.)
> >
> >
> > --- On *Wed, 2/24/10, Jongsoo Kim /<>/* wrote:
> >
> >
> > From: Jongsoo Kim <>
> > Subject: [ts-7000] SPI interface on TS7500
> > To:
> > Cc: "'xinping guo'" <>
> > Date: Wednesday, February 24, 2010, 5:40 PM
> >
> >
> >
> > Group
> >
> >
> >
> > I am trying to configure SPI interface to use AD converter ( AD 7927).
> >
> > I am having some following issue
> >
> >
> >
> > 1) generate CS# on DIO#11
> >
> > 2) generalte SPI clk whenver SPI read or write command is issued
> >
> > 3) configure SPI as 16 bits data access
> >
> > 4) need to write to SPI reg#48 to configure the control register
> > (select channel, voltage range, power manager) and then read this
> > register to get the AD data.
> >
> >
> >
> >
> >
> > I would appreciate if someone can advise me.
> >
> >
> >
> >
> >
> > Thanks
> >
> >
> >
> > Jongsoo Kim
> >
> >
> >
> >
> >
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|