图像处理技术的快速发展,使得图像采集处理系统在提高农业生产自动化程度中的应用越来越广泛。目前的图像采集系统有的基于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便通过以太 网芯片将数据发送给上位机。
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控制单元又包括帧同步模块、场同步模块、像素时钟模块等。
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所示。
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的图像采集过程的结束。
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中断。
4 结束语
本文介绍了用ARM和FPGA实现的一个实时图像采集传输系统的设计方案,本系统设计方案采用FPGA技术来为作物识别、杂草识别等图像处理算法的实时实现提供了平台。
上一篇:基于VirtualBox虚拟机-Ubuntu操作系统的ARM嵌入式平台搭建
下一篇:基于arm的嵌入式棒料剪切生产线数控系统
推荐阅读
史海拾趣
随着技术的不断进步和市场竞争的加剧,FIDELIX意识到单靠自身的力量难以在全球市场上立足。因此,公司开始寻求国际合作,与全球多家知名半导体企业建立合作关系,共同研发新技术、新产品。这些国际合作不仅提升了FIDELIX的技术水平,也为其产品打开了国际市场的大门。
随着业务的不断发展,Apacer宇瞻科技开始在全球范围内布局。除了在台湾设立总部外,公司还在上海设立了宇瞻电子(上海)有限公司,并在美国、欧洲、日本、印度等地设立了分公司。这一全球布局使得宇瞻科技能够更好地服务全球客户,拓展市场份额。
在各大电子展会上,Apacer宇瞻科技也频繁亮相,展示其最新技术和产品。在某次台北世界贸易中心的展会上,宇瞻科技展示了一款高端DDR3内存,其频率高达1600MHz,带宽达到了惊人的12800MB/s。这一产品吸引了众多观众的关注,也进一步彰显了宇瞻科技在内存模组领域的领先地位。
这五个故事只是Apacer宇瞻科技发展历程中的一部分,但它们足以展现出公司从创立到崛起的艰辛与辉煌。在未来的发展中,相信宇瞻科技将继续凭借其卓越的技术实力和持续的创新精神,为电子行业的发展贡献更多力量。
因美纳(Illumina)公司成立于2000年,起初是一家专注于基因测序技术的小型企业。在创始人Jay Flatley的领导下,公司成功研发出了一系列高性能、低成本的基因测序仪器,使得基因测序技术从昂贵的实验室研究工具转变为广泛应用的医疗诊断工具。这一技术突破不仅为因美纳赢得了市场份额,也为整个医疗行业带来了革命性的变化。
铨力(ALLPOWER)公司成立于XXXX年,由一群热衷于绿色能源技术的创新者共同创立。公司初期专注于太阳能电源产品的研发和生产,凭借着对技术的深入研究和市场需求的敏锐洞察,很快在行业中崭露头角。通过不断的技术创新和产品优化,铨力逐渐在太阳能电源领域建立起自己的品牌地位。
随着全球电子市场的不断扩大,API Technologies开始实施全球化战略布局。公司先后在多个国家和地区设立了分支机构和研发中心,积极开拓国际市场。通过与全球客户的紧密合作,API Technologies的产品和技术逐渐在全球范围内得到了广泛应用和认可。
我是一个不折不扣的菜鸟,现在由于工作需要,需要开发一个驱动,通过驱动由ring3进入ring0。但是由于我是菜鸟,一点都不懂。现在请教各位大侠:如果要开发一个驱动,使用驱动由ring3进入ring0,都需要什么前景知识,需要学什么?有没有相关的书籍?… 查看全部问答∨ |
本人初学ARM,使用QQ2440开发板。最近在学习中断时,程序也编译通过,但发现中断代码完全没有运行,很是困惑,还请高人指点一二。 程序大概: 使用中断通过按键控制LED灯,程序下载到nor flash 下0x300000 ...… 查看全部问答∨ |
新手:请问在流式接口驱动程序里可以调用其他现成的流式接口驱动么? 我是新手,正在学习Windows ce 的流式接口驱动,为了写应用程序方便,想将一些已经写好的驱动,如GPIO驱动封装修改为蜂鸣器的驱动,I2C驱动封装成EEPROM的驱动,我蜂鸣器和EEPROM的驱动都是在GPIO和I2C的源码上改的,我觉得这种做法不是很好,不知 ...… 查看全部问答∨ |
|
请教各位大侠:我这个项目用什么芯片合适?用MSP430行吗? 项目要求对数字信号进行采样,数字信号由一路时钟信号和数字信号组成,一般在时钟信号的边沿(如上升沿)对数字信号进行采样,时钟信号的频率为30MHz,采样后送给网卡芯片后,经过百兆网卡输出。网卡芯片打算选用DM9000AEP,现在问题是我该选用什么 ...… 查看全部问答∨ |
|
设计及实现了一款基于美国德州仪器公司( 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子系统等解决了处理 ...… 查看全部问答∨ |
|
这本书教你全面了解ARM体系结构---ARM Soc体系结构 ARM Soc体系结构 介绍了一般微处理器核的设计原理、基于微处理器核的SoC设计的基本概念和方法,通过对ARM系列处理器核和CPU核的详尽描述,来说明微处理器及外围接口的设计原理和方法。同时也综述了ARM系列处理器核和最 ...… 查看全部问答∨ |