• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » DLP & MEMS » DLP LightCommander Development Platform » Using the Matlab for LightCommander
Share
DLP & MEMS
  • Forums
Options
  • Subscribe via RSS

Forums

Using the Matlab for LightCommander

This question is answered
Kangbaek Kim
Posted by Kangbaek Kim
on Apr 22 2012 14:43 PM
Prodigy150 points

Hi TI,

I am currently using the Matlab, but I realize that I need to activate LEDs using Light Commander Control Software (LLCCS) before I play around with the Matlab.

For example, if I disable the green LED in the LLCCS, I cannot turn it in on the Matlab via DLP_LED_SetLEDEnable. 

Is there a way to activate LEDs using the Matlab?

 

My another concern is the speed of 'DLP_Img_DownloadBitplanePatternToExtMem'.  It takes about 1 s to transfer 8 bit information to Light Commander.

Is there a faster method to do that?  I am thinking save all images which I will use as dbi files or something in Light Commander's memory, and then load them one by one.  Is this possible?

 

MATLAB
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Sanjeev
    Posted by Sanjeev
    on Apr 23 2012 00:04 AM
    Verified Answer
    Verified by Kangbaek Kim
    Expert5775 points

    Hi Kangbaek,

    Welcome to DLP & MEMS forum.

    Both disable and enable functions with DLP_LED_SetEnable API work perfectly fine.

    First, you will need to build the "solution" using LCCS and run that solution from the LCCS to configure the GUI. Then only you can exercise the LED Enable. Alternatively instead of running the solution configuration from the GUI it can be done from matlab environment, for this you will need to first call RunBatchFile(filename) API. This file is generated when the solution is compiled. RunBatchFile will take care of configuring the hardware for display of images/patterns.

    'DLP_Img_DownloadBitplanePatternToExtMem' - The API is meant for offline download before actual image display starts. Unfortunately the design limits the speed. We suggest you to try downloading ALL the images into LC memory (memory allows upto 120 8bit images and 960 binary/1bit images). Once the downloading of ALL the images is complete you can run-time select any subset of images using DLP_RegIO_WriteImageOrderLut API.

    Regards,

    Sanjeev

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on Apr 23 2012 12:37 PM
    Prodigy150 points

    Sanjeev,

    Thanks for the reply.

    How can I download images into LC memory?  I want to avoid the use of LCCS for convert bmp or tif files to dbi files.

    Is there a way to generate dbi files by myself and download into LC memory via API commands?

     

    Kangbaek

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on Apr 23 2012 23:52 PM
    Verified Answer
    Verified by Kangbaek Kim
    Expert5775 points

    Hi Kanbaek,

    dbi format is like a RAW file format.

    There was discussion sonetime back on how to convert the bmp images and download it on LC memory without using LCCS. See this link http://e2e.ti.com/support/dlp__mems_micro-electro-mechanical_systems/f/387/p/113085/647380.aspx#647380

    Regards,

    Sanjeev

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on Apr 27 2012 22:22 PM
    Prodigy150 points

    Sanjeev,

    Thanks for helping me. My lightcommander is totally under my control.

    In the mean while, I think plotting 8 bit image is not fast enough.

    What is the typical loading speed when I use DLP_RegIO_WriteImageOrderLut?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on Apr 29 2012 23:43 PM
    Expert5775 points

    Hi Kim,

    Good to know about your progress.

    Yes the download speed not fast, as I said the expected way of working is first download the bitplanes into the frame memory then play with DLP_RegIO_WriteImageOrderLut API to select the subset of patterns to be refreshed.

    The loading speed is same always; it is not dependent on DLP_RegIO_WriteImageOrderLut. For 8bpp pattern the time is b/w 2.0-3.0Seconds. This is the reason we suggest to utilize the frame memory space to store upto 120patterns once and then use DLP_RegIO_WriteImageOrderLut to select the subset. Let us say you have downloaded 100 eight bit patterns (one time download) and you want to select random combination of 50 patterns all you need to do is to use just use DLP_RegIO_ WriteImageOrderLut whenever you want to switch. The switching time is just the time taken to execute DLP_RegIO_WriteImageOrderLut command which is less than < 5mSec time.

    Regards,
    Sanjeev 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on Apr 30 2012 16:10 PM
    Prodigy150 points

    Hi Sanjeev,

    Thanks for letting me know.

    What is the reset mode of light commander out of single, dual, quad, and global mode?

    Kangbaek

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on Apr 30 2012 21:17 PM
    Expert5775 points

    Hi Kangbaek,

    I haven't understood your query completely? Can describe it further? Reset of what like DLP5500 or DLPC200 etc..

    Regards,

    Sanjeev

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on Apr 30 2012 22:27 PM
    Prodigy150 points

    Hi Sanjeev,

    I asked you for DLP5500 based on the document:

    http://www.ti.com/lit/an/dlpa008/dlpa008.pdf

     

    Kangbaek

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on May 02 2012 00:03 AM
    Verified Answer
    Verified by Kangbaek Kim
    Expert5775 points

    Hi Kangbaek,

    The DLP5500 uses Global Reset.

    The DLPA008 is generic document on the DMD control; actually such low level control of DMD is possible only with Discovery chipsets. The LightCommander/DLP5500 doesn't allow such low level control to the user. Internally it uses 'Global Reset'.

    Regards,

    Sanjeev

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on May 04 2012 11:30 AM
    Prodigy150 points

    Sanjeev,

    Always thanks to your clear answers

    I have a question about the minimum mirror state time.  What is the minimum time to express 0 or 1 for mirror?

    The Light Commander has maximum frame rate of 716 Hz for 8 bit image which indicates the minimum time of 5.5 microsecond.

    Am I right?

    Kangbaek

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on May 06 2012 23:46 PM
    Expert5775 points

    Hi Kangbaek,

    Mathematically you are correct but there is other thing you should understand.

    Here how it is computed -

    For 716Hz, the frame rate is 1/716Hz = 1396uSec.

    DMD is a PWM display system, for a 8 bit image,  bit 0 to bit 7 the display time double from LSB bit to MSB bit.  Therefore minimum time (bit 0 display time) mathematically become 5.5uSec.

    Minimum display time of 8 bit image will be 1396/(2power8) = 5.5uSec.

    As you know the DMD displays bit plane by bit plane. So there is a overhead load time for each bit plane so at this frame rate the bit plane load time become significantly high. Also  during the bit plane loading there is no light out put from the DMD.

    The above thing is expressed by term called as PWM Sequence efficiency % (you can see this in the DLP LightCommander GUI workflow chart) which indicates effectively how much of time for a given frame rate is utilized for light output, for 716Hz it is ~37%.

    This means effectively only 37% of the frame duration is utilized to output light from the DMD. Similarly, you compile solution at different frame rates and see how the PWM Sequence efficiency varying. The higher the frame rate the lesser the PWM sequence efficiency.

    So, 37% of 1396uSec = ~516uSec.

    Smallest DMD display time = 516/(2 power 8) = ~2uSec.

    Regards,
    Sanjeev

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kangbaek Kim
    Posted by Kangbaek Kim
    on May 07 2012 12:59 PM
    Prodigy150 points

    Hi Sanjeev,


    2uSec is too fast, don't you think so?  I think 500 kHz exceeds the performance of DMD chip.

    Can you provide me a link that describes 500 kHz operation?


    Thanks,

    Kangbaek

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sanjeev
    Posted by Sanjeev
    on May 08 2012 00:50 AM
    Expert5775 points

    Hi Kangbaek,

    Let me clear a bit.

    DMD cannot do the 500KHz operation.

    The 2uSec display time mentioned was for 8 bit mode where the LSB bit (bit #0) is displayed time is 2uSec. This is when 8 bit per pattern running at 716Hz frame rate. Such short display times are created by pulsing (turning ON/OFF) the illumination source, in this case Red, Green, Blue or IR LEDs. DMD load time remians fixed. Duration of light source falling on the DMD is varied to create such short display times. Suppose if you are interested in just showing bit #0 @ 716Hz then bit #0 displayed for ~2uSec but the repeatation rate is 716Hz not 500KHz. I hope this explains the situation.

    If you observe from the LightCommander GUI,  for 1 bit per pixel pattern mode, bit plane refreshed at maximum 5000Hz or 200uSec exposure timing.

    In short,

    Maximum display rate for 1 bit per pattern = 5000Hz

    Maximum display rate for 8 bit per pattern = 716Hz

    The LSB bit display time in 8 bit per pattern mode @ 716Hz = ~2uSec.

    Regards,

    Sanjeev

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • fil mag
    Posted by fil mag
    on May 23 2012 07:38 AM
    Prodigy100 points

    Dear Kangbaek Kim,

    would it be possible for you to provide Matlab code to communicate with the LC?

    All the best!

    lightcommander MATLAB
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use