绝对原创 超帅VHDL TFT LCD屏控制器()
花了我半个月休息时间,给大家分享下。用的320*240LCD,EP2C5,LPC2148测试,因为大屏没电源。要换其它屏的话要点时间。这电路对时序控制很严,因为外部数据是从行频计数肪冲间隙写进去的。做它的目的是显示视频。下一个目标是用FPGA视频采积。
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_578393.jpg
图1 (原文件名:1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_578394.jpg
图1 (原文件名:2.jpg)
视频ourdev_578395.rar(文件大小:24.61M) (原文件名:3.rar)
屏资料ourdev_578396.rar(文件大小:410K) (原文件名:WXCAT35-TG3_001F_V1.2(60pin).rar)
CPLD程序ourdev_578397.rar(文件大小:850K) (原文件名:PSP.rar)
MCU程序ourdev_578398.rar(文件大小:1.29M) (原文件名:mcu.rar) mark~~坐沙发了 MARK mark 下来看看 mark 不错,等楼主视频采集。 强 下来看看 mark cool 刚刚学数电的路过,仰望一下。 这个技术将渐渐被大家接收。
非常喜欢, 顶。 好 顶一个 mark lz: 能否把你的方法, 说清楚一点, 不太明白?
。。。因为外部数据是从行频计数肪冲间隙写进去的。。。 大概说下吧
首先这个是针对CPLD设计的,程序只是能完成功能,并没有优化和整理。
有两种RGB数据输入方法,一种要地址(画图用),一种不要地址(全屏图片)。
行扫描是用50MCLK经分频得到A,对A计数器产生的,场扫描用行扫描信号计数(75帧)。
A信号的的前半周(MCU写入数据在这段时间完成)内有个肪冲,就是RAM的WE,控制数据写入RAM。WE位置一定要对。一行能写500个点。
A信号的后半周(LCD读入数据在这段时间完成)。读RAM是用地址信号的变化读的,没有其它控制信号,RAM资料上有这种方式。一行只会读320个点(屏行分辩率)。读的地址也是对A计数产生的。
读写都和A同步。
因为A信号是不停的,写和读都是一直在进行。所以外部RGB输入数据只要不大于75帧,就可以工作。(不过这点没验证,数据快了也许写时会丢,但丢少量的话没影响)
重点在向SRAM写数这段。 不错 不错,好人 mark mark 经典帖子。。记号 好想玩玩 等 到你出来了!呵呵!我也正在研究中啊!反正就是读写RAM数据时候到TFT这个有点问题啊! mark!~ 楼主上原理图!~~ cool 不错哦~ 回复【25楼】ljt8015
-----------------------------------------------------------------------
我没画板用学习板做的 MCU图就不发了
ourdev_578985.pdf(文件大小:62K) (原文件名:EP2C5.pdf) ding一定要顶 很好,谢谢楼主了。 WE信号,为什么要加那么多D触发器呢?lz可以解释下吗? WE是SRAM的读写控制端,加D触发器是为了调节WE的时序. 不错,顶了! mark mark mark 记号~~ 回复【楼主位】40130064
-----------------------------------------------------------------------
高手啊!怎么我的双向IO就不能用呢!仿真出来的数据可以看到,操作外部存储器的时候,数据口怎么都为高一个数据信号 ,怎么都不行啊! mark 回复【41楼】eeko2005
-----------------------------------------------------------------------
双向IO仿真结果不一定和硬件实际结果一样我也没搞明白
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4224081&bbs_page_no=1&search_mode=3&search_text=40130064&bbs_id=9999 mark mark mark 恩 不错的东西哈 经典啊,留着以后学习 我也搞出来了,呵呵, mark mark mark 标记一下,留着将来用。 mark 不错。。 mark! COOL 得好道理谢谢 MARK mark 回复【楼主位】40130064
-----------------------------------------------------------------------
cool mark! 呵呵,厉害啊,我下个阶段就是做TFT的核了··· mark mark 楼主强!!! 借鉴一下,谢谢! 好帅啊! mark MARK 顶 感谢分享 mark,某年某月的某一天,我会用到的 mark 感谢分享 MARK 既然ssd1963能驱动tft大屏,为什么还有很多人采用cpld+sram的方式去驱动呢? 酷酷. 回复【76楼】ljt8015
-----------------------------------------------------------------------
最大的好处是灵活,通迅方法想怎么玩都行.
用于仪器上,CPLD保密性算高的了. 回复【78楼】40130064
回复【76楼】ljt8015
-----------------------------------------------------------------------
最大的好处是灵活,通迅方法想怎么玩都行.
用于仪器上,cpld保密性算高的了.
-----------------------------------------------------------------------
保密不一定要用这个方法的啊,除了这个没别的了?成本增加了不少哟!~ mark 楼主这人屏最大支持到多少分辨率呢,成本怎么样? 显示视频也可以使用tw8816这种驱动芯片! 我现在考滤tw8823 回复【78楼】40130064 博德之门IV
-----------------------------------------------------------------------
这么久没有看到你来了,现在看到你了啊呵呵!你显示的时候有没有出现杂点呢!就写的时候!现在我这里写的时候出现有杂点,只有写就有,频率高点看到的杂点要小点,频率低了就出现大的杂点!但是升频也能在升了,不知道你是怎么解决的呢?能否分享一下谢谢了! 谢谢分享 回复【82楼】TigerRay
-----------------------------------------------------------------------
有杂点,这是因为那个KT的原因.如果你是用的我这个程序
ENTITY KT IS
PORT (
WEN2 : IN std_logic;
RADDRIN :IN std_logic_vector(17 DOWNTO 0);
VSFADDRIN :IN std_logic_vector(17 DOWNTO 0);
ADDROUT :OUT std_logic_vector(17 DOWNTO 0));
END KT ;
ARCHITECTURE EP2C5 OF KTIS
BEGIN
PROCESS(WEN2,RADDRIN,VSFADDRIN)
BEGIN
if(WEN2 ='0')THEN
ADDROUT<= VSFADDRIN;
else
ADDROUT<=RADDRIN ;
END IF;
END PROCESS;
END EP2C5; 回复【84楼】40130064 博德之门IV
-----------------------------------------------------------------------
这样还有杂点不?呵呵,有一部分是参照到你的写的,哎,没有想到啊,屏的DATASHEET有时候也有问题的,在那里我还改了一些呵呵!现在的问题就是写数据的时候有杂点!看到不舒服啊!所以就来问问你了!这个问题得不到解决那也是不成功的啊!呵呵!现在你也在做,所以就请教一下你了! mark 学习,谢谢分享。 mark mark谢谢分享 VHDL TFT LCD屏控制器 Mark mark PSP.rar 解压错误哦? 神奇 今天才出错 现在正在搞TFT液晶~~准备用430~FPGA正在学习中~~ 这个一定要记号,楼主太帅气了!~ mark.... mark.... mark NBA! MARK 牛人!
页:
[1]
2