历史上的今天

今天是:2024年09月18日(星期三)

正在发生

2020年09月18日 | 基于ARM和FPGA实时图像采集传输系统的设计

发布者:王岚枫 来源: elecfans关键字:ARM  FPGA  实时图像采集  传输系统 手机看文章 扫描二维码
随时随地手机看文章

图像处理技术的快速发展,使得图像采集处理系统在提高农业生产自动化程度中的应用越来越广泛。目前的图像采集系统有的基于CCD摄像机、图像采集卡和计算 机,有的基于CCD摄像机、解码器、FPGA和DSP,而有的基于CMOS图像传感器芯片、FPGA和DSP,它们在实时性,灵活性,可维护性方面各有优 缺点。而在农业生产中,以基于CCD摄像机、图像采集卡和计算机的系统居多。本文结合实际系统中的前端图像处理和图像数据传输需要.充分利用ARM的灵活 性和FPGA的并行性特点,设计了一种基于ARM+FPGA的图像快速采集传输系统。所选的ARM (Ad-vanced RISC Machines)体系结构是32位嵌入式RISC微处理器结构,该微处理器拥有丰富的指令集且编程灵活。而FPGA(Field ProgrammableGate Array)则在速度和并行运算方面有很大优势,适合图像处理的实时性要求。本文选用Intel公司的Xcale PXA255和Xilinx公司的Spartan-3XC3S1000来实现本系统的设计。


1 系统结构设计

本系统的结构框图如图1所示。图中,图像传感器模块负责图像采集,FPGA用来控制CMOS图像传感器芯片,ARM负责图像数据的交换、以太网芯片的控制 及UDP/IP协议的实现,以太网模块主要实现以太网数据传输,SDRAM用于存储图像数据,FLASH为程序存储器。系统工作时,先由FPGA将 CMOS传感器采集的数据存储到双口SRAM,再由ARM从FPGA的双口SRAM中读取数据并存储到SDRAM,存满一帧图像数据后,ARM便通过以太 网芯片将数据发送给上位机。

基于FPGA+ARM的图像采集传输系统

 

2 系统硬件设计

2.1 CMOS图像传感器模块

本系统采用OV9650作为图像采集传感器。OV9650是Omni Vision公司的彩色CMOS图像传感器,可支持SXVGA,VGA,QVGA,QQVGA,CIF,QCIF,QQCIF模式和SCCB接口,并具有 自动曝光控制、自动增益控制、自动白平衡、自动带通滤波、自动黑级校准等功能。OV9650的最大帧速率在VGA格式时为30 fps,在SXVGA格式时为15 fps。本系统采用VGA格式。


2.2 FPGA模块

FPGA主要用于图像传感器的控制、图像数据的缓存及外围芯片时序的产生。考虑到图像处理算法的实现需要,本系统选用了Xilinx公司的XC3S1000,它属于SPARTAN-3系列,容量为100万门。在本设计中,FPGA通常运行于80 MHz。XC3S1000与OV9650的接口电路示意图如图2所示。FPGA的内部结构包括CMOS控制单元、SC-CB接口单元、双口RAM单元、FIFO单元等。其中CMOS控制单元又包括帧同步模块、场同步模块、像素时钟模块等。

基于FPGA+ARM的图像采集传输系统

 

2.3 ARM处理器模块

本系统的ARM处理器选用PXA255,用于实现图像数据交换和以太网数据传输等功能。PXA255是Intel公司推出的基于第五代ARM RISC体系结构ARMV5TE的微处理器。CPU的运行频率最高为400 MHz,有32 KB指令Cache,32 KB数据Cache,2 KB微数Cache,并带有丰富的串行外设接口,并可支持各种存储器芯片。本系统采用两片SDRAM和两片FLASH存储器,其中SDRAM用于图像数据暂存,本系统选用SAMSUNG公司的K4S561632C-TC75,容量为32 MB。而FLASH程序存储器则选用Intel公司的E28F128J3A-150来作为NOR FLASH,容量为16 MB。


2.4 以太网传输模块

本系统的以太网芯片选用LAN91C113。这是SMSC公司推出的快速以太网10/100 Mbps控制器,支持多种嵌入式处理器主机接口。LAN91C1B内部有8 KB的FIFO,可用于接收和发送数据的存储。此外,LAN91C113芯片还集成了CSMA/CD协议的MAC(媒体访问控制层)和PHY(物理 层),IEEE802.3/802.3u-100BASE-TX/10Base-T规范。本系统中,LAN91C113的串行EEPROM接口与 AT93C46相连。PXA255访问LAN91C113采用异步静态存储器方式,LAN91C113的地址使能信号AEN与PXA255的静态芯片片选 四相连。PXA255与LAN91C113接口示意图如图3所示。

基于FPGA+ARM的图像采集传输系统

 

3 系统主要模块的工作原理及实现

3.1 FPGA图像采集的实现

OV9650的数据输出采用Bayer原始数据输出格式,每个象素同时只输出一种颜色。奇数扫描行输出RGRG…,偶数扫描行输出GBGB…。FPGA负责图像传感器数据的采集。

上电后,系统首先对CMOS图像采集芯片进行初始化,以确定其工作模式。这些参数受OV9650内部相应寄存器值的控制。FPGA通过控制SCCB总线来完成参数的配置。

系统配置完毕后,便可进行图像数据的采集。图4和图5是数据采集与输出的时序图。其中VSYNC是场同步信号。HREF是水平同步信号。PCLK是象素数 据输出同步信号。HREF为高时即可开始有效数据采集,而PCLK下降沿的到来则表明数据的产生,PCLK每出现一个下降沿,系统便传输一位数据。在 HREF为高电平期间,系统共可传输640位数据。在一帧图像中,即VSYNC为低电平期间,HREF会出现480次高电平。而下一个VSYNC信号上升 沿的到来则表明分辨率640×480的图像采集过程的结束。

基于FPGA+ARM的图像采集传输系统

3.2 FPGA与ARM的数据交换

FPGA内部用一个8 KByte双口SRAM作为图像存储区。为了实现图像数据的实时采集与处理,应使图像数据的采集与外部图像数据的读取同时进行。因此本系统采用双缓存结 构。实现方法是把8 KB的SRAM划分成两个大小为4 KB的SRAM(设为SRAM1和SRAM2),每片SRAM一次存储六行图像数据。这样,在同一时刻,一片可用于存储图像数据,另一片可用于外部ARM 对图像数据的读取。两块SRAM存储区乒乓式切换。当图像数据写满SRAM1时,FPGA向ARM发送一个中断信号,之后,ARM响应中断并读取 SRAM1中的图像数据,同时将其写入到SDRAM中。之后,图像传感器的数据将写入SRAM2,当图像数据写满SRAM2时,FPGA也向ARM发送一 个中断信号。ARM响应中断并读取SRAM2中的图像数据.同时将其写人到SDRAM中。之后,图像传感器的数据将再次写入SRAM1。


3.3 以太网数据传输的实现

为实现图像数据的网络传输,本系统基于PXA255开发了UDP/IP协议实现程序,以将图像数据存储在SDRAM中。一个完整的数据帧格式包括以太网 头、IP头、UDP头和一行图像数据,其系统工作流程图见图6所示。上电后,系统将等待FPGA中断,如果中断产生,则由PXA255读取FPGA中的数 据并写到SDRAM中。然后判断是否读完一帧图像数据,若读完,则发送UDP包,并将图像数据通过以太网发送到上位机,否则继续等待FPGA中断。

基于FPGA+ARM的图像采集传输系统

 

4 结束语

本文介绍了用ARM和FPGA实现的一个实时图像采集传输系统的设计方案,本系统设计方案采用FPGA技术来为作物识别、杂草识别等图像处理算法的实时实现提供了平台。

关键字:ARM  FPGA  实时图像采集  传输系统 引用地址:基于ARM和FPGA实时图像采集传输系统的设计

上一篇:基于VirtualBox虚拟机-Ubuntu操作系统的ARM嵌入式平台搭建
下一篇:基于arm的嵌入式棒料剪切生产线数控系统

推荐阅读

   9月17日,在2018世界人工智能大会上“G60科创走廊人工智能产业基金”作为上海人工智能创新项目进行签约。据悉,G60科创走廊人工智能产业基金目标总规模为100亿元,将分期设立,主要投资于人工智能及相关产业链项目,包括基础层的芯片、传感器、算法和应用层的智能家居、智能驾驶和智能医疗等领域企业。该基金将以G60科创走廊作为产业腹地,并立足于...
本文系选择A股市值最大的十家公司,以及部分市值较低的公司作为研究样本,来分析近年来国内芯片设计业的发展模式,因此本文并非股票评论,因而不构成任何投资建议。芯片设计业及设计公司的发展,离不开“技术、生态、人才、营销和资本”等要素,而上市公司的定期披露报告为我们提供了从这些要素中看产业发展的丰富资料,为此才有此项研究。 近年来随着中兴...
9月17日消息,三星在中端市场不断发力,近期又一款新机Galaxy F41被曝光,目前该机的规格已现身 Google Play Console 列表,这也是三星首款F系列手机。硬件方面,Galaxy F41搭载了三星自家猎户座Exynos 9611处理器,搭配6GB RAM,存储空间未知,不过根据此前三星风格,Galaxy F41大概率同样支持TF卡进行存储空间扩展。根据被爆出的Galaxy F41设...
9月15日,摩根士丹利(MS)发布报告看空半导体,对此,信达电子表示:“不惧市场杂音,坚定看好半导体。”据信达电子首席分析师方竞表示,16日半导体板块有较大回调,主要因MS看空景气周期。我们认为MS观点过于片面,且缺乏产业链验证及数据支持,所以逐条驳斥,并重申我们的观点如下:1、供给端:MS认为马来封装厂解封将助力芯片缓解,但我们认为本轮缺...

史海拾趣

问答坊 | AI 解惑

菜鸟提问:关于开发驱动进入ring0的问题

我是一个不折不扣的菜鸟,现在由于工作需要,需要开发一个驱动,通过驱动由ring3进入ring0。但是由于我是菜鸟,一点都不懂。现在请教各位大侠:如果要开发一个驱动,使用驱动由ring3进入ring0,都需要什么前景知识,需要学什么?有没有相关的书籍?…

查看全部问答∨

s3c2440中断问题

本人初学ARM,使用QQ2440开发板。最近在学习中断时,程序也编译通过,但发现中断代码完全没有运行,很是困惑,还请高人指点一二。 程序大概:         使用中断通过按键控制LED灯,程序下载到nor flash 下0x300000 ...…

查看全部问答∨

新手:请问在流式接口驱动程序里可以调用其他现成的流式接口驱动么?

我是新手,正在学习Windows ce 的流式接口驱动,为了写应用程序方便,想将一些已经写好的驱动,如GPIO驱动封装修改为蜂鸣器的驱动,I2C驱动封装成EEPROM的驱动,我蜂鸣器和EEPROM的驱动都是在GPIO和I2C的源码上改的,我觉得这种做法不是很好,不知 ...…

查看全部问答∨

请教香主,如何启动DMA传输?

                                 我用DMA发送串口数据,如何启动传输呢,是要专门设置定时器启动吗?…

查看全部问答∨

请教各位大侠:我这个项目用什么芯片合适?用MSP430行吗?

项目要求对数字信号进行采样,数字信号由一路时钟信号和数字信号组成,一般在时钟信号的边沿(如上升沿)对数字信号进行采样,时钟信号的频率为30MHz,采样后送给网卡芯片后,经过百兆网卡输出。网卡芯片打算选用DM9000AEP,现在问题是我该选用什么 ...…

查看全部问答∨

电源供电模块

本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 内含3.3V,正负5V,正负12V,可调电压(最大20V左右)供电模块  …

查看全部问答∨

【MSP430共享】嵌入式宽带可视电话系统设计及实现

设计及实现了一款基于美国德州仪器公司( T I )   2 O c l M6 4 4 6 平台的嵌入式宽带可视电话系统。该嵌入式宽带可视电话系统以T MS 3 2 0 D M6 4 4 6 处理器为核心, 提高了可扩展性和平台独立性,通过MS P 4 3 0子系统等解决了处理 ...…

查看全部问答∨

Bootloader相当于Bios吗

ARM中的Bootloader相当于PC机上的Bios吗?如果是,那么在ARM在进入bootloader之前的那段启动系统的代码相当于什么?  …

查看全部问答∨

LANUCH PAD成功驱动了淘宝买的屏。

在论坛求了好几天。都没有人给个代码参考下。唉。   …

查看全部问答∨

这本书教你全面了解ARM体系结构---ARM Soc体系结构

ARM Soc体系结构       介绍了一般微处理器核的设计原理、基于微处理器核的SoC设计的基本概念和方法,通过对ARM系列处理器核和CPU核的详尽描述,来说明微处理器及外围接口的设计原理和方法。同时也综述了ARM系列处理器核和最 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved