现代化生产和科学研究对图像采集系统要求日益提高。传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。文中设计了一种基于ARM和FPGA的嵌入式的图像采集存储系统,可以很好地解决实时的嵌入式图像采集和存储问题。它主要包括图像采集模块、图像处理模块以及图像存储模块等。
1 系统结构及工作原理
本系统的结构模型,如图1所示。图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。原始图像数据送到FPGA后,FPGA将原始图像数据暂存于两个SRAM中,系统采用了Alter公司的EPlK30TCl44—3和ICSI公司的IS6LV25616AL。一帧图像采集完成后,ARM将图像数据通过FPGA取出,进行必要的处理,并形成图片文件存到CF卡中,本系统选用了Philips公司的LPC2214。
图像采集芯片将原始图像数据传到FPGA,FPGA将图像原始数据暂存于SRAMl中,当一帧图像存储完后,下一帧图像数据存于SRAM2中。同时,将SRAMl中的数据送给ARM,ARM在对原始图像进行必要的处理后,将图像数据以图片文件的方式存储在CF卡中。这样就实现了嵌入式高速图像采集和存储功能,用户可以很方便地将CF卡上的图片上传到PC机中进行进一步的分析和处理。
2 系统硬件设计
2.1 图像采集模块
用可编程视频输入处理器SAA7113H进行视频信号处理。SAA7113H内部集成了强大图像色度、亮度处理功能以及多种输出模式;有32个工作寄存器,在系统复位时,必须通过I2C总线对其进行初始化。本系统使用灰度图像,没有使用色度信号,所以数据线为8位。SAA7113H与FPGA的接口,如图2所示。[page]
2.2 FPGA模块
FPGA主要作用是把图像采集芯片传过来的图像原始数据,采取乒乓操作的方式,暂存于两片SRAM中。当FPGA开始接收第一帧图像时,把该帧图像根据FPGA内部生成的地址存储在SRAMl中,一帧图像接收完毕后,向ARM传送。同时,把下一帧图像暂存于SRAM2中,然后传给ARM,依次循环。这样就可以实现图像的高速采集。本系统选用了Alter公司的EPlK30TCl44—3,它采用EECMOS技术,144引脚TQFP封装,容量为10万门,具有高密度、低成本、低功耗的特点。FPGA的内部结构包括时钟驱动模块、SAA7113H控制模块、SRAM控制模块、ARM数据交换模块等。SAA7113H控制模块主要负责对视频采集芯片SAA7113H的初始化和启停等功能控制;SRAM控制模块则主要进行读写地址生成、“乒乓”读写控制等;ARM数据交换模块负责向ARM申请中断和数据传输。这些模块在设计中利用VHDL语言,在Quartus II环境下进行编程和调试,具体实现方法参见文献。本系统中,主要针对640×480的灰度图像的采集和存储,所以选用了ISSI公司的IS6lIN25616AL,它是一种高速度、低功耗的256 kB×16的CMOS静态随即存储器,能够满足系统的实际要求。SRAM控制模块的内部结构框图,如图3所示。
2.3 ARM模块
ARM模块的主要作用是,从SRAM中取出图像原始数据,然后进行必要的处理,再存储在大容量的CF卡上,方便用户在PC机上对图像进行必要的处理操作。FPGA接收完一帧图像后,向ARM发出中断请求,ARM收到请求后,通过FP—GA将SRAM中的数据读入。一帧数据发送完毕后,FPGA发出发送完毕信号,ARM对接收到的数据进行必要的处理后,将数据存储在大容量的CF卡上。本系统选用了Philips公司的LPC2214,它是基于ARM7TDSI体系的嵌入式微处理器,内部具有16 kB的静态随机存储器和256 kB的Flash程序存储器,可实现高达60 MHz的工作频率。ARM与FPGA及CF卡的接口电路分别,如图4,图5所示。
[page]
3 系统的工作原理及实现
3.1 FPGA图像采集及暂存的实现
系统上电后,FPGA首先通过I2C总线对视频采集模块(SAA7113H)进行初始化,以确定其工作模式。初始化结束后,等待图像采集命令。当接收到FPGA发出的图像采集命令时,视频采集模块开始工作,FPGA依靠像素时钟和行场同步信号采集灰度图像。由于SAA7113H输出的灰度图像是8位的,而外部的SRAM是16位的,因此在FPGA中必须对采集到的灰度图像进行处理,将两个字节的数据组合,一起输出到外部SRAM中。一帧图像采集结束后,SAA7113H停止图像采集,等待下一次的采集命令。
3.2 FPGA与ARM的数据交换
为了实现图像数据的实时采集与处理,应使图像数据的采集与外部图像数据的读取同时进行。因此本系统采用双SRAM缓存结构。这样,在同一时刻,一片可用于存储图像数据,另一片可用于外部ARM对图像数据的读取。两块SRAM存储区乒乓式切换。当图像数据写满SRAMl时,FPGA向ARM发送一个中断信号,然后,AlRM响应中断并读取SRAMl中的图像数据,同时将其写入到CF卡中,图像数据将写入SRAM2,当图像数据写满SRAM2时,FPGA也向ARM发送一个中断信号。ARM响应中断并读取SRAM2中的图像数据,同时将其写入到CF卡中。之后,图像传感器的数据将再次写入SRAMl。
3.3 图像数据在CF卡上的存储
CF卡内部控制器设计完全模拟硬盘,使用标准的ATA/IDE接口界面,可通过IDE接口与电脑连接,而且早已实现无驱动设计,使用非常方便。在本系统中,图像数据通过ARM存入CF卡,因此必须实现ARM对CF卡的配置、读写控制等操作。ARM对CF卡驱动的接口函数由硬件接口函数和用户使用函数组成,硬件接口函数是与系统硬件相关的函数集。主要包括硬件复位函数、ATA寄存器操作函数和ATA设备探测函数;用户使用函数包括ATA设备驱动初始化函数、查找ATA接口设备函数、读扇区函数、写扇区函数、获取设备信息、使设备立即进入待机状态和使设备立即进入空闲状态。由于篇幅所限,这里不再一一介绍,读者可以根据CF卡的具体参数编写相应的函数。
4 结束语
文中介绍了用ARM和FPGA实现的一个嵌入式实时图像采集存储系统的设计方案,本系统的工作温度为O~60℃,可以实现每秒20~30帧的视频流灰度图像采集和存储,能够满足嵌入式实时图像采集存储的应用要求,系统的持续工作时间取决于CF卡的存储容量。在本系统中,图像的采集存储脱离了PC机,使图像的采集存储真正达到了实时性和嵌入式的要求。本系统可以应用在军事射击评价、工业产品质量检测、医疗和生物等领域。
关键字:ARM FPGA 嵌入式 高速图像采集 存储系统
引用地址:
基于ARM和FPGA的嵌入式高速图像采集存储系统
推荐阅读最新更新时间:2024-03-16 12:37
ARM-Linux嵌入式系统的Boot Loader分析与设计
0 引言 由Boot Loader和固化在固件(firmware)中的Boot代码(可选)共同组成一个嵌入式系统的引导加载程序。它的作用和功能就像固化到计算机内主板上的一个ROM芯片程序BIOS(basic input output system)。但是它一般不配置像BIOS那样的固件程序,这是因为要考虑经济方面的原因,因此必须自己完成这方面的工作。Boot Loader可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。它的实现严重地依赖于硬件,特别是在嵌入式系统中,即使基于同一个CPU的Boot Loader,对于不同的板子,也有很大的不同。 1
[单片机]
基于FPGA的高速卷积的硬件设计实现
在数字信号处理领域,离散时间系统的输出响应,可以直接由输入信号与系统单位冲激响应的离散卷积得到。离散卷积在电子通信领域应用广泛,是工程应用的基础。如果直接在时域进行卷积,卷积过程中所必须的大量乘法和加法运算,一定程度地限制了数据处理的实时性,不能满足时效性强的工程应用。本文从实际工程应用出发,使用快速傅里叶变换(FFT)技术,探讨卷积的高速硬件实现方法。 1 卷积算法的原理 设线性时不变系统的冲激响应为h(n),则冲激响应和输入δ(n)之间有关系 假设该系统的输入为x(n),输出为y(n),则根据线性时不变系统的定义,有 根据式(3),线性时不变系统的输出信号可以由输入信号与单位冲激响应的
[嵌入式]
莱迪思全新FPGA赋予3D新含义
“3D这个‘D’是Defense、防卫,不是‘三维’这个意思。全新的防卫功能是通过硬件和信任来增加安全性的。”莱迪思半导体公司近日宣布推出MachXO3D FPGA,用于在各类应用中保障系统安全。莱迪思半导体亚太区业务发展(BD)总监陈英仁先生,在发布会上对3D进行了解释。 搭配硬件可信根极大提升安全性 不安全的系统会导致数据和设计盗窃、产品克隆和过度构建以及设备篡改或劫持等问题。OEM可以使用MachXO3D轻松实现可靠、全面、灵活的基于硬件的安全机制,保障所有系统固件的安全。MachXO3D可以在系统生命周期的各个阶段(从生产到系统报废),组件固件遭到未经授权的访问时,对其保护、检测和恢复。 “我们的方式
[嵌入式]
基于ARM9 AT91RM9200T的嵌入式网络接口设计
1 引言 当今时代设备网络化是当今科技发展的趋势。如何使用嵌入式系统将设备的远程控制、数据的远程传输数据转发到网络上呢?这里设计的是一个信息电器网络接口模块,并构建一个实现特定功能的嵌入式Web服务器,它可以对远程设备进行监控,用户可通过网络远程访问Web服务器来实现数据的采集和历史数据的查询,也可以通过各种接口对信息家电进行控制。另外,还可以根据需要添加新的控制功能, 而不需对Web服务器的框架进行大的改动。 2 硬件设计 本系统采用ATMEL公司生产的微处理器AT91RM9200T 。其处理速度可达200MIPS,同时它也具有USB、Earthnet、支持RS485的红外串口、IIC、SPI、SSC等丰富的片内资源。网口
[单片机]
链路电源技术在Pyxos嵌入式网络中的应用
0 引言 Pyxos嵌入式网络是一种应用于机器内部的低成本的高速传感器网络,它凭借只有5mm×5mm大小的Pyxos芯片能够嵌入到任何一种传感器或执行器中,使得任何机器内部的各个组成部分之间形成智能的数字控制网络,因此要尽量减少Pyxos嵌入式网络中的元器件,这样不仅减少Pyxos网络占用的空间,而且还能简化安装、维护工作,降低网络成本。 链路电源技术能够在同一媒介上既能传输数据信号又能传输24V交流或直流电,也就是说,采用链路电源技术的Pyxos嵌入式网络上的节点可以同时从通信数据线上取得工作电源,这样避免了额外电源线的铺设和接口终端的使用,因此降低了Pyxos网络的成本、占用空间和使用的复杂性。 1链路供给电
[电源管理]
安全防护再延伸 Imagination不排除邀ARM共舞
继六月的COMPUTEX(台北国际电脑展)后,Imagination开始强调物联网的安全性问题,可透过虚拟化技术来加以克服,因此祭出了OmniShield技术来加以因应。
Imagination行销执行副总裁Tony King-Smith 截至目前为止,Imagination已经确定了旗下的主要产品线MIPS、PowerVR与Ensigma等,都会导入OmniShield技术。而在台湾,亦有不少业者与Imagination有相当深厚的合作关系。Imagination行销执行副总裁Tony King-Smith指出,Imagination希望能在台湾打造在地的生态系统,亦希望台湾可以是OmniShield的试金石。
[手机便携]
FPGA电路设计: 如何应对电源相关问题的挑战
引言 在设计可编程门阵列(FPGA)电路时,必须极端重视电源问题,从而使最终产品能在所有可能的条件下无缺陷工作并处于最优状态。FPGA 电路电源有两项需考虑的问题: FPGA 电路上电要求和电路功耗分析。这篇文章针对这两方面的要求,讨论您可能遇到的问题,以及解决方案。 目前FPGA电路设计所面临的问题 FPGA电路通常需要多路电源输入。为优化开机时的电流拖曳,防止锁死和永久性的电路损坏,同时也为了防止开机接通时的毛刺干扰和降低开机接通的功耗,这些电源输入必须具有精确的上电序列以及正确的电压变化率。如何实现复杂多路供电的精确控制是FPGA电路设计验证过程中的难点。此外,随着项目的发展,FPGA电路设计指标通
[测试测量]
MSP430系列嵌入式实验教程---串行通信
串行通信 串行通信是与并行通信相对应的,并行通信的优点是快速,但用的IO数量比较多,信号线多。 现在串行速度的速度已经提高到一个非常高的水平了,我们的硬盘都使用的SATA串口而不再使用以前的并口线了,多数场合串行往往比并行有用。 同步与异步 通信分为同步和异步,异步通信是指双方按照事前约定好的时钟速率(波特率)来进行通信,因为没有公共的时钟线,所以通信双方的数据必须整齐划一。而同步通信的双方拥有公共时钟,按时钟信号来更新数据,所以数据流不一定要整齐划一。 单工、半双工、全双工 单工:只能单向通信,例如电视广播 半双工:能收能发,但要分开进行,例如对讲机语音消息 全双工:能同时收发,例如打电话 协议分类 两线:异步+
[单片机]