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.

Output Trigger Timing when in Pattern Mode

Good afternoon,

We are curious about the timing of the trigger with respect to the DMD refresh when in pattern mode. According to the documentation, the DMD takes 230 us to update the next bit within an image. We have the "internal trigger" and "pattern exposure" set to 693 us. We receive the trigger from the 4500 and are not sure what state the DMD is in. Is it updating or is it finished updating, or is it somewhere in between. 

To determine the state of the DMD we measure the intensity of light coming from the system by integrating the response of a photodiode for x us within the 694 us period. We know that 230 us are supposed to be used up by the updating of the DMD, so we should be able to integrate for 460 us. Taking data for 3 white 3 bits followed by 1 black bit will tell us if we are integrating while the DMD is changing from white to black. We are able to change the timing of when we take an intensity measurement. We would expect, if the pattern is fully updated, the 3 white points would have the same intensity as no pixels would be black.

Now here are our results. If we integrate over the entire time we obtain a response where the first white point is low, the second is high, and the third is low. This indicates that the DMD is changing states during the integration. If we stop integrating earlier, say by 100 us, the first point is low, the second point is high, and the third point is high. This seems to indicate that the DMD is changing before the trigger. When we start integrating 100 us after the trigger, and stop integrating 100 us before the next trigger, all three points are high. So it seems that the DMD is updating while the trigger is sent.

Our analysis seems contrary to what the documentation states. However, it is not clear from the documentation what the trigger timing is when the two timings, internal trigger and pattern exposure, are set equal.

Can you please tell us when the trigger is sent with respect to the state of the DMD when the two timings are set equal? From the forums it seems that it should be either when the DMD is fully parked or before the DMD has begun to change to the next bit. Our data, however, suggests otherwise.

Thank you again for all of your help, we really appreciate it.

Justin

  • Justin,

    DMD 230us to load and display the data. The 230us dark time applies only before the the very 1st image displayed on the DMD. After this there is no 230us dark time (unless you have chosen the Clear DMD after exposure option this will introduce a 230us dark time); the DMD goes through LOAD - RESET cycles, load is when data is updated at the DMD CMOS memory, RESET is when actual mirror take the position based on the data loaded, so after the first image, the data of the next image will be already LOADED so there will not be any dark time. If the photodetector is following the trigger o/p pulse for integration then you will doing proper measurements. Moreover the 230us dark time gets significance if the pattern display is expected out of an external trigger event; this is because after receiving the trigger signal DMD begins loading the data, therefore ~230us dark time after that the pattern is displayed for user set exposure time. Further, if it is doing internal trigger and your hardware (capture device) following to the trigger o/p signals this will not even come into the picture.

    I am assuming you are using the binary pattern mode; to show the 3-white bits and 1-black bit, the DMD has to go through 4 LOAD operations and 4 RESET operations. What is the exposure time pattern set to ? Assuming you have set to least possible 250us. To display these 4 patterns without Clear DMD after exposure selected you require a total of 250x4 = 1ms. But you are integration time is set to 694us.

    Based on the programming following possibilities exist -

    With Clear DMD after exposure selected

    -> Exposure     | [1st pat] - 230us Dark time - | [2nd pat] - 230us Dark time - | [3rd pat] - 230us Dark time - | [4th pat] - 230us Dark time


    With Clear DMD after exposure NOT selected

    -> Exposure    | [1st pat]  | [2nd pat] | [3rd pat] | [4th pat]

    Trigger - |

    Note the trigger output can be delayed and advanced by -20us to + 2.85us Trig_Out_1 and Trig_Out_2 -20 to +7.29us. For the best result, the photodetector integration can be setup to hardware trigger.


    Regards,
    Sanjeev

  • Hi Sanjeev,

    I'm working with Justin on this project. I'm not sure that I understand your response. Let me ask some clarifying questions, and provide a little more information.

    Info) We are in 1-bit binary pattern mode with a repeating sequence of G0-7,R0-7,B0-7. Only the last bit has the DMD blanking set. We set the pattern exposure and trigger timing to 693 us, as Justin says. The data is being provided over the HDMI port at 60 Hz. (1 / (60 Hz * 24 bits) == 694 us, hence our chose of 693 us.) Our PD integration and ADC is all handled by hardware timing and initiated by the output trigger of the Lightcrafter.

    Question 1) We are assuming that it takes the DMD some amount of time to update from bit to bit. We do not want to be integrating signal while the DMD is updating. How long is that period?

    Question 2) When does this update period start relative to the output trigger that occurs once per bit?

    Thanks,

    Jason

  • Hello Jason,

    That explains your query better.

    #1.
    When you are streaming the data; the bit is displayed about 225us (RESET applied) from the VSYNC, the following next bit is displayed after 693us i.e., completion of exposure of first bit, this continues until the last bit. I am assuming you are referring to TRIGGER_OUT_1 signal is used to connect to the PD. This signal is precisely mapped to the pattern exposure time; during this time there is no DMD update happening.
    TRIG_OUT_1 signal and DMD reset occurs same time, although you have option to delay or advance the TRIG_OUT_1 signal. Note, when the RESET is applied, there will be damping signal (in terms of light output) which is < 4us after the RESET.

    On the 1bit pattern sequence, there are 10 base sequences, from 235us, 256us,...,510, note one to other is 10% increase. These sequences are used to generate the user defined exposure, this is achieved by "repeating" and hardware allowing "sequence stretching" of base sequence upto 10%.

    For your 693us, there is going to be a base sequence repeated twice. For every pattern displayed for 693us, the pattern display sequence runs twice i.e., DMD goes through two RESET cycle for same data, you can see damping signals twice for every pattern. You can avoid 1st damping by delaying +Xus to TRIG_OUT_1 signal but not possible to avoid the 2nd damping.

    For instance if you set say 510us as exposure, then you would see just 1 RESET per pattern exposure.


    #2.
    TRIG_OUT_1 and DMD show the data same time by default the TRIG_OUT_1 time is set 0us, this can be adjusted b/w -20us to +2.85us wrt DMD update.

    Regards,
    Sanjeev
  • Hi Sanjeev,

    Now we're getting somewhere.

     1) Yes, were are using TRIG_OUT_1 to control the PD timing. Bear in mind that it does not directly trigger the PD, but rather, controls the generation of separate triggers for PD integration reset, start and stop, as well as ADC conversions. For the sake of all future discussion, let's assume that the advance/delay of TRIG_OUT_1 is set to the default 0 us, and I'll acknowledge that I could change it if I wanted to.

    2) I don't understand what you mean by "base sequence." Could you please elaborate? Since for a 1 bit pattern, there is no need to change the pattern during the exposure, why is it subdivided?

    3) When you say "from 235 us," etc., what is this relative to? The unmodified TRIG_OUT_1?

    4) I think you are saying that it takes the DMD about 4 us to update. That is, once it has the data, the mirrors are physically moving for 4 us. Is this correct? This happens prior to the TRIG_OUT_1. But it also sounds like it may happen during the exposure period, depending on the base sequence.

    5) It is not possible to set a 510 us exposure, as that is >693 us - 230 us. At least it's not possible with the shipping software. I do have my doubts about the validation logic in that code, though. Was that just a poor example on your part, or am I missing something else?

    Thanks,

    Jason

  • #1. Okay

    #2. Sequence is the one which has instructions about DMD LOAD and RESET timing; kind of assembly code for a processor. Now, as you know we cannot have dedicated sequence for ALL the possible combinations of pattern exposures, ideally we then require infinite; it also going to occupy space on the flash memory. Therefore we took the approach of having small subset of display sequences, call them 'base sequence'; use them for by repeating to generate other exposure timings. So for ANY given exposure by the user, it will be one of the 10 base-sequence and it will be repeated to meet the user specified exposure time.

    If X is the user defined exposure; search if any sequence from the "base sequence" matching 'X', if NOT pick the one which is closest or exact multiple of 'X'. The multiplication factor is the one indicate number of times it is repeating.

    #3. 235us smallest possible 1-bit base sequence. Yes unmodified TRIG_OUT_1

    #4. Yes physically moving after that they will be held in stable state until the next RESET applied. Yes it happens depending on the base sequence.

    #5. For Video Streaming option please set pattern exposure = pattern period; so set 510 for both entries. this gives 510x24 + 230 (Black Vector for last pattern)  = 12470us. So running at 60Hz, the sequence will be running for 12470us (of which 12240us is 24 1bit pattern displayed for 510us), remaining  4196us will be dark time. 

    Regards,

    Sanjeev