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 /<jongsoo.kim%40azultd.com>/* wrote:
>
>
> From: Jongsoo Kim <jongsoo.kim%40azultd.com>
> Subject: [ts-7000] SPI interface on TS7500
> To: ts-7000%40yahoogroups.com
> Cc: "'xinping guo'" <xinpingguo%40gmail.com>
> 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
>
>
>
>
>