预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于NiosII的数字图像处理 —《数字图象处理》课程论文 院系 班级 姓名 学号 2010.10.20 基于NiosII的数字图像采集及处理 摘要: 本文是以NiosII软核CPU为核心处理器,在FPGA中构建SOPC,实现原来主要由DSP完成图像处理和图像显示控制,简化了硬件电路和软件程序的设计。系统采用软核CPU、DSP软模块、FPGA以及数字视频技术。从数字摄像头输入视频信号,据经视频解码芯片输出送至FPGA中,通过时序控制和NiosIIII软核把视频解码数据依序存储在SSRAM中,并进行裁剪、交织、颜色处理。最后,在VGA显示器上显示图像。 关键词: 图像采集;FPGA;NiosIII软核;SOPC_Builder;AlteraDE0;采集控制;图像处理;VGA控制器;DSP;中值滤波;FIR滤波 一、NiosII系统概念NiosII嵌入式处理器是Altera推出的软核(SoftCore)CPU,是一种面向用户,可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU,采用RISC精简指令系统,流水线处理技术,用户可自定义Avalon总线外设构成SoC系统,支持32bit存储宽度,支持DDR2、SSRAM存储器。 NiosII是一种可配置片内外设的软核CPU,硬件上相当于集成于FPGA中的一个IP核,SOPC是对其开发的软件环境,可以用C语言编程,而FPGA其他资源可以通过编程(VHDL/VerilogHDL)实现其外围电路。SOPC_Builder是Altera公司专门为硬件设计人员开发的一套系统设计工具,通过它可以创建NiosIICPU设计项目,从而为设计人员提供SOPC设计必需的软硬件设计平台,利用SOPC_Builder创建NiosII系统。当用户使用SOPC_Builder创建一个新的NiosII系统时,SOPC_Builder会为该系统自动生成一个后缀为PTF的文件,所有的系统设计信息都存储在该PTF文件中。当使用SOPC_Builder重新打开一个已有的系统时,SOPC_Builder会从并且只会从该PTF文件中读取系统具体设计信息。SOPC_Builder可以帮助设计者从IP库中寻找合适的IP并很快地集成一个系统,它采用图形用户界面(GUI)显示和组织IP模块,能够自动生成IP模块互连逻辑,并生成用于综合和模拟的文件,使设计者不需要考虑IP模块间的内部联系,可以轻松地完成整个系统设计。 二、系统结构 AlteraDE0多媒体开发平台是一套轻薄型的开发板,同时实现了低功耗、低成本和高性能,板上集成了AlteraCycloneIII系列中的EP3C16FPGA,可提供15408Les(逻辑单元)以及346I/O,內建56个M9K记忆体模块,56个乘法器,504KRAMbits,4个锁相环,可以支持复杂的数据处理算法。 在DE0开发板上的EP3C16的FPGA中应用NiosII嵌入式处理器作为系统的图像处理和时序控制核心处理器,使用高性价比的FPGA芯片有其独特优势: 首先,NiosII软核嵌入式开发,可在多种系统设置组合中进行选择,满足成本和功能要求,可延长产品生命周期,防止出现处理器逐渐过时的情况。具有灵活性、高性能、低成本、生命周期长等特点。NiosII支持MicroC/OS-II、uClinux等多种实时操作系统,支持轻量级TCP/IP协议栈,NiosII处理器允许用户增加自定义指令和自定义硬件加速单元,无缝移植自定义外设和接口逻辑,极大地缩短了系统的开发周期。 再次,与单片机和DSP相比,FPGA在多路数字图像数据并行采集方面具有明显优势。单片机受指令周期以及处理速度的影响,难以对多个通道、A/D组成的传感器阵列进行控制,且其总线宽度有限,对于多路数据采集来说,存在数据带宽不足的瓶颈。若采用多个单片机并行的方式,则又造成了系统复杂、功耗高、体积大等致命缺点。DSP虽然可以实现较高速的数据采集,但在其速度提高的同时,也增加了系统的硬件成本,特别是DSP的各种功能需要靠软件的运行来实现,其时间消耗在整个采样时间中所占比例偏大,因此其实际执行的速度和效率不高。FPGA能有效克服单片机和DSP的上述缺点,它的全部控制逻辑均由硬件完成,具有时钟频率高、内部延时小、编程配置灵活的特点,可以集采样控制、处理、缓存、传输控制和通信于一个芯片内,有利于系统的功能性和便携性设计。 系统处理的图像是彩色图像,它是通过CMOS摄像头采集的8位差分信号的彩色图像,经过FPGA的处理后,再经过VGA控制器模块转换形成图像显示。所以,在FPGA运算过程中可以使用8位数据,其灰度级为0到255之间。图像视场大小为:640×480,即每行有480个像素,共有640行,视场内共有307200个像素数