当前位置:首页 > EDA > 电子设计自动化
[导读]摘 要: 通过设计PCI Express高速数据传输卡实现了地面控制台与计算机之间的高速数据传输。高速数据传输卡采用PLX公司的接口芯片PEX8311来实现PCI Express总线的接口逻辑,数据传输采用DMA方式,通过对信号源的自检验

摘 要: 通过设计PCI Express高速数据传输卡实现了地面控制台与计算机之间的高速数据传输。高速数据传输卡采用PLX公司的接口芯片PEX8311来实现PCI Express总线的接口逻辑,数据传输采用DMA方式,通过对信号源的自检验证了传输卡能够实时无误地传输数据。在硬件设计部分,主要对差分传输、PCI Express接口电路和FPGA逻辑控制模块进行了描述和设计。

地面测控系统由上位机软件、工业控制计算机、地面控制台及相应电缆网组成。在系统联试前它可以和采编器、存储器构成闭环反馈,对采编器、存储器实施自检。地面控制台在上位机软件的控制下,真实模拟机上接口信号,为采编器提供不同的数字量信号,并对回收后的存储器进行数据的读取分析。以前地面测试系统中的上位机软件系统和地面控制台之间的通信是由USB接口来完成的,传输速率较低。为了解决大容量数据高速读取的瓶颈问题,采用PCI Express总线来读取数据。PCI Express 采用了目前业内流行的点对点串行连接, 每个设备都有自己的专用连接, 不需要向整个总线请求带宽, 而且可以把数据传输率提高到一个很高的频率, 达到 USB 所不能提供的高带宽。本文设计并实现的数据传输卡基于PCI Express总线,提高了系统的读写速度,满足了目前大容量高速实时传输记录的要求。

1 系统结构

地面控制台是模拟机上信号源功能,信号源由上位机生成,然后下载到地面控制台的RAM中。为了正确地发送信号源数据需要对下载的信号源数据进行自检,即将地面控制台RAM中的数据读入上位机来验证控制台中信号源是否正确。本系统通过PCI Express传输卡实现了信号源自检功能。

如图1所示,上位机通过PCI Express接口将信号源的数据下载到FIFO1存储器当中,同时将相应的控制命令发送给FPGA。FPGA检测到相应控制命令后,开始读取FIFO1中的数据,并将该数据经过串并转换写到地面控制台RAM中。为了保证上位机下载到静态存储器中的数据的正确性,上位机可以通过PCI Express接口将地面控制台RAM中的数据写到FIFO2存储器当中,读取其中的数据并进而对该数据进行判读以验证信号源数据的正确性。

 

 

2 硬件设计

2.1 差分传输

低压差分传送技术是基于低压差分信号LVDS的传送技术,其主要特点是抗干扰能力强、传输速率高、低功耗、噪声性能好。

传输卡接收LVDS数据时,考虑到在远距离的数据传输过程中会遇到一系列的干扰而导致信号的衰减,在接收端设计了CLC014驱动芯片,发送端设计了CLC001驱动芯片,其作用是把传输来的信号增强。CLC001与CLC014是配芯片,在设计中要一起使用才能够起到对长距离传输时信号衰减的恢复。串并/并串转换电路中采用LVDS DS92LV1801芯片,它是一款18位的串并/并串转换芯片,实现16位数据传输。

2.2 PCI Express接口设计

PCI Express总线接口的设计方法大体有两种:使用可实现PCI Express物理接口的可编程逻辑器件FPGA或使用专用接口芯片。前者的优点是其灵活的可编程性,缺点是开发难度比较大,开发周期比较长;而专用接口芯片实现了PCI Express的物理层和数据链路层、事务层的控制逻辑,这使用户可以专心于其应用方面的开发,而不必费力再调试PCI Express接口,降低了开发的难度,是一般用户实现PCI Express接口的有效方法。该设计采用美国PLX公司推出的PEX8311作为本地总线与PCI Express总线的接口。

2.2.1 PEX8311的性能简介

PEX8311是一款x1的PCI Express接口芯片,本地端总线频率最高可达66 MHz,数据位宽32 bit。PEX8311有主模式、从模式和DMA三种数据传输模式。主模式是由 Local总线主设备通过PEX8311访问PCI Express总线存储空间和I/O空间;从模式是由PCI Express总线主设备通过PEX8311访问Local总线存储空间和I/O空间;DMA传输模式由PEX8311作为两总线的主设备,能在PCI Express总线存储空间和Local总线存储空间之间互传数据。这三种数据传输方式中,从模式的优先级最高,主模式次之,DMA方式最低。PEX8311桥高速数据传输的内部块图解如图2所示。

 

 

PEX8311有6个内部FIFO,分别作为主模式、从模式、DMA这三种数据传输模式的读写数据通道,这些FIFO用于使两条总线的操作相对独立,从而保证高性能的数据突发传输。

2.2.2 电路设计

从图2可看出,采用PEX8311的接口设计在逻辑上可分为3个功能模块:PCI Express接口部分、EEPROM部分和本地总线部分。

(1) EEPROM部分

PEX8311提供两个串行EEPROM接口,在系统上电后读取配置信息。SPI串行EEPROM是PCI-Express的配置EEPROM,它主要用来控制PCI Express的性能。SPI串行EEPROM可以用来预配置片上8 KB共享缓存,用1、2或3字节地址PEX8311可支持容量达到16 MB的SPI串行EEPROM。本设计中使用容量为64 KB的AT25640器件。MicroWire串行EEPROM是本地配置EEPROM,它用来控制本地总线行为,并分配合适的地址范围。配置器件可直接与PEX831l相连。

(2) PCI Express接口部分

PCI Express接口部分的信号线可以直接与PCI Express连接器(俗称金手指)连接。其中,REFCLK±是一组差分时钟,它由系统主板提供。两个参考时钟都要求保持在正常工作频率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传输卡能够实时无误地传输数据。通过功能测试及数据分析可知,系统实现了任务中提出的功能要求,达到了技术指标。

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

在这篇文章中,小编将对USB接口的相关内容和情况加以介绍以帮助大家增进对USB接口的了解程度,和小编一起来阅读以下内容吧。

关键字: USB 通用串行总线 总线

今天,小编将在这篇文章中为大家带来嵌入式总线技术的有关报道,通过阅读这篇文章,大家可以对嵌入式总线技术具备清晰的认识,主要内容如下。

关键字: 嵌入式 总线

- NIPPON EXPRESS全新品牌宣传片带您走进全球物流的幕后 东京2023年9月4日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社于9月1日发布了全新品牌宣传片《Finding th...

关键字: EXPRESS NI IP PS

苏州2023年8月22日 /美通社/ -- 近日,复旦大学附属中山医院葛均波院士团队成功在新一代介入式人工心脏(NyokAssist®,心擎医疗)支持下为三支病变、左主干病变伴前降支慢性完全闭塞病变合并低左室射血...

关键字: PCI ASSIST 血压 血流动力学

东京2023年8月17日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)的集团公司Nippon Express (Ireland)...

关键字: EXPRESS LAN NI IP

汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战汽车总线测试流程。概括的讲,汽车总线的测...

关键字: CAN 总线 汽车

现代电子技术的正处于一个飞速发展的时代,随着现代汽车整体性能的逐渐完善,单片机和集成电路不再是家电等电器产品的专属,也正愈来愈广泛的被在应用现代汽车上,电子控制单元部件及各种传感器数量在现代汽车的装配也越来越多。为方便这...

关键字: 汽车 总线 监控

现在CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,现场总线是当今自动化领域技术发展的热点之一、被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠...

关键字: CAN 总线 硬件

CAN(Controller Area Network)是一种多主方式的串行通讯总线。基本设计规范要求有高的位速率、高抗电磁干扰性,而且能够检测出产生的任何错误,当信号传输距离达到 10Km 时 CAN-bus 仍可提供...

关键字: CAN 串行通讯 总线

CAN(Controller Area Network)即控制器局域网络。是应用在现场、在微机化测量设备之间实现双向串行多节点数字通讯系统,是一种开放式、数字化、多点通信的底层控制网络。 CAN协议建立在ISO/OSI模...

关键字: CAN 数字通讯 总线
关闭
关闭