Our system use 947 and 948 fpdlink system to transmit video data. Data link as follows:
Embedded Linux SoC --LVDS--> DS90UB947 --coax cable--> DS90UB948 --OLDI--> DLPC230+DLP5533A
Video resolution is 1152*576@60Hz
Here are a few of our current issues:
1. This system is currently easy to enconter screen flickering issues. When flickering occurs, the LOCK pin on 948 is pulled low. And output clock of 948 cannot be detected. At this time, the DLPC will generate a signal loss state, manifested as screen flickering.
In some times I can confirm that the register 0x3B in 948 is adding after flickering occurs. We don't understand how AEQ runs and how to configure these registers.
2. In another scenario where we play videos, we have found another issue where the screen goes black after playing for a while. This phenomenon is associated with the deserializer and we have conducted comparative switching experiments. When the DLP displays a black screen, only a soft reset by write 0x01 to register 0x01 of 948 or power cycle can restore the system. When I try to write 0x02 to register 0x01 of 948, the dlp display will cause a snowy screen effect, also restore after power cycle. This should be a different case whis issue 1.
Here is the initial code of 947:
3. When we try to locate the problem, we try to generate test pattern in 947/948. According to AN2198, we use the sequence of the resolution (1152*576@60Hz/576*288@60Hz) to rewrite some indirect registers in 947. But the DLP system cannot switch to the corresponding gear. The error code of DLPC230 is 666, which means "External source measured active pixels per line does not match source definition.".
The code for set test pattern in 947:
Please analyze these cases and tell me how to avoid thse situations. We also need test pattern to confirm the problem.