摘要: 为了适应机载液晶显示低功耗、高集成度的趋势,提出了一种基于Zynq可扩展处理平台的图形生成电路的实现方法。 方法搭建以Zynq为核心的硬件平台,利用Zynq集成的ARM处理器执行图形生成算法运算,并利用可编程逻辑资源吉祥物设计,按照三缓冲机制对DDR3SDRAM帧存数据进行缓冲实现图形的实时生成。 该设计可以生成多种分辨率的机载图形图像。 实验结果表明,生成分辨率为1024×768的EFIS电子飞行显示系统图像时,帧率可达74fps,能够满足机载液晶显示器的高性能实时要求。 显示要求。
1 简介
图形显示在飞机座舱显示系统中占有重要地位[1]。 主显示屏尺寸不断增大,分辨率不断提高,日益向大屏化、集成化、信息化、智能化方向发展[2]。 随着分辨率的提高,显示的信息量也大幅增加。 驾驶舱综合图形显示系统是一个实时性要求较高的系统[3]。 更新速度也必须非常快,至少比帧或场的刷新速度快,这样才能避免画面的不连续性[4G5]。 采用DSP+FPGA图形硬件加速架构,或者采用专用GPU图形生成芯片,可以生成高分辨率机载显示图形,但随之而来的是产品成本急剧增加和功耗不断上升[6]。 为机载图形显示系统配置更加合理的硬件设计和软件架构显得尤为迫切。
Xilinx最新平台Zynq将处理器的软件可编程性与FPGA的硬件可编程性完美结合,以低功耗、低成本等系统优势实现了良好的系统性能、灵活性和可扩展性[7]。 提出了一种基于Zynq可扩展处理平台的实时图形生成电路。 利用Zynq中集成的ARM处理器和可编程逻辑资源,实现了图形图像在机载显示器上的实时生成和显示。
2 Zynq简介
2.1 Zynq组成
Zynq架构将内部结构分为两部分:处理系统(PS)和可编程逻辑(PL)[8]。 PS部分包括双ARM CortexGA9内核、内存接口、通用外设接口等资源。 PL部分也就是说,常规的FPGA,PL生成的IP核可以作为ARM核的扩展外围设备或者ARM核的加速组件。 Zynq器件的内部结构图如图1所示。
图1 Zynq内部结构图
Zynq架构可以轻松管理和规划在PL和PS中运行的自定义逻辑和软件。 PS和PL的单芯片集成极大地提高了I/O数据带宽、功能耦合和功耗预算方面的性能。 超越了之前的ASSP和FPGA双芯片解决方案。
PS和PL可以通过多种方式互连,包括GPIO端口、AXI总线端口、EMIO端口、中断、DMA等。其中,AXI总线是ARM系统中连接各模块的主要通道,各功能组件分别是通过AXI总线互连。在PL中,可以通过工具自动生成带有AXI接口的IP核,并可以与PS端进行高速数据交互。
2.2 DDR内存控制器
Zynq 内部集成的 DDR 内存控制器支持 DDR2、DDR3、LPDDR2 等内存类型,包括 3 个主要模块:AXI 内存接口 DDRI、具有传输调度机制的中央控制器 DDRC 和物理层控制器 DDRP[9]。 DDR 内存控制器的框图如图 2 所示。
图2 DDR内存控制器框图
DDRI端口符合AXI总线标准,包括4个64位同步AXI接口吉祥物设计,分别是S0、S1、S2和S3,用于接收来自多个AXI主控的访问请求,其中S0和S1端口接收访问请求来自PS的CPU;S2和S3端口接收来自PL部分逻辑侧的访问请求。 DDRC根据其调度策略来判断来自多个AXI主机的访问请求。 DDRP处理来自DDRC的读写请求,并将其转换为满足DDR内存时序要求的特定信号。
2.3 AXI VDMA
AXI VDMA是Xilinx开发的软核IP,用于在系统内存和支持AXI4-Stream视频类型的目标IP之间提供高速数据访问通道[10]。 AXI4-Stream格式数据流不能直接使用为了驱动显示ip形象设计生成器,还需要以视频使能信号为边界划分数据流,配合行、场同步信号来驱动视频终端显示。
该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中的图形数据。
图3 Zynq图生成原理框图
3.1.2 Zynq硬件平台设计
本文通过XPS开发环境集成Xilinx的ISE14.2软件完成了Zynq图形生成电路的硬件平台设计。 XPS可用于快速定制Zynq系统中各种硬件资源的设计,包括内存、外设和ARM处理器。 、系统IP和用户IP等。Zynq硬件平台结构图如图4所示。
图4 Zynq硬件结构图
本文将VDMA、AXI2XSVI、XSVI2AXI、VTC等几个IP核应用到Zynq的PL部分。 其中,VDMA用于从DDR3SDRAM中读取图形数据ip形象设计生成器,同时将全零数据写入DDR3SDRAM中,以达到清屏的目的。 AXI2XSVI 用于将 AXIGStream 数据流与行同步信号和场同步信号分离,以便由外部显示模块显示。 XSVI2AXI用于将带有行场同步信号的视频数据转换为AXIGStream数据流。 VTC用于产生系统运行所需的时序信号。 根据显示时序修改VTC,系统可以生成各种分辨率的图形图像。
3.1.3 图形缓冲区设计
本文对DDR3 SDRAM帧存储器的操作包括三种类型:PS写、PL读、PL清除。 清除本质上也是写操作,写入的都是零数据。 读和写 输入请求通过DDR控制器中的调度机制和仲裁策略在不同的时间响应。 得益于DDR3SDRAM的高速、高带宽优势,可以实现多通道同时外部读写。 对于本文中DDR3SDRAM的三种操作类型,在DDR3帧存储器中设置了3个缓冲区,即buffer0、buffer1、buffer2,相应地,VDMA中的帧缓冲区数量也设置为3。缓冲区切换机制如表所示1.
这种三缓冲区切换机制保证了所有写入缓冲区都是已清除的缓冲区,所有已清除的缓冲区都已读出,所有已读出的缓冲区都是写入缓冲区。
根据缓冲区切换机制,VDMA中的S2MM和MM2S通道分别以指定缓冲区为操作对象。 在初始化状态下,为每个缓冲区指定默认的操作模式,然后启动VDMA在每个帧周期切换缓冲区操作模式,以免图形数据间歇性输出。
3.2 软件设计
3.2.1 Zynq系统软件
系统绘制时,根据双口RAM提供的屏幕内容要求启动绘制任务,并保存绘制结果。 显示工作完全负责PL内部的显示逻辑。 显示逻辑从显存中读取显示数据并按照标准时序发送。 到显示界面。 图形软件的界面关系如图5所示。
图5 图形生成软件界面示意图
- 本文固定链接: https://wen.nuanque.com/ip/7372.html
- 转载请注明: nuanquewen 于 吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计 发表
- 文章或作品为作者独立观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。本文之内容为用户主动投稿和用户分享产生,如发现内容涉嫌抄袭侵权,请联系在线客服举报,一经查实,本站将立刻删除。本站转载之内容为资源共享、学习交流之目的,请勿使用于商业用途。