基于FPGA系统的VGA显示驱动控制器技术方案

技术编号:6982367 阅读:262 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种基于FPGA系统的VGA显示驱动控制器,它包括CPU主控制单元,三通道8位高速视频DAC,所述CPU控制单元发送命令或数据到FPGA逻辑控制单元,FPGA逻辑控制单元解析命令或数据后,再将SDRAM显存单元的图形数据,经三通道8位高速视频DAC变换成VGA信号后,输出到VGA显示器显示。本实用新型专利技术支持更多的显示分辨率,如:VGA(640×480)、SVGA(800×600)、XGA(1024×768);采用外挂大容量SDRAM,提供16/24位真彩显示;采用完善的读写仲裁机制,避免了SDRAM读写冲突造成的VGA屏幕抖动;其成本低。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术属于嵌入式显示系统,具体设计一种适用于VGA设备显示技术。
技术介绍
VGA (Video Graphics Array)是IBM公司于1987年提出的一个使用模拟信号的电脑显示标准,这个标准对于现今的个人电脑市场已经不常用,但在很多分辨率要求不是很高的场合,例如嵌入式显示系统的图像信息的实时显示等,VGA仍然具有很大的应用市场。 同时VGA仍然是最多制造商所共同支持的一个低端标准,个人电脑在加载自己的独特驱动程序之前,都必须支持VGA标准。例如微软公司的Windows系列产品的开机画面仍然使用 VGA显示模式。通用VGA显示系统主要由时序控制电路、显存控制电路、读写仲裁控制以及CPU接口控制等部分组成。控制电路主要完成时序发生、显存数据操作、主时钟选择和D/A转换等功能;显存则提供显示数据缓存空间;CPU接口控制作为显示控制程序,通过访问显存,即可实现到VGA屏幕的内容映射。随着 FPGA (Field-Programmable Gate Array)的发展及其价格的不断下降,FPGA 的应用优势逐渐显现。在嵌入式系统设计中,为了实现VGA显示功能,既可以使用专用的 VGA接口芯片,也可以使用基于FPGA的VGA接口 IP软核。虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式等优点,但其成本高;而使用VGA接口 IP软核具有设计灵活、集成度高、系统成本低等显著优势,但其功能单一,显示模式少。
技术实现思路
本技术的目的在于克服上述VGA专用芯片成本高,而普通VGA IP软核无法满足多种显示模式的缺点,提供一种基于FPGA系统的VGA显示驱动控制器。本技术的技术方案为基于FPGA系统的VGA显示驱动控制器,它包括CPU主控制单元,三通道8位高速视频DAC,所述CPU控制单元发送命令或数据到FPGA逻辑控制单元,FPGA逻辑控制单元解析命令或数据后,再将SDRAM显存单元的图形数据,经三通道8位高速视频DAC变换成VGA信号后,输出到VGA显示器显示。所述FPGA逻辑控制单元包括GenericPort逻辑模块;与CPU控制系统物理连接,用于解析CPU控制系统写入的命令和读写控制;PLLs控制模块用于控制不同显示分辨率下的各种有效时钟;仲裁逻辑模块用于协调完成CPU接口和VGA时序发生器对SDRAM访问;异步FIFO模块用于协调CPU控制系统通过GenericPort访问SDRAM显存单元和 SDRAM逻辑控制模块访问SDRAM显存单元;SDRAM逻辑控制模块用于SDRAM显存单元的控制;VGA时序控制模块产生各种标准格式的行、场同步信号予以输出;寄存器组件。所述异步FIFO模块的协调是当FIFO写满时,FIFO控制逻辑产生写满信号,FPGA 逻辑控制单元进而产生wait信号,通知CPU控制系统暂停数据的写入,以免发生数据丢失; 当FIFO读空时,FIFO控制逻辑产生读空信号,FPGA逻辑控制单元进而产生wait失效信号, 通知CPU控制系统可以将数据写入FIFO的双端口存储器。所述仲裁逻辑模块的协调是控制SDRAM显存单元的分时读写,且以读SDRAM显存操作优先。所述读SDRAM显存操作优先是采用了 VGA刷新访问优先模式,CPU访问只处于VGA 刷新的间断周期。当系统工作在设置模式(ConfigMode)时,CPU控制系统通过并行总线读写FPGA 逻辑控制 单元的内部寄存器,完成相应的参数设置。同时CPU控制系统在GenericPort模式下通过异步FIFO模块,经SDRAM逻辑控制模块,向外挂的SDRAM显存单元中写入图像 BitMatrix数据。当系统工作在屏显模式(DisplayMode)时,VGA时序控制模块经SDRAM逻辑控制单元,访问SDRAM显存单元,读出像素信息,再经三通道8位高速视频DAC变换成VGA 信号后,配合行、场同步信号,输出到VGA显示器显示。本技术支持更多的显示分辨率,如VGA (640 X 480)、SVGA (800 X 600)、 XGA (1024X 768);采用外挂大容量SDRAM,提供16/24位真彩显示;采用完善的读写仲裁机制,避免了 SDRAM读写冲突造成的VGA屏幕抖动;其成本低。附图说明图1为本技术基于FPGA系统的VGA显示驱动控制器的原理框图。图2为本技术的SDRAM逻辑控制模块的原理框图。图3为本技术的异步FIFO模块的原理框图。具体实施方式如图1所示,CPU控制单元200发送命令或数据到FPGA逻辑控制单元100,FPGA 逻辑控制单元100解析命令或数据后,再将SDRAM显存单元300的图形数据,经三通道8位高速视频DAC400变换成VGA信号后,输出到VGA显示器500显示。FPGA逻辑控制单元100如图1所示,UGenericPort 逻辑模块 110 GenericPort逻辑模块110通过16位并行数据总线、23位地址总线以及其它读写控制信号,与CPU控制系统物理连接,并根据CPU控制系统写入的命令解析出相应的寄存器地址、寄存器数据、显存数据FIFO寄存器、显存地址FIFO寄存器以及相应的读写控制,进而确定后续模块控制以及相应参数读写。2、PLLs控制模块PLLs控制模块120属于无限循环工作系统,无状态机结构。基于FPGA的灵活性, 特别是片上PLL资源,可以提供支持VGA、SVGA、XGA等分辨率的像素频率。因VGA分辨率显示对频率要求很高,根据国际标准,在VGA、SVGA等不同场频下的最佳主频是180MHz,即为FPGA主频。系统采用外部输入的48MHz时钟为主频时钟源,经PLL通过15/4倍频后达到180MHz时钟,然后通过分频器得到不同显示分辨率下的各种有效时钟。另考虑到半导体产品的功耗,我们对于各个分频器采取分开使能控制,不同的时钟分别提供给FPGA逻辑控制单元中的功能寄存器组模块、仲裁逻辑模块、SDRAM逻辑控制模块、VGA时序控制模块等。3、仲裁逻辑模块130它是完成CPU接口和VGA时序发生器对SDRAM访问的协调,由于SDRAM显存总线只有一组,CPU在通过异步FIFO访问它的时候,VGA时序控制模块的维持刷新也在高速访问 SDRAM显存总线,这样就存在显存总线的抢占问题,仲裁逻辑模块需要做出裁决。由于CPU 写操作属于随机事件,而VGA刷新数据请求则属于可预测事件并带有周期性,故这里采用了 VGA刷新访问优先模式,即CPU访问只处于VGA刷新的间断周期行场消隐、行场前后肩等,这种低优先级情况下,CPU访问会被周期性打断,为此需要给CPU访问专门添加大深度地址/数据双向异步FIF0(First In First Out),这样就可以用较小的资源消耗,换取总线访问效率的大幅提高。4、异步 FIFO 模块 140在有大量的数据需要进行跨时钟域传输且对数据传输速度要求比较高的场合,显步FIFO是一种简单、快捷的解决方案。异步FIFO用一种时钟写入数据,而后用另外一种时钟读出数据,读写指针的变化动作由不同的时钟产生。由于CPU控制系统通过GenericPort访问SDRAM显存单元的速度和SDRAM逻辑控制模块访问SDRAM显存单元的速度不匹配,并且时钟也不相同本文档来自技高网...

【技术保护点】
1.一种基于FPGA系统的VGA显示驱动控制器,它包括CPU主控制单元,三通道8位高速视频DAC,其特征在于所述CPU控制单元发送命令或数据到FPGA逻辑控制单元,FPGA逻辑控制单元解析命令或数据后,再将SDRAM显存单元的图形数据,经三通道8位高速视频DAC变换成VGA信号后,输出到VGA显示器显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:苏亦雄
申请(专利权)人:武汉力源信息技术股份有限公司
类型:实用新型
国别省市:83

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1