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.

DLPLCR4500EVM: How do I get 4225Hz in Pattern Mode and Video Port

Part Number: DLPLCR4500EVM

Hello,

my problem is, that I need the 4225 Hz of the projector for the project, but I also have to change some patterns (more then fit on the EVM) during run time. If and how is it possible to manipulate e.g. the flash memory or similar from a PC during execution but to keep the 4225Hz rate at the same time?

Kind regards

  • Hello cmz,

     

    You can find information about updating the patterns in flash in the programmer's guide (http://www.ti.com/lit/ug/dlpu010f/dlpu010f.pdf) and by looking at the 4500 GUI source code (http://www.ti.com/tool/DLPLCR4500EVM). However, I don't think you will be able to change the patterns in flash while simultaneously displaying the patterns. You would have to stop projection to upload the new patterns. Alternatively the DLP6500 is able to handle more patterns in flash to maintain the higher framerate.

     

  • Thanks for the fast response, but I am still stuck. I can't stop the projector during the application, and I have more Patterns then fit in the flash memory. Is it possible to, let's say, use one half of the flash memory to run the projector at 4225Hz, while updating the other half with information from the video input (or USB), and then switch between those two parts of the memory?
  • Hello cmz,

    Unfortunately I don't think you would be able to do that. You wouldn't be able to upload that quickly. I would suggest looking at the 6500 EVM which has a larger flash www.ti.com/.../dlplcr6500evm. Also note, if your patterns can't fit in the framebuffer you will also take a flash load penalty, thus also limiting maximum speed.

    Thanks,
    Kyle

  • I'm still not 100% sure how everything works. Could you please confirm or correct me on the following:

    If I store images with the firmware on flash, I have 32MB. Can I fill the entire flash that is not occupied by the Firmware with 24 bit planes, or is it limited to 64 images as stated in the user guide (page 28 in the EVM User guide Rev F - dlpu011f)?

    I read in the User Guide that it takes at maximum 200ms to load a 24 bit plane buffer. Where can I check the loading time in the GUI as stated in the user guide?

    Is the EVM loading the data into the buffer at the same speed, no matter the input source; i.e. can it load images from the mini HDMI input into the buffer at the same speed as it loads them from flash (disregarding the fact that HDMI only offers 2880 single bit planes per second)?

    Can I read one frame (24 bit plane) from the mini HDMI input into one of the two internal memory buffers, and make a pattern sequence that shows for example the G1 pattern 50 times while loading another frame from HDMI into the other internal memory buffer, thus avoiding the load penalty?

    EDIT:

    A larger flash will still have the problem, that I cant display more then 48 patterns at 4225 Hz.

    Thanks!

  • Hi Cmz,

    I believe the 4500 EVM could theoretically hold more than 64 images if they happen to be highly compressible (and therefore fit into the 32MB). However, your results are not guaranteed and I wouldn't rely on it without first verifying. 

    You can get the image load timing in the GUI under Pattern Sequence -> Image Load Timing. Select the image where you want to verify the timing and select "Get Load Image Timing" .

    Inputting data over HDMI will result in a one display frame delay. You don't suffer the image load timing that occurs when loading an image from flash; however, the HDMI will fill one side of the buffer while the other side is being displayed. In practice you can normally ignore this fact and you can stream in the data up to the maximum supported video speed that you mentioned.

    There is no load penalty for video streaming. As long as you are following the maximum video timing specs you should be able to display the patterns from one video framebuffer as many times as you want until the next frame arrives.

    Yes, unfortunately a larger flash will not let you display more than 48 1-bit patterns at the maximum speed.

    Thanks,

    Kyle 

  • Hey,

    now I have a couple of follow-up questions:

    What compression is used/ how does it work? And is it a lossless compression, i.e. will I still have a pixel perfect image at the end?
    32MB is equal to 2^25 byte (i.e. 33,554,432 byte), right?

    And if I understand you correctly, it means, that it can take more time to write an image to the internal memory buffer from flash then from the HDMI input/video port? (i.e. from video port, the buffer would supposedly be fully overwritten about every 3.5ms (1/2880); but if the average time it takes to write to the buffer from flash is about 80ms (which is the case for the pictures already included in the default firmware) then writing from flash can be an order of magnitude (30x!) slower then from video port) is that correct?

    Also, what do you mean with "maximum video timing specs"?


    Thanks!
  • Hi cmz,

    I am unable to provide details on the exact compression type. However, it will maintain your pixel accurate mode (i.e. it is lossless compression).

    Yes, it will be slower for the buffer to load from the flash since that time encompasses the flash access and seek time whereas the streaming mode doesn't have the same loading component. However, you only need to pay the load penalty whenever you load a new image from the flash. You don't need to pay the load penalty if you stay in the buffer. Also note, both the streaming and flash method only replace one half of the buffer at a time. You can be displaying images using the other half of the buffer while waiting for it to finish loading. It's all very application dependent as to how this will affect you.

    If you are using images from flash you simply need to ensure you don't switch to the other side of the buffer until the next image is done loading from the buffer into the flash. In other words, you should ensure that whatever combination of patterns you are using that reference the first 24-bit image should take long enough until they reference the next 24-bit image.

    And when I said "maximum video timing specs" I just meant follow the requirements related to not sending in a video stream faster than is supported.

    Thanks,

    Kyle

  • Hello cmz,

    I have one more point I forgot to make earlier. Keep in mind the loading time of the flash includes an entire 24-bit image (which could be sequenced as 24 1-bit images). Additionally, even if you are streaming 1-bit patterns, you will be sending in 24-bit frames at a slower rate and then sequencing the 24-bit frame as 24 1-bit images. Your 1-bit displayed frames make up the maximum reported display rate while the input rate may be less.

    Thanks,
    Kyle