当前位置:首页 > 测试测量 > 测试测量
[导读]摘要:针对传统PCI总线带宽低,不能传输高速视频信号的缺陷,设计了使用芯片PEX8311为PCIExpress桥接芯片,采集传输CamLink接口相机图像的硬件系统。对PEX8311芯片的特点及其工作模式,以及用状态机在FPGA中实现对PE

摘要:针对传统PCI总线带宽低,不能传输高速视频信号的缺陷,设计了使用芯片PEX8311为PCIExpress桥接芯片,采集传输CamLink接口相机图像的硬件系统。对PEX8311芯片的特点及其工作模式,以及用状态机在FPGA中实现对PEX8311控制做了介绍。通过编写WDM驱动程序和上位机程序对系统的数据传输性能进行了测试。测试表明该系统满足高速图像传输的要求,并且性能稳定。
关键词: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为系统的原理框图:


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



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继续。


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。实验结果表明,设计的硬件系统满足高速图像传输的要求,并且性能稳定。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭