文档库 最新最全的文档下载
当前位置:文档库 › 实时图像采集系统存储控制器的 FPGA 实现

实时图像采集系统存储控制器的 FPGA 实现

实时图像采集系统存储控制器的 FPGA 实现
实时图像采集系统存储控制器的 FPGA 实现

实时图像采集系统存储控制器的FPGA实现

赵宝1,2,史健芳1,鲍吉龙2,郑德春2,闫晓强3

1太原理工大学信息工程学院,太原(030024)

2宁波工程学院电子与信息工程学院,浙江 宁波(315016)

3宁波大学信息学院,浙江 宁波(315211)

E-mail: zhaobaoxxgcxy@https://www.wendangku.net/doc/479697858.html,

摘要:多端口控制器实现了对SDRAM存储器资源的共享,适用于实时性要求较高的场合。本文在研究了SDRAM工作原理的基础上,提出了适用于实时图像采集系统的基于FPGA 的多端口SDRAM控制器的设计方案。从整体设计构想到各子模块实现都进行了详细的描述。由于FPGA具有快速、灵活、可移植性好等特点,因此本控制器通用性好,适用范围广。关键词:现场可编程门阵列;多端口;实时;图像采集系统

中图分类号:TN919.82

1引言

数字电路领域中的信息传递主要通过锁存器、专用的通信接口以及存储器件的共享来实现。锁存器主要应用于数据量较小的系统、速度快、不占用处理器时间。但是当数据量大时,将增加锁存器的数目,增加译码的数量;采用专用的通信接口(USB、并口、串口)速度可快可慢,数据量也可大可小。但占用处理器时间较长,实时性较差。采用多口SDRAM控制器来实现存储资源的共享能同时满足数据量和实时性的要求。目前,图像采集在众多领域应用越来越广泛,比如光纤光栅传感解调领域、激光打印领域以及数码相机领域。而图像采集系统往往数据量大,实时性要求高,因此选择一个合适的存储器并为之开发相应的控制模块成为了必须。设计控制模块需要考虑可靠性、集成度以及可移植性能因素。以FPGA为代表的可编程逻辑器件是数字电路设计中最有活力、最有潜力的一项技术。FPGA以其灵活的现场可编程性、较高的集成度、较快的速度成为了设计数字系统最理想的选择。本文提出了一种基于FPGA的多口SDRAM控制器,并用Verilog给予实现,实验证明它可以很好地应用于实时图像采集系统[1]。

2 图像采集系统介绍

实时图像采集系统如图1所示。其工作原理是FPGA控制图像传感器OV9630并接收它的图像数据信号和行频、场频、像素时钟三个控制信号。由FPGA完成对图像信号的平滑、滤波过程,然后把图像转换为30位RGB格式存入SDRAM,同时将图像数据从SDRAM输出到显示屏。需要指出的是FPGA对OV9630的控制是通过I2C总线来完成的,实现OV9630的初始化以及窗口和数据输出格式的设置等。显示器输出我们采用640×480 60Hz的显示模式。多口SDRAM控制器是整个系统设计的关键,它将一个SDRAM数据端口仿真成四个虚拟的数据端口(读写端口各两个),这使30位GRB图像数据写入到16位数据宽度的SDRAM成为了可能,并且在同一时间,配合下一级处理的需求,送出之前存入的RGB数据,形成一个完整的帧缓冲器。

图1 实时图像采集系统

Fig.1 real time image acquisition system

SDRAM是一种同步高速动态随机存储器,它具有单位空间存储量大、读写速度快、并能支持突发读写和价格相对便宜的特点[2]。对SDRAM的操作主要通过RASN、CASN、WEN 信号一起来控制的,当片选CSN为高时,它只能处于命令禁止状态,此时SDRAM无动作。具体的总线命令如表1所示。

表1 SDRAM总线命令

Tab.1 the bus command of SDRAM

命令命令缩写RASN CASN WEN

空操作NOP H H H

激活操作ACT L H H

读操作RD H L H

写操作WR H L L

突发操作停止BT H H L

预充电PCH L H L

自动刷新ARF L L H

配置模式寄存器LMR L L L

本设计采用1M×16Bits×4Banks的IS42S16400芯片,它采用3.3V供电,输入输出引脚与LVTTL兼容。存储总容量为64MBIT,内部分为4个8M的页,每个页分成4096行,每行256列,每列有16位数据。地址线A11-A0在在RASN同步下送入行地址,地址线A7-A0在CASN同步下送入列地址,由BA0和BA1来选择四个分页之一。

在具体操作SDRAM时,首先必须进行初始化配置,即配置模式寄存器,以确定SDRAM 的CASN的延时节拍数、突发类型以及突发长度等工作模式;再通过激活操作激活对应的地址组,同时输入行地址;然后通过读或写命令输入列地址,将相应地址中的数据读出或者写入;最后需要终止读或写操作。在没有操作时要对存储单元进行自动刷新操作,以防止数据丢失[3]。

3 多口SDRAM控制器的设计实现

3.1多口SDRAM控制器总体框架

使用Verilog HDL编写大规模集成电路模块并不是一步到位的,而是分模块进行的。采用模块化的方法可读性好,调试方便,有利于设计的重复使用。图2给出了多口SDRAM控

制器的总体框图以及它的外部接口。控制器右侧的接口均为与SDRAM引脚直接相连的信号。而左侧的接口是FPGA内部提供的控制信号。CLK_50为FPGA的系统时钟信号;RESET_N为系统复位信号;R、G、B为组成一副图像所需要的三种基本颜色分量的数据信号;PIXCLK为图像传感器输出的像素时钟;DVAL为输入图像数据有效信号;DLY_RESET 为延时复位信号;VGA_OUT为输出到显示器的数据信号;VALID为输出图像数据有效信号;VGA_CLK为符合显示器输出标准的时钟信号;ADDR为每次读写的起始地址;MADDR 为每次读写的结束地址;LENGTH为FIFO容量的一半。

多口SDRAM控制器包括FIFO模块、锁相环模块、地址解析模块、自动读写控制模块、控制接口模块、命令模块以及数据通道模块共7个模块[4]。先进先出堆栈FIFO是数字电路系统中经常使用的存储器单元,在数字电路系统中常常作为一种数据缓冲器。在本设计中写FIFO可以用来匹配像素时钟和SDRAM的时钟,而读FIFO则用来匹配SDRAM时钟和VGA 时钟。锁相环模块相当于一个倍频器,把50MHz的FPGA系统时钟倍频成100MHz的SDRAM控制时钟。地址解析模块用于存储地址的分配和管理。自动读写模块采用状态机实现完整的SDRAM读写过程。控制接口模块用于接受系统的控制信号,从而产生不同的命令组合。命令模块接收来自控制接口模块的命令和地址,并生成相应的指令传送给SDRAM。数据通道模块用于控制数据的有效输入输出。在进行各子模块设计前需要把地址空间参数、CASN延时节拍数、突发长度、刷新周期等参数设置好。

图2 多口SDRAM控制器总体框图

Fig.2 the structure of multi-pot SDRAM controller

3.2 FIFO模块和锁相环模块

Altera公司的Megafunction是重要的设计输入资源。由于Megafunction是基于Altera 底层硬件结构最合理的成熟应用模块的表现,所以在代码中应尽量使用Megafunction这类IP资源,不但能将设计者从繁琐的代码编写中解脱出来。更重要的是在大多数情况下

Megafunction的综合和实现结果比用户编写的代码更优。在Megafunction已经集成了FIFO 模块和锁相环模块,因此我们只需要把参数设置好就可以了。在ALTPLL中把输入时钟设置为50MHz,倍频系数设置为2,分频系数设置为1。在FIFO中把FIFO位宽设置为16,把深度设置为512,读的一侧输出empty和usedw[]信号,写的一侧输出full和usedw[]信号。本设计中需要4个FIFO,2个用于接收图像数据,2个用于把图像输出到显示器上。由于图像采用RGB格式,因为一个像素点有30位数据,而SDRAM的位宽只有16,所以在输入和输出侧分别使用了2个FIFO。empty、full、usedw[]用来控制当写FIFO半满时,将图像数据写入到SDRAM,当读FIFO半满时,将图像从SDRAM读出并送入显示器。

3.3地址解析模块

地址解析模块根据需要将红色分量和绿色分量高5位写入到起始地址为WR1_ADDR的位置,一直写到WR1_MDDR,将蓝色分量和绿色分量低5位写入到起始地址为WR2_ADDR 的位置,一直写到WR2_MDDR。同时根据FIFO提供的写完成信号对地址进行修改,即在上一次地址基础上加上一个LENGTH,LENGTH为FIFO容量的一半。直到一副图像存储结束,地址返回到起始地址[4]。同理,将红色分量和绿色分量低5位从起始地址RD1_ADDR 读取,一直读到RD1_MADDR。将蓝色分量和绿色分量高5位从起始地址RD2_ADDR读取,一直读到RD2_MADDR。同时根据FIFO提供的读完成信号对地址进行修改。当一副图像读取结束,地址返回到起始地址。注意SDRAM存储蓝色分量和绿色分量低5位的区域和存储红色分量和绿色分量高5位的区域必须不重叠,否则图像数据就会出错。

3.4自动读写控制模块

本模块通过FIFO输出的empty、full、usedw[]信号来判断是否进行读或写操作。读或写操作实质就是一个Mealy状态机,其状态图如图3所示。

图3 SDRAM状态图

Fig.3 The state of SDRAM

其中虚线以上部分在控制接口模块完成,虚线以下部分由本模块完成。由于本模块所需完成的任务和实现的功能可以完整清晰的排列和归类,因此我们首选状态机来实现该模块。

3.5控制接口模块

本模块主要完成系统的初始化以及对指令的解析。系统的初始化过程同时完成对SDRAM和控制器的初始化。首先完成对SDRAM的各个分页进行预充,然后完成对SDRAM 的工作模式设置。最后给控制器载入模式字和刷新计数值,完成对控制器的初始化。指令解析接收系统的读写信号和地址信息以及CMDACK信号,对应产生CMD和SADDR信号给命令模块[3]。每当收到CMDACK信号为1时,表明CMD信号已发出并且有效。需要指出的是SADDR是分时复用的,在初始化载入模式时,SADDR用于传输用户自定义的模式字内容;而在正常读写期间,SADDR作为地址传输所需的行、列、块地址。详细的CMD指令说明如表2所示。

表2 CMD指令说明

Tab.2 the demonstration of CMD instructions

指令CMD说明

NOP000空操作

READA001带PRECHARGE的读

WRITEA010带PRECHARGE的写

REFRESH011刷新

PRECHARGE100预充

LOAD_MODE101SDRAM模式字载入

LOAD_REG1110控制模式字载入

LOAD_REG2111刷新计数器值载入

3.6命令模块

命令模块主要完成对指令的判断,生成相应的指令操作信号,然后根据给出的指令操作信号做出符合SDRAM读写规范的操作,来进行用户期望的操作。在程序中CMD指令READA和WRITEA隐含了激活指令。所以命令模块在收到读或者写指令操作信号后,会先进行激活操作,经过初始化配置规定的CASN延迟时间之后再进行读写操作。

3.7数据通道模块

数据通道模块在READA和WRITEA指令期间处理数据的路径操作。数据信号有DQ 和DQM两路。数据的输入输出方向由命令模块产生的OE信号来控制。

4系统测试

使用Quartus II 6.0软件对Verilog语言编写的多口SDRAM控制模块进行编译,编译顺利通过。产生了0个error和144个warnings。本模块占用了FPGA1215个逻辑单元,737个寄存器和32768bits的内存,使用了一个PLL。将此模块加入到整个图像采集系统中,使用Tektronix公司 TLA5201逻辑分析仪观察SDRCLK、RASN、CASN和WEN信号的波形,截取的部分波形如图4所示。

图4 波形图

Fig.4 waveform

对SDRAM的读写都是在SDRCLK上升沿完成的。从图中可以看出SDRAM在读写之前都有一个激活过程,此时RASN=0,CASN=1,WEN=1。CASN信号的延时节拍为3,读过程时RASN=1,CASN=0,WEN=1,写过程时RASN=1,CASN=0,WEN=0。图中读写是交替进行的,这正体现了实时性的特点。

5结论

把FIFO应用于SDRAM控制器不仅充当了缓冲器的作用,而且可以将一个SDRAM数据端口仿真成多个虚拟的数据端口,实现了实时的读写控制。由于FPGA具有高速、高集成度、灵活、开发周期短的特点,因此本设计通用性好。对于不同的SDRAM器件可以修改SDRAM的参数。对于不同的应用环境可以修改FIFO的个数以及FIFO的参数。本设计在我们的项目中得到了很好的应用。

参考文献

[1] Chih D C, Chih W W, Chiun C L, et al. A Low Latency Memory Controller for Video Coding Systems[C]. Proceeding of International Conference on Multimedia and Expo. New York: IEEE Press, 2007:1211.

[2] STASZEWSKI R B, MUHAMMAD K, LEIPOLD D, et al. All digital TX Frequency Synthesizer and Discrete2time Receiver for Bluetooth Radio in 1302nm CMOS[J]. IEEE Journal of Solid-State Circuits, 2004, 39(12): 227822291.

[3] 王力纬,曹阳,朱晓虎,李晓辉.多端口存储器控制器IP核的设计与实现[J].武汉大学学报.2007年10月

[4] 朱鹏飞,赵雅兴.视频图像捕获系统SRAM控制器的FPGA实现[J].半导体技术.2002年6月

FPGA realization of multi-port memory controller in real

time image acquisition system

Zhao Bao1,2 , Shi Jianfang1, Bao Jilong2, Zheng Dechun2,Yan Xiaoqiang3

1 Department of Circuit and System engineering, Taiyuan University of Technology, Taiyuan

(030024)

2 Ningbo University of Technology,College of Electronic and Information Engineering ,Zhejiang

Ningbo (315016)

3 Ningbo University, College of Information Science and Engineering ,Zhejiang Ningbo (315211)

Abstract

Multi-port controller means the share of the memory source, which is mostly applied on occasions for need real time process. This paper firstly introduces the principle of the SDRAM, then a multi-port SDRAM controller based on FPGA is presented, which is apt to the real time image acquisition system. The details from overall concept to sub-modules are focused. This controller has wide scope of application because of FPGA’s features of fast, flexible and strong characteristics of transplantation. Keywords: FPGA; Multi-Port; Real Time; Image Acquisition System

作者简介:

赵宝(1985-),男,在读硕士,主要研究方向是FPGA应用及图像处理。

鲍吉龙(1965-),男,宁波工程学院教授,硕士生导师,从事光纤传感技术及数字信号处理技术的研究工作。

史健芳(1966-),女,太原理工大学信息工程学院教授,主要研究方向为神经网络,目标跟踪,智能信息处理及智能检测。

基于FPGA的快速图像处理系统的设计毕业设计论文

基于FPGA的快速图像处理系统的设计 摘要 我们评估、改进硬件、软件架构的性能,目的是为了适应各种不同的图像处理任务。这个系统架构采用基于现场可编程门阵列(FPGA)和主机电脑。PC端安装Lab VIEW应用程序,用于控制图像采集和工业相机的视频捕获。通过USB2.0传输协议执行传输。FPGA控制器是基于ALTERA的Cyclone II 芯片,其作用是作为一个系统级可编程芯片(SOPC)嵌入NIOSII内核。该SOPC集成了CPU,片内、外部内存,传输信道,和图像数据处理系统。采用标准的传输协议和通过软硬件逻辑来调整各种帧的大小。与其他解决方案作比较,对其一系列的应用进行讨论。 关键词:软件/硬件联合设计;图像处理;FPGA;嵌入式

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

基于FPGA图像压缩和解码

基于FPGA的图像压缩传输与解码 硬件设计部分 一、硬件完成的功能定义 1.使用FPGA普通端口作为GPIO使用。 2.使用FPGA开发板的50MHZ时钟分频后25MHZ作为VGA输出时钟。 3.时钟频率25MHZ完成行扫描信号计数。 4.时钟频率25MHZ完成祯扫描信号计数,并完成祯计数。 5.在行,场信号有效范围内进行VGA数据输出。 二、顶层模块划分 1.顶层的输入输出定义

2.顶层模块输入、输出之间的时序关系: vag输入时钟50mhz,分频产生25mhz,作为vga输出时钟,PLL倍频,200mhz作为cpu时钟,UART接收来自串口数据。软件读取数据,处理 后,输出数据。 软件设计部分 一、软件功能定义1 获取发送数据, 二:软件设计的总体设计及结构图

三:软件详细设计 1:用matlab取图像的reb值,将取出的rgb值写入文件。 2:读取rbg值,将十六进制数表示的rgb值转化为以该asc||值对应的字符(减少信息传输量),将转化后的的字 符写入文件中。 3:对转化后的文件数据进行压缩,发送目标文件格式为,文件头信息,发送文件的起始信息,用来判定开始发 送数据,用三个字节,信息数据为GCL,一个字节表示 最后一个字节的有效位,最后一个字节有效位为0bit- 8bit之间,一个字节表示文件中rgb的种类,0-255,四字节,表示整个压缩文件的大小,其后数据格式为, 字符及字符对应的出现次数,即字符频度信息,字符 频度之后对应的是压缩信息。

4:具体软件的实现: 1.Matlab取图片rgb值,写入rgb.txt文件中,处理得到 对应字符文件,读取文件统计rgb值得种类及每种rgb 值出现的次数。 2.根据统计rgb值得种类及次数,生成huffman树。 3.由生成的huffman树,递归生成huffmancode。 4.根据reb.txt文件内容和huffmancode生成压缩信。 四、软件功能测试 1:手工构造最简单的huffman树,huffmancode,compress code。 2:显示软件统计字符及频度与最小模型是否一样。 3:显示软件生成的huffmantab与最小模型huffmantab是否一样。 4:显示软件递归生成的huffmantab code与最小模型huffmantab code是否一样。 5显示软件递归生成compresse code与最小模型compress code 是否一样。 一:软件功能定义2 UART串口发射接收。该模块主要用于数据发送与接收,UART_RXD作为接收端,UART_TXD作为发射端, 二:软件设计的总体设计及结构图 三:软件详细设计 1:初始化UART,将UART设置为单字节触发模, UART->STATUS.BITS.RRDY = 0; UART->SIATUS.BITS.TRDY =0 ; UART->DIVISOR.WORD=(unsigned int)(ALT_CPU_FREQ/baudrate+0.5);

基于FPGA的图像预处理系统

基于FPGA的图像预处理系统 由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,对图像进行预处理就显得非常重要。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。 通常根据预处理目的的不同,把预处理技术归为图像增强技术和图像分割技术两类。图像对比度处理是空间域图像增强的一种方法。由于图像灰度范围狭窄会使图像的对比度不理想,可用对比度增强技术来调整图像灰度值的动态范围。 图像处理通常采用软件或者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通道把图像处理结果传送回主机。 建立片上系统中的关键模块

基于FPGA的数字图像处理

龙源期刊网 https://www.wendangku.net/doc/479697858.html, 基于FPGA的数字图像处理 作者:李科唐波张玉 来源:《科技资讯》2012年第02期 摘要:随着数字多媒体技术的不断发展,数字图像处理技术被广泛应用于航空航天、通信、医学及工业生产等领域中。图像处理系统一般包括两个部分:图像采集部分和图像处理部分。图像采集部分由专用的视频处理器,图像缓存和控制接口电路组成。图像处理部分可以是计算机,也可以是专用图像处理器件,或者是两者的结合。由于底层图像处理的数据量很大,要求处理速度快,但运算结果相对比较简单,以(FPGA作为主要处理芯片的图像处理系统非常适合于对图像进行处理。 关键词:FPGA数字图像数据处理 中图分类号:TP2文献标识码:A文章编号:1672-3791(2012)01(b)-0032-01 数字图像处理的特点是处理的数据量大,处理非常耗时,本文研究了在FPGA上用硬件描述语言实现图像处理算法,通过功能模块的硬件化,解决了视频图像处理的速度问题。随着微电子技术的高速发展,FPGA为数字图像信号处理在算法、系统结构上带来了新的方法和思路。 图像处理系统的发展大致分为三个阶段。 第一阶段大体上是20世纪60年代末到20世纪80年代中期,当时的代表产品是美国和英国的一些公司推出的各种图像计算机以及图像分析系统。 第二阶段是从20世纪80年代中期到20世纪90年代初期,该阶段的特点是小型化,外部结构不再是机箱式而是插卡式。 第三阶段是从20世纪90年代初开始,这阶段的产品出现两大类,一种仍是采用插卡式,随着PCI,总线技术的成熟,采用PCI,总线的产品逐步取代采用ISA总线接口的产品。 随着近些年来多媒体技术的发展,人们对视频信息的需求愈来愈强烈,图像采集与处理显得越来越重要。依托计算机技术、通信技术和网络条件的发展以及数字信号处理的快速发展,图像处理系统出现以下发展趋势。 (1)随着硬件的发展,图像处理系统的性能会越来越高,价格会逐步降低。 (2)图像处理系统的功能都会集成在一个便于携带使用方便的电子设备上,不需要PC和各种辅助设备。

基于FPGA的图像处理现状分析

基于FPGA的图像处理现状分析 摘要:本文首先介绍了现场可编程门阵列(FPGA)的基本特点和设计流程。针对图像处理中处理速度的瓶颈问题,本文回顾了基于FPGA的图像处理算法,包括图像的采集和压缩存储、预处理、图像检测、视频图像的实时处理和显示等。这些实现算法,在提高图像的处理速度上都有明显的效果,在图像的实时处理方面具有现实的意义。 关键字:FPGA,图像处理,实时,硬件设计. 1引言 随着数字多媒体技术的不断发展,数字图像处理技术被广泛应用于航空航天、通信、医学及工业生产等领域中,新开发的产品在图像存储容量、图像质量、图像处理速度等方面有了新的要求。数字图像处理,一般是通过对像素的一些运算提高图像质量,在图像处理过程中,虽然处理算法简单,但参与运算的数据量大,数据需多次重复使用,因此,图像处理往往是图像处理系统中最为耗时的环节,对整个系统速度影响较大。在当前图像处理算法研究已经很成熟的背景下,提高图像处理的时效性有很大的应用前景。随着微电子技术的高速发展,FPGA 为数字图像信号处理在算法、系统结构上带来了新的方法和思路。由于图像中的所有元素均可施以同样的操作,存在固有的并行性,非常适合于映射到FPGA架构中由硬件算法实现,使得图像的处理速度大大加快。对于数字图像处理,底层图像处理的数据量很大,要求处理速度快,但运算结果相对比较简单,以FPGA作为主要处理芯片的图像处理系统非常适合于对图像进行处理。 2现场可编程门阵列(FPGA)概述 FPGA(Field Programmable Gate Array)是一类高集成度的可编程逻辑器件,起源于美国的XILINX公司,该公司于1985年推出了世界上第一块FPGA芯片。FPGA技术结合了微电子技术、电路技术、EDA技术,使设计者可以集中精力进行所需逻辑功能的设计。与专用集成电路ASCI(Application Specific Integrated Circuit)相比,FPGA具有灵活性高、设计周期短、成本低、风险小等优势,因而得到了广泛应用。 随着工艺的发展和市场需求的扩大,超大规模、高速、低功耗的新型FPGA不断推陈出新。新一代的FPGA甚至集成了中央处理器(CPU)或数字处理器(DSP)内核[1],在一片FPGA开发板上进行软硬件协同设计,为实现片上可编程系统提供了强大的硬件支持。 目前,FPGA的主要发展动向是实现片上可编程系统,芯片朝着高密度、低电压、低功耗方向发展,实现在速度和集成方面的进一步提高。迄今为止,FPGA的品种繁多,主要有XILINX公司的Spartan、vertex、Atrix-7、Kintex-7系列,以及ALTERA公司的FIEX系列等。根据FPGA基本结构的不同,可以将其分为基于乘积项技术的FPGA和基于查找表技术的FPGA 两种。 FPGA主要有6个部分组成:可编程输入/输出单元、基本可编程逻辑单元、完整的时钟管理、内嵌SRAM、丰富的布线单元、底层嵌入功能单元和内嵌专用单硬件模块等。基于FPGA

基于FPGA的图像差分处理

基于FPGA的图像差分处理 1背景知识 差分图像在许多领域得到了广泛的应用,比如:视频压缩,生物医学诊断,天文学,遥感,人脸识别等。 2 matlab仿真MATLAB源码:Main.mI = imread(flower.bmp); figure, imshow(I);I_gray = rgb2gray(I);figure,imshow(I_gray);Id = mipcentraldiff(I_gray,dx); figure, imshow(Id);Mipcentraldiff.mfunction dimg = mipcentraldiff(img,direction)% MIPCENTRALDIFF Finite difference calculations %% DIMG = MIPCENTRALDIFF(IMG,DIRECTION)%% Calculates the central-difference for?a given direction% IMG : input image% DIRECTION : dx?or dy% DIMG : resultant image%% See also MIPFORWARDDIFF MIPBACKWARDDIFF MIPSECONDDERIV% MIPSECONDPARTIALDERIV% Omer Demirkaya, Musa Asyali, Prasana Shaoo, ... % Medical Image Processing Toolboximg = padarray(img,[1 1],symmetric,both);[row,col] = size(img);dimg = zeros(row,col);switch(direction)casedx,dimg(:,2:col-1) = (img(:,3:col)-img(:,1:col-2))/2;casedy,dimg(2:row-1,:) = (img(3:row,:)-img(1:row-2,:))/2;otherwise,disp(Direction is unknown);enddimg = dimg(2:end-1,2:end-1);仿真结果: 图1 RGB原图 图2 gray 图3 central_diff 3 FPGA设计 图4 基于串口传图的中心差分 如图4所示,我们将RGB565格式转化为Ycbcr格式,Y通道进入中心差分模块,完成中心差分算法。

基于FPGA的高速图像处理系统的设计

基于FPGA的高速图像处理系统的设计 摘要: 在本文中,设计了一个高速图像处理系统,是为了解决这样的问题,如出现在车载计算机图像处理中的低系统集成,低速的处理过程。通过配置Nios II软核CPU和一些基于主要硬件FPGA的图像预处理,处理和显示的功能模块和设计的系统软件,使得该系统实现了图像的采集,记忆和重叠功能。由于采用可编程芯片和并行处理技术,该系统集成度高,好维修,图像处理速度快、实时性强。 关键词:图像处理,FPGA,Nios II CPU。 I.介绍 近年来,车载计算机中存在的主要问题集中在两个方面。首先,在使用低功率损耗的PowerPC CPU的状态下,对于图像的采集和显示,一个集成板是必需的。其次,随着视频图像和红外热像仪的广泛使用,还有电子一体化的发展,应该设计出一个高速的图像处理系统。 为了解决这两个主要的问题,作者设计了一个基于FPGA的高速图像处理系统用来识别重叠的多通道图像信息。功能模块,比如图像采集,处理和显示,都可以在一个单一的FPGA芯片上实现,它减少了外围电路,提高整个系统的性能。因为并行处理技术,处理速度和实时性都大大的提高。

II.图像处理算法分析 A.基于双线性插值的图像放大 基于像素的放大倍率的方法原理简单、快速,但它只是复制原始像素的邻域。随着放大系数增大,图像会出现明显的块锯齿,不能保留原始图像的边缘信息。这个问题是可以通过双线性插值来解决。双线性插值可以消除锯齿,保留原始图像的边缘信息和获得更好的视觉效果。 图1.原始图像(略) 图2.放大图像(略) 图1是原始图像,其中f ij,f i,j+1,f i+1,j,f i+1,j+1是相邻的像素块。图2是在水平方向上放大K倍,在垂直方向放大L倍的图像。f ij,f i,j+1,f i+1,j,f i+1,j+1在放大图像中只改变位置但像素值保持不变。因此,我们可以得到以下方程:

基于FPGA的VGA图像显示

基于FPGA的VGA图像显示 1、VGA显示原理 VGA标准是一种计算机显示标准,最初是由IBM公司在1987 年提出的,分辨率是640*480。VGA 接口也叫做D_Sub 接口,是显卡上输出模拟信号的接口。目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的D/A 转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。 常见的彩色显示器一般由阴极射线管(CRT) 构成,彩色由GRB(Green Red Blue) 基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生 GRB 基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。 要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。VGA的标准参考显示时序如图1所示。行时序和帧时序都需要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。 2、方案设计 由VGA的显示原理可知,该任务的关键是VGA时序控制部分和汉字图形显示部分: (1)VGA时序控制部分,采用FPGA本地50MHz时钟,根据所需时序要求,经Verilog 语言编写的计数模块分频而得到,该部分十分重要,如果产生的时序有偏差,那么就会使汉字图形无法显示或显示结果混乱;

基于FPGA的数字CMOS摄像机图像采集

基于FPGA的数字CMOS摄像机图像采集 一、数据采集系统概述 数据采集是指将以各种形式输入的被测信号,包括语音信号、温度信号、湿度信号、图像信号等经过适当处理,成为计算机可以识别的数字信号,从而送入计算机进行存储处理的过程,数据采集卡就是典型的基于数据采集系统原理的集成计算机扩展卡。如图1所示,在数据采集过程中主要有几个关键部分:(1)输入信号的幅度较小或者过大,需要经过放大器单元将输入信号幅度放大或者缩小;(2)输入信号带有较大的噪声,需要经过一个硬件的模拟滤波单元,将信号滤波整形;(3)将信号送到AD进行模数转换;(4)将信号传输到计算机;(5)存储记录和处理数据。 图1数据采集过程 通常认为如果数字逻辑电路的频率超过50MHz,而且工作在这个频率之上的电路已经 占到了整个电路系统的三分之一以上,就称为高速电路。相应的,对于并行采样系统,如果采样频率达到50MHZ,数据量并行8bit以上;对于串行采样系统,如果采样频率达到200MHz,一般将这种采样系统也称为高速数据采集。目前高速数据采集使用较多的采样频率一般在 50M~100MHz之间。采集系统分模拟系统和数字系统,大多数字采集系统中,CMOS图像 传感器是系统的成像部件,它是系统的“眼睛”,能够捕获高速运动物体的图像,此模块是将采集的模拟图像转化为数字信号输出;图像处理模块是系统的中间缓存处理部分,此模块为了消除或降低前期采集携带噪声的影响,提高图像质量,将庞大的数据量进行压缩,以减小对存储介质容量的要求;数据传输模块是系统与外设搭建的桥梁,此模块是将实时采集的数据高速传输,给外设提供信息。 二、总体方案设计 方案1: 图像数据的传输通过USB总线技术完成系统的初始化以及将最终的传输信号准确无误 地传送到上位机上。USB技术具有简单化、通用性、可靠性、热插拔、传输速率高等优点,随之带来的是应用USB技术的复杂程度高、总线传输协议需要协调等问题。 方案2: 利用两片SDRAM进行图像数据的短时间存储并快速传输,SDRAM是多Bank结构,

基于FPGA的图像边缘检测系统设计

摘要:许多关于图像中比较重要的信息都在图像的边缘包含着,图像边缘检测作为图像处理的重要组成部分,在许多领域有着重要的应用。图像边缘检测在很大程度上减少了数据的量,并且除去了一些并不是特别相关的信息,但是却保留了对于图像来说重要的结构属性,数据量大,重复度高是边缘检测算法最主要的特点。由于FPGA的算法在硬件处理中速度快、而且可以用来直接编程、可重配置等各种特点,因此它在图像处理中占有很重要的位置,为此文章提出了运用FPGA实现边缘检测的方法,并且根据FPGA的特性,对Sobel算子进行了FPGA设计与实现以及仿真,并且对几种边缘检测算子进行了比较。仿真中通过改变程序中的阈值可以得到不同的处理效果,这也是利用FPGA的优点,方便容易、速度也得到了提高,并且可编程、可重配置,使得FPGA在数字图像处理方面显得非常优越。 关键词:边缘检测;FPGA;图像处理;Sobel算子;Prewitt算子 The design of image edge detection technology based on FPGA Abstract:Many important information about the image is contained at the edge of the image,Image edge detection is an important part of image processing,It is important in many fields .Image edge detection greatly reduces the amount of data,And removed some information that is not particularly relevant,But it preserves the structural attributes that are important to the image,Large amount of data,High repetition is the most important feature of edge detection algorithm.Because the FPGA algorithm is fast in hardware processing、And can be used for direct programming, reconfiguration and other characteristics,Therefore, it plays an important role in image processing,For this reason, a method of edge detection using FPGA is proposed,And according to the characteristics of FPGA,FPGA design, implementation and Simulation of Sobel operator are carried out,And several edge detection operators are compared.In simulation, different processing results can be obtained by changing the thresholds in the program,This is also the advantage of using FPGA, which is convenient, easy and fast,And programmable and reconfigurable, enabling FPGA to be very good in digital image processing.

基于FPGA的VGA彩条图像显示

基于FPGA的VGA彩条图像显示 1. 设计的任务及内容 在电子电路领域中,设计自动化工具已经被广大电子工程师所接受,它必将取代人工设计方法并成为主要的设计手段。目前,Verilog语言已经成为各家EDA工具和集成电路厂商认同和共同推广的标准化硬件描述语言,随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大。 该实训的设计是用Verilog语言硬件描述语言设计出一个VGA图象显示控制器,用Verilog 硬件描述语言进行编程,把Verilog语言描述的VGA图象显示控制器所需的程序在QuartusⅡ软件环境下进行模拟仿真,以此来验证所设计的结果是否满足设计的要求。在结果符合要求的情况下把Verilog程序下载到FPGA器件上,利用FPGA器件内部存储器存储所需要的数据,再通过VGA接口输出到显示器上,从而达到设计的要求。 VGA显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备,FPGA以其结构的优势可以使用很少的资源产生VGA的各种控制信号。 CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。本次专业课程设计即选用FPGA 来实现VGA的显示。 随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:(1)使用芯片更少,节省板上资源,减小布线难度;(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3) FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。 1.1 FPGA简介 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分[9]。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 1

基于FPGA的图像处理的研究

基于FPGA的图像处理的研究 图像处理是用计算机对图像进行分析,以达到所需的结果的一种技术,又称为影像处理。它是对图像进行操作从而得到自己想要的结果,它是一个非常广义的概念,包含图像增强、图像复原、图像重建、图像分析、模式识别、计算机视觉等N多个应用方向。这些应用技术有许多在本质上是相通的,但是不同应用领域的关注点往往是不同的。 FPGA做图像处理的优势 用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本就只能用FPGA。例如在某些分选设备中图像处理基本上用的都是FPGA,因为在相机中从看到物料图像到给出执行指令之间的延时大概只有几毫秒,这就要求图像处理必须很快且延时固定,只有FPGA进行的实时流水线运算才能满足这一要求。

要了解FPGA进行图像处理的优势就必须理解FPGA所能进行的实时流水线运算和DSP,GPU等进行的图像处理运算有何不同: DSP,GPU,CPU对图像的处理基本是以帧为单位的,从相机采集到的图像数据会先存在内存中,然后GPU会读取内存中的图像数据进行处理。假如采集图像的帧率是30帧,那么DSP,GPU要是能在1/30秒内完成一帧图像的处理,那基本上就能算是实时处理。 而FPGA对图像进行实时流水线运算是以行为单位的。FPGA可以直接和图像传感器芯片连接采集图像数据流,如果是RAW格式的还可以通过差值来获得RGB图像数据。FPGA能进行实时流水线处理的关键是它可以用内部的Block Ram缓存若干行的图像数据。Block Ram可以说是类似于CPU里面的Cache,但Cache不是你能完全控制的,而Block Ram是完全可控的,可以用它实现各种灵活的运算处理。这样FPGA通过缓存若干行图像数据就可以对图像进行实时处理,数据就这样一边流过就一边处理好了,不需要送入DDR缓存了之后再读出来处理。 FPGA图像处理之路,从此开始 用FPGA做图像处理相关的开发时,往往我们首先要考虑的是FPGA处理板的性能,因为做图像处理是一个十分消耗资源的事情。从网上可以搜索到很多图像处理FPGA开发板,有些开发板上的资源十分丰富,可以满足我们前期试验的需求。 FPGA在图像处理方面的主要应用于图像的预处理阶段。

基于fpga的图像采集系统

基于FPGA的图像采集系统设计 前言 随着科技社会的发展,图像采集系统在日常生活、工业生产、国家安全等众多领域得到广泛的应用,具有广阔的应用前景和研究价值。采用FPGA进行设计的图像采集系统有良好的扩展性能和相对稳定的硬件结构。主要工作如下: 1)分析图像采集和图像处理的原理和特点,设计硬件电路的原理图,完成系统PCB板图的设计。 2)针对FPGA进行内部功能模块的划分,使用Verilog HDL硬件描述语言进行设计。 3)利用SOPC Builder 完成NIOS处理器软核及其外设的创建和配置。 4)根据FPGA内部硬件电路的特点,选择适合FPGA的算法,并对算法进行优化。 5)在NIOS II IDE环境下用Verilog HDL语言编写图像传感器控制、图像采集、SRAM读写控制、图像显示等程序,实现完整的图像采集系统功能。 1课题分析 1.1 选题背景(含国内外相关研究综述及评价)与意义 EDA技术的发展和应用普及性越来越高,已经涉及到现代电子产品设计的各个系统、各个领域中。之所以有这样的广泛应用,主要得益于可编程逻辑器件的长足发展和日益成熟,可编程逻辑器件(Programmable Logic Device, PLD)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑单元电路,通过用户编程来改变PLD内部电路的逻辑关系或连线,从而得到所需要的电路设计功能。这种新型逻辑器件,不仅速度快、集成度高,能够完成用户定义的逻辑功能,还可以加密和重新定义编程,其允许编程次数可以达到上万次。可编程逻辑器件的出现,大大改变了传统数字系统设计方法,简化了硬件系统、降低成本、提高系统的可靠性、灵活性。因此,自20世纪70年代问世以后,PLD受到广大工程师的青睐,被广泛应用于工业控制、通信设备、仪器仪表和医疗电子仪器等众多领域,为EDA技术开创了广阔的发展空间。 VGA作为一种标准的显示接口,在视频和计算机领域得到了广泛的应用。VGA图像信号发生器是电视台、电视机生产企业、电视维修人员常用的仪器,其主要功能就是产生标准的图像测试信号。对VGA而言,其主要应用在工业控制领域,通过VGA接口实现将信息、图像、文字等内容显示各种VGA显示器上,为客户提供一种完美的显示界面,也是目前重要的显示终端。本次实验设计主要是基于FPGA芯片为处理器,利用硬件描述语言完成VGA的时序控制,并利用相应的实验平台,进行设计验证,基本实现了VGA 的彩条信号和图像显示效果,达到了整个设计目标和要求。

基于FPGA的视频图像处理技术

2015年暑期实践报告 ——基于FPGA的视频图像处理技术1 课题背景 人类接收的信息中约有70%来自视觉,周围景物在人眼视网膜上的映射是人类最有效、最重要的信息交流方式。视频具有确切、直观、具体生动、真实和高效的特点。随着计算机软硬件技术和电子技术的飞速发展,视频图像技术也得到了迅速的发展。视频图像在商业、工业、军用以及民用领域内得到了广泛的应用,例如,监控系统、电视会议、多媒体通信、数字娱乐、可视电话等。 在视频应用系统的各个环节中,如采集、传送、转换和显示等,不可避免的造成图像质量的下降。例如,在摄影时由于外界环境的影响如光照过强或不足,将会使图像过亮或过暗;光学系统由于电子设备等各种原因产生的失真、大气的流动等将会使图像变得模糊;信道的传输以及系统的硬件将会引入不同种类的噪声等。这些问题不仅影响我们的视觉效果,而且对后续的处理带来了麻烦,如视频图像的存储、传输、跟踪与识别等。因此图像处理技术相应产生了,对图像进行相应的处理和加工来满足人们的视觉要求和后续的应用需求。 由于视频图像处理技术要求对图像进行实时的数据采集、压缩处理、可靠传输和显示,整个过程对实时性的要求提到了一个很高的水平。再者,视频图像往往数据量很大,对其进行处理会占用很多系统资源,如果处理器处理能力差会对图像的实时性传输造成很大影响,并且也会影响图像的质量。为此,整个系统对处理器运算能力和数据的实时性优先考虑。当前,DSP(数字信号处理器)或者FPGA(现场可编程门阵列)常作为视频图像处理的核心处理单元。但是由于DSP 本身的一些特性,使其不宜在此视频图像处理上得到广泛应用。这包括DSP的指令执行采用速度相对较慢的串行通信形式,并且相对固定化的运算操作模块很难完全满足如此全面的需求。因此在设计时选取了运行速度更快、设计更加灵活的FPGA控制芯片。除此之外FPGA还具有开发周期相对较短,系统维护和扩展容易,对信号实时处理能力强,这些特征都可显著提高视频图像数据处理的速度,满足对系统实时性的要求。所以,设计中优先选择了FPGA芯片作为系统的核心处理芯片。 在机载座舱中,由于使用环境的特殊性和复杂性,机载任务处理机给出的视频图像信号在最终输出显示前,需要进行一定的处理,以满足飞行员在不同环境下的观察需要,同时机载显示器对画面显示的实时性有着较高的要求。基于FPGA硬件平台的图像处理方式不仅能够获得良好的处理效果,而且处理速度也

相关文档