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: Adding external flash to this module

Part Number: DLP4710EVM-LC
Other Parts Discussed in Thread: DLPC-API

Hi,

I was wondering if I could add an external flash storage device using I2C to this module somehow and read its stored data internally or through the micro-usb port, perhaps using some on-board API. Is there a way to setup such a system? I am already using the internal flash to hold the patterns I am projecting, but I would like to store some extra data on this external flash.

Please let me know.

Thanks

  • Xinran Liu,

    Welcome to the E2E forums and thanks for your interest in our DLP technology.

    What kind of data are you looking to store? Can you describe your use case?

    Regards,
    Philippe

  • Hi Philippe,

    I would like to store some calibration data in the form of signed decimal numbers. I currently have the projector set up with a camera and would like to read from a flash storage for calibration on startup.

    Thanks

  • Xinran,

    Do you intend to read this calibration data with your own SPI host device? If so, you could try appending your calibration data after the binary image used by the DLP controller (it does not typically take up the entire EEPROM device).

    Regards,

    Philippe

  • Hi Philippe,

    Yes, I intend to read the data through a computer which is connected to the EVM. Is that the same memory used for storing internal pattern sets? I also currently pre-flash internal pattern sets through the GUI. If it is the same flash storage, is there a way to flash both the internal pattern sets and the calibration data through the GUI?

    Also, I have a similar 4500 EVM. Can I do the same thing for this system?

    Thanks for the help!

  • Xinran,

    You would need to manually modify the image file and flash the entire image (not just patterns) via the flash update tool on the GUI. I don't think you can simply update specific sections of the EEPROM.

    I'm not aware of a way to do this with the 4500 EVM.

    Regards,

    Philippe

  • Phillipe,

    Thanks for the info.

    After the image is modified, can we read the hex data from the specific flash memory using the API? If so, I would try to encode the calibration data into hex. 

  • Xinran,

    Yes, you may consider using the flash read commands included with the DLPC-API which allow you to read sections of EEPROM memory. These reads are performed indirectly by issuing I2C commands to the DLPC controller, which are translated to SPI commands sent to the EEPROM.

    Regards,

    Philippe

  • Hi Philippe,

    I have encoded the calibration data as pixels in a pattern image and flashed it as a pattern set using the GUI. I am trying to read the pattern data since we can save the binary file using the GUI. I am unsure of how the data is encoded into the pattern data block. Would each byte of data in my vertical data pattern, be translated to a hexadecimal within the flash? Or do you compress the data and so the values in .bin file do not translate to the pixel value of the image.

    The reason I am trying to encode the calibration data into the pattern image data block is because the API contains direct access to this section. If I append the calibration data to the end of the flash image, it seems like I would have to traverse to the end which takes a while. 

    Please let me know what you think!

    Thanks

  • Xinran,

    If I understand your query correctly, you are asking if it is possible for the DLP controller to read in your calibration data in advance so that you can fetch it quickly over I2C. Is this correct?

    Unfortunately, the DLP controller cannot actually support this functionality. Essentially, extra data you save to the flash image is going to live in shared space with the rest of the firmware image binary data.

    Does that answer your question?

    - Philippe

  • Hi Philippe,

    My main question is if the pattern data sets that we upload using the GUI gets compressed into the flash.

    Thanks!

  • Xinran,

    I'm not sure I follow. Can you explain what you are trying to do with the pattern data sets?

  • I am trying to encode data as pixel values (8 bits) in my pattern data. Since I can upload a vertical pattern data, I can encode 1920 bytes into it. I wanted to flash this image as a pattern data set and use the API to read the individual bytes of the image. Is this possible? Or is there some compression technique such that the data I read from flash is different from the pixel values of the pattern data.

    Thanks. 

  • Xinran,

    Thanks for elaborating. Will check on this and try to give you feedback as soon as possible (within the next few days).

    Regards,

    Philippe