Connect with us

Micro with DMA output engine?

Discussion in 'Electronic Components' started by larwe, Jan 20, 2006.

Scroll to continue with content
  1. larwe

    larwe Guest

    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...
  2. Scott Newell

    Scott Newell Guest

    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.
  3. 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
  4. larwe

    larwe Guest

    Sorry, I meant parallel (bytewise is perfectly fine; I only need 6 bits
    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.
  5. larwe

    larwe Guest

    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.
  6. Stef

    Stef Guest

    In comp.arch.embedded,
    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
  7. 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.
  8. 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

  9. Guest

    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.
  10. Infineon TriCore (TC1796), if you can get the software for it.
  11. dave

    dave Guest

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

  12. 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

    This message is intended to be my own personal view and it
    may or may not be shared by my employer Atmel Nordic AB
  13. larwe

    larwe Guest

    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
    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.
  14. larwe

    larwe Guest

    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.
  15. 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. 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

    This message is intended to be my own personal view and it
    may or may not be shared by my employer Atmel Nordic AB
  16. larwe

    larwe Guest

    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.
  17. larwe

    larwe Guest

    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

    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.
  18. 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

    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!

  19. You could try
    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 ?

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

  20. 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.

Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day