一种基于fpga的双缓存图形显示控制器

上传人:小** 文档编号:34131698 上传时间:2018-02-21 格式:DOC 页数:8 大小:90.50KB
返回 下载 相关 举报
一种基于fpga的双缓存图形显示控制器_第1页
第1页 / 共8页
一种基于fpga的双缓存图形显示控制器_第2页
第2页 / 共8页
一种基于fpga的双缓存图形显示控制器_第3页
第3页 / 共8页
一种基于fpga的双缓存图形显示控制器_第4页
第4页 / 共8页
一种基于fpga的双缓存图形显示控制器_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种基于fpga的双缓存图形显示控制器》由会员分享,可在线阅读,更多相关《一种基于fpga的双缓存图形显示控制器(8页珍藏版)》请在金锄头文库上搜索。

1、一种基于 FPGA 的双缓存图形显示控制器 赵洋 陈达其 马权 中国核动力研究设计院仪控生产部 摘 要: 应用于核电厂保护系统中的图形显示单元, 属于安全级设备。该设备需要能够动态显示保护系统相关数据, 并为操纵员提供手动控制保护系统相关功能的接口。该设备的研制过程中需遵循安全级设备的相关法律、法规或导则。简化硬件、软件设计可有效提高图形显示单元的可靠性并减小软件 V&V 工作复杂度。本文将针对作为图形显示单元核心的图形显示控制器设计, 提出一种新的设计方法, 使得该控制器实现过程得到简化, 性能得到提升。关键词: 图形显示控制器; 双缓存; FPGA; 作者简介:赵洋 (1988-) , 男

2、, 四川蓬溪人, 学士, 助理工程师, 从事嵌入式FPGA 开发。收稿日期:2017-08-30A Double Buffer Graphic Display Controller Based on FPGAZhao Yang Chen Daqi Ma Quan Nuclear Power Institute of China, R&D Department of I Abstract: The graphic display unit applied to the protective system in nuclear power is defined as a safety level

3、instrument.This instrument should display the dynamic data which got from protective system, and support an interface for the operator to control related function of the protective system.The process of developing this instrument should obey the law or rules related to safety device.Simplification o

4、f the hardware or software design can enhance the reliability of graphic display unit, and reduce the V&V complexity of software.This methodology focused on the graphic display controller of graphic display unit design will put forward a new method that can simplify the design of graphic controller

5、and enhance its performance.Keyword: graphic display controller; double buffer; FPGA; Received: 2017-08-300 引言应用于核电厂保护系统的图形显示单元 (后文简称为图形显示单元) , 作为一种典型的嵌入式工业控制设备, 受限于设备体积、功耗、嵌入式处理器的运行时钟频率、单任务定周期的工作机制, 难以实现如 WINDOWS 或 LINUX 系统下图形显示功能。图形显示单元执行图形显示操作会耗费大量的嵌入式控制器运行时间, 严重影响图形显示单元的响应时间。因此, 选择合适的图形显示方法对提高图形

6、显示单元的可靠性和响应速度具有重要意义。图形显示单元中的嵌入式控制器 (后文使用 MCU 代称) 除实现图形显示功能外, 还需要完成如通信、数据存储、报警监视等功能。为降低图形显示对图形显示单元运行时间的消耗, 一般会选择 MCU+图形显示控制器 (后文使用 GPU 代称) +显存 (后文使用 VRAM 代称) 的方式来实现图形显示1。本文通过对常见的两种图形显示方案的分析和对比, 结合核电厂保护系统中对安全级设备的特殊要求, 提出了一种优化的图形显示实现方法, 既简化了图形显示控制器的架构又提升了图形显示的性能和效率。1 图形显示方案一常规的图形显示架构如图 1 所示。图 1 基于 MCU+

7、GPU+VRAM+图形存储器的图形显示方案 Fig.1 The graphic display design based on MCU+GPU+VRAM+granhic storage 下载原图图形显示流程:MCU 读图形存储器MCU 将读取的图形存储器数据写入 GPUGPU将来自 MCU 的数据写入 VRAMGPU 读取 VRAM 数据送显示屏。VRAM 诊断流程:MCU 将需要诊断的 VRAM 地址或数据写入 GPUGPU 按照来自 MCU的诊断请求数据访问 VRAMMCU 读 GPU 获取的 VRAM 数据2。1.1 部件功能图 1 中, 各部件的功能如下:1) MCU:图形处理主控制器

8、, 执行整个图形显示、显存诊断的控制调度。2) GPU:直接寻址 VRAM, 执行 MCU 的图形控制指令, 控制显示屏刷新。3) 图形存储器:存储静态图形数据。4) VRAM:存储显示屏的显示数据。1.2 运行机制分类及性能分析按照 MCU 与 GPU 间传送数据类型, 可以分为数据式图形显示控制和指令式图形显示控制两种控制方式。1) 数据式图形显示控制:用户通过 MCU 预先将需要的图形数据写入图形存储器;MCU 将待显示的图形数据写入 GPU 提供的控制接口;GPU 负责将图形数据写入VRAM;更新屏幕周期达到时, GPU 读 VRAM 中获取的图形数据后输出到显示屏。2) 指令式图形显

9、示控制:MCU 使用 GPU 的图形控制指令, 控制 GPU 生成需要的图形数据, GPU 将生成的图形数据写入 VRAM, 需要显示时, GPU 读取 VRAM 数据后输出到显示屏。数据式图形显示控制与指令式图形显示控制性能对比如表 1 所示。表 1 性能对比 Table 1 Performance comparison 下载原表 2 图形显示方案二图形显示方案 1 中, MCU 需要频繁的从图形存储器中搬运大量的图形数据到GPU。该方案对 MCU 的运行时间消耗较多。在 MCU 与 GPU 之间加入 FPGA 作为数据中转器, 通过 FPGA 进行图形数据的搬运协处理, 形成了如图 2 所

10、示的图形显示方法。图 2 基于 MCU+FPGA+GPU+VRAM+图形存储器的图形显示方案 Fig.2 The graphic display design based on MCU+FPGA+GPU+VRAM+granhic storage 下载原图图形显示流程:MCU 发起图形存储器数据搬运请求FPGA 响应 MCU 的请求FPGA读图形存储器FPGA 将读取到的图形数据写入 GPUGPU 将来自 FPGA 的数据写入 VRAMGPU 读取 VRAM 数据送显示屏3。VRAM 诊断流程:MCU 将需要诊断的 VRAM 地址或数据写入 FPGAFPGA 将来自 MCU的诊断请求数据中转后输

11、出到 GPUGPU 按照 FPGA 中转的诊断请求数据访问VRAMFPGA 读 GPU 获取的 VRAM 数据MCU 读取 FPGA 获取的 VRAM 数据。2.1 部件功能图 2 中, 各部件的功能如下:MCU:图形处理主控制器, 执行整个图形显示、显存诊断的控制调度。FPGA:MCU 与 GPU 的中间桥梁, 执行的功能包括 MCU 与 GPU 之间的速率匹配、图形数据搬运协处理、部分简单的数据填充。GPU:直接寻址 VRAM, 执行 MCU 的图形控制指令, 控制显示屏刷新。图形存储器:存储静态图形元素。VRAM:存储显示屏的显示数据。2.2 运行机制分类及性能分析如 1.2 中描述,

12、此种实现方式也可分为数据式图形显示控制和指令式图形显示控制。数据式图形显示控制与指令式图形显示控制性能对比如表 2 所示。3 基于 FPGA 的双缓存图形显示控制器设计通过对 1、2 节中描述的图形显示方案的分析, 本文提出了基于 FPGA 的双缓存图形显示控制方法, 如图 3 所示。3.1 部件功能图 3 中, 各部件的功能如下:1) MCU:图形显示主控制器, 执行整个图形显示、显存诊断的控制调度。表 2 性能对比 Table 2 Performance comparison 下载原表 图 3 基于 FPGA 的双缓存图形显示控制器 Fig.3 The double buffer grap

13、hic display controller based on FPGA 下载原图2) FPGA:图形显示协处理器, 执行图形数据搬运、2D 图形数据生成、缓存控制及诊断、显示屏驱动。3) 缓存:VRAM1、VRAM2 构成双缓存, 存储当前和下一幅需要显示的图形数据。4) 图形存储器:存储运行过程中需要使用的静态图形数据。3.2 关键功能模块MCU 与 FPGA 之间通过并行总线进行通信。FPGA 对来自 MCU 的指令进行译码, 分别执行静态图搬运协处理器、2D 图形引擎、双缓存控制及诊断器、双缓存内部数据交换器等并行功能块, 快速实现图形数据搬运、图形数据生成、显示切换及诊断等操作。3.

14、2.1 静态图搬运协处理器FPGA 比 MCU 更适合进行时序操作。因此, 在 FPGA 内部设计了一个静态图搬运协处理器功能块。该功能块能够执行来自 MCU 的静态图 DMA 指令, 将图形存储器中特定区域的图形数据搬运到数据准备器。静态图搬运数据流向如图 4 中虚线所示。图 4 静态图搬运数据流向 Fig.4 The data flow of static grahic 下载原图3.2.2 2D 图形引擎FPGA 内部以一定的逻辑资源搭建 2D 图形引擎。2D 图形引擎内部由若干并行的逻辑功能块构成。这些逻辑功能块能够分别实现直线、斜线、圆周、弧线、ASCII 码等图形的绘制及区域像素填充

15、。2D 图形引擎提供一组指令集供 MCU 进行图形显示调度控制。2D 图形引擎执行来自 MCU 的 2D 图形绘制指令, 快速生成显示需要的图形数据并写入数据准备器。2D 图形引擎数据流向如图 5 中虚线所示。图 5 2D 图形引擎数据流向 Fig.5 The data flow of 2D grahic engine 下载原图3.2.3 双缓存控制及诊断器VRAM1、VRAM2 构成双缓存结构。缓存按照图形显示中的作用可分为数据暂存器和数据准备器。(1) 数据暂存器:用于存储显示屏当前需要显示的图形数据, FPGA 从该存储器中读取数据送显示屏显示。(2) 数据准备器:用于存储下一幅需要显示

16、的显示屏数据, FPGA 或 MCU 将下一幅需要显示的图形数据填入该存储器。运行过程中, VRAM1 与 VRAM2 会频繁进行工作权限切换, 交替作为数据暂存器或数据准备器, 以此实现显示数据准备、显示数据切换、诊断控制等功能。双缓存工作权限切换过程如图 6 所示。图 6 中, 左侧部分 VRAM1 作为数据准备器, MCU 通过调度 FPGA 的静态图搬运协处理器或 2D 图形引擎将下一幅需要显示的图形数据填入 VRAM1。此时, VRAM2作为数据暂存器, FPGA 从 VRAM2 中读取数据输出到显示屏显示。图 6 双缓存工作权限切换过程 Fig.6 The process of double buffer mode change 下载原图当需要更新显示数据时, MCU 调度 FPGA 修改 VRAM1 和 VRAM2 的工作权限, 如图6 右侧所示。此时, FPGA 从 VRAM1 中读取数据输出到显示屏, MCU 通过调度FPGA 的静态图搬

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号