微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PCI Express总线的高速数据传输卡设计

基于PCI Express总线的高速数据传输卡设计

时间:12-04 来源:互联网 点击:

钟,它由系统主板提供。两个参考时钟都要求保持在正常工作频率100 MHz ±300 Hz之内。PRSNT1/PRSNT2信号线用于检查附加卡是否插入连接器。此次设计中将PRSNT1和PRSNT2相连,这样当接口板插入到PCI Express连接器时就能进行存在检测。原理图如图3所示。

(3) 本地总线部分

 LOCAL端具有32位数据总线宽度和66 MHz时钟频率,PEX8311支持三种LOCAL总线接口模式: C模式、J模式和M模式, 可方便与多种微处理器连接。接口模式由MODE0和MODE1两管脚确定。实际中常用的还是时序逻辑相对简单的C模式, 即非复用的地址/数据总线模式。PEX8311支持三种局部总线数据传输模式:单周期模式、四周期突发模式、连续突发模式。

 DMA传输数据使传输任务从主控设备中解脱出来,由短且有效的传输描述符来承担,让主控设备可以有时间去处理其他事件。PEX8311有两个DMA通道,可以同时处理两侧总线上要求的传输,免去外部设备的等待。另外,DMA传输可以与主模式和从模式传输同步操作,但后两者比DMA传输优先级高。考虑到DMA传输有以上优点,本设计中PCI Express接口部分采用四周期突发模式DMA块传输模式,LOCAL总线接口采用C模式。

2.3 FPGA逻辑控制

 在本设计中FPGA采用了Altera公司的CycloneII系列的 EP2C20F484芯片,这款芯片具有484个IO引脚,其中可用IO引脚315个,具有68 416个逻辑单元,有1.1 Mbit的RAM可利用,可变的端口RAM配置×1,×2,×4,×8,×9,×16,×18,×32和×36。对EP2C20F484芯片配置可以使用EPCS4、EPCS16。在本设计中采用EPCS4对EP2C20F484芯片配置。其配置原理图如图4所示。

 在上面的配置原理图中有两个下载口:一个是JTAG下载口,一个是AS下载口。其中JTAG下载口是用来下载.sof文件的,下载.sof文件后可以使用quartus II 6.0的逻辑分析仪进行在线调试;另一个下载口是下载.pof文件的,其作用是把程序烧写进EPCS4配置芯片,在FPGA每次加电开始工作之后,把程序导引到FPGA的内部RAM中,使器件实现设计者要求的逻辑功能。

 FPGA作为本地总线的逻辑控制器,负责协调好与FIFO和PEX8311之间的时序关系。系统接收数据时, 首先由驱动程序向PEX8311发送复位信号,通过LRESET复位本地端的FPGA和FIFO,清空FIFO内部数据,并将HF和FF标志置为无效,然后等待数据的输入。数据和时钟进入FPGA后, 首先将外界传入到FPGA中的16位并行数据在两个CLK周期下合并为32位并行数据, 并在每一个写时钟WCLK的上升沿写入FIFO2。当 FIFO2中的数据达到半满状态时, HF标志位有效,通过FPGA向PEX8311发出DMA中断请求。PC机响应中断后, 设置 DMA传输模式, 传输字节数及地址信号等。PEX8311通过LHOLD申请控制本地总线, 待收到FPGA发出的 LHOLDA响应信号后获得本地总线的控制权, 并立即启动4字节突发模式的Block DMA周期。FPGA在收到有效的LW/R读信号和ADS地址选通信号后, 发出Ready本地准备好应答信号, 同时使能FIFO2的读允许 REN和输出允许OE。在传输最后一个数据时, PEX8311发出BLAST信号, FPGA置FIFO读使能和输出使能无效, 并取消Ready从而结束DMA周期。系统发送数据时,FPGA将计算机写入FIFO1中的32位数据拆分成两个16位数据送入并串转换芯片再经过驱动芯片发送到测试台。

3 软件设计

 本系统软件设计包括驱动程序和应用程序两部分。为了降低开发难度、缩短时间,又不使所开发的驱动程序效率太低,本文选用DriverStudio来开发PCI-E的功能驱动程序。应用层软件采用VC++6.0编写,按用户要求运行于Windows2000/WindowsXP平台。通过和人机交互界面接收用户的设置,然后把这些设置传递至驱动程序中,由驱动程序对硬件进行初始化和配置,最后应用程序从驱动程序中读写数据。本应用程序采用了多线程的方式与驱动程序进行交互通信。

4 性能测试

 信号源的数据格式可以根据需要设置,软件默认设置为递增数据。图5为自检信号源数据,该数据为00-FF递增数据。将信号源数据下载到地面控制台RAM中。

下载信号源成功后,将地面控制台RAM中的数据读入上位机来验证是否信号源正确。通过图6所示的数据分析软件可以详细地检验从RAM中读回的数据是否准确。

此数据波形验证了PCI Express传输卡能够实时无误地传输数据。通过功能测试及数据分析可知,系统实现了任务中提出的功能要求,达到了技术指标。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top