基于FPGA的VGA图形控制器的设计

2023-06-02 0 829

欢迎FPGA技师加入非官方QQ技术群

VGA(音频绘图侦测器)做为一类国际标准的表明USB获得广为的应用领域。依照VGA表明基本原理,介绍了借助FPGA同时实现对VGA绘图驱动器的Verilog结构设计方式。详述了各硬体模块的工作基本原理及同时实现途径,并得出了软件结构设计思路。

随着电子电路方法论电子元件的急速发展或其价格的急速下降,EDA软件开发的急速完善,电子电路方法论结构设计的应用领域优势逐渐表明出来,特别是大规模电子电路电子元件。而FPGA具有功能强大,开发操作过程投资小、周期长等特点,成为现今硬体结构设计的必选方式之一。VGA(音频绘图侦测器)做为一类国际标准的表明USB获得广为地应用领域。借助FPGA晶片和EDA结构设计方式,可以灵活地根据用户需求,结构设计出前瞻性强的VGA表明驱动器,不仅降低了运输成本也可以方便快速地对产品展开更新换代。结构设计选用 Quartus II 开发工具,并以 Altera公司的Cyclone系列FPGA的电子元件为主同时实现硬体平台的结构设计。

1. 硬体控制系统SimRank选用组件化结构设计方式。

本结构设计的VGA驱动器主要就由以下组件组成:VGA 排程掌控组件、内部计时器造成组件、SDRAM掌控组件、以太网Flash加载组件等,如图1所示。

基于FPGA的VGA图形控制器的设计图1 控制系统SimRank

2. 主要就组件结构设计

2.1 VGA 排程掌控组件

VGA排程掌控组件是整个表明驱动器的关键部分,其本质是顺利完成VGA表明卡的功能。主要就作用是在一定的工作电压下,造成精确的排程亲密关系(VS-横向并行讯号,HS-水准并行信号,极线讯号之间的亲密关系)。或其在精确的排程下对统计数据内存区对统计数据展开加载,念完统计数据后使 SDRAM 驱动器及时的创下内存区的统计数据。当中造成精确的排程亲密关系为此组件重点,在VGA表明操作过程中,顺利完成带队扫描器所需要的天数称作水准扫描器天数,顺利完成一格扫描器所须要的天数称作横向扫描器天数。每扫描器完带队用行并行讯号展开并行;扫描器完所有狐游大用场并行讯号展开并行。本结构设计选用的是800Hz x 600Hz x 60Hz模式。依据排程国际标准,每表明行包含1056点,当中800迪潘县有效率表明区,256迪潘县极线区,第一行的行并行波形高电平长度为128个直方图;反之亦然场场有628行,有效率行为600行,当中场并行波形高电平长度为4行。其行、场排程如表 1 。

基于FPGA的VGA图形控制器的设计表 1 行扫描器、场扫描器排程基于FPGA的VGA图形控制器的设计图2 HS排程基于FPGA的VGA图形控制器的设计图3 VS排程

当中图2,td=800,tg=1056,ta=80,te+tf=80,tb+tc=128,单位为一个像素计时器周期。

当中图3,td=600,tg=628,ta=1,te+tf=23,tb+tc=4,单位为一个line天数。

依照这个国际标准,外部50MHz计时器经过FPGA内部PLL获得所须要的40MHz像素计时器,并展开对应的直方图数和扫描器行数展开分频处理,可以获得符合要求的行频率、场频率和极线讯号。

2.2 SDRAM掌控组件及动态数字表明方式

在基于FPGA的图像表明控制系统中,常常须要用到大容量、高速度的存储器。而在各种随机存储电子元件中,SDRAM的价格低、速度快、容量大是比较理想的电子元件。但SDRAM掌控方法论较为复杂,要选用状态机的结构设计方式来同时实现 SDRAM 的掌控组件(也可以使用SDRAM IP核同时实现)。其 SDRAM掌控状态机如图 4 。

基于FPGA的VGA图形控制器的设计图4 SDRAM状态机

当中包含了9个状态,当中从Precharge到ModeSet为SDRAM上电后的初始化操作过程,其余状态为SDRAM的正常读写及创下操作操作过程。对于SDRAM自身的操作本文不做详细介绍,下面具体介绍动态表明数字的方式。

控制系统上电后,SDRAM上电后的初始化顺利完成后。先通过Flash读写掌控组件,把Flash中的静态图片加载出来,然后写入SDRAM中直到Flash中的图片完全存入SDRAM。此时启动VGA排程掌控组件展开图片的表明。

对于动态表明数字方式,可以先借助字模提取软件把字模信息提取出来。而 Altera公司的FPGA电子元件内均内置了嵌入式侦测器块,通过调用当中的LPM_ROM组件。可以任意设置参数,构成内置的ROM存储器,存储所摘要的字模信息。本控制系统的字模为16pixels长 x 16pixels宽 x 16位色(R5G6B5),所以借助LPM_ROM组件,占用了将近10个 M4K(FPGA内置 块ram)。

本控制系统通过接受外部 MCU 发来的命令来确定表明数字的区域及要表明的数字。因为VGA排程中存在较长的极线期间,其期间是没有表明统计数据传递的。所以可以通过极线期间实行对SDRAM的写操作,对图片固定地址写入字模信息。其具体步骤:

(1)、确定要表明数字的图像区域首地址;

(2)、确定要表明数字信息位于ROM中的地址;

(3)、启动 SDRAM 写操作;

(4)、SDRAM 写操作地址增加16后,地址继续增加800(即带队),而 ROM地址每次增加 1;

(5)、如此循环16 次(字模为 16 x16)后,如果还有要写的数字则继续(1)步骤,否则停止写操作。

因为只是动态的改变数字,所以对原图像改动的统计数据量不是很大,所以不会造成图像闪烁现象。此方式缺点是字模占用的 块RAM 资源较多,如果字模只是固定颜色的情况,则 块RAM 资源只用到 1 个 M4K,所以在资源紧张的情况下还得须要各方面比较,获得最合适的颜色分配。

2.3 Flash 的读写组件

现在数字电路结构设计中,经常须要保存大量统计数据,Flash Memory 以其集成度高、低成本、使用方便等优点,因此也成为结构设计人员的必选。

Flash可以分两类:并行和以太网。并行存储量大,速度快;而以太网存储量相对较小,但体积小连线简单,可减少电路面积,节约成本,二者各有优缺点,根据实际须要选取。本控制系统对速度要求不是很高,所以选用了以太网 Flash,为意法半导体推出的 M25P32。M25P32为SPI USB,具有 4MB 容量,对与本结构设计每幅图片接近 1MB,则可以存储 4 副图片,可以展开 4 个界面的切换表明。

其组件结构设计必须严格按照 Flash 的排程掌控讯号。对于首次使用 Flash,先须要展开擦除操作,编程指令可以将 1 变成 0。往 Flash 写入图片统计数据时,还是须要调用 FPGA 中的宏组件制作一个 ROM,但是由于 Flash 容量较大,一般FPGA没有这么大的存储空间,所以统计数据须要分多次写入。FPGA的ROM统计数据保存在.mif文中,.mif 由 Matlab 直接生成.mif文件,也可以在 Quartus II 中生成。

在对 M25P32 的操作中,须要注意的是一些指令在操作顺利完成后,须要留出一段天数 Flash展开统计数据处理,比如写寄存器为 5ms~15ms等,如果没有等待这段处理操作过程,则会出现一些误操作。

FLASH操作步骤:

(1)、FLASH擦除,一般通过SPI发FLASH擦除命令,等待结束。

(2)、FLASH写,发送写命令,写地址,统计数据。一般FLASH保存一些参数,或者统计数据存储用,如果FLASH内已经有可用的统计数据,可以根据实际情况,也可以先读FLASH。

(3)、FLASH读,发送读命令,读地址。

3、验证

借助电子电路方法论电子元件(FPGA)可以很方便地同时实现数字控制系统结构设计,而在Altera的QuartusII软件平台下,FPGA 结构设计的各个阶段都获得了很好的支持,两者有效率结合使得数字控制系统的结构设计更加方便快捷。

通过硬体平台的验证,基于 FPGA 的VGA绘图表明器已达到结构设计要求,可以稳定地同时实现界面的表明,并可以在界面上根据须要展开数字的动态改变表明,对于一些工业监控场合的应用领域,尤其统计数据量不是很大的场合尤为适合,不仅可以及时表明当前状态,还可以保存关机时状态。

基于FPGA的VGA图形控制器的设计

欢迎通信技师和FPGA工程

基于FPGA的VGA图形控制器的设计

FPGAQQ技术群

欢迎大家加入全国FPGAQQ技术群,这里有一群热爱技术的技师,在这里可以一起交流讨论技术!

基于FPGA的VGA图形控制器的设计

用手指按住就可以加入FPGA全国技术群哦

FPGA IP核服务:各类优质IP核服务商,服务到位,有保障!有需求的可以直接联系群主!

FPGA技术群平台自营:Xilinx Altera 镁光、三星、海力士、ADI TI ST NXP 等品牌的优势代理分销商,欢迎大家有需求随时发型号清单,我们将在第一天数为您提供最优竞争力的报价!价格低于您原有供应商5%以上!欢迎询价-直接把需求发给群主!

FPGA技术群非官方鸣谢品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务