新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > SoPC技术在图像采集和处理系统中的应用设计

SoPC技术在图像采集和处理系统中的应用设计

作者:时间:2010-05-04来源:网络收藏
随着计算机和人工智能的快速发展,识别已成为人工智能的基础技术,它涉及的技术领域越来越广泛,越来越深入。随着现代工业生产向高速化、自动化方向的发展,以形状为特征的识别在现代生产中的日益增加,不论是材料、工业自动化、遥感技术,还是产品质检都需要对形状进行检测。因此,开发集信号的于一体、具有高集成度、高保密性的图像处统将成为行业的发展趋势。此外,基于32 bit微器纯嵌入式系统的图像技术正处于方兴未艾阶段,发展前景广阔,可广泛于工业自动化生产、监护/防盗系统、机器人视觉等技术中。技术是Altera公司提出的一种灵活、高效的SoC解决方案,是一种新的软硬件协同的系统技术。本系统就是在这种背景下提出的。其主要工作是一个实用的图像和处理平台,能完成目标图像的采集输入,并能对采集到的图像进行处理和识别。
1 系统整体方案及硬件设计
系统要求在FPGA片内利用技术实现便携式的图像采集与处理。它通过对原始图像的扫描,经数字图像处理与识别后即可将得到的大容量的承载信息(包括文字、头像、指纹等个人信息)在LCD上显示,并可通过USB接口将信息拷贝,或通过RS-232接口将信息上传给PC机,也可以通过GPRS将获得的信息方便快捷地发往数据中心作验证。
整个系统的核心部分是内嵌Nios II软核的FPGA,外围设备和芯片包括图像获取设备、显示器及片外SDRAM和FLASH存储器、输入设备等。系统结构框图如图1所示。

本文引用地址:http://www.eepw.com.cn/article/151883.htm


系统的工作过程是:系统配置完成后,视频获取设备获取视频图像,每帧图像经模数转换生成图像数据进入预处理模块,经预处理后的图像数据送入SDRAM存储器,由Nios II处理器进行图像的后续处理和控制。处理后的图像经数模转换在监视器上实时显示。
1.1 图像采集接口电路设计
本系统采用美国OmiVision公司的数字式彩色CMOS图像传感器OV7640。该芯片分辨率为640×480像素,成像速度为30帧/s,采取逐行扫描方式,输出为。工作原理如图2。

图像采集的程序流程是:首先Nios初始化OV7640的各个寄存器,主要包括状态寄存器(STA)、数据和时钟控制寄存器(CLKRC)、自动增益控制寄存器(AGC)的设置;然后查询等待,条码图像被OV7640采集进入数据寄存器后,通过DMA方式存入SDRAM,Nios再从SDRAM中提取数据进行译码。
1.2 基于Nios的系统硬件设计
基于Nios软核的SoPC系统设计是整个系统硬件设计的核心,包括Nios软核处理器的设计、数据采集控制的设计、图像信号FFT分析的实现、参数显示以及RS232通信模块的设计等。另外,使用Nios进行嵌入式设计在硬件上必需使用Altera公司的FPGA。
Nios处理器核的硬件设计是根据系统的功能要求定制合适的CPU和外设,然后在SoPC和Quartus II中实现。在硬件设计流程中,可以灵活定制Nios CPU的许多特性甚至指令,可以使用Altera提供的IP Core来加快设计者开发Nios外设的速度并提高外设性能,也可以使用第三方的IP Core,或者使用VHDL、Verilog自行定制外设。
系统Nios外设主要包括:
(1)CMOS图像传感器接口模块。由于Altera没有提供CMOS图像传感器接口模块,所以使用VHDL编程自行定制。通过VHDL编程设计一个CMOS图像传感器控制模块,采用接入Avalon总线的方式自定制外设。
(2)由于要对数字图像信号进行FFT运算,所以采集的数据必须先进行存储,然后再作FFT计算。因此,必须设计FIFO存储器和FFT实现的硬件。
(3)RS232通信电路模块。RS232通信可以通过串行口UART加上一个转换芯片来实现。所以,本系统利用SoPC中提供的UART组件来实现RS232通信接口的设计。
(4)LCD液晶显示模块。LCD液晶显示是通过配置Nios的PIO接口来控制的。
除上面所述之外,根据系统要求,Nios处理器核应当配置以下组件及接口模块:cpu、boot_rom(用于系统引导)、uart1(用于系统的仿真调试)、uart_rs232(用于串口通讯)、Timer1(系统内部时钟)、lan_timer(以太网通信用时钟)、button_pio(用于参数设置)、lcd_pio(用于参数显示)、user_logic_ad_nv_ctl和user_logic_ad_power_ctl(自定义的AD转换的接口模块)、Ethernet(用于以太网通信)、ext_ram(外部SRAM)、dma(用于将采集的数据直接存入SRAM中)和ext_flash(外部flash)。
本系统中数据的存储是通过设计FIFO存储器电路实现的。FIFO存储器电路主要由一个双口RAM模块(Dual-Port RAM)和状态机模块(State Machine Table)组成,通过先进先出(FIFO)堆栈把数据存储在双口RAM中。其设计是在Matlab环境下利用Altera DSP Builder设计工具实现的。
电路设计完成并仿真验证成功后,应用DSP Builder中的signal Compiler进行编译分析,经signal Compiler转换后可以变成VHDL语言的程序。同时,在Quartus II中,可以将VHDL语言程序转换成电路符号,便于应用原理图的方法设计硬件系统。由FIFO存储器的VHDL程序生成的电路符号如图3所示。在设计过程中,需要用到Quartus II软件和其内嵌的IP Toolbench。按照本系统的要求设置FFT的参数为:点数为1 024点,数据宽度为12 bit。最后设计生成FFT的MegaCore Function模块,包含一些VHDL程序及其他相关的文件。由VHDL程序生成的FFT模块电路符号如图4所示。

电气符号相关文章:电气符号大全


存储器相关文章:存储器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭