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.

Using DLP6500 to display monochrome images

Other Parts Discussed in Thread: DLPC900

I would like to drive a series of 8-bit monochrome images via the RGB interface of the DLP6500.  I've considered treating the RGB interface as a way to send three images with one VSYNC pulse but is it possible to send data on only one color channel - say green - and increase the the VSYNC pulse 3x?  In other words, can I send data on the green channel at 180Hz vs sending three images on the RGB bus at 60Hz?

Kind regards,

Tim

  • Hello Tim,

    From the perspective of the DMD in pattern modes, the RGB channels are treated the same. If I understand your question correctly, you can include 3 images in one VSYNC pulse, and you can illuminate them with any source you choose. However, regarding your suggestion, VSYNC has a limit of 120 Hz, so it can not operate at 180 Hz.

    What is the end goal you would try to achieve by sending data though one color channel at increased speed?

    Best regards,
    Trevor
  • Trevor,

    Since I'm working with monochrome images I do not need multiple color channels. The reason that I'm interested in using only a single color channel is that this would allow me to use the output trigger to synchronize other parts of the system every time an image is displayed. Otherwise, it appears that I would only get a single trigger output for every three images in the sync pulse. If I'm trying to capture a picture of each image displayed, this doesn't work for me.

    Also, if it turns out that I can do what I'm asking, do I still need to transmit a byte of data for each of the other two color channels or can I just send one color channel per VSYNC? IE can the DLP controller accept <VSYNC><Green><VSYNC><Green> vs <VSYNC><Red, Green, Blue><VSYNC><Red, Green, Blue>?

    Regards,
    Tim
  • Hello Tim,

    I apologize for the delayed response. It is possible to get a single trigger output for every image. Which pattern mode are you using?

    For more information on triggers, you can check out section 4.2.1 of the DLPC900 Programmer's Guide.

    I am looking into the second part of your question and I will get back to you on Monday with a more complete response. Thank you for your patience.

    Best regards,
    Trevor

  • Trevor,

    Thanks again for the feedback. I had started looking into the programmers guide while waiting for feedback. I'm looking into Video Pattern Mode. Looking at the documentation I think I can see how I could set things up such that I get a pulse on the trigger output when it is time to synchronize with the rest of the system. It's still unclear to me whether I can send only 8-bits of image data (since I'm working with monochrome images) to one of the color inputs or if I need to send 24-bits of data to all three colors and assume that the other colors will be 0's. This might affect cabling if I am using a non-standard interface.

    As I look into using Video Pattern Mode, some of the timing is a little unclear to me. Obviously the DMD can't start displaying the image until the entire image has been transferred over the RGB interface since it needs bitplane data for the entire image and not just a pixel. Since I'm looking at working with individual images and not a video stream do the vsync/hsync pulses go at the beginning or end of the corresponding line/frame? Do I load up the image data with corresponding hsync pulses and then send a vsync pulse to trigger the display of the image? Or do I send the vsync at the front (which would display the previous image as I understand the documentation), send the image data, and then send the vsync that would represent the beginning of the data for the next image?

    Related to this, in this mode is the image data stored in the DLPC900 internal memory as they are with pattern on the fly mode or is the image presented directly to the DMD? My interest in where images are stored comes from possibly wanting to store some images in the static image buffer while also sending images over the RGB interface. If I preload some images, I want to be sure that they will not somehow get corrupted or overwritten if I switch the projector between different display modes.

    Does Video Pattern Mode basically work the same way as Video Mode except that it will go into an "Idle" state with the mirrors flipping on and off at 50% duty cycle while waiting for the next image to be received on the RGB interface? Does the DMD retain the current image until the next image is loaded and triggered?

    To summarize, I could use help understanding the amount of data I need to send across the RGB interface (8-bit or 24-bit), the timing of the VSYNC/HSYNC signals (beginning or end of the line/frame), where the data is stored, and the timing of when an image is received to when it is displayed. Right now I'm assuming that I can send it an image, trigger VSYNC and then have the image immediately be displayed on the DMD.

    Thanks again for the information.

    Regards,
    Tim
  • Hi Tim,
    I am working to find the necessary information to answer all of your questions, I hope to have a complete answer for you tomorrow. Thank you for your patience.
    Best regards,
    Trevor
  • Hi Tim,

    It's still unclear to me whether I can send only 8-bits of image data (since I'm working with monochrome images) to one of the color inputs or if I need to send 24-bits of data to all three colors and assume that the other colors will be 0's.
    Data for 8-bit monochrome can be sent in either way you mentioned. You will specify what data to display. For example, you can display 8 bits from the R channel, just bit G5, etc. It is flexible and can be set in the code, so you can send the data in the style easiest for you.

    Since I'm looking at working with individual images and not a video stream do the vsync/hsync pulses go at the beginning or end of the corresponding line/frame?
    The data must be loaded before VSYNC is sent. When you send VSYNC, the data will be displayed and during this time, you will load the next frame of data. See the DLPC900 Datasheet, section 7.4.1 for a diagram of this explanation.

    Or do I send the vsync at the front (which would display the previous image as I understand the documentation), send the image data, and then send the vsync that would represent the beginning of the data for the next image?

    I believe this understanding is correct. The data must be loaded, then VSYNC is sent, the data is displayed, and while that happens, the next frame of data is loaded.

    ...in this mode is the image data stored in the DLPC900 internal memory as they are with pattern on the fly mode or is the image presented directly to the DMD?
    The images are sent directly to the DMD, however pattern sequence information (not the images) is stored in internal memory.

    If I preload some images, I want to be sure that they will not somehow get corrupted or overwritten if I switch the projector between different display modes.
    The images will not be corrupted. They are stored in the firmware and will remain there until they are deleted from the firmware or a new firmware file which does not contain them is loaded.

    Does Video Pattern Mode basically work the same way as Video Mode except that it will go into an "Idle" state with the mirrors flipping on and off at 50% duty cycle while waiting for the next image to be received on the RGB interface?
    Some important differences between Video Mode and Video Pattern Mode are:

    • Video Pattern Mode has accurate, one-to-one pixel mapping, Video Mode (meant for display applications) has some spatial dithering, etc.
    • In Video Pattern Mode, the pattern sequence must be defined, whereas in Video Mode, rate, data displayed, etc. have limited adjustments (see the User's Guide for more information)

    Does the DMD retain the current image until the next image is loaded and triggered?
    The image is exposed according to the pattern specifications that you set. I am not sure I understand the question, but the DMD displays the image as new data is loaded and the image does not change until it is triggered.


    Let me know if you would like me to clarify one of my answers. I hope this helps!

    Best regards,

    Trevor

  • Trevor,

    Thanks for the great information. That clears up a lot for me. I do have some follow up questions though.

    Do I need to continuously send image data in Video Pattern Mode or can I send it asynchronously on an as needed basis? In my application I would like to display an image, wait a period of time while my system does its work and then display another image. After I display the first image I want to send image data for the next image but not send the VSYNC until I'm ready to display the next image some time later. Related to this, I assume that I am OK configuring the Video Pattern Mode sequencer for one image per VSYNC, yes?

    I have a question related to the timing shown in the DLPC900 datasheet, section 7.4.1 that you referenced. It says that the first sequence consists of P1, P2 and P3.1, P3.2 and P3.3. The second sequence consists of P4, P5 and P6. So why does it show P4 being displayed before the second VSYNC pulse? My understanding was that you need a VSYNC pulse to start the next pattern sequence. In fact, that timing diagram doesn't make sense to me at all because don't I need to send a VSYNC after each pattern (P1, P2, P3, etc) in order to define where the image boundaries are?

    Is there any timing information available for the time between me sending a VSYNC and when the image is actually displayed by the DMD? There may be situations where I am unable to use the trigger out 1/2 signals from the DMD to synchronize with my system.

    Thank you again for taking the time to get answers to my questions.

    Regards,
    Tim
  • Tim,

    Allow me to describe the Video Pattern Mode Timing Diagram more fully. A "Frame" of data is 24-bits. The controller takes the pattern images and creates a composite 24-bit image. So for example, if you are sending 8-bit monochrome images, 3 of those will be made into a 24-bit composite image (as 3 * 8 = 24). VSYNC is used to trigger this Frame. Now, the diagram does not go into detail on the bit depth of these patterns in the pattern sequence, but it can be assumed that each frame adds up to 24-bits.  "Pattern Sequences" are separate from VSYNC. The individual "P"s (patterns) in each Pattern sequence are advanced with triggers. Section 4.2.1 of the DLPC900 Programmer's Guide covers triggers pretty well (and also shows the same timing diagram).

    Do I need to continuously send image data in Video Pattern Mode or can I send it asynchronously on an as needed basis?
    The DLPC900 loads data into the DMD in a dual buffer (this is how you can load a new frame of data in one buffer while data is being displayed from the other). So, if you do not send new image data during operation and you do not send a VSYNC, it will not change frames. Nothing will be displayed. It is important to not send a VSYNC signal if you have not loaded the buffer, because if you do not send image data and do send a VSYNC anyway, the DMD will revert back to the previous frame of data (the previous buffer, which was not overwritten).

    Related to this, I assume that I am OK configuring the Video Pattern Mode sequencer for one image per VSYNC, yes?
    Yes, this is okay. As I mentioned, you set what you would like to display from each frame.

    Is there any timing information available for the time between me sending a VSYNC and when the image is actually displayed by the DMD?
    Between VSYNC and displaying the first pattern in the frame, there is about 105μs of dark time.

    Just let me know if there's something you would like me to go into more detail on!

    Best regards,

    Trevor