一种高速图像数据采集板的设计方案

最新更新时间:2014-03-29来源: 21IC关键字:高速图像  数据采集板 手机看文章 扫描二维码
随时随地手机看文章

1.概述

随着图像处理技术的快速发展,图像采集处理系统在提高工业生产自动化程度中的应用越来越广泛。本文结合实际系统中的前端图像处理和图像数据传输的需要,充分利用ARM的灵活性和FPGA的并行性的特点,设计了一种基于ARM+FPGA的高速图像数据采集传输系统。所选用的ARM体系结构是32位嵌入式RISC微处理器结构,该微处理器拥有丰富的指令集且编程灵活;而FPGA则在速度和并行运算方面有很大优势,适合图像处理的实时性要求;并且通过千兆以太网接口实现了采集板与上位机之间图像数据的高速远程传输。

2.硬件设计方案

2.1 系统总体设计

本设计采用的ARM芯片为三星公司的S3C2440A、FPGA芯片为Xilinx公司生产的Spartan系列的S3C500E芯片,系统组成还包括千兆以太网控制芯片AX88180、千兆PHY芯片88E1111、存储器、嵌入式Linux、网络驱动程序等(如图1所示)。

本设计的主控芯片S3C2440A是基于ARM920T核的16/32位RISC微处理器,采用了0.13um的CMOS标准宏单元和存储器单元,运行频率高达500MHz.ARM920T 实现了MMU,AMBA BUS和Harvard高速缓冲体系结构构。这一结构具有独立的16KB指令Cache和16KB数据Cache.每个都是由具有8字长的行组成。通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。它主要面向手持设备以及高性价比、低功耗的应用,具有非常丰富的片上资源。

FPGA芯片S3C500E主要用于图像传感器的控制、图像数据的缓存及外围芯片时序的产生。它通过控制A/D实现数据采集,并保存至SRAM,对ARM的读写信号进行译码以将目标数据读回ARM并传到上位机。

ARM芯片S3C2440A负责整个系统的控制,它通过读写总线上的地址来进行指令和数据的传输以控制FPGA的所有动作[1-2].嵌入式Linux内核负责系统任务的管理并集成TCP/IP协议,方便实现网络控制功能。

S3C2440A与AX88180以总线方式连接,是通信控制的主体。S3C2440A通过网络驱动程序实现对AX88180内部寄存器编程,以及对以太网数据的发送和接收,从而完成网络与系统之间的数据传输。

AX88180与88E1111之间采用RGMII接口方式互连,负责数据传送底层协议的实现。

 

 

2.2 数据采集接口设计

系统设计的难点在于数据采集接口的设计,它是数据传输的通道,同时也是连接系统前后端的桥梁。本系统采用S3C2440A和S3C500E配合共同实现数据的高速采集。

直接内存存取(DMA)作为一种独立于CPU的后台批量数据传输技术,以其快速、高效的特点在数据采集领域得到了广泛的应用。本设计中,S3C2440A采用外部DMA方式采集FPGA内部存储数据,其接口信号连接如图2所示。

 

 

接口设计的FPGA部分主要包括异步FIFO模块、复位模块和数据缓冲模块组成.异步FIFO模块主要解决图像输出数据频率和数据采集的频率不匹配的问题,系统采用的异步FIFO宽度为8bits,深度为2048.复位模块在控制信号的作用下实现对系统的FIFO的复位控制。

系统采用DMA通道0采集图像数据。

其中,DREQ0和DACK0分别为DMA的请求和应答信号。FPGA的空信号EMPTY与DREQ0相连,读请求RDREQ与DACK0相连。FPGA写时钟由图像输出位同步信号提供,读时钟由S3C2440A的时钟输出引脚CLKOUT0提供。CLKOUT0根据S3C2440A内部寄存器的设置可以输出几种不同的时钟频率。FIFO的读操作与ARM的DMA操作配合进行。系统采用单服务命令模式的DMA操作,每次传输一个字节数据位。当DREQ0信号变为低电平时DMA操作开始,每次传输一个字节后产生一个DACK0应答信号,而且只要DREQ0为低电平DMA操作就继续进行,直到DMA控制寄存器中的计数器为0,产生DMA中断。根据上述时序特点,将FIFO的空信号作为DMA的请求信号DREQ0.当图像输出的数据写入FIFO中时,空信号跳变为低电平启动DMA操作,同时以DACK0信号作为FIFO的读请求。每次DMA操作后产生的应答信号DACK0使FIFO内部的读指针前移1位指向下次要读出的数据。F-RESET和H-RESET分别控制FPGA内的帧同步复位和行同步复位,保证系统在每帧信号到来时开始工作,同时每采集完一行信号复位FIFO.FIFO输出数据经过以nGCS4为选通信号的BUFFER后接到ARM的数据总线上。nGCS4是S3C2440A存储空间中BANK4的片选信号,当S3C2440A对地址范围0×20000000~0×28000000的存储空间进行读写操作时为低电平,其余时间为高电平,NGCS4作为缓冲模块的选通信号可以有效地避免数据总线的污染。

2.3 网络传输接口设计

本设计采用的以太网控制器为台湾亚信公司推出的一款Non-PCI千兆以太网控制芯片AX88180.其内置1000Mbps以太网媒体存取控制器(MAC);它可以十分方便地实现与一般16/32位微处理器连接,并且可以像SRAM一样被访问;它有40KBytesSRAM网络封包缓存器。它符合IEEE802.3/IEEE802.3u/IEEE802.3ab协议,可广泛应用于各种消费电子和家庭网络市场或要求更高的网络带宽连接,如数字媒体、家用网关及IP电视等。

嵌入式芯片S3C2440A、以太网控制器AX88180及物理层芯片88E1111的接口电路图如图3所示。

 

 

S3C2440A与AX88180之间采用总线方式相连,地址总线A2~A15、数据总线D0~D31、读写信号等可以直接连接,AX88180中断信号与S3C2440A EINT11相连,AX88180的40M~100M时钟信号由S3C2440A提供,整个接口电路无需外加电路;AX88180与PHY芯片之间采用简化千兆比特媒体RGMII接口,信号对应 相连,负责实现数据传送底层协议[5].

3.Linux驱动程序设计

FPGA作为ARM的外设,需要设计它在Linux下的驱动程序。驱动程序是操作系统与硬件之间的接口,它为应用程序屏蔽硬件的细节。硬件系统只有和高效可靠的驱动程序相结合才能在操作系统下正常工作。

Linux的设备驱动程序需要完成如下功能:

①对设备进行初始化和释放。

②提供各类设备服务。

③负责内核和设备之间的数据交换。

④检测和处理设备工作过程中出现的错误。

Linux下的设备驱动程序被组织成一组完成不同任务的函数集合,通过这些函数使Windows的设备操作犹如文件一般。

Linux将设备分为字符设备和块设备两类。我们使用的是字符设备。驱动程序的模块化我们先不做介绍,我们主要介绍Linux下的中断[6].Linux将中断处理程序分解成两个半部:上半部和下半部。上半部完成尽可能少的比较紧急的功能,下半部用来完成中断事件的绝大部分任务。因为中断的耗时工作在这里完成,所以将读取数据放在下半部完成。Linux系统实现下半部采用的机制主要有tasklet、工作队列和软中断。许多设备涉及到中断操作,因此,在这样的设备的驱动程序中需要对硬件产生的中断请求提供中断服务程序。与注册基本入口点一样,驱动程序也要请求内核将特定的中断请求和中断服务程序联系在一起。在Linux中,用request_irq()函数来实现请求:

int request_irq(unsigned intirq,void(*handler)int,unsigned longtype,char*name);

参数irq为要中断请求号,参数handler为指向中断服务程序的指针,参数type用来确定是正常中断还是快速中断(正常中断指中断服务子程序返回后,内核可以执行调度程序来确定将运行哪一个进程;而快速中断是指中断服务子程序返回后,立即执行被中断程序,正常中断type取值为0,快速中断type取值为SA_INTERRUPT),参数name是设备驱动程序的名称。

我们的中断处理函数是:

void fpgalc12_interrupt(int irq,void*dev_id,struct pt_regs*regs)。

Irqflags是中断处理的属性,若设置了SA_INTERRUPT,则表示中断处理程序是快速处理程序,快速处理程序被调用时屏蔽所有中断,而慢速处理程序不屏蔽。dev_id在中断共享时会用到,一般设置为这个设备的结构体或NULL.request_irq()返回0表示成功,返回-INVAL表示中断号无效或处理函数指针为NULL,返回-EBUSY表示中断已经被占用且不能共享。这两个函数分别要在初始化和释放模块中加载。

要在Linux申请了中断通道后,系统会响应外部中断IRQ_EINT0,从而进入中断处理序。中断处理程序功能就是将有关中断接收的信息反馈给设备,并根据要服务的中断的不同含义相应地对数据进行读写[7-8].所以FPGA中断处理的主要任务是:FIFO在接收到AD转换来的数据后,向ARM发出中断请求信号,让ARM来读取FPGA中FIFO状态寄存器的值,获取需要信息并安排接受数据,然后写状态寄存器清除相关中断位以继续响应中断,保证数据的有效传输。

中断处理程序的第一步是要先清除S3C2440A的中断悬挂寄存器和中断源寄存器相应的位。这是为了能够继续响应FPGA产生的中断。为了能够让FIFO能及时的接收到新数据,把写状态寄存器放到中断的一开始,即第二步就是写状态寄存器相应位,通过置1清除状态使AD中断能够继续产生。最后读取FIFO的数据。使用中断后数据的传输效率大大得到提高,能够满足实际的采集需要。

4.结束语

本方案中的采集板充分利用了ARM的灵活性和FPGA的并行性的特点,实现了适用于高速数据采集板的设计。方案采用S3C2440A作为主控芯片,通过千兆以太网接口实时地将采集的数据传输到上位机PC机,上位机可实时控制目标数据采集。FPGA芯片在控制A/D转换芯片的同时,将数据存储在SRAM中,并通过DMA接口与S3C2440A进行数据传输。实验表明,本采集板的实时性和高速性能够满足系统的设计要求,可广泛应用于各种数据采集系统中。

关键字:高速图像  数据采集板 编辑:探路者 引用地址:一种高速图像数据采集板的设计方案

上一篇:基于TPS65580的三通道同步降压转换器参考设计方案
下一篇:一种CAN总线与以太网互连系统的设计方案

推荐阅读最新更新时间:2023-10-12 22:37

用低速A/D变换器取样高速图像的技术
需要高速A/D变换器的一个明显领域是PC图像数字代。虽然一般TV图像具有相当低带宽,并且可以在13.5MHz取样合成YUV信号或在子载波频纺的倍数(4×)取样PAL或NTSC复合视频,但PC图像数字化需要更高速率。惯用的CRT监视器接收模拟信号,但LCD监视器提供像素显示并且为了产生满屏图像需要由与平板显示相同分辨率的数字信号驱动,虽然直载了当的方案是采用相同或比最大像素率高的时钟率的A/D变换器,但本文给出采用较低速度变换器的两种方法。 取样率 表1列出VESA所规定的一些显示格式的速率。例如,虽然XGA标准高达94.5MHz,但大多数显示板可处理屏刷新率只有75Hz,所以在XGA分辨率限制到78.5MHz像素率。
[模拟电子]
三星推出新款图像传感器,支持超高速自动对焦
近日,三星电子推出新款 图像传感器 ISOCELL Fast 2L3,支持每秒960帧的超级慢动作拍摄和1/120秒快门速度的拍摄,大大强化了拍摄功能。 据了解,一般的图像 传感器 是像素(Pixel)感光后,通过模拟信号芯片,将转换成数字信号的图像传输到移动处理器上进行图像处理,再存储到外部的内存之后产生视频。但是图像传感器和移动处理器之间的数据传输有带宽的限制,因此无法将每秒960帧这种巨大的数据量实时进行传输。 三星电子ISOCELL Fast 2L3的图像传感器采用三层堆叠式结构,在原有的像素层和模拟逻辑层下,加入了2Gb的移动DRAM(LPDDR4)层。这样一来,超高帧率拍摄所需要的庞大的数据量可以先通过图像传感器内置的
[家用电子]
基于PXIE总线的高速CCD数字图像采集系统设计
  电容耦合器件(Charge Coupled Device,CCD),是20世纪70年代初发展起来的新型半导体光电成像器件。由于其具有信号输出噪声低、动态范围大、量子效率和电荷转移效率高等特点,加之多年来新型半导体材料技术的不断积累和大规模集成技术的日臻完善,CCD技术目前广泛应用于国民经济、国防建设、科学研究等各个领域。随着上述领域对数字图像的分辨率以及传输速度的要求越来越高,人们对高速图像采集系统的性能、稳定性和可靠性也提出了新的要求。本文提出了一种基于PXIE总线和Camera Link协议的高速CCD图像采集系统设计方案,并详细说明了部分模块的具体实现方式。   1 系统工作原理及总体设计   1.1 Camer
[嵌入式]
汽车碰撞实验车载测试系统中数据采集的设计
    摘要: 一种在自行研制的车载测试系统中使用的数据采集板,阐述了其硬件结构和软件设计。该数据采集板采用单独的MCU控制,采集电路以一片12位高速A/D芯片MAX120为核心,数据采用了循环存储的思想,数据采集实现了多通道的同步、高速,并实现了冲击条件下的在容量数据的可靠保存。实验证明了这种采集板的可靠性。     关键词: 碰撞 数据采集 数据存储 同步 可靠性 在汽车被动安全性研究中,碰撞实验是一项关键性的实验,而通过合适的测量技术取得整车或零部件和模型假人的实验数据才能保证实验的成功。汽车碰撞实验中的电测量技术主要有两大类:一类是拖长线测量方式;一类是车载数据采集。随着研究的深入和测量技术要求的提
[测试测量]
富士通A4 高速图像扫描仪全新发布 – 6 款机型
富士通A4 高速图像扫描仪全新发布 – 6 款机型(fi-8190、fi-8290、fi-8170、fi-8270、fi-8150 和 fi-8250) 凭借先进的进纸技术和全新光学技术,提供稳定可靠的图像质量和流畅的扫描体验 中国深圳,2022年6月20日 - 全球扫描仪龙头企业(1)富士通旗下子公司株式会社 PFU 今春同时发布了 6 款 fi 系列商用图像扫描仪新机型 ,于近日推向 中国市场 。6 款新机型包括 3 款 ADF(2) 机型:“fi-8190”、“fi-8170”和“fi-8150”,以及 3 款搭配平板机型:“fi-8290”、“fi-8270” 和 “fi-8250”。 作为深受欢迎的“fi-7
[传感器]
富士通A4 <font color='red'>高速</font><font color='red'>图像</font>扫描仪全新发布 – 6 款机型
基于ARM和FPGA的嵌入式高速图像采集存储系统
  现代化生产和科学研究对图像采集系统要求日益提高。传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。文中设计了一种基于ARM和FPGA的嵌入式的图像采集存储系统,可以很好地解决实时的嵌入式图像采集和存储问题。它主要包括图像采集模块、图像处理模块以及图像存储模块等。    1 系统结构及工作原理   本系统的结构模型,如图1所示。图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。原始图像数据送到FPGA后,FPGA将原始图像数据暂存于两个SRAM中,系统采用了Alter公司的EPlK30TCl44—3和I
[嵌入式]
基于高精度数据采集在LabVIEW平台实现VTE-MED海水淡化系统的设计
为了研究竖直蒸发管高温多效海水淡化(VTEMED)系统的工艺流程和关键工艺技术及稳定运行时的热工水力学参数影响等,清华大学核能与新能源技术研究院建立了大型双塔4效高温多效海水淡化实验装置。为了测量各部位的温度、压强及流量等热工参数,建立了基于虚拟仪器的海水淡化实验测控平台。使用高精度数据采集板及计算机等并在LabVIEW平台中实现了将传感器及热电偶的电压信号采集、输出、存储和分析。 1、 测量系统组成 VTE-MED海水淡化系统的实验回路是一个十分复杂的热工回路。需要测量和监控的热工水力学参数有流量、压力、温度等,共56通道,分布于系统的各个部位。图1就是用LabVIEW做的测量系统的示意以及部分热工参数分布图。 整个热工
[测试测量]
基于高精度<font color='red'>数据采集</font><font color='red'>板</font>在LabVIEW平台实现VTE-MED海水淡化系统的设计
用低速A/D变换器取样高速图像的技术
需要高速A/D变换器的一个明显领域是PC图像数字代。虽然一般TV图像具有相当低带宽,并且可以在13.5MHz取样合成YUV信号或在子载波频纺的倍数(4×)取样PAL或NTSC复合视频,但PC图像数字化需要更高速率。惯用的CRT监视器接收模拟信号,但LCD监视器提供像素显示并且为了产生满屏图像需要由与平板显示相同分辨率的数字信号驱动,虽然直载了当的方案是采用相同或比最大像素率高的时钟率的A/D变换器,但本文给出采用较低速度变换器的两种方法。 取样率 表1列出VESA所规定的一些显示格式的速率。例如,虽然XGA标准高达94.5MHz,但大多数显示板可处理屏刷新率只有75Hz,所以在XGA分辨率限制到78.5MHz像素率。
[应用]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved