Due to the U.S. Thanksgiving holiday, please expect delayed responses during the week of 11/22.

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.

DLPC900 or DLPC910 on board RAM

Other Parts Discussed in Thread: DLPC900, DLPC910

I am trying to figure the right DMD and controller board for my application. I have two control boards DLPC900 and DLPC910 for the DMD I am interested in in the EVM kit. The problem is I do not know how much on-board RAM (if any) do these boards offer? to explain more the problem, I have some fixed patterns which I want to send to DMD. Apparently if I want to communicate those patterns to the board each time, my fps would drop simply due to the limited connection bandwidth. I think if there is an on-board RAM then I could pre-load these patterns into on-board RAM and then increase the frame rate? what is the frame rate then with or without using this on-board RAM? Thanks and sorry if the question is so obvious. 

  • Hello Peyman,

    Actually this is a great question! 


    Each DLPC900 has about 1 Gigabit of DDR memory built into the controller itself (there is some overhead taken up by the system, but a good portion is available for the user to load patterns up.  Once loaded they can be addressed without reloading them up to memory (until powered off or reloaded with other data).

    It can also address about 380 Megabits of parallel flash (again, less some system OS storage), which allows you to store some patterns that load into DDR memory automatically at power up.


    However, the DLPC910 does not have an EVM at this time, although we do have a reference design that can be used to make one.  Some of our Design Partners offer a kits based on this controller - see: http://www.ti.com/product/DLPC910/toolssoftware

    This is an FPGA controller that pairs with a user microprocessor.  How much memory is available would be up to how you design an interface to your microprocessor.  Moreover, this would require programming the microprocessor to read and send the data in the proper binary form to the DLPC910.

    Which DMD were you contemplating?  How many images and at what bit depth were you wanting to use (each bit requires a full binary pattern)?


  • Hello, 

    I have decided for the DMD unit with 1920*1080, 7.6 micron micro-mirror size. I will use this for structured illumination, which means I will project  9-15 patterns (the same 9-15 patterns all the time), read the image of the probe under microscope, and in an image post processing step achieve a better optical image resolution from the microscope. The bit-depth is still something to experiment. One thing which is still not clear for me and I will appreciate if you could give me an estimate, is that how many frames/patterns per second could I send to the DMD assuming patterns with 1bit-depth with DLPC900 and DLPC910 when I send each pattern from the computer? and what would be the difference when I pre-load them into the on-board RAM of the controller ( for DLPC900 of course)?

    Also how complicated it is to build the board around the DLPC910. Would this be a routine task for an electronic engineer which could do it relatively fast or is a complex/time consuming process.  

    many thanks for your support


  • Hello again Peyman,

    The DLPC900 can easily store the number of patterns you are suggesting, even if they are 8-bit grayscale patterns.  From the description of the application, I think that the DLPC910 may be more "horsepower" than your application needs. 

    Building a full up DLPC910 board is not a trivial task, but there are a number of competent partners that can be found starting at this page:


    Let's focus on the DLPC900 platform for now.

    If you use Video Pattern Mode with an input rate of 60 FPS, then you will have 24 1-bit patterns per frame to play with.  You will need to pack the patterns into the "bit-planes" of the 24-bit RGB frames.

    Loading patterns into DDR memory is not the same as displaying them.  Once loaded into DDR memory you can display them repeatedly.  You can also show a subset or show them in a different order.  What the flash memory does is allow you to pre-load a specific set of patterns into DDR memory on power-up, which is much faster than loading over USB. 

    The caveat is that these patterns are fixed in the DDR memory when you use Pre-stored Pattern Mode.  In other words if you need to change the patterns frequently, you would be better off to load them up over USB then display them, but then they are volatile and when you power down they are not retained.

    If you need patterns that are constantly adapting, then you will want to write a program that packs the patterns into 24-bit RGB frames in real time and "displays" them in Video Pattern Mode.

    I hope this helps.


  • Hi again Fizix,

    thank you so much for your detailed answer. Here, I just want to make sure I understand you correct. This would mean that with DLPC900, I could actually send (60 *24=1440) 1bit frames per second? and when I pre-load the patterns in the on-board RAM, would that mean I could reach even higher frame rates than this? 

    once again thanks for your answers. this was a big help. 


  • Hello again Peyman,

    You have understood correctly!  

    Further information can be found in the DLPC900 Programmer's Guide (Rev. E).