基于PEX8311 PCIE总线的高速图像采集系统设计

发布者:黄金大花猫最新更新时间:2011-05-30 关键字:PCIExpress  FPGA  CameraLink  WDM  PEX8311 手机看文章 扫描二维码
随时随地手机看文章
    图像采集和处理技术在机器视觉和图像分析等诸多领域应用十分广泛。随着高速的PCI Express(PCIE)总线的出现,基于PCIE接口的高速数据采集卡将在数据传输和处理量很大的场合发挥越来越重要的作用。
    CamLink相机是指带有Camera Link接口的相机。Camera Link是由数家工业摄影机及影像卡大厂共同制定出来满足各种视频传输要求的标准接口。这个标准不仅可以满足各种高速视频传输的要求,规范了数字摄像机和图像采集卡之间的接口,而且使视频设备提供商在设备开发和维护上的时间和成本大大减少。Camera Link提供了超高的图像传送速度,并且由于它的高性能、低成本以及其连接的便利性,迅速得到大多摄像头及图像采集卡生产商的支持。
    在一些高端领域,尤其是机器视觉领域,对计算机的数据传输和处理能力提出了严重的考验,当前图像采集卡的发展逐步向高速稳定传输和高速处理方向发展。PCI Express采用了目前业内流行的点对点串行连接方式,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。PCI-Express规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同需求。例如,PCIExpress X1规格支持双向数据传输,每向数据传输带宽250 MB/s,而33位33 MHz的PCI总线传输带宽仅为133 MB/s。PCI Express X16模式每向数据传输带宽可高达4 GB/s,双向数据传输带宽有8 GB/s之多。所以对于高帧频的CamLink接口相机来说,传统的总线(例如PCI总线接口)已经不能满足实时图像传输的要求。
    本系统使用PLX公司的PEX8311作为PCI Express X1接口芯片,系统中采用FPGA芯片实现对整个系统的控制,利用FPGA内部提供的FIFO IP核和外接的两片独立的SDRAM实现了高速图像数据的缓存处理。

1 系统构成及原理
    基于PEX8311的CamLink图像采集系统的硬件结构分为4个模块:CamLink接口模块、FPGA控制模块、SDRAM存储模块、PCI-Express接口模块。图1为系统的原理框图:

a.JPG


    系统的工作原理:系统上电后,上位机软件通过驱动程序控制FPGA对CamLink相机进行内部参数配置。配置完成后,CamLink相机输出帧频信号、行频信号、像索时钟信号和视频信号。由于CamLink接口输出的是差分信号,所以通过DS90CR288A芯片将差分转换成单端信号,输入给FPGA。在FPGA内部,通过FIFO对数据进行缓冲,在同步和时钟信号的控制下,FIFO输出的数据存放到SDRAM中。由于在同一时刻只能对SDRAM进行读或写操作,所以为了防止数据丢失,FPGA外接两片SDRAM,在奇帧的时候,向SDRAM1写一帧图像,而从SDRAM2读已保存的偶帧图像,完成图像传输的乒乓操作。使用PEX8311芯片完成PCIE接口,PEX8311由FPGA的逻辑程序对其控制。在上位机编写基于PCIE总线的驱动程序,将图像从SDRAM使用DMA方式读到计算机的内存中,上位机软件实现图像的显示和处理。

2 PCI-Express接口模块
    PCI-Express的接口实现方法很多,在本设计中使用PLX公司的PEX8311芯片通过桥接方式实现。PEX8311作为一种桥接芯片,在PCI Expr-ess总线和Local总线之间传递信息,它可以作为2个总线的主控设备去控制总线,也可以作为两个总线的目标设备去响应总线。芯片通过内部的控制逻辑模块、内部总线状态机和局部总线状态机模块来共同控制芯片的数据传输。PEX8311的控制逻辑模块包含各种寄存器组,这些寄存器组用来控制数据的传输,记录传输的状态。
    PEX8311提供两个串行E2PROM接口,在系统上电后读取配置信息。SPI串行E2PROM是PCI—Express的配置E2PROM。它主要用来控制PCI—Express的性能。[page]

    PEX8311提供完备的PCI—Express从设备支持,PCI-Express接口部分的信号线可以直接与PCI—Express连接器(俗称金手指)连接。其中,REFCLK±是一组差分时钟,它由系统主板提供。2个参考时钟都要求保持在正常工作频率100MHz的±300ppm之内。PRSNT1/PRSNT2信号线用于检查附加卡是否插入连接器。此次设计中将PRSNT1和PRSNT2相连,这样当接口板插入到PCI—Express连接器时就能进行存在检测。PCI-Express接口部分原理图,如图2所示。

b.JPG



3 系统软件设计
3.1 FPGA逻辑程序
    使用Verilog编写FPGA逻辑控制程序,共有5个底层模块和1个顶层模块。每个模块负责不同的功能。顶层模块为PCIE_CAMLINK模块,它通过调用其他模块的功能来实现整个系统的功能;CAMLINK模块用来控制Camera Link接口的读写;DoubleSdcon模块用来控制SDRAM芯片的使能和读写,实现图像的乒乓操作;FIFO模块用来缓冲数据和匹配各芯片的工作速度;C_16450模块进行串行到并行的转换,完成对CamLink相机的控制;PEX8311-LOCAL模块用来控制PCI—Express接口部分的读写,也就是对PEX8311芯片进行控制,对PEX8311的控制是实现PCI—Exp-ress总线的关键。
    设计中是通过编写状态机(FSM,Finite State Machine)来对PEX8311的读写进行控制的。图3为PEX8311的单周期读写的Verilog HDL语言时序控制状态机设计。状态0为空闲状态,如本地总线请求信号LHOLD被置为1,则转到状态1,否则停留在状态0。状态1为总线保持状态,在此状态下应将本地总线响应信号LHOLDA置为1。如ADS信号为0且LW/R为1转到状态2;如ADS信号为0且LW/R和BLAST都为1转到状态3,为单周期读状态。状态2为单周期写状态,在此状态下要置READY信号0,以表示写数据有效,在BLAST为0时转到状态3。状态3为读写完成操作状态,当LHOLD被置为0时,表明PEX8311不再请求本地总线,转到状态0,当BLAST为0且LHOLD为1时,表明PEX8311还要进行读写数据,则转到状态1继续。

c.JPG


3.2 驱动程序
    PCI—E总线与PCI总线在软件层是完全兼容的,因此PCI—E总线驱动程序的开发过程与PCI设备驱动程序的开发过程是一样的。本设计使用VC++6.0和开发工具包Driver Studio(DS)进行驱动程序的开发。DS可以集成到Visual C++环境中,针对特定的应用生成相应的驱动程序框架,在编程中采用面向对象的编程方法,极大地提高了编程效率。
    驱动程序主要完成的功能:1)设备的初始化,找到所要控制的硬件,在驱动程序对象中设置驱动程序分发例程的程序入口点,建立所有驱动程序对象或其他系统资源;2)创建设备对象,利用AddDevice函数创建了一个设备对象,并将其连接到以PD0为底的设备堆栈中;3)中断的响应与处理,完成对外部硬件中断的响应并将中断信息传递给应用程序;4)DMA操作,完成DMA的读写操作并在DMA传输结束后产生DMA中断,通过响应的DMA中断,将传输的数据发送到外部总线或应用程序。

4 实验结果
    通过编写上位机程序对系统的传输性能进行测试,测试的基本原理是上位机生成一批数据然后从计算机的PCI-Express接口写到PEX8311再写到FIFO,最后写到SDBAM中,然后上位机再从SDRAM中读回刚才写入的数据,比较读和写入的数据是否一致就能判断系统的读写是否正确,并且测试数据的传输速率。经过一段时间的测试,系统最大传输速度达到180 MB/s,满足了本系统高速数据的传输要求。

5 结论
    本文设计了基于PCI Express总线的CamLink接口的高速图像采集系统,在完成系统的硬件设计后,编写了FPGA的逻辑控制程序,并开发了驱动程序和上位机应用程序。系统采用PCI Express总线实现硬件电路与计算机之间的高速数据传输。接口芯片采用PLX公司推出的第一款PCI Express桥接芯片PEX8311。实验结果表明,设计的硬件系统满足高速图像传输的要求,并且性能稳定。

 

 

关键字:PCIExpress  FPGA  CameraLink  WDM  PEX8311 引用地址:基于PEX8311 PCIE总线的高速图像采集系统设计

上一篇:视频分析处理器满足视频监控的储存需求
下一篇:利用USB2.0单片机实现全数字图像的实时采集

推荐阅读最新更新时间:2024-03-30 22:14

20纳米战火炽 FPGA商竞推全新架构
现场可编程闸阵列(FPGA)厂商在20纳米(nm)节点的战火愈演愈烈。除了比拼先进制程技术,FPGA领域两家领导厂商--赛灵思(Xilinx)及 Altera亦于日前针对20纳米产品分别推出全新的设计架构及开发工具,藉此强化产品竞争力,让FPGA先进制程角力战再添火药味。   改造FPGA架构 赛灵思强攻20纳米   以赛灵思为例,为顺利从28纳米挺进至20纳米世代,该公司除借重台积电在先进制程的技术能力之外,亦重新设计了全新的设计架构--UltraScale及设计工具--Vivado,以突破FPGA从28纳米过渡到20纳米面临到的物理局限及设计瓶颈,期抢得市场先机。       图1 赛灵思全球品质控管与新产品导入资深副
[模拟电子]
20纳米战火炽 <font color='red'>FPGA</font>商竞推全新架构
精确综合:下一代FPGA综合平台
概述 电子系统设计正在发生着重要的转变。可编程逻辑器件使设计者可以开发具有千万门以上、频率超过300MHz以及嵌入式处理器的电路,能够集成完整的系统。这一技术进步通过提供ASIC领域之外的全面的方法,正在引起设计过程的转变。 在迅速变化的可编程逻辑领域,EDA提供商面临的挑战是,如何提供与硅容量和复杂性同步的设计工具和方法。例如,ASIC领域用了15年来合并硅处理和基于可靠的功能性EDA软件的设计方法。这种ASIC技术曾经是工业领域的驱动力和发展方向。可以说ASIC处理造就了电子工业廉价的方案,导致了电子工业的进步和创新。但目前这个过程已经趋于成熟,它更适合于极高端的设计,慢慢地脱离了大众化的市场。 过去的实践已经表明,当电子设计
[嵌入式]
创新加速,英特尔以全矩阵FPGA助产业智能化发展
今日,以“创新加速,塑造FPGA芯未来”为主题的2023年英特尔®FPGA中国技术日在北京成功举行。期间,英特尔不仅披露了包括Agilex® 3系列、Agilex® 5系列在内的多款FPGA产品细节及其早期验证计划,同时亦分享了与产业伙伴在数据中心、AI、网络、嵌入式等关键领域的诸多应用,旨在以逐步扩大的产品组合进一步满足广泛细分市场需求的同时,深度展示英特尔在加速可编程创新、推动中国行业数智化进程上的重要作用。 “ 在新场景、新应用海量增长的驱动下,中国本地市场对于FPGA产品的需求也在日益多元化和快速扩展。我们始终致力于以中国客户的实际需求为导向,基于领先的FPGA产品和软件为千行百业提供全场景的解决方案。”——叶唯
[嵌入式]
创新加速,英特尔以全矩阵<font color='red'>FPGA</font>助产业智能化发展
基于FPGA的实时红外图像放大模块
红外成像技术是目前非常有用的新型高科技,具有极强抗干扰能力,属于被动式观测装备,隐蔽性很强。长波红外可不受烟雾等的影响,分辨率高。另外,红外成像不受地面和海面的多径效应影响,具有多目标全景观察、追踪及识别能力,具有很广阔的应用前景和价值。   本文采用的红外系统为凯迈广微160×120系列,由于原始图像大小为160×120,在某些应用场合其分辨率很难满足需要,必须对图像进行放大。    图像放大 是一种常用的数字图像处理技术,在日常社会生活的许多领域有着广泛的应用,因此数字图像的放大是图像处理的基本操作之一。数字图像放大多用软件来实现。但随着现场可编程门阵列技术的突飞猛进,FPGA也逐渐进入数字信号处理领域,尤其在实
[嵌入式]
基于<font color='red'>FPGA</font>的实时红外图像放大模块
FPGA与CPLD的辨别和分类
    FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:     将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。      将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。     尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FP GA更适
[嵌入式]
ARM-FPGA杜邦线之片间传输--高速数据串扰
片间传输--高速数据串扰 这几天调试一个东东,STM32的FSMC传输数据给Bingo自制的VGA控制器,由于没有直接打板,板间用了杜邦线连接。FMSC传输模式为最快的速度,FSMC写时序如下图所示,最快达到了72M(HCLK)的速度。但是我用了杜邦线,,没办法。。。神奇的事情不断地发生,幽灵一直在身边,以此分享给大家点滴心得,虽然我也只是知道皮毛。 下图是我项目中STM32与FPGA间,杜邦线连接的图,杜邦线20cm,FSMC 最高HCLK=72MHz。从右到左分别为D0-D15,CS,RS,WR,RD 先贴一下贵人相助时的聊天记录,众人经验总结,精华部分,值得分享:
[单片机]
ARM-<font color='red'>FPGA</font>杜邦线之片间传输--高速数据串扰
一种基于FPGA的AGWN信号生成器的设计
  在通信系统中分析计算系统抗噪声性能时,经常假定信道噪声为加性高斯型白噪声(AGWN)。本文就是通过分析AGWN的性质,采用自顶向下的设计思路,将AGWN信号分成若干模块,最终使用Verilog硬件描述语言,完成了通信系统中AGWN信号发生电路的设计和仿真,其实质上是设计一个AGWN信号发生器。该信号主要应用在数字通信系统中,所以只需要产生数字形式的AGWN信号,这样既便于信号产生,也便于在数字通信系统中运用。    1 AGWN信号的产生   AWGN信号指同时满足白噪声和高斯噪声的条件的信号。白噪声功率密度函数在整个频率域内是常数,即服从均匀分布。完全理想的白噪声不存在。高斯噪声指概率密度函数服从高斯分布(即正态分布)。
[嵌入式]
一种基于<font color='red'>FPGA</font>的AGWN信号生成器的设计
一种机器人视觉系统模块的原理分析及设计
一、概述   视觉技术是近几十年来发展的一门新兴技术。机器视觉可以代替人类的视觉从事检验、目标跟踪、机器人导向等方面的工作,特别是在那些需要重复、迅速的从图象中获取精确信息的场合。尽管在目前硬件和软件技术条件下,机器视觉功能还处于初级水平,但其潜在的应用价值引起了世界各国的高度重视,发达国家如美国、日本、德国、法国等都投入了大量的人力物力进行研究,近年来已经在机器视觉的某些方面获得了突破性的进展,机器视觉在车辆安全技术、自动化技术等应用中也越来越显示出其重要价值。本文根据最新的CMOS图像采集芯片设计了一种通用的视觉系统模块,经过编制不同的图像处理、模式识别算法程序本模块可以应用到足球机器人,无人车辆等各种场合。 二、设计
[医疗电子]
一种机器人视觉系统模块的原理分析及设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved