Computing > Embedded Computing

ARM with fast parallel GPIO

<< < (10/10)

tggzzz:

--- Quote from: kamtar on January 16, 2021, 11:49:35 pm ---Hello,

I'm looking for some Cortex-M MCU which would be ideal to feed fast DAC through a parallel interface.

1. I don't want any DSP or FPGA, just a regular ARM MCU.
2. I don't have any strict minimal speeds in mind just as fast as it can be.. getting some parallel interface that could run close to 50-100Mhz would be nice.

I'm in a process of reading up on various MCUs and going over my options but if there is somebody who has used some ARM for something similar I would be glad to hear it.

--- End quote ---

Hardware and bus interfaces are usually the easy bit. The more difficult bit is guaranteeing by design hard realtime timing in software, especially if the processor has caches and uses interrupts. Naturally doing anything other than feeding the i/o significantly complicates matters, but that is not insuperable.

There is only one family of processors that I am aware of that directly addresses and solves those issues: the XMOS xCORE processors. Buy those at DigiKey. FFI, see my other posts on the subject.

DiTBho:

--- Quote from: Berni on June 17, 2021, 09:20:22 am ---[..] timing [..]

--- End quote ---

I am having a lot of troubles with u-boot on a the RAM controller of PowerPC SoM.
I have here several PC100 and PC133 ram sticks. Some do work, some do not work.
I am manually patching the code here and there, and timing is very problematic.

I guess, it's not as easy as people think.

Bassman59:

--- Quote from: tggzzz on July 01, 2021, 07:42:04 am ---
--- Quote from: kamtar on January 16, 2021, 11:49:35 pm ---Hello,

I'm looking for some Cortex-M MCU which would be ideal to feed fast DAC through a parallel interface.

1. I don't want any DSP or FPGA, just a regular ARM MCU.
2. I don't have any strict minimal speeds in mind just as fast as it can be.. getting some parallel interface that could run close to 50-100Mhz would be nice.

I'm in a process of reading up on various MCUs and going over my options but if there is somebody who has used some ARM for something similar I would be glad to hear it.

--- End quote ---

Hardware and bus interfaces are usually the easy bit. The more difficult bit is guaranteeing by design hard realtime timing in software, especially if the processor has caches and uses interrupts. Naturally doing anything other than feeding the i/o significantly complicates matters, but that is not insuperable.

There is only one family of processors that I am aware of that directly addresses and solves those issues: the XMOS xCORE processors. Buy those at DigiKey. FFI, see my other posts on the subject.

--- End quote ---

... but what if my application is not hard real-time? I just want a fast synchronous parallel bus. The bus fits somewhere in the micro's memory map and provides address (of however many bits are interesting), data (same), read/write indication and maybe a chip select just to save pins (we don't need a full 32 bit address). By synchronous I mean that the micro provides a clock synchronous to the bus, and that clock always runs, so my FPGA doesn't need a separate oscillator and there are no synchronization issues. The micro does read and write accesses to that address space and it just works. We've been doing this forever, back when we were using microprocessors and not microcontrollers!

This bus exists: synchronous SRAMs use them. Hell, even old-school parallel PCI is exactly this, albeit with the overhead of BARs and such. But PCI cores are still provided in most current FPGA families so ...

Anyway: TI TM4C Tiva parts and MSP432 parts have a synchronous parallel EBI.

Anyway: if you're using an XMOS part, do you need the FPGA? That's application-dependent, of course.

tggzzz:

--- Quote from: Bassman59 on July 02, 2021, 04:49:54 am ---
--- Quote from: tggzzz on July 01, 2021, 07:42:04 am ---
--- Quote from: kamtar on January 16, 2021, 11:49:35 pm ---Hello,

I'm looking for some Cortex-M MCU which would be ideal to feed fast DAC through a parallel interface.

1. I don't want any DSP or FPGA, just a regular ARM MCU.
2. I don't have any strict minimal speeds in mind just as fast as it can be.. getting some parallel interface that could run close to 50-100Mhz would be nice.

I'm in a process of reading up on various MCUs and going over my options but if there is somebody who has used some ARM for something similar I would be glad to hear it.

--- End quote ---

Hardware and bus interfaces are usually the easy bit. The more difficult bit is guaranteeing by design hard realtime timing in software, especially if the processor has caches and uses interrupts. Naturally doing anything other than feeding the i/o significantly complicates matters, but that is not insuperable.

There is only one family of processors that I am aware of that directly addresses and solves those issues: the XMOS xCORE processors. Buy those at DigiKey. FFI, see my other posts on the subject.

--- End quote ---

... but what if my application is not hard real-time? I just want a fast synchronous parallel bus. The bus fits somewhere in the micro's memory map and provides address (of however many bits are interesting), data (same), read/write indication and maybe a chip select just to save pins (we don't need a full 32 bit address). By synchronous I mean that the micro provides a clock synchronous to the bus, and that clock always runs, so my FPGA doesn't need a separate oscillator and there are no synchronization issues. The micro does read and write accesses to that address space and it just works. We've been doing this forever, back when we were using microprocessors and not microcontrollers!

This bus exists: synchronous SRAMs use them. Hell, even old-school parallel PCI is exactly this, albeit with the overhead of BARs and such. But PCI cores are still provided in most current FPGA families so ...

Anyway: TI TM4C Tiva parts and MSP432 parts have a synchronous parallel EBI.

Anyway: if you're using an XMOS part, do you need the FPGA? That's application-dependent, of course.

--- End quote ---

If you don't need hard realtime then life is much easier and there are many more solutions :)

XMOS xCORE processors fit into the niche between standard MCUs and FPGAs, offering (within limits!) the advantages of FPGAa with the advantages of standard software development tools. Whether your application's requirements fit xCORE/MCU/FPGA/discrete/etc technology is always an interesting topic. It is a shame that too many people only have a hammer in their toolbox :)

Navigation

[0] Message Index

[*] Previous page

There was an error while thanking
Thanking...
Go to full version