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.

DLPLCR65EVM: EVM stopped working, DMD shows no image.

Part Number: DLPLCR65EVM
Other Parts Discussed in Thread: DLPC900

Tool/software:

Hi!

A DLPLCR65EVM module I was using for several years just stopped working for no apparent reason. I was currently using it for an experimental setup with the built-in rotating pattern sequence. Before that, I was using it in another setup in video pattern mode and it worked fine (I’m just mentioning that to make clear that the device did work properly at some point).


In its current state:

  • The DMD does not show any pattern anymore (DMD stays inactive)
  • The EVM does not connect via USB to a PC. The DLPC900 GUI shows “Disconnected” even though the device is physically connected. The EVM also does not appear in the Windows device manager (not even as unknown). I tested that on two computers.
  • When the EVM is powered up, LEDs D8 and D9 light up, D6 is permanently off (before it was toggling on/off)
  • The EVM now draws approx. 350 mA (at 12V). When it was working properly, it drew approx. 380 mA, fluctuating a bit depending on what was presented on the DMD
  • The EVM is not recognized by the Windows graphics hardware when connected by DisplayPort. Oddly enough, it is recognized by Windows as DLP6500 with the correct native resolution when connected via HDMI, however, also then the EVM does not work.
  • I looked at the board with a thermal camera. In accordance with the moderate current draw, nothing gets particularly hot. The DLPC900 runs at approx. 37°C, the IT6535 shows a smaller hot-spot at a slightly lower temperature. Apart from that, only the power circuitry gets warm (< 35°).

Do you have any further suggestions what I could check to narrow down the problem? Might flashing a new firmware help?

Thanks a lot!

Best,
Malte

  • Hello Malte,

    This sounds like the bootloader may have become corrupted since the USB does not seem to be connecting.  The USB connectivity is part of the bootloader.  We do not know why on occasion the bootloader becomes corrupted.

    Regrettably this means getting a FTDI USB-JTAG and wiring it up to connect to the JTAG connector on the board.

    Please see section 6.11 JTAG Flash Programming starting on page 54 of the DLP® LightCrafterTm Single DLPC900 Evaluation Module Users Guide --> DLPU101D.  The guide also has information on the mating connector to the board.

    Fizix

  • Thanks a lot for your prompt response! I have to order the FTDI adapter. That might take two days. I would come back to this thread if I have further questions/issues. Thanks for your help so far! Malte.

  • Malte,

    I am sorry that you are experiencing this issue.  Please let me know how it goes.

    Fizix

  • Hi!


    I just received the UM232H module and soldered the adapter cable that connects to the EVM. When connecting the UM232H to the PC it integrates as a virtual com port. However, I think I currently have a more fundamental problem with the Flash Programmer software. When starting it, it immediately crashes with the following error message


    I got the same error message on two different Win10EDU machines.

    This seems to be the same problem as described here: https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1210402/dlpc900ref-sw-jtag-flash-programmer-error

    I did all the steps suggested there, unfortunately without any success.

    According to a suggestion I found online, I ran the sxstrace tool to further analyze the problem. I include the protocol file I got from that below. Unfortunately, I cannot really decipher or extract anything from that.

    =================
    Begin Activation Context Generation.
    Input Parameter:
    	Flags = 0
    	ProcessorArchitecture = Wow32
    	CultureFallBacks = en-GB;en;en-US
    	ManifestPath = C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\FlashProgrammer.exe
    	AssemblyDirectory = C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\
    	Application Config File = 
    -----------------
    INFO: Parsing Manifest File C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\FlashProgrammer.exe.
    	INFO: Manifest Definition Identity is (null).
    	INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"
    	INFO: Reference: Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"
    INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762".
    	INFO: Resolving reference for ProcessorArchitecture WOW64.
    		INFO: Resolving reference for culture Neutral.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.762__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
    				INFO: Did not find manifest for culture Neutral.
    			INFO: End assembly probing.
    	INFO: Resolving reference for ProcessorArchitecture x86.
    		INFO: Resolving reference for culture Neutral.
    			INFO: Applying Binding Policy.
    				INFO: Find publisher policy at C:\Windows\WinSxS\manifests\x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9672_none_51704e630f46ca5c.manifest
    				INFO: Publisher Policy redirected assembly version.
    				INFO: Post policy assembly identity is Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.9672".
    			INFO: Begin assembly probing.
    				INFO: Attempt to probe manifest at C:\Windows\WinSxS\manifests\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9672_none_d08f9da24428a513.manifest.
    				INFO: Manifest found at C:\Windows\WinSxS\manifests\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9672_none_d08f9da24428a513.manifest.
    			INFO: End assembly probing.
    INFO: Resolving reference Microsoft.VC80.CRT.mui,language="&#x2a;",processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.9672".
    	INFO: Resolving reference for ProcessorArchitecture WOW64.
    		INFO: Resolving reference for culture en-GB.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en-GB_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en-GB.
    			INFO: End assembly probing.
    		INFO: Resolving reference for culture en.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en.
    			INFO: End assembly probing.
    		INFO: Resolving reference for culture en-US.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en-US_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en-US.
    			INFO: End assembly probing.
    	INFO: Resolving reference for ProcessorArchitecture x86.
    		INFO: Resolving reference for culture en-GB.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en-GB_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en-GB.
    			INFO: End assembly probing.
    		INFO: Resolving reference for culture en.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en.
    			INFO: End assembly probing.
    		INFO: Resolving reference for culture en-US.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT.mui\8.0.50727.9672_en-US_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
    				INFO: Did not find manifest for culture en-US.
    			INFO: End assembly probing.
    INFO: Resolving reference Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762".
    	INFO: Resolving reference for ProcessorArchitecture WOW64.
    		INFO: Resolving reference for culture Neutral.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.MFC\8.0.50727.762__1fc8b3b9a1e18e3b\Microsoft.VC80.MFC.DLL.
    				INFO: Did not find manifest for culture Neutral.
    			INFO: End assembly probing.
    	INFO: Resolving reference for ProcessorArchitecture x86.
    		INFO: Resolving reference for culture Neutral.
    			INFO: Applying Binding Policy.
    				INFO: No publisher policy found.
    				INFO: No binding policy redirect found.
    			INFO: Begin assembly probing.
    				INFO: Did not find the assembly in WinSxS.
    				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.MFC\8.0.50727.762__1fc8b3b9a1e18e3b\Microsoft.VC80.MFC.DLL.
    				INFO: Attempt to probe manifest at C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\Microsoft.VC80.MFC.DLL.
    				INFO: Attempt to probe manifest at C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\Microsoft.VC80.MFC.MANIFEST.
    				INFO: Attempt to probe manifest at C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\Microsoft.VC80.MFC\Microsoft.VC80.MFC.DLL.
    				INFO: Attempt to probe manifest at C:\Texas Instruments-DLP\DLPC900REF-SW-5.1.0\DLPC900REF-SW-5.1.0\DLPC900REF-JTAG\Microsoft.VC80.MFC\Microsoft.VC80.MFC.MANIFEST.
    				INFO: Did not find manifest for culture Neutral.
    			INFO: End assembly probing.
    	ERROR: Cannot resolve reference Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762".
    ERROR: Activation Context generation failed.
    End Activation Context Generation.
    
    


    Does somebody have any further suggestions?


    I don’t have much experience with JTAG. Could I use another JTAG adapter to flash the bootloader?

    Thanks a lot!
    Malte

  • I solved the problem by installing Microsoft Visual C++ 2005 Service Pack 1 Redistributable (found it here). So for me it was not the latest Visual C++ redistributables but the oldest that solved the problem :-)

  • Hello Malte,

    This is very useful information for others also.  I am not surprised, I do not know when the drivers for the FTDI were written, but I know it has been around for a while.

    Fizix

  • Hi!

    Edit: I just realised that the problem I'm describing in the following was fixed in a later board revision (starting from Rev G). I have an older board. So the following is only useful for revisions older than G!  

    It took me a few days to get the JTAG firmware-upload working - and to figure out why it wasn’t working in the first place. Actually, I’m a bit skeptical that anybody ever got it to work for this EVM according to 6.11 in the user guide ... I thought it might be helpful for somebody who runs into the same problem as I did if I briefly describe what solved the issue for me.

    When the FlashProgrammer.exe couldn’t connect to the EVM I checked the JTAG lines. Everything looked normal, except the reset line (TRSTZ) constantly remained at low level (actually, it sat at a few hundred mV). Looking at the DLPC900 datasheet (Table 4-7), it was clear that this pin has to be pulled high for the JTAG to work. As it turned out, the TRSTZ pin on the UM232H module actually went high when not connected to the EVM. Thus, the circuitry of the EVM prevented TRSTZ from going high. The circuit diagram of the DLPLCR65EVM shows why imho TRSTZ can’t ever be pulled high through J10 (the JTAG header on the EVM). The TRSTZ is directly connected to the output of the buffer U17 (its pin 4). U17 will only output a high level when its /OE input (pin 1) is high, however it is pulled down by R81. Only when /OE is high the U17 output goes high-Z and R75 pulls TRSTZ high. Thus, when the UM232H is connected to EVM, both “fight” for the TRSTZ level – and obviously U17 wins by permanently pulling it down (at least almost, that also explains why I saw the positive offset when initially looking at the level of TRSTZ).

    However, it is luckily pretty easy to pull /OE of U17 high because it is present on J8 as TRSTZ_IN. Even better, right next to its pin on J8 is a VCC pin. Thus, connecting these two pins by a jumper sets TRSTZ_IN high, which sets TRSTZ high and finally enables the JTAG to work. By setting that jumper I was eventually able to flash the bootloader!


    Unfortunately, the new bootloader didn’t bring back my EVM to life. However, I will post about that problem in my next reply to keep the thread a bit more structured.

  • Unfortunately, flashing a new bootloader to the EVM board did not recover it from inactivity (see post above). It still behaves like described in my initial posting, particularly, I can’t connect to it by USB.

    I used the "verify" function of FlashProgrammer.exe to check the firmware upload was successful. I also downloaded the flash after programming it and compared it to the "bootloader_single.bin" file. They were both byte-by-byte identical. I thus assume the upload went faultless.

    I checked the FlashDeviceParameters.txt file. The only thing conspicuous there was that in the applied line (the one not commented out) the part number was correct (M29DW128G) while the part manufacturer was not (Micron vs. it is actually a ST part on the board). Can that cause a problem?

    While looking at the schematic for the EVM I found a UART debug port (J6). I logged its output into a file. During start-up of the EVM it outputs the following:

    <\0>ùBootloader Version 4.2.0<\r><\n>
    Jumping to application ...<\r><\n>
    <\r><\n>
    Debug opened on URT0<\r><\n>
    <\0>Memory test cc = 1<\r><\n>
    API version: 05.00.ff<\r><\n>
    App version: 05.00.00<\r><\n>
    Configuration layout versions:<\r><\n>
         Seq Map: 44.21.0100<\r><\n>
         SW Map: 44.21.0000<\r><\n>
    I2C Cmd Slave Address 34<\r><\n>
    DRAM memory pool 004025E8 200025E8<\r><\n>
    ptn_seq.c (1014) >> Failed<\r><\n>
    Illumination: Transition to operating mode<\r><\n>
     Configuring LED Enable and PWM Driver...<\r><\n>
     PWM Driver initialized...<\r><\n>
     Setting PWM Drive Levels...<\r><\n>
    Controller Product ID: 06<\r><\n>
    DMD Type: 51<\r><\n>
    DMD Product ID : 152<\r><\n>
    System Mode: There are 1 defined System Modes <\r><\n>
    System Mode: System Mode 0 supports 2D <\r><\n>
    Sysmon: Executing Default Batch file<\r><\n>

    I can't figure out if there are any severe problems apparent. Can I use this port for further diagnosis of the board?


    I would be very happy for any help since at this point, I'm not aware of anything more I can do to narrow down the problem.

    Thanks a lot!

    Best,
    Malte

  • Malte,

    Looks like my response yesterday did not post correctly.  

    Is the heart beat working?  I was going to recommend the UART port, but you found it already.  Thank you for the log.

    Did you say that you have another board that is working?

    Do you know what version of the FW you are running?

    Fizix

  • Hi Fizix!

    I just got the EVM working again a few minutes ago! I obviously did a mistake during the preparation of flashing, so that my first two attempts were not successful and USB was still not working. However, the 3rd attempt of flashing the bootloader was successful. The thing that differed from my first two attempts is that I now erased the first 16 sectors, which I didn’t do first due to a misunderstanding of the user guide. I was unclear about the “to cover first 128 kilobytes” and erased to few sectors. Now with erasing 16 sectors the bootloader including USB is running, and I was also able to flash a new firmware through the GUI tool. I must do some more checks, but I think I have everything up and running again.

    I was not aware that I have an older revision of the board. It took a bit to figure out the above-mentioned JTAG problem and the solution to this.

     Thanks again for the support!

    … I might soon come back to the optics problem I have written about in the other thread :-) ...

    Best,

    Malte

  • Malte,

    This is FANTASTIC!  As I mentioned the USB function is part of the bootloader and if it gets corrupted it often does not work.

    I am very glad you got this working.

    Fizix