APP下载

基于Kintex7的图像显示实验设计

2022-07-30王明伟张育林黄宝娟

电气电子教学学报 2022年3期
关键词:产业界逻辑信号

王明伟 杨 荣 李 铭 张育林 黄宝娟

(西安交通大学 实践教学中心, 西安 710049)

在航天、航空、工业控制、消费电子等各个工业领域,FPGA逻辑开发工具都有着非常广泛的应用, Xilinx公司在FPGA设计领域具有很强的影响力,产业界有众多的设计者和工程师都在其产品平台上进行着各项设计任务和产品开发,因此,让学生接触最新的,应用范围广阔的FPGA产品,能够拉近高校实践教学和产业界应用的距离,让学生在校期间就能够接触、了解、熟悉相应的开发原理和流程,对提高学生后续的设计适应能力,尽快地融入业界的设计环境都有着非常重要的意义[1-2]。因此,在本科生实践教学当中,设计相应的工程实验就显得尤为重要。

本实验的设计目的:

(1)面向我校工科学院本科二、三年级学生(以电类学生为主),让学生了解最新的工业领域所使用的FPGA产品;

(2)学习最新的,应用非常广泛的设计开发工具,熟悉相应的设计流程;

(3)选取学生身边的事物作为实践训练的对象,增强亲近感和体验感;

(4)实验训练程度是多层次的,适应不同阶段学生的训练要求。

基于此,选取Kintex7作为硬件平台,ISE 14.7 作为开发工具,以学生在教室、实验室随处可见,但却不一定了解其控制原理的VGA显示接口作为训练对象,以趣味图形、图像的实现作为训练手段来设计该实验,能够有效调动本科生的学习兴趣,从而提高学生的实践动手能力。

1 硬件构成

整个实验系统的硬件组成如图1所示。控制核心由Kintex芯片构成,在Kintex上实现相应的控制模块,FPGA输出的数字信号由电阻加权网络电路转换为模拟信号之后,输出到VGA物理接口,从而在显示器上将相应的图形、图像显示出来。此外,为保证FPGA的时序设计[3-4],板卡上设计有相应的晶振,晶振输出的时钟信号进入Kintex之后,在FPGA内部进行频率变换,进行各项应用。

图1 硬件组成

1.1 Kintex7简介

Kintex7系列是Xinlix公司推出的最新一代28 nm工艺的FPGA产品,旨在实现最佳的成本、性能和功耗的平衡,功耗比上一代产品降低40%左右,性能得到大幅提升。Kintex7系列产品资源列表如图2所示。

图2 Kintex7系列FPGA资源情况

Kintex7系列FPGA可选型号丰富,内部逻辑资源,DSP资源,块RAM资源,时钟网络CMT等资源都非常丰富,可以实现各种复杂的工业场景应用,对外IO口资源也非常丰富,能够扩展各种接口,进行功能延伸。本实验平台所用FPGA型号为XC7K325T,内部逻辑资源适中,兼顾成本和性能。FPGA内部逻辑资源示意图如图3所示[5]。

图3 FPGA内部逻辑资源示意图

1.2 VGA接口

VGA接口是一种应用非常广泛的电气接口,几乎每一台计算机都配备有VGA接口,相应的计算机显示器也是如此,该接口是由IBM公司推出的一种视频信号传输接口,接口分三排,每排五个,节点、信号定义如表1所示。Kintex7和VGA接口之间通过GPIO进行控制,由FPGA输出相应的高低电平实现颜色分量的控制[6-8]。同时,在内部逻辑当中,产生符合VGA控制要求的行同步信号和帧同步信号,用来显示图像。VGA接口实物图如图4所示。

图4 VGA接口实物图

表1 VGA节点、信号定义

1.3 电阻加权网络

由于Kintex7是数字器件,FPGA 的IO输出也是数字信号,而VGA的颜色信号是模拟显示驱动,因此,需要进行数模信号转换(DA转换),DA转换常用的方式可以采用专业的DA转换芯片去完成,可以取得很好的转换精度和效果,本实验平台采用更为简单的二进制加权DA电路完成数模转换,也能够较为简单的完成一定的显示效果。如图5所示。

图5 FPGA与VGA接口

2 开发工具简介

实验的软件开发工具采用Xilinx 公司2020年最新更新的开发工具ISE 14.7,该软件是Xilinx公司最为经典的FPGA逻辑开发工具,支持Xilinx公司所有系列FPGA产品,在工业界中有着非常广分的应用[9-11]。让学生接触、了解并熟悉该款设计软件,有助于紧跟产业界的步伐,实现与产业界技术开发的技术衔接。

3 实验设计

3.1 VGA显示原理

实验以普通显示屏来进行图像显示,VGA接口在进行图像显示时,需要靠行同步信号和帧同步信号来进行约束和控制[12-14]。在进行显示时,从电脑屏幕的左上角开始扫描,水平方向逐像素进行扫描,扫描的过程就是给每个像素点赋值的过程,本行扫描结束后,再进行下一行的扫描,依然从该行最左侧开始,逐像素扫描赋值,直到完成整个屏幕的扫描,此时显示器上就显示出了完整的图像,这幅完整的图像就组成了一帧图像。每行图像扫描的时候由行扫描信号控制,每帧图像扫描的时候由帧扫描周期控制。其时序约束如图6所示。

图6 VGA 行、帧信号时序关系

另外,对于不同的显示分辨率,时序图中的行起始,行空闲间隔等各个参数需要进行适应性的修改,具体参数可见表2所示。

表2 VGA 不同显示模式参数设置

3.2 逻辑模块设计

1)全黑和全白图像显示

本实验从最简单的全黑和全白图像的显示开始,全黑图像只需要将R G B三个分量的逻辑输出值设置为0即可,全白图像只需将R G B三个逻辑分量的值设置为255即可。在HDL设计时,还需使用时钟IP核产生内部逻辑所用的时钟信号,此外,程序还包含VGA驱动模块,VGA显示模块,整个程序进行模块化设计,方便修改和功能拓展。设计流程和程序框图如图7和图8所示。

图7 行信号产生示意图

图8 FPGA 实现的顶层模块

2)条带图像显示

条带图像显示的核心在于将屏幕的显示区域进行竖条划分,之后再进行每个区域的幅值显示即可。当然,条带可以进竖条划分,也可以进行横条划分,重点在于将屏幕的水平和垂直坐标参数进行合理的控制。程序设计流程和模块图如图9所示。

图9 程序框图模块示意

3)静态图片显示

静态图片的显示需要使用FPGA内部的ROM资源,Kintex7系列FPGA内部拥有非常丰富的ROM资源,ROM可以将固定的数据文件进行存储,之后,按照ROM的读取时序要求就可以将数据读出,在Xilinx手册中对于ROM的使用有详细的介绍[15-16]。ROM框图及时序控制图如图10所示。

图10 ROM 框图及时序控制图

程序中首先需将图片进行格式转换,提取出相应的像素值,然后将像素值存储到ROM当中去,之后就可以按照ROM读取规则进行静态图片数据的读取了,再由VGA驱动和显示模块将图片显示到屏幕上。程序设计示意如图11所示。

图11 程序模块示意

3.3 实验结果

将设计的各个模块的程序进行综合,布局布线及生成bit文件后,通过JTAG口下载到硬件板卡上,实时运行程序,就可以进行实验的演示。显示结果可以非常直观地通过液晶显示屏来展示,如图12所示。同时,可以设计分层级的实验训练内容,对学生能力进行综合培养。

图12 实验结果显示

表3 不同实验模块

当然,实验在此基础上可以拓展出更复杂,更丰富的训练内容。

4 结语

工程实践训练历来是各个高校培养人才的重要环节,及时更新训练的硬件平台和软件开发工具是从事实践教学需要特别关注的重点。本实验选用业界应用广泛、平台新颖的FPGA逻辑开发工具,以学生熟悉的控制对象和场景为基础,设计了VGA图像实时显示综合实验,设计过程从简单到复杂,设计的实验内容充分融入了FPGA开发的关键流程和训练重点,本实验的设计能够丰富本科生的实践训练课程,将训练触角延伸至产业界,具有良好的产学融合效果。

猜你喜欢

产业界逻辑信号
刑事印证证明准确达成的逻辑反思
逻辑
完形填空二则
父母的神逻辑
女人买买买的神逻辑
2016中国信息产业经济年会
日本产业界迫于“倾向中国”
信号
高处信号强
细辨新生儿的“异常信号”