Any dual SPIs?

Is anyone aware of any processors with dual SPI (serial peripheral interface) ports.

I need at least two, more is ok.

Scott minus the XYZ

Reply to
Not Really Me
Loading thread data ...

"Not Really Me" wrote in news:mmocb.1074$ snipped-for-privacy@news.uswest.net:

Since SPI is so... simple, can't you just put the data bits on the dat line and then toggle the clk line for each bit you wish to send or receive using general purpose I/O pins? That's what I've done in the past when reading from things like digital Pots. or A/D converters.

--
- Mark ->
--
Reply to
Mark A. Odell

At the higher end (32-Bit) there are a few. The ARM9 Dragonball (MC9328MXL), the Au1100 from AMD and the PXA255 XScale all have dual SPI. There are probably others, but these are processors I have designed boards around, so I know them. BTW, bit banging works fine, but most SPI devices can support data rates of 1-10 Mbits/sec or even more, so having a DMA driven controller is very nice to get the high data rates. It all depends upon the application.

Reply to
Michael J. Kelly

Some MSP430's, such as the MSP430F147, have two "USART's" which the "MSP430 Microcontroller Family" pdf says does SCI or SPI. Since the ones with two such ports also have the hardware multiplier, they're the 'more expensive' ones. They start around $5 and go up to $call, but I'm sure it's a lot less than the 32-bit ARM's another poster mentioned.

To see the parametric table of all '430 parts, just go to msp430.com and click on the link to the right of "All MSP430 Ultra-Low Power Microcontrollers".

I recall using SPI on some Motorola micros, such as an HC11 and HC05, and a Motorola RTC chip (didn't Motorola invent SPI?). I'd think some flavor of 683xx (which would be back up in the ARM category) would have two or more SPI's, but I'd check Motorola's smaller chips for dual-SPI as well. You say you're looking for a 'processor' with two SPI's, but we all assume (this being comp.arch.embedded) that you're looking for a microcontroller. About what size/speed of processor/controller are you looking for? This would narrow the search... Gee, I should have asked that at the start, then I could have waited on writing the rest of the message...

-----

formatting link

Reply to
Ben Bradley

If you are looking for a low cost solution then you can do it with a PSOC configurable microcontroller from Cypress : You have 8 on-board configurable digital blocks, two of them are communication type, enough to implement two SPI masters or slaves. By the way you will also get some analog configurable blocks...

Cheers,

Robert Lacoste - ALCIOM : The mixed signals experts

formatting link

"Not Really Me" a écrit dans le message de news:mmocb.1074$ snipped-for-privacy@news.uswest.net...

Reply to
Robert Lacoste

A simple PLD, eg an Altera MAX3064, can do that functionality for you.

Rene

--
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net
Reply to
Rene Tschaggelar

You could try one of the TI DSPs. The TMS320C6711 has 2 McBSPs that can be used in SPI mode.

Best Regards John McCabe

To reply by email replace 'nospam' with 'assen'

Reply to
John McCabe

Thanks to all for the responses.

I need a hardware solution rather than bit banged as I potentially need to recieve at 10 Mbps.

Scott

Reply to
Not Really Me

Microcontroller is what is meant. I tend to use the two interchangably.

I want to recieve data at 10 Mbps simultaneously from both channels, so DMA would also be a good choice.

I looked at the McBSP in the TI DSPs but they require that the slave select be toggling around each transfer. In my app I can't rely on that happening, it could be static, so the TI chips are out.

I'll check the 430s. I seem to remember some have dma so they might do the trick. There is also something to be said for external fpga or equiv. I neglected to mention I also need a third port, preferably another straight async serial, but USB would probably do.

Scott

Reply to
Not Really Me

Motorola DSP86F827, 2-SCI, 1-SPI & 1-SSI. SSI can be configured as SPI.

Reply to
Rh

"Rh" skrev i meddelandet news: snipped-for-privacy@posting.google.com...

AT91M42800 ARM7 based

--
Best Regards,
Ulf Samuelsson   ulf@a-t-m-e-l.com
 Click to see the full signature
Reply to
Ulf Samuelsson

If you do not need to have too muuch memory, then the FPSLIC might also be an alternative. This is an AVR with an FPGA. You shoul dbe able to get an SPI running in notime. The memory is limited to 36 kB internal memory. There is no external bus, but you can create one using the FPGA. (I have a macro for this) How long are the packets you receive? What is the need from the serial port?

You might also want to look the AT91RM9200 ARM9 chip. The SSC (Synch serial controllers) is maybe what you need. The AT91 SPI, can only receive 32 bits and then there is a small delay. The SSC can receive continous data,has DMA support (which is double buffered) and there are three of them on the chip. There are 5 serial ports , a USB client, Ethernet, and a USB host controller...

--
Best Regards,
Ulf Samuelsson   ulf@a-t-m-e-l.com
 Click to see the full signature
Reply to
Ulf Samuelsson

High end versions of the Motorola HC12 family have more than one SPI-port. MC9S12DP256 has 3.

Regards Klaus

Reply to
Klaus1.Seegebarth2

An unusual way to select a processor :)

SPI are generally intended to be chip-select (SS) controlled. The HW is so simple, and fast, there is little demand for concurrent dual SPI.

Thus port pins, or a simple HC138 decode chip can give 8 SPI ports.

If you do not want to parallel CLK.SI.SO, you could use a SPLD (starting at ATF16V8) to HW mux as much as you needed.

-jg

Reply to
Jim Granville

The MSP430F14X somebody has already mentioned. Hitachi's H8S2144 has 3 serial ports, and is fairly easy to get into with free gcc and cheap quickstart kit. Now even Microchip are doing PICs with 2 serial ports (at last! what kept them ?) I would guess these can be used as SPI. The Dallas DS80C320 has 2 async serial ports, dunno about SPI.

--
Mike Page BEng(Hons) MIEE           www.eclectic-web.co.uk
Reply to
Mike Page

That's a total of (10Mbps * 2 channels / 8 bits per byte) 2.5 megabytes per second continuously going into the processor. The MSP430 (and other small(er) microcontrollers such as AVR) likely don't have enough computational horsepower to handle this (even if the controller can do one-cycle DMA transfer to memory on each byte received, rather than have it activate an interrupt routine to save the byte to a buffer. IIRC, the 430 and AVR top out around 8 or 16 MIPS (they're really made to run on watch-battery power, not super-high speed). I think If (large quantity) cost and/or power consumption is very important, you could write the 430 code and count cycles to see if it will process your data fast enough, but be ready to go with something larger.

I wonder if someone from TI reads this newsgroup... Perhaps Motorola or AD offers a DSP with two SPI-compatible ports.

Could you, instead of demanding two SPI ports on a chip, make an external one using shift registers and 'discrete' logic, or a small FPGA? This would go to a parallel port and drive an interrupt/DMA transfer line.

Something that has all your I/O requirements on-chip might be overkill for processing (683xx, Atmel's ARM thing), and cost more than an 'appropriate' sized microcontroller with extra hardware.

-----

formatting link

Reply to
Ben Bradley

Thanks again for all the input. I'm starting to think the external logic/fpga approach will probably be best.

Scott

DMA

select

happening,

the

straight

Reply to
Not Really Me

We did something like this where I used to work. We needed two SPI-like ports for a DSP as well as a UART, and needed an FPGA for preliminary processing, so the SPIs and the UART were implemented on the FPGA. One SPI was interfaced to our input device and the other to the DSP.

Leon

-- Leon Heller, G1HSM Tel: +44 1424 423947 Email:leon snipped-for-privacy@hotmail.com My web page:

formatting link

Reply to
Leon Heller

Leon Heller wrote in news:3f77e7cd$0$8763 $ snipped-for-privacy@news.dial.pipex.com:

This may be a little out there for your situation, but the Analog Devices ADSP-219x DSP has two SPI ports with multiple /SS lines.

--
Al Clark
Danville Signal Processing, Inc.
 Click to see the full signature
Reply to
Al Clark

"Leon Heller" skrev i meddelandet news:3f77e7cd$0$8763$ snipped-for-privacy@news.dial.pipex.com...

Why not just take an AT91M42800A ARM7TDMI which does have dual SPI...

If you want to try out FPGA , you can get an SPI master with FIFO support from me for the FPSLIC. The FIFO uses the onboard 32 x 4 DPRAMs so it is quite efficient.

--
Best Regards,
Ulf Samuelsson   ulf@a-t-m-e-l.com
 Click to see the full signature
Reply to
Ulf Samuelsson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.