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.

Pattern Offset Adjustment in LightCommander

Other Parts Discussed in Thread: DLP5500, DLPC200

Hi,

I am using a DLP5500 kit in my current application. I need to download a single pattern (square pattern of 10 x 10 pixels) and I have to move this pattern within the field of view of the DMD. That is, I need to refresh the X&Y offset of this pattern at a higher speed (close to 1000 Hz). 

Initially, I tried to address this problem by downloading a pattern at a 1000 fps (1 bpp), but failed to achieve this high frame rate. Because, I need to do this on the fly. In my current application, I have a high speed camera (200 to 1000 Hz). On each frame, I will have a new X&Y offset co-ordinates that need to be updated on the light engine. 

Could someone help me find out a way to achieve this high pattern offset adjustment rate.

  • Hello Lakshminarayanan,

    Welcome to DLP&MEMS forum.

    If i understand correctly, there is a 10x10 pixel image and it needs to be positioned at different places on the DMD but the position on the DMD is determined on the fly. And the refresh rate is ~1000Hz.

    To meet this requirement the only possibility is to make use of DVI port, means you have to send the data via DVI port. Plus there is additional effort required, that is (a) You should know at least 20 X & Y positions in advance (b) Pack 20 bit-planes into a 24bit RGB frame for sending it over DVI port.

    Let me know if the solution works for you. If so, then i can help you on how to configure the DLPC200 plus provide you more details on steps (a) and (b).

    Regards,

    Sanjeev

     

     

  • Hi Sanjeev,

    Thanks for helping me out. 

    (a) You should know at least 20 X & Y positions in advance

      Does this mean the pattern update rate is still very slow (but just the DMD sub sample the packed data)? Please help me understand. It looks like the DMD refresh rate is up to 5000 fps, but the pattern download or command rate is 1/20th of the refresh rate. is that right?

    (b) Pack 20 bit-planes into a 24 bit RGB frame for sending it over DVI port.

    If we follow this method, will I be able to update the X&Y offset at a 1000 Hz in real time.

  • Hi Lakshminarayanan,

    (a) This doesn't reduce pattern rate. You will still be able to achieve a 1KHz refresh rate.

    Requirement from your side would be to generate a 50Hz 1024x768 resolution 24bpp frames real-time. I will let you know how to pack the 20 positions bitplanes into 24bits-per-pixel video frame.

    (b) I didn't understand your purpose behind putting this item. Do you have any doubts on it.

    Yes, as long as you know 20 positions in adavace and then you have solution for packing and sending them over DVI at 50Hz the solution will work perfectly.

    Reagards,

    Sanjeev

  • Hi Sanjeev,

    Thanks again for your reply.

    I don't think this technique will work for my application. Generating 24 bpp pattern at 50 Hz will only give me a temporal resolution of 20 ms. However, I need this to be 1 ms but not the DMD refresh rate. 

    Datasheet specification of 5000 Hz is simply deceiving. Because, when stacking 20 images and sending it at once, I loose temporal resolution. In my application, the system function in a closed loop fashion.

    The system has a high speed camera that captures image at 1000 frames per second. Using this camera, a moving object is tracked in real-time. A small region in the moving object need to be illuminated after every frame acquisition. That is, after acquiring an image (at 1000 Hz), the new X&Y co-ordinates of the DMD pattern is generated. This pattern command need to be executed before acquiring the next image. But, if I use your technique, I will only be able to download a pattern every 20 frames acquired from the camera.

    I would like to address this problem in a different  method (Please let me know if you agree).

    Method 1: 

    Is there a way to talk to the "CMOS memory cell" directly. If it is possible, then I will be able to set the state for 10 x 10 pixels & RESET DMD mirrors at 1000 Hz. For this approach, can I by-pass DPC200 control and talk to DLP5500 directly.

    Method 2: 

    Is there a command to adjust X&Y offset or a command to adjust the origin of a pattern. In this approach, I can download a pattern (10 x 10 square) once and adjust its offset or the origin position on the fly.

    Packing 20 1 bit images and calling that as a 20 patterns will work work for my application, since it looses the temporal resolution.

    Thank you,

    Lakshmi

  • Hi Lakshminarayanan,

    Thanks for detailed explaination.

    5000Hz is not deceiving it is applicable for the pre-stored pattern data in the frame-buffer.

    Method-1: You are referring to something like a map mode where an object of 10x10 is moved at different x & y co-ordniates on the fly. This is something can be worked but the command processing latency will be higher than 1mSec. So it is not possible.

    Direct access to CMOS memory cell is not possible. In this architecture everything goes through DLPC200 to DLP5500.

    You may want to have a look at another chipset called as Discovery 410 http://www.ti.com/tool/dlpd4x00kit this will support direct interface to the DMD chip.

    Method-2: This feature is not available currently even if it is made available it will have update latency > 1mSec. So This option is also no possible.

    For me it appears Discovery chipset is the way to go.

    Regards,

    Sanjeev

     

     

     

  • Hi Sanjeev,

    Thank you very much for clarifying the limitation.

    Before I replace the existing system with the Discovery 4100, I would like to try the map method. If the latency is still within couple of ms, that may work for application. Could you please help me test that method?

    Thank you,

    Lakshmi

  • Hi Lakshmi,

    We are yet to complete this kind of feature. The latency is going to be between 5 - 10mSec. Not sure if it still meets your requirement.

    Incase if it meets your requirement, we would like to understand more about your application. You can send me a friend request we can take it offline.

    Regards,

    Sanjeev

  • Hi Sanjeev,

    Thanks for your suggestion. At this point I cannot guarantee that 5 to 10 ms latency will work for my application.

    On the DLP5500 data sheet, I don't see a scheme for memory cell addressing. Could you please tell me which document do I have to follow to understand the memory cell addressing scheme. 

    Thank you,

    Lakshmi

  • Hi Lakshmi,

    Unlike Discovery chipset the direct memory cell addressing option is not available in DLP5500 chipset. That was the reason behind my early suggestion of looking into Discovery chipset in your end application.

    Regards,

    Sanjeev

     

  • Hi Sanjeev 

    Thanks again. I totally understand and we will be going with Discovery kit 4100 for our new application. However, in the current application, the 5500 series has been chosen and assembled in to the optical setup. It would be huge time & labor investment to alter the existing system. There must be a way, the pixel data is clocked in to dlp5500, if you could share the details, it would be a great help for us. Any help is greatly appreciated.

    thank you,

    Lakshmi