微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > VGA + RAM 显示问题

VGA + RAM 显示问题

时间:10-02 整理:3721RD 点击:

      最近在做 VGA,但是有个问题 一直没解决好,就是 一幅图片,我想得到12位真彩显示(RGB各为4位) ,用图片提取工具得到的数据 为 8位十六进制的,这些存在RAM中。我在提取工具中设置每个像素点包括 12 位RGB值(RGB各为4位)和 4位 空白位,所以 在显示过程中  要从RAM中同时 读取两个 RAM单元的数据,才能对应一个 像素点。     但是问题来了,当扫描到某一个坐标点时,如何同时从RAM中 取出 两个单元的数值呢。如果图片提取工具能得到16位的像素点值就好了。
求赐教!
我用的 图片提取工具 为 Image2Lcd V.28, 数据格式 如图中 箭头 和 圆圈 所示
  


图片提取工具 得到的数据 如下图所示,每一个 都为 8位的,





内部ram的端口数据宽度可以自己设定的,按照你的要求设定就好了。

你好,得到的单个数据都 是八位的,而且众多,我也不好把两个八位的 合成16位的,那样任务量太大了,有没有跟简便的方法呢

你那个工具输出的结果当然都是以字节的形式写到你的文件中, 这又如何,你必须分清楚你生成的数据到底代表什么意思。才可以下一步的设计。不然你的设计也是无意义了。

每个字节 应该是 代表 RGB三基色的 数值,同时也代表 能形成多少种 颜色,如果 8位的(RGB332), 就是 256种,正好 一个字节就够了。
但是 如果是 12位的(RGB444),就是 4096种,这时就需要 两个字节吧;如果是 16位真彩(RGB565),也需要两个字节,但是 位数分配不一样。

我是这样理解的,如果不对,请指出,谢谢啦

不要这么测试嘛。 你可以使用一些特殊处理的图片进行转换,看结果。 就可以分析出数据对应关系;
比如:
你来一张单红的,看哪些个比特是1;
来张单绿的,看哪些个比特是1;
蓝色亦如此,
还有,来一张,第一行有颜色值的。看在哪个位置有数据;
来一张,第一列有颜色的,看在哪个位置有数据
这些个检测方法。很笨,但很实用,
作为一名工程师,所有的事情不要靠猜测,没有可靠的理论支撑,最好可以找一些验证。

恩,好的,谢谢提示。但是 对于 真彩显示(例如 12位的(RGB444), 16位的(RGB565)),需要从RAM中 一次读出多个 字节 才能对应一个 像素点,
我现在就是 不能实现这个过程。

剛好也遇到類似的問題
感謝各位的講解

你什么意思?

VGA + RAM 显示问题,学习了,。

建议小编还是做一下数据转换吧~实在不想做可以这么来:弄两个RAM,里面全部存储相同的数据,每次都读第一个的奇数地址和第二个的偶数地址,读完地址同时跳两个~要不就考虑下提高读RAM的时钟频率吧,不过这样又把简单的问题复杂化了~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top