This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

What is the image loading speed of DMD 4000??

Hello, Could anyone please tell me how long does the DMD 4000 need to load an image? I searched some documents and website and found different number. It would be really grateful if you can also attach some documents regarding determining the DMD speed.

Thanks,

Jinyang

  • The time it takes the Discovery 4000 to load an image is dependent on the type of DMD. The calculation is listed in the datasheet. It is:

    (clock period) x (16 clocks) x (2) x (#rows)

    The Discovery 4000 can run from 200MHz up to 320MHz DDR at the input. That is the maximum data input speed without restriction.  

  • Thanks! I checked the document and found a number : 32,552 pattern/second. Does this mean that the DMD can load up to 32552 frames in one second? Also, does this mean the speed for loading one frame is 1/32552 = 30.7 micro-second??

  • The DMD can display up to ~32k fps. The inverse of that number is approximately the time it takes to load and display 1 frame.

  • While that is the rate that the discovery kit can display frames, it doesn't address the maximum rate that images can be uploaded using the the discovery kit. Do you know the approximate timing for getting images onto the DMD from the time that the various image-memory-to-dmd calls are made in software? I'm assuming that it's system dependent, but my guess is that it takes far longer than (1/32k) microseconds to upload the image across the USB port.

    We're using the DMD to pattern a laser beam, and ideally using the DMD as both a pattern-generator and a shutter would be very helpful, but it's not practical unless we know the absolute timing. Unfortunately, I haven't run across and functions which can act as on-chip scripting calls, where it will store and image in the buffer, display the image on the chip while simultaneously starting a counter, then clear the image (or upload the next image pattern) from the chip when the timer expires.

    Futhermore, the OCX interface has been problematic, as we're currently running the discovery kit through matlab, and because the OCX passes the image arrays as *short arrays, the direct memory-passing method doesn't work. Since we're forced to save the image to disk (we're using a RAMDISK to minimize the IO speed penalty), then read it into the DMD using the load and display saved image file command (instead of the copy memory image array to DMD command). These limitations have resulted in an effective DMD frame rate of about 1 fps, rather than 32k fps, a fairly substantial speed penalty.

    Thanks,

    Francis

  • Francis,

    You are correct.  Using the USB interface is considerably slower than the potential speed that can be achieved through some of the high speed connectors.  The binary frame rate is very system dependent.  For example, my desktop computer can run XGA binary frames at about 24 binary frames per second (bfps) using the Explorer interface, but my laptop can only achieve about 18 bfps.  Much of that is Explorer program overhead. 

    Simple C++ code on my desktop can approach about 65 bfps with the XGA but only about 50 bfps on my laptop.  What I mean by simple code is a dedicated loop that loads two alternating binary images.

    The overall USB speed is limited by the raw USB 2.0 speed, and affected by the number of PC processors and the PC processor speed.

    I hope this helps.