我也来发一个用FPGA驱动VGA
注意:以下内容可能引起高手极度不适,敬请原谅!环境:Altera CycloneII,Ubuntu 10.10,Quartus II,Gtkterm,TexLive。
实现功能:从计算机通过串口发数据到FPGA,FPGA内部处理后转换成VGA信号,把这个数据对应的字符从显示器输出。能够显示大小写字母、数字以及标点符号。能够实现向上卷动显示,有换行处理。FPGA内部包含了UART以及VGA两个模块,可分开单独使用。
先上图
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645957AGMVC5.jpg
(原文件名:1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645958G0H8QE.jpg
(原文件名:2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645960TOT5F9.jpg
(原文件名:3.jpg)
用于自己的项目(在FPGA平台上搭建了OR1200 SOC,并移植Linux,Linux的启动信息就是通过我设计的这个VGA模块输出到显示器的):
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645961TKQBHO.jpg
从SD Card拷贝Linux镜像到SDRAM (原文件名:4.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645962SU3BPN.jpg
Linux开始启动 (原文件名:5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645963L9LXXO.jpg
Linux在启动过程中卡住了,至今未解决 (原文件名:6.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645964EPHCNJ.jpg
实验环境 (原文件名:7.jpg)
下面是代码以及论文:
Verilog工程ourdev_645965LBAP9P.rar(文件大小:2.45M) (原文件名:uart_to_vga.rar)
论文以及Latex源文件ourdev_645966EQSYQJ.rar(文件大小:4.14M) (原文件名:VGA IP Core设计与实现.rar)
论文截图:
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645967DB0YXW.jpg
(原文件名:1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645968L3RZ1F.jpg
(原文件名:2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_645976FSOY4M.jpg
(原文件名:3.jpg) 不错哦,我也做过,不过我做得很简单的,也能显示中文和简单的图像 进来顶楼主 mark 顶 bucuoxuexi.. 进来学习 很有用,写的不错 mark Mark 顶LZ mark 学习 支持 楼主v5 不错,学习一下 mark 谢谢!很好! 东西不错! mark 不错不错,前排占座学习Ing... mark 我也是有裤子的人了http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_646479BNLYT0.gif 图像是二值的还是可以显示图片啊? mark 绝对的牛a 与牛c之间 回复【22楼】caizijian
-----------------------------------------------------------------------
我写的这个跟其他一些VGA驱动有点不同,不是为了显示图像,只是为了显示文本。能向上卷动,能换行。用Altera ram做显存。直接向altera ram里面写数据,就能在对应位置显示文本了。
比如,有一个项目,信息都从串口输出,用串口调试助手看信息。如果用这个VGA驱动,再接上一个UART模块(我上传的工程里面就包括了),就能把信息从任何一个显示器输出看到了。显示完一屏后,屏幕上面的所有行向上卷动一次后,继续显示。能换行。
写这个VGA驱动的初衷是:我做一个项目,要把Linux移植到一个SOC平台上,Linux的启动信息原来都是从串口输出的,我写了这个VGA驱动,在FPGA内部处理后直接把Linux启动信息从VGA输出到显示器了(可以看一下楼主位的图片)。看起来就相当于一台电脑,FPGA板子是主机,跑的是Linux,还有显示器(目前还没接入键盘)。当然OpenCores上面有更加完美的VGA IP Core,但是我没用那个。
我认为这个设计的难点在于向上卷动以及换行处理(至少对于我来说),其他部分还是很容易实现的。 哦 好东西啊!估计还可以加个换字体的功能~
支持中文就更酷了 回复【26楼】caizijian
-----------------------------------------------------------------------
对!你说的很对!
其实我写的这个VGA IP Core还远远不够。
应该设计一个初始化阶段,在初始化阶段向IP Core内部控制寄存器写入控制字,实现字体、颜色、大小等等性质的切换,那样就比较完美了。
支持中文我也想过,但是要支持中文,还要实现输入法,目前还没有想法,不知道实现起来复不复杂。
由于时间有限,现在还有很多其他的事情要做,我就没来得及做了。
以后有时间的话,我还是很想把这些想法一一实现的。看过你发的帖子,个个是精品啊!以后有问题还要向你请教!!!! MARK MARK MARK mark 赞 赞 mark 学习了 mark 感谢,希望有空能多交流 mark~ mark mark mark mark== 感谢,希望有空能多交流 MARK 很不错 顶楼主 缺憾的是没有注释 mark 学习了!!!!!! 好贴!楼主真厉害! 留着,到时用的到 来mark顶楼主 进来围观 FPGA驱动VGA mark!! 很好,这个一定要顶! 做一下标记,艰苦奋斗! 电脑也不过如此 围观楼主 牛逼死了 LZ的Latex是自学的还怎样?有没有比较好的入门书? 学习 mark MARK mark vga 居然还是用latex写的。。。看来lz治学严谨啊。。。 回复【58楼】mzbhy饼饼
-----------------------------------------------------------------------
上传几个
点击此处下载 ourdev_666077BXVPXU.pdf(文件大小:1.87M) (原文件名:LaTeX2e插图指南.pdf)
点击此处下载 ourdev_666078JNWBDK.pdf(文件大小:1.66M) (原文件名:大家来学Latex.pdf)
点击此处下载 ourdev_666079RAHE7D.pdf(文件大小:1.89M) (原文件名:Tex简短说明4.2.pdf)
还有一个论坛bbs.ctex.org。
可以google,site:bbs.ctex.org 问题。 学习 学习 学习 mark 相见恨晚啊 写mark就能做标记吗?怎么都是mark 强大 回复【楼主位】Comedian
-----------------------------------------------------------------------
MARK FPGA VGA mark mark 不错~ 学习 现在正在做这个 mark 我也在做一个EP2C5Q208C8N的fpga板子,pcb马上画完了,到时候写程序的时候向楼主请教。 顶了 mark了 mark了 好想玩 mark 顶楼主,学习了!! 谁有FPGA实现IEEE1588、PCIe接口的软核?先谢谢! 漂亮,MASK mark!!漂亮的VGA,还有latex 轻轻的顶你一下! mARK!~ 顶~~~ mark 非常期待能够快速入门 mark 博创。。。 顶起 楼主,没有论文内容啊? mark mark 学习一下 mark~~ 看了这个 才明白自己对vga的应用太有局限了 酷帖。赞一个。 {:lol:}mark
mark~~~~~~~~~
页:
[1]
2