基于Zynq的图形生成电路设计与实现

发布者:CuriousMind123最新更新时间:2021-03-08 来源: eefocus关键字:Zynq  ARM 手机看文章 扫描二维码
随时随地手机看文章

1引言


在飞机座舱显示系统中图形显示占据重要地位[1].主显示器尺寸不断加大,分辨率不断提高,并日益朝着大屏幕化、综合化、信息化和智能化方向发展[2].随着分辨率的提高,要显示的信息量也大幅增加,座舱图形综合显示系统是一个对实时性要求很高的系统[3],军用飞机在做战术动作时,画面变换速度快,要求图形的更新速度也必须很快,至少要比帧或场的刷新速度快,才可以避免画面的断续[4G5].采用DSP+FPGA 的图形硬件加速架构,或者使用专用GPU 图形生成芯片,都可以生成高分辨的机载显示器图形,但随之而来的是产品成本的急剧增加以及功耗的不断上升[6].为机载图形显示系统配置更合理的硬件设计和软件架构变得尤为迫切。


Xilinx最新平台Zynq将处理器的软件可编程能力与FPGA 的硬件可编程能力实现完美结合,以低功耗和低成本等系统优势实现良好的系统性能、灵活性和可扩展性[7].本文提出一种基于Zynq可扩展处理平台的实时图形生成电路,利用Zynq内部集成的ARM 处理器以及可编程逻辑资源,实现了机载显示器图形画面的实时生成与显示。


2Zynq简介


2.1Zynq构成


Zynq构架将内部结构分为处理器系统(ProcessingSystem,PS)与可编程逻辑(ProgrammableLogic,PL)两部分[8].PS部分包括双ARM CortexGA9内核、存储器接口以及通用外设接口等资源.PL部分也即常规的FPGA,通过PL生成的IP核可以作为ARM 内核的扩展外围设备或者ARM 内核的加速部件.Zynq器件内部结构图如图1所示。



图1Zynq内部结构图


Zynq架构可以对PL和PS中运行的自定义逻辑和软件方便地进行管理和规划,PS和PL的单芯片综合使其在I/O 数据带宽、功能耦合、功耗预算等方面的性能表现大大超越了以往ASSP和FPGA 双芯片解决方案。


PS和PL可以通过多种途径实现互联,包括GPIO端口、AXI总线端口、EMIO 端口、中断、DMA 等等.其中AXI总线是ARM 系统中连接各个模块的主要通道,各个功能部件通过AXI总线实现互联.在PL中可以通过工具自动生成带有AXI接口的IP 核,和PS 端进行高速数据交互。


2.2DDR Memory控制器


Zynq内部集成的DDR memory控制器支持DDR2、DDR3、LPDDR2等多种存储器类型,包含了3个主要模块:AXI存储器端接口DDRI、带有传输调度机制的中央控制器DDRC 和物理层控制器DDRP[9].DDRmemory控制器框图如图2所示。



图2DDR Memory控制器框图


DDRI端口符合AXI总线标准,包含4个64位的同步AXI接口,分别为S0、S1、S2、S3,用于接收多个AXI主端的访问请求,其中S0和S1端口接收PS部分CPU 的访问请求;S2和S3端口接收PL部分逻辑端的访问请求.DDRC对来自多个AXI主端的访问请求按照其调度策略进行裁决,裁决实施的依据是主控端访问的优先级、等待时长计数器和紧急信号.DDRP 处理来自于DDRC的读写请求,并将其转换成符合DDR 存储器时序要求的特定信号。


2.3AXI VDMA


AXI VDMA 是Xilinx公司开发的一个软核IP,用于在系统存储器和支持AXI4-Stream 视频类型的目标IP之间提供一个高速的数据存取通道[10].AXI4-Stream 格式数据流不能直接用于驱动显示,还需要将数据流以视频使能信号为界进行分割,配合行场同步信号驱动视频终端显示。


该IP 有两路AXI4-Stream 接口,分别为AXI Memory Map to Stream (MM2S)Stream Master 和AXI4-Stream to Memory Map(S2MM)Stream Slave,其中MM2S为主端口,用于输出转换成AXI4-Stream 格式视频流的系统存储器中数据.S2MM 为从端口,用于接收AXI4-Stream 格式视频流转换成存储器数据.MM2S和S2MM 彼此相互独立,可以并行同时工作.PS端的处理器可通过AXI4-Lite总线对其内部的寄存器进行访问以控制VDMA 工作模式、获取VDMA 工作状态。


3设计实现


3.1硬件设计


3.1.1硬件架构


本文通过Zynq完成图形生成与显示功能,原理框图如图3所示,硬件模块主要包括Zynq、DDR3SDRAM、FLASH、双口RAM 等.正常工作时PS中的ARM 内核根据从双口RAM 中接收到的绘图指令和参数完成绘图算法,将图形数据写入DDR3SDRAM 存储器中.PL 从DDR3中读出图形数据进行显示,并对DDR3SDRAM中的图形数据进行清屏处理。



图3Zynq图形生成原理框图


3.1.2Zynq硬件平台设计


本文通过Xilinx 的ISE14.2 软件集成的XPS开发环境完成Zynq图形生成电路的硬件平台设计.利用XPS可以快速地对Zynq系统内的各种硬件资源进行定制设计,包括存储器、外设、ARM 处理器、系统IP和用户IP等.Zynq硬件平台结构图见图4所示.



图4Zynq硬件结构图


本文在Zynq中的PL 部分应用了VDMA、AXI2XSVI、XSVI2AXI、VTC等几个IP核,其中VDMA 用于从DDR3SDRAM 中读出图形数据,同时向DDR3SDRAM 中写入全零数据以达到清屏目的.AXI2XSVI用于将AXIGStream 数据流用行、场同步信号进行区隔,供外部显示模块进行显示.XSVI2AXI用于将带有行场同步信号的视频数据转换成AXIGStream 数据流.VTC 用于生成系统运行所需时序信号.对VTC根据显示时序进行修改,系统即可产生多种分辨率图形画面。


3.1.3图形缓冲设计


本文中对DDR3SDRAM 帧存的操作包括3种类型:PS写入、PL读取、PL清零.清零从本质上说也是一种写入操作,写入的是全零数据.读取和写入请求通过DDR 控制器中的调度机制和仲裁策略分别在不同时刻得以响应,得益于DDR3SDRAM 的高速高带宽优势,外部可以同时进行多个通道的读写操作.针对本文中DDR3SDRAM 的3种操作类型,在DDR3帧存中设置了3个缓冲区,分别为buffer0,buffer1,buffer2,相应地,VDMA 中的framebuffer数目也设置为3.buffer的切换机制如表1所示.


这种三缓冲切换机制保证了写入的都是已清零完成的buffer,清零的都是已读出完成的buffer,读出的都是已写入完成的buffer。


根据buffer切换机制,VDMA 中的S2MM和MM2S通道分别以指定的buffer为操作对象.初始化状态下为每个buffer指定默认的操作模式,而后在每个帧周期内启动VDMA 切换buffer操作模式,从而不间断地输出图形数据。



3.2软件设计


3.2.1Zynq系统软件


系统绘图时,根据双口RAM 提供的画面内容要求,启动绘图任务,并将绘图结果保存下来.显示工作完全由PL内部的显示逻辑负责,显示逻辑从显存中读取显示数据,按照标准时序送至显示接口.图形软件的接口关系如图5所示.



图5图形生成软件接口示意图


3.2.2画面显示软件


画面显示软件主要包括初始化模块和主模块,结构如图6所示.初始化模块完成ARM 内核启动;外设初始化信息加载;DDR3SDRAM、UART等设备初始化;VDMA 寄存器配置等初始化工作.运算控制模块由双口RAM 读写模块;PS、PL 通信模块以及绘图模块3部分组成,其中双口RAM 读写模块主要负责从双口RAM中读取绘图指令数据,为绘图模块提供必要的绘图参数;PS、PL通信模块负责ARM 内核与VDMA的通信,切换缓存;绘图模块完成分配的绘图任务,并将相应的计算结果,也即对应的像素点信息写入DDR3SDRAM 中。



图6图形生成软件结构图


4实验与对比


4.1实验过程


在实验验证阶段,分别采用自主开发的Zynq图形生成模块和DSP图形生成模块作为实验和比较对象.其中,Zynq 图形生成模块采用的Zynq器件型号为XC7Z020,集成的ARM 处理器频率为667MHz,采用的DDR3SDRAM 器件型号为MICRO公司的MT41J128M16,时钟频率设置为533MHz.DSP图形生成模块采用的DSP器件型号为AD 公司TigerSHARC 系列的TS201,主频设置为520MHz。


为了全面验证Zynq平台的图形生成性能,本文针对几种常规分辨率机载显示器,对两种平台的图形生成时间和帧率分别进行对比测试.机载显示器常规分辨率有640×480、600×600、1024×768等几种,每种分辨率下具体图形生成时间和帧率与图形内容和复杂度有关,本文选取常用的典型图形作为测试对象,每幅图形均包含了直线、圆弧、矩形、字符、数字、符号等内容,如图7所示。




图7测试图形


以1024×768 分辨率的EFIS 画面为例,Zynq平台实时生成图形数据并送至外部监视器显示的示意图如图8所示.



图8Zynq平台1024×768分辨率图形生成示例


4.2实验结果


针对3种分辨率典型图形画面,Zynq平台和DSP平台图形生成时间和帧率对比分别如图9和图10所示.



图9图形生成时间对比



图10图形生成帧率对比


图形生成时间包括图形算法运算时间和图形数据写帧存时间.在进行图形运算处理时,针对Zynq平台的特点采取了一系列的优化算法,图形运算时间小于DSP平台.另外,Zynq平台采用的是DDR3SDRAM 帧存,操作速率远高于DSP平台采用的SRAM 帧存,因此写帧存时间远小于DSP平台.由图9和图10可见,在绘制分辨率相同的同一图形时,Zynq平台图形生成时间均小于DSP平台,帧率均高于DSP平台.在绘制多种分辨率图形画面,Zynq平台帧率均超越60 Hz,满足了机载显示器的实时显示要求。


5结论


针对机载液晶显示器低功耗、小型化的应用需求,提出了一种基于Zynq的图形生成电路.运用Zynq器件集成的ARM CortexGA9内核作为核心绘图部件,外部高速DDR3存储器作为图形帧存,对帧存采取三缓冲机制进行数据缓冲处理,配合可编程逻辑资源,可完成多种分辨率图形的实时生成.对Zynq平台和DSP平台在多种分辨率下典型画面的图形生成时间和帧率进行了对比测试,测试结果表明,Zynq平台性能优于DSP平台.在生成1024×768分辨率的EFIS图形画面时,Zynq平台图形帧率可达74fps,满足机载显示器实时显示需求。


关键字:Zynq  ARM 引用地址:基于Zynq的图形生成电路设计与实现

上一篇:基于ARM的门票防伪检测系统简介
下一篇:解读ARM7内核微控制器以太网接口电路

推荐阅读最新更新时间:2024-10-29 05:05

基于ARM7的宿舍智能防火防盗报警系统设计
  0 引言   现如今在学校的寝室里,学生贵重物品被盗、由于学生过失而引起着火等事故时有发生,这些都是一直以来困扰着学生、学工以及学校保卫处的 大问题 。传统的防范措施存在很大的弊端,比如当事故发生时,防护铁门、铁栏杆就会成为主人逃生的最大障碍。而采用智能防火防盗报警系统,便能很好地解决此类问题了。但是市场上防火防盗系统价格对大学生来讲过高,本系统便是针对大学宿舍,从低成本的角度来设计制作的。   1 系统组成及工作原理   本系统通过一个监控室和两个宿舍来模拟,通过RS 485总线来实现通信。考虑到现实中监控室要能监控整栋宿舍楼,因此采用功能强大的ARM7芯片LPC2103作为主机控制芯片,从机采用价格低廉的51系列单片机
[单片机]
基于<font color='red'>ARM</font>7的宿舍智能防火防盗报警系统设计
基于AT91RM9200的嵌入式ARM开发平台的实现
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可以裁剪来适应系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机体系。随着各种微处理器功能的完善以及软件上操作系统的支持,使得嵌入式系统有了完整的体系架构。 在专用的嵌入式板上运行操作系统需要利用Bootloader来引导加载内核和系统程序。Bootloader主要实现初始化硬件设备、建立内存空间的映射图,从而把嵌入式硬件和嵌入式操作系统很好地衔接起来。 U-Boot是当前比较流行、功能强大、比较有代表性的Bootloader,支持的处理器包括Powerarm(ARM7,ARM9,Srongarm,Xscale)、MIPS、X86、Motorola等系列。 与
[单片机]
基于AT91RM9200的嵌入式<font color='red'>ARM</font>开发平台的实现
关于ARM9的MMU重要理解
MMU给我感觉是个很复杂的东西,网上看了一些资料,勉强知道了一些表面的东西。它有两个作用:1、把虚拟地址映射到物理地址;2、对内存访问提供控制机制。 原文地址: http://blog.chinaunix.net/u1/58780/showart_468065.html 在ARM中,MMU另外提供了一张映射表(MVA),用于程序虚拟地址(VA)到物理地址(PA)的映射。MVA称为变换后的VA。在程序运行时,CPU只看到VA,而MMU和cache们只看到PA和MVA。应该说,在进程运行切换过程中,映射关系是动态变化的,因为不同进程和内存之间需要不同的映射关系,就需要不断的重做映射表,这个代价是很大的。所以,有必要让映射表中需要
[单片机]
新的Arm GPU助力释放消费电子设备市场中的游戏和AI创新潜能
作为人们日常数字生活中不可或缺的一部分,Arm GPU赋能了从当今智能手机上的沉浸式游戏,到各类边缘侧人工智能 (AI) 体验的方方面面。目前,Arm合作伙伴的GPU出货量已超过100亿颗,而这一卓越成就归功于我们业界领先的生态系统。这些 GPU 广泛应用于包括智能手机、平板电脑、智能电视、机顶盒、智能手表和 XR 可穿戴设备在内的各类消费电子设备。 去年此时,我们推出了新的第五代GPU架构及一系列新的GPU,包括 Arm Immortalis-G720 GPU。 MediaTek的天玑9300 系统级芯片(SoC)平台便采用此GPU。之后,知名手机厂商vivo和OPPO的旗舰智能手机都先后采用了该芯片。 今年,我们很高兴推出
[嵌入式]
新的<font color='red'>Arm</font> GPU助力释放消费电子设备市场中的游戏和AI创新潜能
Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序
Part1 环境搭建和工具安装 1.1 设置交叉编译环境 安装相关的编译工具: sudo apt-get install build-essential gcc-arm-linux-gnueabi 这里我使用的是ubuntu系统源中含有的gcc-arm-linux-gnueabi系列工具,安装完成后具有如下工具: arm-linux-gnueabi-addr2line arm-linux-gnueabi-gcc arm-linux-gnueabi-gprof arm-linux-gnueabi-ranlib arm-linux-gnueabi-ar arm-linux-gnueab
[单片机]
ARM映像文件 he 编译器自动生成的启动函数
什么是arm的映像文件 arm映像文件其实就是可执行文件,包括bin或hex两种格式,可以直接烧到rom里执行。在axd调试过程中,我们调试的是axf文件,其实这也是一种映像文件,它只是在bin文件中加了一个文件头和一些调试信息。 可以参考下面的pdf:ARM映像文件及执行机理 part1 part3 映像文件的组成 ARM映像文件是一个层次性结构的文件,包括了域(region),输出段(output section)和输入段(input section)。 所谓域,指的就是整个bin映像文件所处在的区域,它又分为加载域和运行域。 加载域就是映像文件被静态存放的工作区域
[单片机]
大摩:ARM将主导500美元以下市场
    北京时间3月8日晚间消息,摩根士丹利分析师弗朗科斯·穆尼尔(Francois Meunier)在一份研究报告中将ARM的股票评级从“持股观望”上调至“增持”。他认为,ARM在移动处理器市场领先英特尔(微博)2年时间,因此业绩还将继续提升。   ARM股票已被列入摩根士丹利的“最佳创意”股票名单中。穆尼尔在报告中表示:“ARM给出的长期出货量预期最初往往让人觉得过于乐观,但最终却被证明是保守的。半导体产品的价格弹性、智能手机和平板电脑等新型产品的出现,以及新兴市场对科技产品需求的上升成为过去5年中行业最主要的增长动力。如果未来5年这一创新趋势仍能够继续,那么到2016年ARM的每股收益将达到0.37英镑(约合0.58美元)。”
[手机便携]
arm学习笔记六(协处理器)
协处理器是一种芯片,减轻系统微处理器的某些任务 支持多达16个协处理器,例如cp15寄存器来控制cache和存储器管理 协处理器操作指令 cdp:数据操作指令,初始化协处理器 ldc:数据加载指令,存储器到协处理器寄存器的数据传送 stc:数据存储指令,协处理寄存器到存储器的数据传送 mcr:arm处理器寄存器到协处理器寄存器的数据传送 mrc:协处理器寄存器到arm处理器寄存器的数据传送 访问cp15寄存器的指令编码格式 31 28 27 24 23 21 20 19 16 15 12 11 8 7 5 4 3 0 cond 1110 opcode_1 L crn
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved