基于FPGA的图像预处理系统
发布时间:2008/5/27 0:00:00 访问次数:504
    
    
    来源:今日电子 作者:北京机械工业学院 韩娟娟 邓文怡 娄小平
    
    由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,对图像进行预处理就显得非常重要。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。
    
    通常根据预处理目的的不同,把预处理技术归为图像增强技术和图像分割技术两类。图像对比度处理是空间域图像增强的一种方法。由于图像灰度范围狭窄会使图像的对比度不理想,可用对比度增强技术来调整图像灰度值的动态范围。
    
    图像处理通常采用软件或者dsp(数字信号处理器)来实现。如果利用软件实现,运行时会耗费较多的pc资源,而且算法越复杂时耗费的资源就越多,对于需要高速处理的情况就不适用了;而如果采用dsp来实现,提高并行性的同时指令执行速度必然会提高,较高的指令速度可能导致系统设计复杂化,并增加功耗和成本。新一代的fpga集成了cpu或dsp内核,可以在一片fpga上进行软硬件协同设计,为实现sopc提供了强大的硬件支持。本文介绍的是利用fpga并行处理和计算能力,以altera fpga stratix ep1s40为系统控制的核心实现的sopc。
    
    系统硬件平台
    
    采用基于pci总线的fpga开发平台,结构如图1所示。板上主要硬件资源有:pci桥、fpga、sram和sdram等其他外设。
    
    
    
    图1 基于pci总线的fpga开发平台
    
    pci桥采用pci9656桥接芯片实现,用来连接pci总线与32位/50mhz的板级局部总线;fpga包括41 250个逻辑单元,14个dsp模块,112个嵌入式乘法器,4个增强型pll(锁相环)和4个快速型pll等逻辑资源;sdram用来存储图像数据。avalon总线模块完成整个片上可编程系统组件之间的互连。avalon总线是sopc设计中连接片上处理器和其他ip模块的一种简单总线协议,规定了主、从构件之间的端口连接以及通信时序关系,sopc builder来完成整个系统(包括avalon)模块的生成和集成。丰富的板级资源可以满足图像的高速预处理需求。
    
    系统工作原理
    
    设计采用dma方式快速传输图像数据,这样数据的传输和处理可以并行起来,使得系统的运行效率大为提高。pc与pci板卡之间建立软件环境,在该环境下利用dma通道把图像数据从主机通过pci总线、pci桥、板级局部总线和avalon总线传到sdram存储起来,然后送入算法逻辑模块进行处理,处理完成后再把图像数据存储到sdram中,最后再用dma通道把图像处理结果传送回主机。
    
    建立片上系统中的关键模块
    
    本文设计的图像对比度增强系统是建立在stratix ep1s40基础上的sopc。该设计在quartus ii 5.0中利用sopc builder将系统的工作频率设为50mhz,器件系列设为stratix,调用已经建立的ip模块和算法逻辑模块,并设置各个模块的时钟和基地址,配置生成片上系统。根据任务要求,sopc结构框图如图2所示。
    
    
    
    图2 sopc结构框图
    
    图2中,avalon总线接口分为主(master)和从(slave)两类,前者具有相接的avalon总线的控制权,后者是被动的。自定制的avalon从外设根据对avalon总线操作方式的不同分为两类:一类是avalon从(slave)外设,只是作为avalon总线的一个从元件来处理;另一类是avalon流模式从(streaming slave)外设,需要使用avalon总线的流传输模式,外设的设计更复杂。
    
    ● 板级局部总线与avalon总线桥之间的通信模块
    
    在板级局部总线与fpga内部avalon总线桥之间建立通信模块。由于sopc内部各模块之间的逻辑连接是由avalon总线完成的,所以可以从主机通过pci总线和板级局部总线访问sopc组件。该模块作为avalon总线的一个
    
    
    来源:今日电子 作者:北京机械工业学院 韩娟娟 邓文怡 娄小平
    
    由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,对图像进行预处理就显得非常重要。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。
    
    通常根据预处理目的的不同,把预处理技术归为图像增强技术和图像分割技术两类。图像对比度处理是空间域图像增强的一种方法。由于图像灰度范围狭窄会使图像的对比度不理想,可用对比度增强技术来调整图像灰度值的动态范围。
    
    图像处理通常采用软件或者dsp(数字信号处理器)来实现。如果利用软件实现,运行时会耗费较多的pc资源,而且算法越复杂时耗费的资源就越多,对于需要高速处理的情况就不适用了;而如果采用dsp来实现,提高并行性的同时指令执行速度必然会提高,较高的指令速度可能导致系统设计复杂化,并增加功耗和成本。新一代的fpga集成了cpu或dsp内核,可以在一片fpga上进行软硬件协同设计,为实现sopc提供了强大的硬件支持。本文介绍的是利用fpga并行处理和计算能力,以altera fpga stratix ep1s40为系统控制的核心实现的sopc。
    
    系统硬件平台
    
    采用基于pci总线的fpga开发平台,结构如图1所示。板上主要硬件资源有:pci桥、fpga、sram和sdram等其他外设。
    
    
    
    图1 基于pci总线的fpga开发平台
    
    pci桥采用pci9656桥接芯片实现,用来连接pci总线与32位/50mhz的板级局部总线;fpga包括41 250个逻辑单元,14个dsp模块,112个嵌入式乘法器,4个增强型pll(锁相环)和4个快速型pll等逻辑资源;sdram用来存储图像数据。avalon总线模块完成整个片上可编程系统组件之间的互连。avalon总线是sopc设计中连接片上处理器和其他ip模块的一种简单总线协议,规定了主、从构件之间的端口连接以及通信时序关系,sopc builder来完成整个系统(包括avalon)模块的生成和集成。丰富的板级资源可以满足图像的高速预处理需求。
    
    系统工作原理
    
    设计采用dma方式快速传输图像数据,这样数据的传输和处理可以并行起来,使得系统的运行效率大为提高。pc与pci板卡之间建立软件环境,在该环境下利用dma通道把图像数据从主机通过pci总线、pci桥、板级局部总线和avalon总线传到sdram存储起来,然后送入算法逻辑模块进行处理,处理完成后再把图像数据存储到sdram中,最后再用dma通道把图像处理结果传送回主机。
    
    建立片上系统中的关键模块
    
    本文设计的图像对比度增强系统是建立在stratix ep1s40基础上的sopc。该设计在quartus ii 5.0中利用sopc builder将系统的工作频率设为50mhz,器件系列设为stratix,调用已经建立的ip模块和算法逻辑模块,并设置各个模块的时钟和基地址,配置生成片上系统。根据任务要求,sopc结构框图如图2所示。
    
    
    
    图2 sopc结构框图
    
    图2中,avalon总线接口分为主(master)和从(slave)两类,前者具有相接的avalon总线的控制权,后者是被动的。自定制的avalon从外设根据对avalon总线操作方式的不同分为两类:一类是avalon从(slave)外设,只是作为avalon总线的一个从元件来处理;另一类是avalon流模式从(streaming slave)外设,需要使用avalon总线的流传输模式,外设的设计更复杂。
    
    ● 板级局部总线与avalon总线桥之间的通信模块
    
    在板级局部总线与fpga内部avalon总线桥之间建立通信模块。由于sopc内部各模块之间的逻辑连接是由avalon总线完成的,所以可以从主机通过pci总线和板级局部总线访问sopc组件。该模块作为avalon总线的一个
上一篇:多状态机的协同设计