Maker Pro
Maker Pro

high speed SPI microcontrollers?

H

Hank

Jan 1, 1970
0
During my searches for parts (ADCs, DACs, memories) I have encountered many
usefull devices that have a simple 4 wire SPI communication scheme. Most of the
parts can operate with a SPI clock of 20mhz to 30mhz, but most of the
microcontrollers (8 bit and some 32 bit ARM types) limit the SPI clock to 8mhz
or so. Also, most microcontrollers have one, or at the most two SPI ports, and
they have very little hardware to assist in transfer (buffers, etc.).

There are so many cases where the included junk in a microcontroller is
insufficient anyway (slow or low resolution ADC, no DAC, not enough flash for
data storage, blah blah). What I would like to see is a microcontroller with
perhaps lots of internal sram, maybe some flash, and about 4 to 6 high speed
(30+mhz) SPI ports, each with a 16 byte buffer and some sort of dma controller
to main memory.

How cool would this be? The end user could then select the peripherals that
they need, and there would be enough speed and processor power to support them.

Am I just dreaming here? I guess you could build this device in an fpga, but it
would not be the ideal solution.
 
A

Al Clark

Jan 1, 1970
0
During my searches for parts (ADCs, DACs, memories) I have
encountered many usefull devices that have a simple 4 wire SPI
communication scheme. Most of the parts can operate with a SPI clock
of 20mhz to 30mhz, but most of the microcontrollers (8 bit and some 32
bit ARM types) limit the SPI clock to 8mhz or so. Also, most
microcontrollers have one, or at the most two SPI ports, and they have
very little hardware to assist in transfer (buffers, etc.).

There are so many cases where the included junk in a microcontroller
is insufficient anyway (slow or low resolution ADC, no DAC, not enough
flash for data storage, blah blah). What I would like to see is a
microcontroller with perhaps lots of internal sram, maybe some flash,
and about 4 to 6 high speed (30+mhz) SPI ports, each with a 16 byte
buffer and some sort of dma controller to main memory.

How cool would this be? The end user could then select the
peripherals that they need, and there would be enough speed and
processor power to support them.

Am I just dreaming here? I guess you could build this device in an
fpga, but it would not be the ideal solution.

Hank, you might look at a DSP.

There are a couple of possibilities:

The ADSP-21262 SHARC has SPI that may run fast enough, but you could also
use the high speed serial ports to create an SPI interface. This is
fairly easy with the addition of a quad NOR gate provided that the DSP is
the SPI master.

--
Al Clark
Danville Signal Processing, Inc.
--------------------------------------------------------------------
comp.dsp conference July 28 - Aug 1, 2004

details at http://www.danvillesignal.com/index.php?id=compdsp
email: [email protected]

Who says you can't teach an old dog a new DSP trick?
 
J

James Meyer

Jan 1, 1970
0
Am I just dreaming here? I guess you could build this device in an fpga, but it
would not be the ideal solution.

I think an fpga (or cpla) would be the ideal solution. Not to
substitute for the micro, but to use with the micro.

Jim
 
B

Ben Bradley

Jan 1, 1970
0
During my searches for parts (ADCs, DACs, memories) I have encountered many
usefull devices that have a simple 4 wire SPI communication scheme. Most of the
parts can operate with a SPI clock of 20mhz to 30mhz, but most of the
microcontrollers (8 bit and some 32 bit ARM types) limit the SPI clock to 8mhz
or so. Also, most microcontrollers have one, or at the most two SPI ports, and
they have very little hardware to assist in transfer (buffers, etc.).

There are so many cases where the included junk in a microcontroller is
insufficient anyway (slow or low resolution ADC, no DAC, not enough flash for
data storage, blah blah). What I would like to see is a microcontroller with
perhaps lots of internal sram, maybe some flash, and about 4 to 6 high speed
(30+mhz) SPI ports, each with a 16 byte buffer and some sort of dma controller
to main memory.

That sounds like a high-speed SPI version of the 16-byte-FIFO UART
chip used for the serial port in PC's. Too bad there's not (AFAIK) an
application for tens of millions of such a controller for SPI

The more recent TI DSP's (or am I thinking MSP430? they both might
have it) have some peripheral-to-DMA connections built in (activatable
by software) - the SPI (or whatever peripheral it is) receives a byte,
does a single-cycle DMA transfer to RAM, and increments the DMA
pointer. When the pointer equals a "block end pointer" register, an
interrupt is generated. This is a lot more efficient of processor
cycles than generating an interrupt for each and every SPI byte
transfer.
 
C

Chris Carlen

Jan 1, 1970
0
Hank said:
During my searches for parts (ADCs, DACs, memories) I have encountered many
usefull devices that have a simple 4 wire SPI communication scheme. Most of the
parts can operate with a SPI clock of 20mhz to 30mhz, but most of the
microcontrollers (8 bit and some 32 bit ARM types) limit the SPI clock to 8mhz
or so. Also, most microcontrollers have one, or at the most two SPI ports, and
they have very little hardware to assist in transfer (buffers, etc.).

There are so many cases where the included junk in a microcontroller is
insufficient anyway (slow or low resolution ADC, no DAC, not enough flash for
data storage, blah blah). What I would like to see is a microcontroller with
perhaps lots of internal sram, maybe some flash, and about 4 to 6 high speed
(30+mhz) SPI ports, each with a 16 byte buffer and some sort of dma controller
to main memory.

How cool would this be? The end user could then select the peripherals that
they need, and there would be enough speed and processor power to support them.

Am I just dreaming here? I guess you could build this device in an fpga, but it
would not be the ideal solution.


Look for TMS320F2812 and related devices at www.ti.com
 
R

Rene Tschaggelar

Jan 1, 1970
0
Hank said:
During my searches for parts (ADCs, DACs, memories) I have encountered many
usefull devices that have a simple 4 wire SPI communication scheme. Most of the
parts can operate with a SPI clock of 20mhz to 30mhz, but most of the
microcontrollers (8 bit and some 32 bit ARM types) limit the SPI clock to 8mhz
or so. Also, most microcontrollers have one, or at the most two SPI ports, and
they have very little hardware to assist in transfer (buffers, etc.).

There are so many cases where the included junk in a microcontroller is
insufficient anyway (slow or low resolution ADC, no DAC, not enough flash for
data storage, blah blah). What I would like to see is a microcontroller with
perhaps lots of internal sram, maybe some flash, and about 4 to 6 high speed
(30+mhz) SPI ports, each with a 16 byte buffer and some sort of dma controller
to main memory.

How cool would this be? The end user could then select the peripherals that
they need, and there would be enough speed and processor power to support them.

Am I just dreaming here? I guess you could build this device in an fpga, but it
would not be the ideal solution.

Yes, you're dreaming.
There is no sense in doing 50MHz on the SPI, usually. Then I'd
rather get a parallel interfaced device.
A normal SPI device is happy when the pins are toggled with some
software in the sub MHz region.
For most application the built in ADCs with few 10ksamples are
sufficient.
You can easily build one or multiple SPI interfaces with buffers
in a CPLD or in an FPGA.

Rene
 
Top