新闻中心

EEPW首页>测试测量>设计应用> 基于PEX8311 PCIE总线的高速图像采集系统设计

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

作者: 时间:2011-05-09 来源:网络 收藏

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

本文引用地址://m.amcfsurvey.com/article/194969.htm

b.JPG



3 系统软件设计
3.1 FPGA逻辑程序
使用Verilog编写FPGA逻辑控制程序,共有5个底层模块和1个顶层模块。每个模块负责不同的功能。顶层模块为_CAMLINK模块,它通过调用其他模块的功能来实现整个系统的功能;CAMLINK模块用来控制Camera Link接口的读写;DoubleSdcon模块用来控制SDRAM芯片的使能和读写,实现图像的乒乓操作;FIFO模块用来缓冲数据和匹配各芯片的工作速度;C_16450模块进行串行到并行的转换,完成对CamLink相机的控制;-LOCAL模块用来控制PCI—Express接口部分的读写,也就是对芯片进行控制,对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。实验结果表明,设计的硬件系统满足高速图像传输的要求,并且性能稳定。


上一页 1 2 下一页

关键词:8311PCIEPEX总线

评论


相关推荐

技术专区

关闭