总线高速数据采集卡的设计与实现

基于PCI Express总线高速数据采集卡的设计与实现
马萍1,2,3 唐卫华2李绪志  2
(1-中国科学院研究生院, 北京100080 ; 2-中国科学院光电研究院, 北京 100080;
3-中国科学院空间科学与应用研究中心, 北京100080)
摘要:本文介绍一种基于PCI Express总线的高速数据采集卡的设计方案及功能实现。给出系统的基本结构及单元组成,重点阐述系统硬件设计的关键技术和本地总线的控制逻辑,详细探讨了基于DriverWorks的设备驱动程序的开发以及上层应用软件的设计。该系统通过实践验证,可用于卫星下行高速数据的接收并可适用于其他高速数据采集与处理系统。
关键词:PCI Express总线  PCIE  PEX8311  DMA  板卡驱动
中图分类号:TP336 文献标识码:A
Design and Implementation of a High-speed Data Acquisition
Card Based PCI Express Bus
两脚离合器
Ma, Ping1, 2, 3  Tang,Weihua2  Li,Xuzhi2
(1-Graduate University of Chinese Academy of Sciences, Beijing 100080,China; 2-Academy of Opto-Electronics, CAS, Beijing 100080,China; 3-Center for Space Science and Applied Research, CAS, Beijing 100080,China) Abstract:A design project and function realization of a kind of high-speed data acquisition card based on PCI Express bus is introduced in this paper. It presents the structure and circuit cells of the system, emphasizes the key technique of system hardware design and the control logic of local bus, discusses in detail the development of device driver based on DriverWorks and the design of super application software. Verified by practice, this system can be used to receive the high-speed data down from satellite. And can also be applied to other high-speed data acquisition and processing system.
Key words:PCI Express Bus, PCIE, PEX8311, DMA, Card Driver
0  引言
随着空间科学和空间电子学技术的飞速发展,空间科学实验的种类和数量以及科学实验所产生的数据量不断增加。为了使地面接收处理系统能够实时处理和显示科学图像数据,必须要设计出新的地面数据接收处理系统,实现大量高速数据的正确接收采集、处理以及存储。为了满足地面系统的要求,并
为以后的计算机系统升级提供更广阔的空间,本系统拟采用第三代I/O互连技术PCI Express(简称PCI-E)作为本数据采集卡的进机总线形式。本文通过对PCI-E总线专用接口芯片PLX公司的PEX8311性能分析,特别是对突发读、写和DMA 读操作的时序研究,设计出本地总线的可编程控制逻辑,并详细讨论了整个PCI-E高速数据采集卡的硬件设计方案,以及WDM驱动程序和上层应用程序的设计方法。
1  PCI Express总线简介
PCI Express1.0自2002年7月由PCI-SIG正式公布起,得到了原有PCI、AGP总线及AMD、 VIA等系统内部总线开发者的拥戴。它提供了一种适合于10Gbit/s速度的串行接口,克服了传统并行PCI总线的一些性能限制。可配置为X1、X2、X4、X8、X12、X16或X32的数据传输通道模式。X1的单向通道传输带宽约为2.5Gbit/s,X32可达到16GB/s的总带宽。2007年1月发布的PCI Express2.0标准实现了X1单向数据传输速率5Gbits/s。
在过去的十几年间PCI总线是非常成功的,它的平行总线机制在现在看来依然具有很高的先进性,但是它的带宽却早已显示出种种的疲态。PCI-E的提出就是为了要提高总线的带宽和工作频率,并解决许多实际应用中的问题。在整体性能方面,PCI-E总线只需要从芯片组
中引出很少的管脚,这使得主板布线难度大大降低,从而全面降低了系统单位带宽的成本,但它却具
有比现在PCI高的多的带宽和传输速度;在通信模式方面,PCI-E采用串行点对点方式,采用LVDS串行链路接口和时钟数据恢复同步技术,并利用8b/10b编码机制将时钟信号嵌入数据信号,保证数据传输的可靠性;同时它还具有像USB、火线一样“走出机箱”、跨平台兼容等优点,从而得到众多工程师的青睐。本系统就是基于PCI-E总线的这些独特优点,设计出一款更经济实用的高速数据采集卡,确保卫星下行数据的实时准确接收。
2系统硬件整体设计方案
卫星高速下行数据经地面接收站解调后,通过光纤以数字基带信号形式传递到本地端,本系统所设计的接收卡就是负责接收解调器输出的高速基带数据流。硬件系统主要包括PCI-E总线控制器、高速数据缓存、差分数据接口和CPLD本地逻辑控制四部分。系统结构如图1所示。
图 1  PCI Express数据采集卡整体结构框图
I、Q两路分向的LVDS信号及本地恢复时钟CLK经SMA接头进入板卡,首先通过差分信号接收器转换为LVTTL电平,然后将串并转换后的8位并行数据在CPLD的控制逻辑下送入FIFO缓存。当FIFO存储器中的数据半满时,由CPLD向PEX8311总线控制器发出本地中断信号LINTi,并由后者启动DMA传输,将数据经PCI-E总线上传至PC机内存,待上层应用处理软件进行存储硬盘、快视及归档。本设计需要完成的工作主要有两部分,一是根据PEX8311的工作原理,通过驱动程序配置相应的内部寄存器。二是根据PEX8311提供的LOCAL端总线工作时序,在CPLD中实现相应的控制逻辑,进而保证系统的协调工作。
3 系统硬件实现
3.1  PCI-E总线接口芯片PEX8311的性能简介
PEX8311是PLX Technology公司推出的一款专用于将DSP、FPGA等处理器总线接口升级为PCI-E的桥接器件。利用PEX8311灵活的局部总线可以方便连接多种存储器、缓存器及FPGA、DSP等逻辑芯片,使复杂的PCI-E接口设计简单化。PEX8311兼容PCI Express1.0标准,其本地总线和寄存器与PCI9056兼容,内部集成了单通道、全双工2.5Gbps的PCI-E 端口,并提供完整的本地总线到PCI-E的接口,包括地址转换、包生成与解码、信号中断支持及并串转换[1]等。
笛卡儿积
PEX8311提供三类物理总线接口:LOCAL、PCI-E及两种串行EEPROM(SPI、Microwire)接口。其中,LOCAL端具有32 位数据总线宽度和66MHz时钟频率。PEX8311支持三种LOCAL总线接口模式:C模式、J模式和M模式,可方便与多种微处理器连接。实际中常用的还是时序逻辑相对简单的C模式,即非复用的地址/数据总线模式,适用于Interli960、DSPs、通用ASICs及FPGA等[1]。PEX8311的LOCAL和PCI-E之间具有三种数据传输模式:直接主模式、直接从模式和DMA模式。在DMA方式中,PEX8311提供了两个独立的DMA通道,支持聚散模式和块模式。本系统中采用DMA总线突发模式的块传输。
3.2  基于PEX8311的高速数据接口
差分数据接口
系统采用DS90LV032A作为差分信号接收器将三路LVDS信号分别转换为LVTTL电平并送入CPLD。DS90LV032A是National Semiconductor公司推出的一款3V LVDS 四路CMOS差分信号接收器,其最大转换速率大于400Mbps,而且该芯片具有相对应的LVDS 驱动器DS90LV031A,易于搭建整个收发系统。
高速数据缓存
由于PEX8311内部仅提供6个最大深度64Dwords的FIFO,对于高速实时的DMA传输可能会造成数据的溢出丢失,所以需要外部扩展大容量的FIFO缓存。综合考虑系统的通用性和简单性,采用IDT公司的IDT72V36100作为本系统的高速数据缓存。该芯片提供65536*36Bits的存储空间,并具有灵活的输入、输出数据线宽度和133MHz的工作频率,同时提供EF(空标志)、FF(满标志)、HF(半满标志)等信号,可方便为CPLD提供时序控制。在本系统中,设置FIFO的总线配置信号BM、IW、OW全为高,IP为低,使其输入输出数据宽度分别为8bits和32bits。设置FWFT/SI信号为低,选择其工作在IDT标准模式,控制FIFO 中的数据在REN低有效时才能读出。
本地总线可编程逻辑控制
系统采用Xilinx的XC9500XL-5系列CPLD作为本地总线的逻辑控制器,负责协调好与FIFO和PEX8311之间的时序关系。系统启动时,首先由驱动程序向PEX8311发送复位信号,通过LRESET复位本地端的CPLD和FIFO,清空FIFO内部数据,并将HF和FF标志置为无效,然后等待数据的输入,从而控制了接收数据的有用性和连续性。
数据和时钟进入CPLD后,首先将I、Q两路信号在4个CLK周期下合并为8位并行数据,并在每一个写时钟WCLK的上升沿写入FIFO。当FIFO中的数据达到半满状态时,HF标志位有效,通过CPLD向PEX8311发出DMA中断请求。PC机响应中断后,设置DMA 传输模式,传输字节数及地址信号等。PE
甲基丙烯酸X8311通过LHOLD申请控制本地总线,待收到CPLD发出的LHOLDA响应信号后获得本地总线的控制权,并立即启动4字节突发模式的Block DMA周期。CPLD在收到有效的LW/R读信号和ADS地址选通信号后,发出Ready 本地准备好应答信号,同时使能FIFO的读允许REN和输出允许OE。在传输最后一个数据时,PEX8311发出BLAST信号,CPLD置FIFO读使能和输出使能无效,并取消Ready从而结束DMA周期。实际接收测试过程中由数字示波器采集到的波形如图2所示。
图2  PEX8311 四字节突发Block DMA传输周期
3.3  系统PCB设计
由于PCI-E总线速率较高,所以对板卡的PCB设计有严格的布线要求。系统中PEX8311
需要3.3VI/O、2.5V Local内核、1.5V PCI-E内核以及1.5V PLL4种电源供电,所以考虑电源层分割的困难,板卡采用两个电源层,同时需要做好电源的完整性分析,从而有效降低系统的辐射干扰。对于PCI-E edge,要求差分时钟对线宽大于5mils,间距小于11.25mils,与其他差分对间距大于20mils;对于收发数据的差分对,要求走线长度相差不能超过5mils,而且线宽要保持一致。为了有效抑制系统的电磁干扰,提高系统的电磁兼容性,系统中所有芯片的电源引脚,尤其是金手指的PCIE12V和PCIE3.3V附近都需要放置去耦合电容。
3.4  高速系统信号完整性分析设计
信号的完整性是指信号通过电路传输后,接收端波形与信号发送端发送的波形在容许的误差范围内保持一致,并且空间邻近的传输信号间的相互影响也在容许的范围之内。因此,信号的完整性分析保证了电路板高速信号的可靠传输。由于实际信号总是存在电压波动,尤其对于高速信号而言,信号的过冲、振铃、反射以及信号的延迟和串扰现象更为显著。在本设计中,利用PADS公司的HyperLynx及芯片厂家的IBIS模型对板卡上的高速时钟及主要信号进行完整性分析。通过实际的仿真分析,需要在信号线上串联终端负载阻抗以减小过高的上冲和下冲,同时调整LCALBUS的时钟走线,避免时钟的延迟对数据造成错误采样。
视频模块
4  系统软件设计
本系统软件设计包括驱动程序和接收应用程序两部分,其中驱动程序利用NuMega公司提供的Driverstudio开发完成,充分利用DriverWorks大大简化了WDM驱动程序的开发,缩短系统的开发周期,同时DriverStudio内置的SoftICE为内核驱动程序的调试提供了强有力的工具。由于在本设计中采用DMA突发模式,所以驱动程序需要利用KDmaAdapter,KCommonDmaBuffer和KDmaTransfer类来分别创建DMA适配器,申请DMA公共缓冲区和控制DMA传输[3]。
应用程序启动后,首先通过设备接口获取驱动程序的文件句柄,然后向设备发出复位命令,并发起读操作。驱动程序在收到读命令后,将读IRP压入队列并启动StartIO。然后设置PEX8311的中断及DMA通道0的配置寄存器,并等待FIFO的半满中断。当中断产生后,调用ISR中断服务例程判断中断源是否来自本设备,若是则立即转入DpcForIsr()发起DMA 传输。当DMA传输结束时,在OnDmaReady回调例程中调用PnpNextIrp,结束此次IRP,并通知应用程序读取缓存区中的数据。
5结束语
PCI Express作为新一代总线形式登上了历史的舞台,它以独特的结构与性能优势吸引了众多系统板卡设计师。为了顺应计算机主板结构的发展趋势,本文依托于PCI-E总线控制器PEX8311设计出一款实用的高速数据采集卡。目前,本系统已通过实际测试,数据源使用了自行研制的卫星图像数据模拟
失歌症测试信号源,格式符合CCSDS高级在轨系统数据标准。根据对采集记录的数据文件处理、显示表明,设计达到预期的指标要求,可实时正确接收320Mbps的高速数据流,符合卫星高速下行数据的接收要求。
本项目具有一定的社会效益,PCI Express总线技术的开发,进一步推动了地面卫星接收、处理技术的更新发展。由于本系统的设计技术具有很大的通用性和灵活性,所以使其可以广泛应用于其他高速数据采集、信号处理等方面。
参考文献:
[1] PEX8311 Data Book V0.95, March 2007
[2] 韩雪峰, 黄焱, 杨涛, 基于PCI总线的高速数据采集接口的设计与实现[J].微计算机信息, 2005, 8-1: 71-73.
[3] 武安河, Windows 2000/XP WDM设备驱动程序开发(第二版)[M], 北京:电子工业出版社, 2006
作者简介:
马萍(1983-),女,山东,中国科学院研究生院硕士研究生, 研究方向为信号处理、数据通信;李绪志,男,北京,研究员,博士生导师,研究方向为地面系统工程技术。
唐卫华,男,北京,高级工程师, 主要从事信号处理,空间电子学等研发;
Biography:
Ma Ping(1983-), female, Shandong,Graduate Student of Graduate University of Chinese Academy of Sciences, Research aspect:signal processing、data communication;
Xuzhi Li, maile, Beijing, professor, doctor supervisor, Research aspect: engineering of ground system.
Weihua Tang, male, Beijing, Senior Engineer, major in signal processing, space elecronics development;
本系统设计的创新点:
为了顺应计算机主板结构的发展趋势,本设计放弃了以往惯用的PCI总线,而尝试采用新一代I/O互联技术PCI Express总线作为高速数据接收卡的进机总线形式。通过实际性能测试,本系统符合卫星高速下行数据的接收要求,同时验证了PCI-E总线较PCI具有更高的性能优势,为今后的计算机系统升级提供了更广阔的空间。
我单位图书馆——中国科学院国家科学图书馆已订阅本杂志。晚钟 电影
文献标识码:A 中图分类号:TP336

本文发布于:2024-09-23 23:28:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/167020.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   总线   信号   数据   设计   模式   接收   传输
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议