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 用GUI加载大量图片并按1bit 图像播放如何设置

您好!

      问题描述:我想采用GUI加载约1200张1bit图片,并按指定顺序播放,播放速率希望可以达到4kHz

      目前状态:将1bit图像合并成了24bit图像,并且可以按照指定顺序播放,但是播放最大曝光时间240us, 周期为480us。

      问题:1 如何让每一个1bit的图像播放周期减小到240us,以使得播放频率可以大于4kHz?如果我这样是采用的是External RGB Input Pattern,只能达到2880Hz,那么如何才能配置为Preloaded Pattern呢?

                 2 将1bit图像合成为24bit图像后,约51张24bit图像,烧写过程中到95%左右时,提示报错,是什么原因呢?

                 3  每次播放前,需要一张一张地指定播放顺序,在图片较多时,不是特别方便,是否有其他的方式可以让GUI按24bit图片顺序加载,并按一定的RGB通道顺序1bit-1bit地顺序播放呢?即是否有简便的方式,而非每一张图都需要点击鼠标好几次。

                4 说明文档当中提到vidio模式,也是按1bit的图像进行播放的,是否可以理解为,如果把24bit图像按照顺序做成vidio,最后播放出来,对于1bit图像而言也就是达到2.8kHz以上呢?(这样是属于External RGB Input Pattern吗?)

谢谢

wangxi

  • 1. 参考www.ti.com.cn/.../dlpu011第29页,internal trigger.
    2. 大小没有超标吧?
    3. 参考www.ti.com.cn/.../dlpu011第49页LUT编辑
    4. 需要HDMI输入前端产生这样的pattern序列
  • 感谢Jeremy_Wu的回复,

    关于上面几个问题

    1 按照提示阅读并大致理解了相关内容。

    2 大小确实超标了,一个24bit的bmp图像约3M,因此32M的容量确实不够。但是随之而来的问题是,我的图片是按照912×1140制作的,为什么会那么大呢?(每一个1bit的图形都是0-1矩阵在MATLAB中产生,然后再合并为24bit的),是不是一定要用GUI中的方式才能生成较小的24bit图像呢?按照dlpu011中所述,是可以存放那么多图像的啊“The flash memory can store up to sixty-four 24-bit compressed images.”(in Page 28)

    3 关于LUT的问题我还需要研究和调试一下。

    4 关于video播放,我可以采用MATLAB来生成指定格式的视频文件,我在dlpu011中找到的细节是:在 Pattern Sequence模式下,在触发方式中Internal trigger/no internal trigger都是可以的,选择Video port,然后触发模式中的自动选定VSYNC,后面的流程和实用Flash的时候一样。我这样理解对吗?

    但是关键问题是我的视频文件,从哪里加载进去呢?我用HDMI连接了电脑,但是投影出来的是和显示器上一样的内容

    文档中图4-2中,是指视频投放时,处于高位上的1bit图像会比低位上的1bit图像,曝光时间更长(或者投射亮度更亮)吗?在我的应用中希望每一个1bit图像时间和亮度都一致。

    5 在今天的测试中(利用一个光电二极管来检查投出图像的光强), 在 Pattern Sequence模式下,加载Flash中存储的图片,但是曝光时间和周期都设置为231us时,投放24个1bit图片,并且关闭了“Clear DMD after exposure”功能,但是用示波器得到的信号约2.19kHz,而不是4.2kHz,不知道是哪里设置不对呢?并且,在曝光时间231us,周期为462us时,波形没有任何变化。波形如下图所示。其中另一个让我迷惑的是,每个周期内,最开始的时候总是有一个很窄很陡峭的尖峰信号(下图中白色箭头指向的部分),从探测器的角度看,应该是LED在短暂点亮后,又关闭了一段时间,然后再开启的。不过在周期时间设定很长的时候,比如1000us, 就不会出现这样的现象。

    感谢您的帮助,期待您的回复

    谢谢

    wangxi

  • 2. 是的,大小按照BMP格式可以计算出来的。
    4. 通常是FPGA先将pattern转置放好,再输出。
    5.参考DMDwww.ti.com.cn/.../dlp6500fye的第22页,时间说明。
  • Wu工,你好!

          再次感谢,您耐心的解答。关于存储图片的问题,需要和你再次确认一下,dlp011f中提到:" Flash: Images stored in flash memory. The flash memory can store up to sixty-four 24-bit compressed images. " 这样的图片如果按照32M的容量来计算,每个24bit的BMP图像大小约0.5M。

           但这让我困惑的是912×1140规格下,一个24bit的BMP图像大小计算 912×1140×24÷8÷1024÷1024=2.97M,这远远大于0.5M。 因此,我用MATLAB生成的24 bit图像,只能存入10-11张。

           因此,您对问题2的回答“是的”,是指必须通过GUI,将24个1bit的图像,合成为1个24bit的图像,而只有这样生成的24bit图像才可以存64张吗?如果是的,那原因是否是因为在GUI中没有采用的RGB888模式,所以在打包烧入Flash中存在压缩?

        关于其他的几个问题,也非常感谢您提供的材料,特别是关于波形的问题,我们已经基本得到的解决。

           祝

    工作愉快!

    wangxi

  • TI reference design EVM是用128M FLASH. 

    pattern图片生成过程请参考:

    第31页。

  • 谢谢wu工,之前我们也用GUI合成24bit的bmp图片,但并不清楚这样做与采用MATLAB的方式的差异,现在用GUI的方式做成的24bit bmp图像可以加载51张到EVM上,确实是被压缩了。

  • TI reference design EVM是用128M FLASH.  这是指的另外一个产品吗?如果是的,那么可以提供推荐的具体型号吗?

    在dlp011f中涉及Flash的部分都只提到是32M的,截图如下:

  • 您说的对,是2片128Mbits Flash,就是32MB FLash.采用的RLE压缩方式。
    参考代码:
  • 谢谢,你的文档材料非常有用