APP下载

一种机载高分辨率图像实时压缩系统的设计*

2010-07-02田静安毕笃彦李权合

电子技术应用 2010年2期
关键词:存储器寄存器时钟

田静安,毕笃彦,李权合

(空军工程大学 工程学院,陕西 西安710038)

随着多媒体技术的快速发展对数字图像的分辨率和处理速度提出了越来越高的要求。本文基于FPGA+PowerPC架构,设计出一种机载高分辨率图像实时压缩系统,可以实现对输入的高分辨率(4 008×5 344)图像的实时压缩,适合在各种复杂环境下工作,可应用于各种航拍、监控和侦察系统。

1 系统组成及工作原理

本系统是航空数码相机压缩存储系统的子系统,大系统主要由图像预处理模块、压缩模块和存储模块构成,本文主要针对压缩模块进行了设计。由于系统CCD输入图像分辨率较高,一幅完整图像数据的大小为4 008×5 344×12 bit,约 33 MB,这样庞大的数据量对压缩系统的缓存和处理速度提出了很高的要求。根据系统任务要求,压缩系统属于机载系统,对CCD输入的图像完成2种功能。一种是每隔3幅图像抽取一幅进行有损压缩并通过载机传送回地面实时显示;另一种是对图像进行无损压缩并直接存入电子盘中。综合以上考虑,本系统选用Freescale公司Power PC处理器MPC8245作为主控CPU,Analog Devices公司图形图像编解码芯片ADV202作为压缩芯片,Xilinx公司XC2V1000-6FG456作为各接口的逻辑控制,选用2片SDRAM进行乒乓方式交叉缓存。

如图1所示,本系统工作信号流程如下:图像数据经过CCD接口,由FPGA采集,暂时缓存在SDRAM中,然后由FPGA逻辑输入到ADV202的视频接口,经过ADV202压缩后,由PowerPC经过 PCI总线读取,形成文件,存入电子盘。

图1 系统信号流程图

在图1中,做为缓存的SDRAM有2片,每个缓存一幅图像,交叉缓存。ADV202也有2片,分别进行有损压缩和无损压缩。图中粗边框的功能模块由FPGA逻辑完成。

2 系统硬件设计

本系统基于FPGA+PowerPC架构设计,PowerPC是本系统的核心,FPGA完成图像数据流程中各个环节控制,ADV202完成图像压缩功能。系统具体电路由CPU控制电路、电压转换电路、存储器电路、中断控制电路、控制逻辑电路、时钟电路、复位电路、JTAG调试接口以及看门狗电路等组成,如图2所示。

图2 系统结构框图

2.1 主控CPU单元

本系统主控采用PowerPC处理器。PowerPC体系结构规范发布于 1993年,芯片由 IBM、Apple和Motorola公司开发成功,并制造出基于PowerPC的多处理器计算机。PowerPC体系结构是RISC体系结构的一个示例,它采用了超标量架构,从内存检索数据、在寄存器中进行操作,然后将其存储回内存,几乎没有指令(除了装入和存储)是直接操作内存的,可伸缩性好、方便灵活,非常适合用于机载系统。

本设计采用Freescale公司的MPC8245处理器。MPC8245是主频333 MHz的速度增强型集成主处理器。该处理器设计基于PowerPC架构,全功能的嵌入式PowerPC 603e内核将高性能32 bit处理器与浮点、存储器管理、分支预测单元、16 KB数据及16 KB指令缓存集成在一起,其他片上特性还包括高性能存储控制器、中断控制器、DMA控制器、I2C接口及16550兼容DUART,同时还为 PCI及存储器配备了内置时钟发生逻辑,因而无需使用外部时钟发生器,降低了系统的组成开销、简化了电路板的设计、降低了功耗并加快了开发调试时间。

2.2 时钟电路

系统主控CPU模块上时钟有14.745 6 MHz和33 MHz。33 MHz时钟输入到MPC8245上,MPC8245产生5路33 MHz同步时钟供PCI设备使用,同时MPC8245内部实现时钟锁相环电路,经MPC8245中的DLL产生4路同步时钟时钟供SDRAM使用,14.745 6 MHz时钟提供给串行接口芯片使用。

2.3 ADV202压缩单元

本系统压缩功能主要由ADV202完成。ADV202对外有2种总线接口:与处理器 (Host)进行交换数据的HDATA总线以及和视频设备交换数据的VDATA总线。在本应用中数据只经过VDATA输入进行压缩,然后被主机读走,为了简化逻辑,可以把VDATA设计成单向传输。图3为ADV202的电路设计。

图3 ADV202电路设计

ADV202是一个基于小波转换(Wavelet-based)的图像数据压缩/解压的集成芯片,符合JPEG2000(J2K)—ISO/IEC15444-1的压缩标准,其内部主要由像素接口、小波变换引擎、熵编解码器、嵌入式处理器、存储器系统和内部DMA引擎等组成,如图4所示。

本系统输入分辨率为4 008×5 344的静止图像,ADV202可以工作在 2种模式[1]:一种是通过 VDATA总线输入的Raw Pixel模式,一种是通过HDATA总线输入的HIPI模式。本系统选用通过VDATA总线输入的Raw Pixel模式。同时,对一幅图像数据的输入,ADV202也不是完全无限制的,它能处理的最大图片为1 MB,由于本系统输入的图像远远大于1 MB,因此必须对图像进行分块处理[3]。本系统采取的策略是将一幅分辨率为4 008×5 344的图像分成了44块分辨率为512×1 024的块图像,大小不足512×1 024的块图像通过补0进行扩展,此分块和补0操作通过软件对ADV202进行初始化时完成。在这种策略模式下,ADV202的编码压缩过程如下:待压缩图像经VDATA接口送入小波引擎,每个图块在小波引擎中进行最高达6级的5/3小波变换得到若干子带,然后通过内部存储器把得到的小波系数交给编码器编码,最终得到ADV202的JPEG2000压缩码流。压缩后的JPEG2000码流存入码FIFO中通过普通读写方式或DMA方式经主机接口输出,码FIFO起到一个内部高速总线和外部主机接口之间的缓冲作用。在整个过程中,内部总线及DMA引擎提供了存储器之间的高带宽传输及各功能模块和存储器之间的高性能传输[2]。

图4 ADV202结构框图

3 系统FPGA逻辑功能实现

系统FPGA的主要功能是完成图像数据流程中各个环节控制,同时为PowerPC和外界通信扩展异步、同步串口,提供存储器访问的基本周期控制等。

3.1 SDRAM控制器设计

SDRAM控制器的主要功能是对外接收处理CCD接口的写入数据,完成ADV202接口的读取请求;对内产生SDRAM控制时序,刷新、充电,正确完成外部读写请求。图5是SDRAM控制器的设计。

图5 SDRAM控制器

SDRAM是一个分时复用地址线,将片选、行选、列选、写使能等控制信号按一定组合形成命令的动态存储器。所有信号都在SDRAM同步时钟上升沿采集锁存。SysCLK是系统时钟为 33 MHz、CLK_SD是 SDRAM 时钟为133 MHz、CS表示SDRAM的片选,完成乒乓交叉缓存,RAS表示行地址选通,当RAS为低时,在时钟上升沿锁存行地址、CAS表示列地址选通,当CAS为低时,在时钟上升沿锁存列地址、WE表示写使能和行充电,在CAS、WE有效时开始锁存数据、SA[24:0]表示 SDRAM线性地址、SD[15:0]表示所读取 SDRAM数据。

3.2 ADV202接口控制器设计

FPGA和ADV202的接口同时包括了HDATA和VDATA。HDATA的最终控制权属于PowerPC,它通过PCI总线访问ADV202的HDATA,下载ADV202工作固件(Firmware),进行图像压缩模式的初始化。在 PowerPC访问ADV202时,FPGA必须提供PCI接口和 HDATA接口转换。在VDATA接口一边,FPGA一方面要从SDRAM中读出图像数据,另一方面将它写入VDATA总线。图6、图7分别是 ADV202主机 Host接口和视频接口设计。

图6 ADV202Host接口

图7 ADV202视频接口

采用 VHDL语言编写 FPGA程序[4],图8为 FPGA将待压缩数据写入ADV202的时序仿真。mclk是系统时钟,reset_n为系统复位信号(低电平有效),CPU向 FPGA发出的写指令为 dreq0_n,读指令为 dreq1_n(读写指令均为低电平有效)。dack1_n和dack0_n分别是FPGA发送给ADV202进行读、写控制的信号(低电平有效),压缩过程中每次顺序送入ADV202芯片16组待压缩数据,压缩结果先暂存在ADV202芯片内部16个直接寄存器里,等寄存器用完再由CPU发出读信号,将压缩过的数据依次读出,然后再进行下一轮压缩。Count用于记录使用中的寄存器个数。DMA_wr用于标记压缩进度。

4 系统主要软件设计

系统开始工作前,要确保加载了正确的固件,在FPGA主控程序中通过4个步骤来实现。(1)向外部中断使能寄存器中写人0X0400来屏蔽软件中断0位;(2)等待到中断引脚IRQ被拉低;(3)检查外部中断标记寄存器的EIRQFLG位是否被设置;(4)从软件标记寄存器中读应用标识,如果读到的是0XFF82,则说明固件加载正确,系统可以开始工作。

图8 FPGA将待压缩数据写入ADV202的时序仿真

ADV202的工作模式是在初始化固件中通过写寄存器的状态字设定的。根据系统功能要求,系统用一片ADV202进行无损压缩,WKERNEL/QUANT参数设为1,另外一片 ADV202进行有损压缩,WKERNEL/QUANT参数设为2。具体的初始化流程和寄存器状态字设定如图9。

经系统软硬件调试,系统的有损压缩速率达到了20 Mb/s,压缩后的图像数据经过RS-422接口发送到载机飞机数据总线上,经数据链传送到地面中心站,可以实时获取战场信息和目标变化数字影像信息;无损压缩的数据实时存储在IDE硬盘中,待回到地面后进行处理。基于FPGA+PowerPC的嵌入式高分辨率实时压缩系统,可工作于各种复杂的环境条件下,非常适合机载环境,在其他图像侦察和监控领域也有广泛应用。

图9 ADV202 Raw pixel模式流程

[1]ADV202-JPEG2000 Video Codec(Rev.B)[EB].Analog Devices.Inc,2006(1).

[2]ADV202 JPF02000 Video Processor User′s Guide(Revision3.4)[EB].Analog Devices.Inc.04,2006(10).

[3]Getting Started with the ADV202(Rev 2.5)[EB].Analog Devices,Inc.2006(9).

[4]孟庆海,张洲.VHDL基础及经典实例开发[M].西安:西安交通大学出版社,2008.

[5]潘松,黄继业.EDA技术与 VHDL[M].北京:清华大学出版社,2007.

猜你喜欢

存储器寄存器时钟
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
静态随机存储器在轨自检算法
古代的时钟
Lite寄存器模型的设计与实现
有趣的时钟
时钟会开“花”
存储器——安格尔(墨西哥)▲
基于Nand Flash的高速存储器结构设计
高速数模转换器AD9779/AD9788的应用