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.

DLPDLCR230NPEVM: DLPDLCR230NPEVM resets consistently when displaying a fine checkerboard

Part Number: DLPDLCR230NPEVM
Other Parts Discussed in Thread: DLPA2005

During some tests I found some strange behavior. I have created an image of a checkerboard pattern with 1 fully white and 1 fully black pixel repeating. When I open the image the standard image viewer open the image windowed at a 33% zoom level. When I try to zoom in to 100%, or when I try to display the image full-screen the EVM resets and shows the DLP logo for a few seconds and then shows the color bars test-pattern. When I rerun the the the init_parallel_mode.py the system works again normally.

Why is the EVM showing this behavior?

  • Hello User,

    Welcome to the E2E forum and thank you for you interest in DLP® technology!

    Can you share what commands you are using to set up the checkerboard and to control the zoom? What resolution are you using to set the 100% zoom?

    Regards,

    Austin

  • Hi Austin,

    Thank you for your quick response. I'm using the standard hdmi_timings which is:

    hdmi_timings=1920 0 20 10 10 1080 0 10 10 10 0 0 0 58 0 125000000 3

    I generate the image by using a small Python script:

    import numpy as np
    from PIL import Image

    img = np.ones((1080, 1920, 3)).astype('uint8')*255

    for i in range(0, 1080, 2):
        img[i] = 0
        
    for i in range(0, 1920, 2):
        img[:,i] = 0

    Image.fromarray(img).save('test.png')

    When I open this image using the desktop GUI and mouse it opens it at a standard zoom level of 33%. If I then I double click on the image to go to fullscreen the EVM resets. I have found similar behavior with  slightly different images. All with pixelwise checkerboards. Some black and white, but also with colors.

  • Hello User,

    Please allow us some time to try and recreate this behavior on our end. Thank you for your patience.

    Regards,

    John

  • User,

    Thank you for this information.

    Is it possible to check the properties of your created image before displaying? In particular, I would like to check your resolution. 

    Regards,

    Austin

  • Hi Austin,

    I've checked my resolution settings using xrandr. It gave these outputs:

    $ export DISPLAY=:0
    $ xrandr
    Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 7680 x 7680
    DSI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
       FIXED_MODE    57.46*+


    $ xrandr --listmonitors
    Monitors: 1
     0: +*DSI-1 1920/508x1080/286+0+0  DSI-1

    Hopefully this will help you.

    Regards,

    Koen

  • Hello Koen,

    Thank you for sending this.

    I am considering that the image may be an image processing issue. It will be a couple of days before I am able to test this on my own system, but in the meantime you could run a test to check.

    Please try building an images with rows and columns with fully white pixels (i.e. make images with either of the for loops commented out). Also try this with varying incremental values, such as:

    import numpy as np
    from PIL import Image
    
    img = np.ones((1080,1920,3)).astype('uint8')*255
    
    for i in range (0,1080,4):
        img[i] = 0
    
    # for i in range (0,1920,2):
    #     img[:,i+1] = 0
    
    Image.fromarray(img).save('test_stripes1.png')

    Additionally, does the same failure occur when creating an all white or all black image?

    Regards,

    Austin

  • Hi Austin,

    I've tried various settings and checked wheter the EVM resets or operates normally. I've tried settings with horizontal and vertical lines, with several line grey levels, and several distances between lines (skip). Here are the results:

    System response Line orientation line color background color skip
    reset Vertical 255 0 2
    reset Vertical 255 0 4
    normal Vertical 255 0 8
    normal Horizontal 255 0 2
    normal Horizontal 255 0 4
    normal Horizontal 255 0 8
    reset Vertical 0 255 2
    reset Vertical 0 255 4
    reset Vertical 0 255 8
    normal Vertical 0 128 2
    reset Vertical 0 127 2
    reset Vertical 0 127 4
    normal Vertical 0 128 4
    normal Horizontal 0 127 4
    normal fully black
    normal fully white
  • Koen,

    Thank you. This is very helpful data.

    I will need to collaborate with my colleagues on this. Please expect a response some time in mid next week.

    Regards,

    Austin

  • Koen,

    Do you have an oscilloscope at your disposal? I would like to know what activity you see on RESETz during these failure modes. RESETz can be probed on the resistor pad for R15 that is closest to U7.

    Regards,

    Austin

  • Hi Austin,

    I've measured the pin you indicated. I did notice that the resistor on R15 is not placed and I was measuring directly on the pads. Also, most of the times I've probed the pad the DLP also went into reset when the probe made contact. I had to run the init_parallel_mode.py again while holding the probe on the pad to make it work again.

    When I opened an image that would crash the DLP by using:
    $ feh crash_image.png -Y -F

    The signal on the oscillosope rapidly went from 2.5V to 0V. Then I closed feh by using ctrl+c and restarted the DLP with init_parallel_mode.py. When running that script the pin went from 0V to 2.5V again.

    Koen

  • Hello Koen,

    Thank you for running this test. It suggests that the DLP PMIC is triggering the reset.

    Does the same behavior remain true for the images that you mention above that do not cause the reset, or does the 2.5V hold?

    As a side note, I suspect that the contact is causing the DLP to go into reset because there is either a short being created on the board, or that the probe is pulling some current. Even if this is a small amount, the DLPA2005 has a max current output of 1mA on RESETz, so this may be the cause. You might consider blue wiring the resistor pad if this is challenging to hold in place.

    Also, R15 should not be placed by default. It is a pull-up resistor that is not needed.

    Regards,

    Austin

  • After some discussion with our team, this issue sounds familiar to this ticket:

    https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/985312/dlpdlcr230npevm-evaluation-model-flashing-when-plugged-into-5v-power-supply

    What power supply are you using for your EVM? What are its power ratings?

    Regards,

    Austin

  • Hi Austin,

    The PSU I'm using is rated at 5.2A at 5V. When an image is opened that does not create a reset the RESETz pin is stable.

    I've measured the Voltage on C33 during normal operation and I measure 4.9V. This does not seem to variate by more than 0.1V when when an error-causing image is opened.

    Initially I was testing the the DMD because I was curious how you are able to get 4 pixels out of each mirror. That's why I created the pixelwise point and line images. Could you tell me a bit more about this method how this is done?

    Regards,

    Koen

  • Hi Koen,

    Thank you for this information. It does sound like your supply is sufficient. The failure appears to be related to image processing is somehow over-taxing the power supply. 

    However, I can gladly point you toward more information regarding our methodology for getting multiple pixels out of each mirror. This is through a process called actuation (sometimes called "wobulation").

    The following excerpt was taken from the Getting Started with TI DLP® Display Technology App Note:

    Some chipsets incorporate a technology which creates either two or four pixel images on the screen from a single DMD micromirror. This is accomplished through a combination of proprietary image processing coupled with an optical actuator. The actuator is an opto-mechanical element which is positioned in the optical path between the DMD and the projection lens, and which has the ability to slightly alter the direction of the projection light rays. A 2-way actuator can direct light into two discrete directions, and a 4-way actuator can direct light into four discrete directions. The proprietary image processing converts the image data (from the customers application processor) into either two or four sub-frames of data. These sub-frames of data are then displayed on the DMD, synchronized with the direction-state of the actuator. For chipsets which incorporate this technology, the image processing is performed in an FPGA which sits in the data path between the customers application processor and the DLP controller. This FPGA is designed to receive data in the same manner that a DLP controller would, and generate both the sub-frame data as well as actuator control signals:

    • Video interface input from the application processor. Typically RGB parallel, Flat Panel Display Link (FPDLink), or Vx1 interfaces.

    • Video interface output and I2C connected to the display controller(s).

    • Actuator output drive data (DAC_DATA and DAC_CLK) responsible to drive the actuator wave-form synchronous with video sub-frames.

    Additional information on this can be found in other sections of the app note.

    Unfortunately, we do not have the resources to address this immediately. It may be a couple of weeks before we thoroughly solve this issue. If the information on actuation is your ultimate goal, please let me know if this information would suffice for this thread.

    Kind regards,

    Austin

  • Thanks for your response Austin. Last small follow-up question. Is it possible to disable the wobulation? I can't find this term in any of the datasheets of the EVM.

  • Bonder, 

    The methodology for getting multiple pixels out of each mirror is called as XPR. Kindly look for information related to enable/disable XPR in the software programmers guide, it will help you address your questions.

    Regards,

    Mayank