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.

DLP4710EVM-LC: DLP4710EVM-LC:

Part Number: DLP4710EVM-LC
Other Parts Discussed in Thread: DLP4710, DLPC3479

hello ma'am or sir,
You know that we are developing back-end interactive products based on DLP4710 DMD. Our ultimate goal is to make a home projection product based on DLP4710.
One of our key functions is to configure Duty Cycle (RGB) through the I2C interface. We wondered if such help could be possible. 
1) First of all, we want to know what is the format of the I2C command?
2) How do we determine, how does the DMD (as a slave device) represent its I2C bus address and read and write bits?
3) Can you provide a specific example?
thanks.

  • Hello User,

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

    To start I might recommend that you consider the DLPC3439/DLP4710 display platform. This is similar to the DLPC3479/DLP4710-LC (light control) EVM that this thread is tagged with, but the light control variant has features geared toward light control applications such as 3D scanning and machine vision. These features may not be useful if designing for a home projection product.

    One of our key functions is to configure Duty Cycle (RGB) through the I2C interface. We wondered if such help could be possible. 

    Unfortunately there is no command to adjust the RGB duty cycles while the projector is running. There are typically three or four duty cycles pre-programmed into the device firmware from which a color point can be chosen. After the selection, the color and brightness can further be adjusted by tuning the LED currents.

    1) First of all, we want to know what is the format of the I2C command?

    The I2C command format can be found in the Software Programmer's Guide of the chosen DLPC. In the case of the DLPC3439 (display controller) this is found in section 2.3.2.1. In the DLPC3479 (light control) Software Programmer's Guide the information is found in Section 2.2.

    2) How do we determine, how does the DMD (as a slave device) represent its I2C bus address and read and write bits?

    The DMD does not have an I2C slave address. Rather the DLPC is targeted on the I2C bus which in turn controls the DMD. The DLPC addresses are typically 0x36 or 0x3A depending on the chosen firmware.

    3) Can you provide a specific example?

    For example, consider Write RGB LED Enable detailed in the DLPC3439 Software Programmer's guide in section 2.3.3.46.2. In a batch file, enabling all LED's would appear as:

    W 36 52 07

    Disabling all LED's would appear as:

    W 36 52 00

    Kind regards,

    Austin

  • Hello User,

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

    To start I might recommend that you consider the DLPC3439/DLP4710 display platform. This is similar to the DLPC3479/DLP4710-LC (light control) EVM that this thread is tagged with, but the light control variant has features geared toward light control applications such as 3D scanning and machine vision. These features may not be useful if designing for a home projection product.

    One of our key functions is to configure Duty Cycle (RGB) through the I2C interface. We wondered if such help could be possible. 

    Unfortunately there is no command to adjust the RGB duty cycles while the projector is running. There are typically three or four duty cycles pre-programmed into the device firmware from which a color point can be chosen. After the selection, the color and brightness can further be adjusted by tuning the LED currents.

               GANG: REPLY:  Thank you for your suggesion. we will re-consider our choice. 

    1) First of all, we want to know what is the format of the I2C command?

    The I2C command format can be found in the Software Programmer's Guide of the chosen DLPC. In the case of the DLPC3439 (display controller) this is found in section 2.3.2.1. In the DLPC3479 (light control) Software Programmer's Guide the information is found in Section 2.2.

              GANG: REPLY:  Thank you for the document. This document SOLVED MY QUESTION.

                 However, for a more little quesiton. can you give a OK or not OK judgment for the follow I2C commant to TI DMD? 

               for exaple to ajust the led current. 

    1)           0x3A           0x50               0x00

              address     COMMAND    parameter (enable manual adjust the led current)

    and then send command for R channel current. 

     2)         0x3A          0x52               0x01  (enable R chanel led current write)

    3)         0x3A          0x54               0x03   0x00    0x00      0x00x     0x00      0x00      (Set R channel 3A; and G B channel keep original)

    Is these step right?  Thank you. 

    2) How do we determine, how does the DMD (as a slave device) represent its I2C bus address and read and write bits?

    The DMD does not have an I2C slave address. Rather the DLPC is targeted on the I2C bus which in turn controls the DMD. The DLPC addresses are typically 0x36 or 0x3A depending on the chosen firmware.

                GANG: REPLY:  Your answer SOLVED MY QUESTION.
    3) Can you provide a specific example?

    For example, consider Write RGB LED Enable detailed in the DLPC3439 Software Programmer's guide in section 2.3.3.46.2. In a batch file, enabling all LED's would appear as:

    W 36 52 07

    Disabling all LED's would appear as:

    W 36 52 00

             GANG: REPLY:  Your answer SOLVED MY QUESTION. HOWEVER Can you take some minutes for my example above. 

              THANK YOU.

    Kind regards,

    Austin

  • Hello Gang,

              GANG: REPLY:  Thank you for the document. This document SOLVED MY QUESTION.

                 However, for a more little quesiton. can you give a OK or not OK judgment for the follow I2C commant to TI DMD? 

               for exaple to ajust the led current. 

    1)           0x3A           0x50               0x00

              address     COMMAND    parameter (enable manual adjust the led current)

    and then send command for R channel current. 

     2)         0x3A          0x52               0x01  (enable R chanel led current write)

    3)         0x3A          0x54               0x03   0x00    0x00      0x00x     0x00      0x00      (Set R channel 3A; and G B channel keep original)

    Is these step right?  Thank you. 

    Commands 1 and 2 should work correctly, but command 3 will not for a couple of reasons. First, even though the green and blue LED's are disabled, setting the green and blue LED's to 0 will cause the controller to default to the minimum programmed in the firmware. In the case of the 4710EVM-LC firmware, this value is 0x5B (91). This minimum is set due to the likelihood of SNR issues arising on the LED current feedback loop used to control the light output on the EVM. No actual current will be flowing through the LED's in this case since they are disabled, but this will be the return value if a Read RGB LED Current command (0xD2) is issued.

    Secondly, and more importantly, the current value set to the red channel (0x03) is below the minimum. For the same reasons I mention in the paragraph above, the minimum value able to be set here is 0x5B. It may be that this was not your intention and your goal was to set the red LED current to 0x0300 (768). If this is the case please note that the command is little endian, so the command should be issued as:

    0x3A 0x54 0x00 0x03 0x5B 0x00 0x5B 0x00

    Kindly,

    Austin