Micro with DMA output engine?

I'm looking for a micro that I can use to do semi-software-based video output. Pixel clock would be ~5.7MHz or ~11.5MHz, I'd prefer the higher rate but would settle for the lower.

So I'm looking for something with ~64K of RAM and a DMA engine that can output bytes without CPU intervention. I'd generate the sync pulses in software and use the DMA engine to reduce the CPU load on actually outputting video data.

Catch - I don't want external SDRAM on the board. So, all the micros I've found with on-chip LCD controller (which would do what I want admirably) are out.

My next line of attack is to put an external SRAM on the board and use an external counter to push bytes out of it and interrupt the CPU at the end of each scanline; I don't much want to go that route but will if I have to...

Reply to
larwe
Loading thread data ...

How about something like the Sharp LH75411, as used in the Pixter? It's got the LCD controller and 32kB on chip.

Some of the SuperH microcontrollers have DMA engines.

--
newell
Reply to
Scott Newell

You don't say whether you want to output the bytes in bitwise serial form or as parallel bytes (to drive a DAC, for instance).

Lots of the Atmel Arm chips have DMA controllers, but I'm not sure if the single-chip versions have enough memory for you. I know they work for the serial controllers, but I'm not sure they can be used to output bytes in parallel.

Mark Borgerson

Reply to
Mark Borgerson

Sorry, I meant parallel (bytewise is perfectly fine; I only need 6 bits actually).

I looked through those and didn't find anything that seemed appropriate; I'll look again. I also looked through Philips and Samsung's range of ARM parts.

Reply to
larwe

Mmmm... might be OK with some external zero wait state SRAM. I have to study the LCD controller. Thanks!

I'll look at them - ARM would be better for me though, as I have lots of experience with it.

Thanks for the pointer.

Reply to
larwe

Have you looked at (or are you willing to ;-) DSP's. Years ago I did something with an ADSP2181 and that had a parrallel port with DMA IIRC.

Next thing that comes to mind is the Atmel AT91M55800. No parallel out, but on-board DAC with DMA (PDC). But only 8K internal SRAM. Shame those Atmel PDC's can't be freely programmed, hooked to a timer or something.

--
Stef    (remove caps, dashes and .invalid from e-mail address to reply by mail)

There are a few things that never go out of style, and a feminine woman
is one of them.
		-- Ralston
Reply to
Stef

Something like a Philips LPC2214 with a 64K SRAM and a small CPLD may be a fun combination (although it obviously breaks your "no SRAM" requirement. The SRAM + CPLD combo can be had for $10. Add another $10 for the ARM chip. Not too much real estate.

Reply to
Paul Marciano

I did this with an LPC2106 originally but without DMA and under interrupts. Believe me there is still a lot of processing time left for other things.

Take a look at

formatting link

*Peter*

larwe wrote:

Reply to
Peter Jakacki

Not too many micros with 64k of ram onboard. DMA slows down the CPU so you will need a very fast micro. The only sensible route is external video controller/memory.

Reply to
cbarn24050

Reply to
David R Brooks

Freescale MPC5534? 64K static RAM, 32-channel eDMA. Overkill for your app probably.

~Dave~

Reply to
dave

AT91SAM9261 has LCD controller and built in 160 kB SRAM Can also run SSC and SPI at high speed ujsing DMA (11.5 MHz is fine) Boots from a serial dataflash. Should start sampling rev B very soon (rev A has a bug in the USB host)

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

Ah, but I didn't say no SRAM, I said no SDRAM - because it's fiendishly difficult to source in "boutique" quantities and I'm tired of scrabbling through a pile of SODIMMs looking for chips of the right density.

Do you have a CPLD recommendation? It's five years since I used one.... Lattice isp2032. I'd like something with a free schematic capture/chip-burning tool, since I'm not spending $5k on a tool to be used once.

Reply to
larwe

Sorry Ulf, when I read this message and run it through my internal low-pass filter, I see the following:

"AT91SAM9261 doesn't exist yet".

Besides, this is strictly not a commercial product, I doubt the volume will exceed a hundred pieces per year.

Reply to
larwe

It has been in the lab since May last year. Dev boards are due to be shipped to customers early February. If you redecide, You need to use the internal LCD since the DMA controllers only work with serial peripherals and the LCD.

formatting link
releases an AT91RM9200 module w FPGA this month. Maybe it would make more sense to go with a CPU module than to design your own H/W.

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

If it isn't at Digi-Key, I can't consider it. Sorry.

I've got form factor constraints, unfortunately - I have to design my own board to fit a very unusual shape.

Reply to
larwe

Hi Peter,

That's a very impressive little board! I believe my application can probably _just_ run in the blanking intervals - but it leaves me no margin at all. I'd rather be able to run with a closer to 100% duty cycle.

If I can't find a micro with DMA, I'm going to build some external hardware - I haven't yet decided if it needs to be a "full" CRTC implementation or whether I will just have an external scanline buffer to take the DMA load off the CPU.

Reply to
larwe

I've only used Xilinx devices, but I expect Altera ones are comparible. Both Xilinx and Altera have free toolsets on their website.

I can't estimate the size of part you'll need. If I were doing it I'd write the verilog code first and then choose the cheapest part that fits.

Or even better - post a detailed description of what you want to do to comp.arch.fpga - you may get a very precise answer (I'm not very experienced, sorry).

Good luck!

Paul.

Reply to
Paul Marciano

You could try

formatting link
formatting link
formatting link
and look there for FREE tools, and CPLD sections ?

Or, since Digikey seems to be your window on the world, probably best to actually start there ?

formatting link

There are other solutions to your display problem, but I'll leave you to work that out yourself...

-jg

Reply to
Jim Granville

Larwe,

When I originally did this with the LPC2106 I used a separate cpu for the application. But after various improvements in the software plus some sneaky optimizations (skip blank lines etc) plus the high-speed of the Philips ARM7 family I am able to run applications very comfortably.

When I need to do a major update of the display information I tell the video generator to blank the display (still synching) to free-up some additional processing time for the application. Doing this usually means that the application completes everything in less than a frame anyway so the viewer sees nothing more than the screen updating.

But that depends upon your application I suppose but bear in mind that if you do happen to find a cpu with the RAM and DMA that it mighn't run all that fast anyway, especially with the DMA running.

But let us know if you do happen to find a suitable cpu.

*Peter*

larwe wrote:

Reply to
Peter Jakacki

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.