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.

DLP5530PROJQ1EVM: Diagnostic Interface Response on SPI port

Part Number: DLP5530PROJQ1EVM
Other Parts Discussed in Thread: DLPC230S-Q1, DLPC230-Q1

Hi, I'm creating a Host controller to control the DLP (I2C) and read status from the DLP (SPI). I generally have the control portion working now but getting status doesn't seem to be.

This is the waveform that I'm currently sending to the DLP through SPI:

First, I send a Prefetch command (0x01) with diagnostic op-code (0xF0) starting at byte 0 and only getting 2 bytes back. Also, I've set the interface to checksum.

Then, I send a Read active command (0x02) and 2 dummy bytes after the checksum. 

However, throughout these transactions, I don't see any activity on the MISO data line.

Does the waveform look off or incorrect? Am I sending the correct data to get the diagnostic data?


  • Hi Johnathan - is this issue still present? We will take a look.



  • It's still there. To confirm that it's not a setup issue, I loop back the MOSI and MISO lines and detect signals. When connected to the DLP, no response on the MISO.

    For my next step, I'll try connecting the Cheetah USB-SPI adapter to the DLP later today and post the results from that, both results and waveforms. I did this before and was getting errors in the GUI application but didn't take screenshots.

    Note: I posted an issue with the I2C port before and it ended up being an issue with the connectors. The clamps had been stretched so that no contact was being made with the pins. Hopefully, that's not the case here.

  • Okay, keep us updated. A comparison with the Cheetah will be helpful.

  • Here's the Cheetah USB-SPI waveform. Still seeing the same issue here. Returns all 0's on the MISO line. I also included the DLP application setup and message response. It says "CMD_ACK_MISMATCH". Next, I'm going to try to test with our second Cheetah USB-SPI adapter. We have a spare here.

    Last time it was a hardware issue with the cable. I've noticed the connectors/cables for the EVM are really tiny and easy to dislodge. After some use, I could see the connection being damaged. And it's hard to debug without being able to send a signal from the other end.



  • Johnathan - have you tried using the SPI (either Cheetah or your own integrated solution) as the Host? I'm wondering if you're seeing different outcome with SPI as the DLPC230 Host vs. the DLPC230 Diagnostic-only port.



  • I tried it and see the same problem where no ACK is received. However, the MISO line is being held high so it shows 0xFF for Host instead of 0x00 for Diagnostic.

    I'm going into office today to check the backup Cheetah USB-SPI adapter. We also have a backup EVM so I'll try getting more data from that too.

  • Johnathan -

    While you're checking the backup EVM and Cheetah adapter, there's just one point I want to clarify:

    It seems you already have established functional DLPC230 Host communication via I2C with your own embedded solution. Typically, this single interface is enough for most designs, as DLPC230 diagnostic information information is also available via the DLPC230 Host interface--the diagnostic port is redundant if communicating to the same micro-controller.

    Of course you do not need to share details of your design, I just want to clarify that there is a application-specific reason that you are using both the Host and Diagnostic interfaces for the DLPC230.



  • That's good to know, I was wondering if there was a difference just in case. What would be the Host command equivelant or closes?

    This is mainly a requirement driven function where one fpga logic block specifically controls the DLP and it's features and another fpga logic block specifically polls status. I could merge the two but it changes some of the design trades that I've made and I personally think it's cleaner. Also, our project will go certification so next to no overhead is desired.

  • The difference between Host and Diagnostic ports is that the DLPC230 Host interface is read and write, whereas the DLPC230 Diagnostic interface is read-only. The available commands (read and/or write) are in the DLPC230-Q1 / DLPC230S-Q1 Programmer's Guide and do not change for Host vs. Diagnostic implementation.

    One other check: Have you confirmed the proper setting of each of the TESTPT and other Configuration pins of the DLPC230? For most of them, there are switches on the board. Refer to page 9 of the DLP5530Q1EVM schematic PDF (document number DLP033B). I believe you've done this before considering your post back in September, I just want to confirm that it's been double-checked to work with the SPI as DLPC230 Diagnostic as well.