基于FPGA的VGA和TFT液晶显示的完美方案出炉了!!!

最近在搞VGA和TFT液晶屏显示,现在已经全部搞定了,这个IP CORE有以下几方面特性:

1.支持1024*768,800*600,640*480三种分辨率
2.显示缓存只要是16MB或更大容量的存储器即可,可以是sram,sdram,ddr sdram,flash等等。
3.颜色深度最大可支持24位色(即16万色)
4.可以绘制简单的图形,如圆、方、点、线等,还可以自己定制图形
5.可以显示字符和汉字,字体大小可以自己来定制
6.可以显示任意图片
7.支持各种TFT液晶屏和VGA显示器


现在我正在进一步的研究与完善,大家如果有兴趣可以一起讨论!
我也来说两句 查看全部回复

最新回复

  • alenww (2008-6-27 11:44:54)

    我最近也接手了一个TFT LCD的显卡驱动项目,我想请问楼主关于实时动态画面的显示,一般有哪些设计方法呢?
  • lememeng (2008-6-27 16:42:11)

    只看到楼主在吆喝,没见着什么具体方案,讨论啥呢?
  • onewrong (2008-6-27 17:47:39)

    应该是用hdl写了一个时序控制器,用软件写了几个图形函数,其它也没什么。
  • alenww (2008-6-27 18:03:53)

    时序控制器控制哪部分?FPGA内部多时钟域操作怎么办,数据需不需要缓存,用什么缓存,片内还是片外?如何处理不同大小图层的缓存与叠加问题?如果画面还需要左右上下移动又怎么办?
    这么多问题呢
  • junjun98 (2008-6-27 18:43:56)

    是这样的。时序控制器部分主要是利用dma控制器完成显示数据从显存到TFT液晶的传输,并且同时配合产生TFT所需要的接口信号。FPGA内部多时钟域操作问题和缓存问题通过定制一个FIFO来解决。至于画面需要移动的问题我想可以用软件来解决,编写相关的功能函数。

    欢迎大家一起讨论!!
  • ericwang622 (2008-6-27 20:54:46)

    请问LZ, DMA控制器是挂在什么总线上的?显存支持这么多种存储器,这些存储器的控制器也是你这个IP core里面的吗?
  • putty (2008-6-27 22:29:18)

    大概就是这种架构吧:DDR->DMA->FIFO->TFT
    其中DMA和FIFO部分需要考虑的多一些
  • putty (2008-6-27 22:31:01)

    有没有在FPGA里面搞3D加速的?
  • junjun98 (2008-6-28 09:04:54)

    其实像DDR SDRAM,SRAM,SDRAM这三类存储器在AVALON总线架构下可以抽象为一类存储器,因为它们的AVALON是接口信号一样,在软件中也只要调用同一个IORD_DIRECT函数就可以了。而FLASH就不太一样了,它需要先进行擦除。
  • ericwang622 (2008-6-28 11:43:20)

    QUOTE:

    原帖由 junjun98 于 2008-6-28 09:04 发表
    其实像DDR SDRAM,SRAM,SDRAM这三类存储器在AVALON总线架构下可以抽象为一类存储器,因为它们的AVALON是接口信号一样,在软件中也只要调用同一个IORD_DIRECT函数就可以了。而FLASH就不太一样了,它需要先进行擦除。
    就是说LCD&VGA控制器是Avalon接口的,存储器的控制器不包含在这个IP里面?
    既然是总线架构的,那存储器的类型就无所谓了。但是用flash作为显存,对于24位的色深来说,LCD刷新频率要求75Hz左右的时候带宽够吗?
  • junjun98 (2008-6-28 17:20:50)

    我的显存用的是DDR SDRAM,没有问题。FLASH没有试过,我打算把汉字库烧到FLASH中,所以没用它呵呵。
  • junjun98 (2008-6-29 12:44:57)

    经过两天的努力,终于在FPGA上实现了汉字的VGA和TFT显示,字体的大小和种类可以自己定制,支持各种汉字库。自己做了个测试程序,在8.4寸TFT液晶上显示一篇短文,大家有兴趣一起讨论啊!
  • junjun98 (2008-6-29 12:48:36)

    我看到网上的一些其他的液晶显示方案,好像不是用arm就是买液晶模组或者是m600驱动板,现在终于可以在fpga上显示了,关键是这个设计应用所增加的成本是0,只要一块fpga板,一块tft液晶或一个标准vga显示器即可。欢迎大家一起来讨论,看看怎样才能使功能更加强大。
  • alenww (2008-6-30 10:00:20)

    楼主,你的液晶屏需要的驱动信号是HV、DE的还是全同步驱动信号,比如液晶的极性反转信号、行列移位信号等等
  • wyhkerry (2008-6-30 11:17:45)

    方案呢~!!
  • ericwang622 (2008-6-30 11:23:33)

    QUOTE:

    原帖由 alenww 于 2008-6-30 10:00 发表
    比如液晶的极性反转信号、行列移位信号等等
    有这样接口的LCD吗?液晶驱动电压反相是LCD里on glass的驱动芯片做的吧?
    行列移位信号不是你说的HV信号吗?Hsync, Vsync
  • ericwang622 (2008-6-30 11:29:44)

    LZ,没有明白你为什么要把支持汉字显示单独列出来。
    液晶以点阵的方式显示,汉字和图像都是一样啊
    能不能把你的架构画出来,数据流处理说一说
  • alenww (2008-6-30 11:56:55)

    Hsync、Vsync是一般叫行场同步信号。我说的行列移位信号是送到LCD的source_driver 和gate_driver里面的驱动信号,一般我们做的LCD驱动板都是基于一片LCD驱动芯片,我们将Hsync、Vsync或是DE信号送到驱动芯片里面,再由驱动芯片送出全同步信号给LCD。
    因为楼主说了没用驱动芯片而是用FPGA直接驱动的LCD,所以我想问问楼主是不是用FPGA直接产生了全同步驱动信号。
  • ericwang622 (2008-6-30 13:29:45)

    QUOTE:

    原帖由 alenww 于 2008-6-30 11:56 发表
    Hsync、Vsync是一般叫行场同步信号。我说的行列移位信号是送到LCD的source_driver 和gate_driver里面的驱动信号,一般我们做的LCD驱动板都是基于一片LCD驱动芯片,我们将Hsync、Vsync或是DE信号送到驱动芯片里面,再 ...
    不可能直接用FPGA去直接驱动LCD 的TFT array。source driver和gate driver大部分都是on glass的,而且source driver有高速的DA,这些FPGA想做也做不了。
  • yzl624358 (2008-6-30 14:02:56)

    支持一下楼主!