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.

DLP4500: How to program the DLP lightcrafter 4500 to repeat patterns during pattern sequence mode

Part Number: DLP4500
Other Parts Discussed in Thread: DLPC350, DLP7000,

Under the pattern sequence mode, video signal source is computer video card signal at 60HZ. How do I repeat the displayed pattern three times for every 1/60 seconds interval? 

For example, if during one 1/60s time interval, the signal input is 11001100 10101010 1111111.

I want the projector to display the same pattern three times during the 1/60s time interval, i.e., during the 1/60s, the projector displays:

11001100 10101010 1111111 11001100 10101010 1111111 11001100 10101010 1111111

In other words, make the projector three times faster, but merely repeating the original signals for three times for every 1/60s?

Thanks very much

  • Hello Song,

    You should be able to create the bitplane sequence to display the desired pattern and then repeat the bitplane sequence. In other words, you will have 60 1-bit bitplanes that correspond to the 60 patterns you want to display. However, you are required to display all of the bitplanes before the next VSYNC. Therefore, it may or may not be possible under the conditions you are describing. I have attached an example of displaying 3 8-bit patterns 3 times below.

    Thanks,

    Kyle

  • Thanks for the reply!

    I appreciate your idea of "create the bitplane sequence to display the desired pattern". But I am confused about " you are required to display all of the bitplanes before the next VSYNC".

    Since VSYNC is from the computer graphic card at 60Hz, and the computer graphic input signal is only 24 bits (8R 8G 8B) between two adjacent VSYNC. Do you mean i should manually program the computer graphic card such that it repeats the 24bits three times between every adjacent VSYNC?

    Is there a way that i can program the 4500 instead of the PC computer graphic card to achieve this same effect? In other words, program the 4500 such that it automatically repeats 24bits input stream in between two VSYNC three times while the PC graphic only input 24bits every 1/60s?
  • Hello Song,

    Yes, the 4500 can be programmed to display the same bitplane multiple times. For example, in the picture below I show the bits G0 G1 G2 G0 G1 G2 G0 G1 G2 (you don't need to use all the bitplanes). You can repeat the same bitplane any number of times. The caveat that I mentioned is that the entire bit plane pattern sequence must be completed by the time the next VSYNC pulse arrives. Therefore, if you are sending in data at 60hz, the entire pattern needs to be done in 1/60seconds. If you can't fit the whole pattern in that rate you will need to slow down the input data.

    Thanks,

    Kyle

  • Great answer and thanks for the reply! Please allow me to clarity a little bit:

    1. What do you mean by "slow down the input data"? By selecting video port and VSYNC, isn't it by default that the video input is 24-bit picture frames? The input rate seems to be fixed and non-adjustable.

    2. By "entire pattern needs to be done in 1/60seconds", do you mean I should reduce the "pattern exposure time"? For example, if my pattern sequence is:

    F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7 F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7 F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7

    for a 60hz VSYNC 24-bit video input, then i should set the pattern exposure time to be 1/(60*24*3) = 231.48 us ? Since exposure time must be an integer, should i be 231 or 232 us?
  • Hello Song,

    If you would like each 1-bit pattern to be displayed for 1/60 = 16.667ms and you have 24*3=72 patterns, your VSYNC should occur every 16.667*72 = 1200ms. Therefore, your video rate would be 0.83fps. If you are piping data directly from your computer this may not be supported. This is what I was talking about when I said slow down the input data.

    Alternatively you may want to try exploring different ways to send the data by dividing it up in different frames to send and display. Keep in mind the 24-bit video frame you are sending is merely a representation of the data that can be displayed. The Lightcrafter 4500 will display whatever part of the frame you desire with regards to it being video data (ie. there is no requirement for the R bits to actually coorspond to red or for the bits to be displayed in order). I would definitely recommend downloading and using the GUI software to better understand how it works if you haven't been already.

    Thanks,
    Kyle
  • Hi Kyle:

    Thanks so much for the patience and help!  I have downloaded GUI and played with it for quite some time and i still some of your help.

    Sorry that i didn't make clear previously. The depicted scenario i mentioned above is:

    1. Video input is simply a Windows PC hooked up with 4500 with HDMI cable. It means the PC sends each frame every 1/60s. Each frame is 24-bit, which means each frame consists of 24 1-bit pattern.

    2. During each 1/60s VSYNC interval, there are only 24 1-bit patterns sent from the PC HDMI port. (8R 8G 8B,  and there is no requirement for the R bits to actually coorspond to red or for the bits to be displayed in order).

    3. I want to display the 24 1-bit patterns for 3 times repeatedly during the 1/60s VSYNC interval. In other words i want each 1-bit pattern to be displayed for 1/(60*24*3) times.

    My method was to set the pattern exposure time to be 1/(60*24*3) = 231.48 us and set the pattern sequence to be:

    F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7 F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7 F0:R0 F0:R1 F0:R2 F0:R3 F0:R4 F0:R5 F0:R6 F0:R7 F0:G0 F0:G1 F0:G2 F0:G3 F0:G4 F0:G5 F0:G6 F0:G7 F0:B0 F0:B1 F0:B2 F0:B3 F0:B4 F0:B5 F0:B6 F0:B7

    Is my method correct in your opinion?

    I have attached the screenshot. Sorry that some part of my pattern sequence is not shown because the pattern sequence is too long.

  • Hello Song,

    At a high level I agree with everything you said. Unfortunately I see two issues with this specific implementation. When doing external RGP Input Patterns (ie. an HDMI input) you are limited to a 2880 Hz binary rate. 1/2880 ~= 348us. Therefore, your minimum exposure time needs to be 348us instead of 231us. See Table 7 in the DLPC350 datasheet for more information on this.

    The other issue is all the patterns in your sequence should be be displayed in 1/60 = 16666us. Therefore, with a 348us exposure time you can only display 16666/348 = 47 binary patterns before the next VSNC from the video data arrives. To fix this you need to find a way to reduce the input framerate or rethink your pattern sequence. For example. you could just show 24 of the patterns per frame. While it may be theoretically possible to have a sequence expand over multiple VSYNCs this is not reccommended. 

    In my experience it's usually difficult to use a normal Windows computer as an input due to Windows formatting of video and other restrictions. A special program and/or hardware may need to be utilized. Alternatively, it is very poplar to use the internal flash for patterns which is less difficult. If you have a specific application you are trying to meet that makes this difficult please let me know.

    Thanks,

    Kyle

  • Hi Kyle:

    Wow, impressive comment and sharp observation! I don't have a specific application yet.

    The internal flash seems only capable of storing 48 patterns but I want to continuously stream data bits into the projector.

    I noticed that the 2880HZ is the "external RGB input pattern rate". I am wondering whether this rate means the HDMI maximum data streaming rate or the DLP display rate. I am actually only streaming in 24-bit color images at a 60hz refresh frequency, hence my streaming data rate is only 60*24=1440 (1-bit pane) 

    I am merely tripling the displaying rate but with the same content. Hence am I right to say that the 2880hz is sufficient to support my imagined scenario? I can carry out experiments on it with my 4500evm though.

    If it is not fast enough to support my imagined scenario, is there another TI reference design with optics installed that I can purchase instead? thanks

  • Hello Song,

    If you are just streaming 24 1-bit planes per frame then you are at a 60*24=1440 rate which is good. If you are repeating the patterns three times you are at a 60*24*3=3420 rate which is too high. The 2880hz is the DLP display rate. There isn't a firm HDMI maximum data rate but generally you will be good if you keep it below 120hz (which you are).

    Thanks,
    Kyle
  • Hello Song,

    I just confirmed that while what I have said above is still the recommended procedure, if you need, to it is theoretically possible for your pattern sequence to extend across multiple video frames (i.e. it can span across the VSYNC boundaries). However, you will have to carefully ensure the timing works so you properly display the correct images.

    Thanks,
    Kyle
  • Hi Kyle:

    I am just streaming 24 1-bit planes per frame ( 60*24=1440 rate) but at the same time I am repeating each 24 bit plane three times on the projector end.

    It is so sad that the 2880hz is the maximum display rate. Isn't DLP technology capable of switching micro-mirrors at an extremely fast rate? I will test my 4500 in the next couple of days to confirm its maximum rate and update you on this.

     

    1. Are there other DLP EVM models that is capable of displaying faster which I can purchase? It has best be a model with optical components already installed.

    2.  If I "extend across multiple video frames (i.e. can span across the VSYNC boundaries), wouldn't a portion of pictures not be displayed at all? Because the display rate cannot catch up with the incoming new data rate.  Input rate > output rate?

     

    thanks so much for the help!

    Song

     

     

  • Hello Song,

    1. The DLP4500 EVM is the fastest evaluation module that comes with optics. The DLP6500 can achieve over a 11,000hz binary rate and the DLP7000 (with the DLP Discovery 4100 EVM) can achieve over a 30,000Hz refresh rate; however, this requires separate optics.

    2. I am not sure I understand your question. You have two separate things, the input data rate (composed of all 24 1-bit bitplane every 1/framerate seconds) and you have the display rate (determined by your pattern exposure time). The display rate needs to be under the maximum. However, it can access any of the 24 1-bit bitplanes during the current video frame (it could display every 1-bit bitplane once or even display them multiple times. If your selected pattern doesn't finish the display within the current video frame it will expand to the next video frame, even though this is not recommended) .

    Thanks,
    Kyle