Other Parts Discussed in Thread: DLPC3420, DLP160AP
We are working on a custom board featuring the DLP160AP chipset (DLPC3420+DLPA2005).
We have a fully functional design which does not utilize the internal VLED driver and uses external illumination.
On a new prototype, we are attempting to use the VLED regulator to drive a single illumination LED. The system boots normally and displays the splash screen for a few 100s of milliseconds. However. when the LED1 is enabled (LED_SEL0 is asserted by the DLPC automatically), a fault is triggered by the DLPA2005 within about 17 us after LED activation, as signified by the PARKZ/INTZ line being pulled low (see image below) and the system goes into fast park, following after about 34 us by RESETZ being pulled low causing the system to shutdown.
(LED_SEL0 yellow, PARKZ green)
We are using a 10 Ohm resistor in place of the LED for safe testing. After measuring the VLED line, we have found that the VLED voltage rises above 5.4V which likely triggers the LED overvoltage fault (LED_OVP) in the DLPA (see image below).
(Yellow: VLED, Green: RESETZ)
Following this, we have attempted 2 I2C control commands to prevent this with no viable results.
- Issuing Write RGB LED Enable (52h) before the automatic LED activation does not prevent the controller from activating the LED_SEL0 line. The LED is activated later regardless and despite the DLPC acknowledging the command.
- Write RGB LED Max Current (5Ch) does appear to prevent the VLED overvoltage. After the LED is activated by the DLPC (LED_SEL0 is pulled high), VLED now falls and holds stable regulation at a lower voltage such that the LED (in this case, resistor) current is correct according to the specified value (about 200 mA). Voltage measured at RLIM was 8 mV, in accordance with 200 mA). Despite no overvoltage being visible, the DLPA still issues the interrupt in identical manner and puts the system into fast park shutdown.
We have verified that all other output voltages of the DLPA (1.1V, 1.8V, 2.5V,3.3V, 6.6V and DMD operating voltages) are stable.
My questions are:
- Is VLED_OVP interrupt masked or unmaksed by the DLPC firmware? While the interrupt is masked in the DLPA by default, I have no information whether the DLPC firmware modifies this. Would this condition cause system reset in this manner?
- Is it possible to extract the fault code from the DLPA using the DLPC firmware? We can access the fault/interrupt register in the DLPA externally, however this requires tapping a standalone microcontroller into the DLPA's SPI line. Determining the origin of a fault should be an important part of the system.
- Is it possible to mask the DLPA interrupts using the DLPC firmware? Once again, we could access the mask register with an external microcontroller but this is not desirable
- Are there any conditions other than VLED_OVP, related to the VLED regulator which can cause the DLPA to output an interrupt via the INTZ pin?
- Is it possible to set the default LED max currents in the firmware persistently? Otherwise this requires the host to issue an I2C command in a relatively short time frame every time after the DLP system boots and before the LEDs are activated shortly afterwards. I would imagine that this is a constant value somewhere within the firmware ROM. While the DLPC offers I2C commands for writing to Flash, without knowing it's address we cannot modify it. Are the user-modifiable parts of the firmware (such as configuration, splash screens, etc.) documented somewhere?