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.

DLPDLCR2000EVM: DLPDLCR2000EVM doesn't show splash screen

Part Number: DLPDLCR2000EVM
Other Parts Discussed in Thread: DLPC2607

I just got a DLPDLCR2000EVM. When I plug it into a 5V 3A power supply LEDs D3 and D2 light up briefly and then D2 turns off but nothing is displayed from the projector.

What would cause this? I tried re-seating the DMD Data connector. Is there any other way to know if it is working at all?

When I plug it into the BeagleBone Black the LEDs behave the same and I see the i2c address with i2cdetect:

debian@beaglebone:~$ i2cdetect -r -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- 1b -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

But when I try to read some of the registers I don't see anything:

debian@beaglebone:~$ i2cget -y 2 0x1b 0x00 b
0x00
debian@beaglebone:~$ i2cget -y 2 0x1b 0x03 b
0x00

I guess it could be broken. Are there any other steps I can take?

  • Hello George,

    LEDs D2 and D3 indicate the status of HOST_IRQ and PROJ_ON respectively. HOST_IRQ will go low when the system has completed boot sequence, while PROJ_ON indicates the operational state of the EVM projector.

    As you mentioned D3 is on and D2 goes low after some time, that means system boots up properly. Now you should be able to see the Splash screen.

    But you are not, so iwould suggest check the DMD flex connection and LED flex connection. Try probing TP28,29,30,31... and see LED current is available or not... if LED current is there then probe Vbias, Vofs, Vrst to make sure all the voltages are going to DMD. If every voltage looks fine then your Light Engine may have gone bad...( that can be LED's or something else..)

    Now you have something to look, hopefully you will be able to find the cause.

    Please let us know your findings and we will help you to revive the EVM.

    Thanks,
    Navneet
  • I probed the DMD voltages:

    VRST = -10 V

    VBIAS = 15.9 V

    VOFS = 8.4 V

    This appears correct from my understanding of the datasheet.

    I took the LEDs off of the optics module, put a flashlight up to the LED ports and looked at the DMD mirrors through the output lens. They appear to be in the off position at power on and then turn on in large stripes over a period of a few seconds. However, when the large stripes turn "on" many of the mirrors are randomly off. It is a speckled semi-random pattern.

    It seems like there is something wrong with the DMD or the DLP2607.

  • Hello all,

    I have the same issue as the original poster. My setup consists of a BeagleBone Black and the EVM. I'm currently using the Debian 8.9 version as suggested by the quick start guide, and have added the

    cape_enable=bone_capemgr.enable_partno=DLPDLCR2000-00A0

    line in /boot/uEnv.txt.

    Initially, when I boot up the BeagleBone Black, the image on the DMD is scrambled with vertical bars. But when I ran these commands:

    echo 48 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio48/direction
    echo 0 > /sys/class/gpio/gpio48/value
    echo 1 > /sys/class/gpio/gpio48/value

    a few minutes later, the DMD has a vertical bar on the right hand side (maybe the splash image displays?). However, the included python scripts don't seem to do anything to the DMD, but it's communicating well with the DLPC2607. I can get the device status by running

    python Status.py

    in the DLPDLCR2000 cape scripts folder. These tests pass. What is weird is that, like the original poster, the i2cget commands all return 0. Even doing an i2cdump yields 0 for all addresses. Is this normal, despite the pass results for the tests in the included python scripts? Also, none of the i2cset commands have an effect on the DMD. What are some ways that I should go about this or what kind of tests should I perform? Thank you very much.
  • I have written a few tests that queries the i2c registers whenever an operation is performed such as changing the input source, the resolution, and pixel data. I have also expanded upon the SpotCheck.py python script to now get temperature values and read the curtain and DMD park status. 

    What I am interested in is controlling the DMD, but whenever I try to run these scripts that park the DMD or lower the curtain, there is no visible effect displayed on the DMD, even if the curtain is black or white. Despite successful writes and reads to the i2c that show that these commands are running, nothing is happening to the DMD. It seems as if the DMD can only be controlled by turning it on or off with the EXT_PROJ signal, nothing else.

    I am also curious about the startup procedure of the DMD chip. When restarting the DMD via the GPIO pins on the BeagleBone Black:

    echo 0 > /sys/class/gpio/gpio48/value
    echo 1 > /sys/class/gpio/gpio48/value

    one can see that the DMD flashes vertical rectangular bars/strips. What is exactly happening to the module during this stage?

  • User,

    Vertical lines on the DMD sounds like a data issue. Did you verify that the DMD flex cable is properly seated (try reseating it to be safe). This sort of behavior isn't expected on boot.

    You should be able to send park/curtain commands to your DMD and see the change reflected on the system. What commands are you issuing, exactly?

    Regards,
    Philippe Dollo
  • Philippe,

    We never disconnected the flex cable from the DMD to the board, so it seems unlikely that the connection there is bad. We only disassembled the optical engine to access the surface of the DMD chip.

    We've sent the following commands to the DMD:

    • To turn on the DMD:
      echo 48 > /sys/class/gpio/export
      echo out > /sys/class/gpio/gpio48/direction
      echo 0 > /sys/class/gpio/gpio48/value
      echo 1 > /sys/class/gpio/gpio48/value


    • Commands that were unresponsive:
      python Park.py
      python Curtain.py
      python Splash.py


    We were able to receive information from the DMD controller using `python Status.py` such as the embedded software version and the main status registers (i2c : 0x03). 

    Additionally, we ordered a new board and plugged it in and found that it did display the splash screen. This could indicate that perhaps in disabling the LEDs or disassembling the optical engine, we went wrong somewhere. However, we took all ESD precautions, handled the board and screws cautiously, and dealt with the board through insulated gloves and tools. If disassembly caused some issues, we are unsure how to proceed in order to successfully disassemble the optical engine. Would technical support for this disassembly be available if it proves to be a hardware issue?

    Thanks,

    -Victor

  • Victor,

    Did you disconnect the LEDs in your disassembly? If so, the system will not boot. The DLPC2607 actually expects both the DMD and the LEDs to be connected in order to boot up.

    It sounds like you are taking appropriate care when handling the optical engine. Assuming everything is connected just as it was prior to disassembly, the system should still work.
  • It appears there was something wrong with the LED module. I purchased a second board and connected the LED module from the second board to my original board and everything looks good. Thanks.
  • After connecting the LED Unit's ribbon cable to JLED flex, the unit does indeed turn on. Thank you very much Philippe!

    Best,
    Victor

  • Victor,

    I'm glad you were able to resolve your issue. Will mark this thread as resolved.

    Best Regards,
    Philippe Dollo