基于virtex5的PCIe基础设计.docx

上传人:b****5 文档编号:8323167 上传时间:2023-01-30 格式:DOCX 页数:33 大小:1.86MB
下载 相关 举报
基于virtex5的PCIe基础设计.docx_第1页
第1页 / 共33页
基于virtex5的PCIe基础设计.docx_第2页
第2页 / 共33页
基于virtex5的PCIe基础设计.docx_第3页
第3页 / 共33页
基于virtex5的PCIe基础设计.docx_第4页
第4页 / 共33页
基于virtex5的PCIe基础设计.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于virtex5的PCIe基础设计.docx

《基于virtex5的PCIe基础设计.docx》由会员分享,可在线阅读,更多相关《基于virtex5的PCIe基础设计.docx(33页珍藏版)》请在冰豆网上搜索。

基于virtex5的PCIe基础设计.docx

基于virtex5的PCIe基础设计

 

基于PCIExpress总线接口的大规模PLC

高速背板总线研究与设计

电子信息工程2010级谢攀攀

摘要

随着现代工业自动控制技术的飞速发展,规模不断扩大,采集的数据量随之迅猛增加。

大型PLC面向大规模的工业自动化应用,连接的现场IO信号数量巨大,数字量I/O可达上万点,模拟量I/O可达上千点。

如果仅仅依靠单个I/O机架和背板总线是不可能实现的,必须采用新型高速工业现场总线进行通讯实时调度控制。

为保证PLC的控制响应速度,传输速率达到几十兆甚至上百兆,而目前主要的工业控制总线速率不超过20Mbps。

本文论述了国内外PLC和现场总线的发展现状及趋势,对当前主流现场总线进行对比分析。

针对高速背板总线的通信速率要求,提出了基于PCIExpress总线协议的数据传输在工业控制领域的应用创新性。

重点研究了PCIe的通信机制与数据传输解析,并给出基于xilinx公司的Virtex5上PCIeIP核的详细设计。

对Windows环境的驱动开发工具做了对比介绍,阐述了WinDriver开发PCIe驱动的流程并进行了测试。

并提出了Xilinx公司最新zynq7000系列的FPGA的嵌入式系统下的PCIe核与外设接口的DMA通信设计模块思想。

关键字:

PLC,PCIe,通信机制,WinDriver

 

Abstract

Withtherapiddevelopmentofmodernindustrialautomaticcontroltechnology,thescaleexpandsunceasingly,acquisitionofdataquantityincreasesrapidly.DuetothelargePLCforlarge-scaleindustrialautomationapplications,thenumberofconn_ectionwiththeIOsignalishuge,whosedigitalI/OcanbeuptotensofthousandsofpointsandanalogI/Ocanamounttothousandsofpoints.IfjustrelyonasingleI/Orackandthebacktobackbusisnotpossible,wemustadoptnewhighspeedindustrialfieldbuscommunicationforreal-timeschedulingcontrol.InordertoensurethePLCcontrolresponsespeed,transmissionratereachesdozensorevenhundredsofmegaby_tes,andthemainindustrialcontrolbusrateisnotmorethan20megabitspersecondSo,ThisarticlediscussesthepresentsituationandtendencyofthedevelopmentofdomesticandinternationalPLCandfieldbus.Comparingandanalyzingthecurrentmainstreamfieldbus.Inallusiontothedemandrateofthehighspeedbackplanebuscommunication,puttingforwardtheprotocolofdatatransmissionbasedonPCIExp_ressbusapplicationfeasibilityinthefieldofindustrialcontrol.MainlystudyingthePCIecommunicationmechanismanddatatransmission,thedetaileddesignofPCIeIPcorebasedonXilinx'sVirtex5wasgiven.DevelopmenttoolsofdriverInWindowsenvironmentwerecompared,PCIedrivingwasdevelopedwithWindriverandtested.AlsoputtingforwarddesignofPCIecommunicationwithperipheralinterfacemodulebasedonthexilinxcompany'slatestzynq7000seriesofFPGAembeddedsystem.

KeyWords:

PLC,PCIe,communicationmechanism,WinDriver

1绪论

1.1研究的背景意义

随着电子技术和计算机技术、通信及网络控制技术的发展,工业控制系统领域中,PLC的功能日益强大,已经由传统的单片机PLC控制朝向网络化大规模PLC系统发展,在轨道交通、石化等领域出现万点以上大规模PLC系统应用需求。

因此,要满足现代控制系统的需求,大型PLC面向大规模的工业自动化应用时,连接的现场IO信号数量巨大,数字量I/O可达上万点,模拟量I/O可达上千点。

为了保证PLC的控制响应速度,传输速率一般需要20M-100Mbps之间,当前主流现场总线速率不超过20Mbps,已不能满足要求。

当前PCI-Express作为当前最优秀的I/O总线之一,它原来的名称为“3GIO”,是由英特尔在2001年提出的,具备高传输带宽、高可靠性、抗干扰性强及低成本的特点,目前PCIex1的单向传输速率在2.5Gbps至10Gbps,单向传输带宽达250MB/s至1000MB/s,在当前高速传输系统中运用广泛,如主流声芯片、网卡存储芯片、存储设备等。

将PCIe总线应用于未来工业控制总线完全能满足高带宽数据传输的要求。

虽然,国内外各知名公司推出众多PLC产品,但由于各厂商都各自独立开发背板总线,导致通用兼容性不强。

因此,用户无法根据实际的工业环境自行配置不同厂商的模块,并且对特定厂商的PLC产品依赖性强,而且价格也较昂贵。

因而,本设计结合国内外市场的需求和行业热点,基于PCIExpress总线接口开发通用的PLC背板总线,具有重要的理论和意义。

1.2国内外PLC发展现状

电力线通信技术简称为PLC技术,是目前发展前景十分看好的行业。

早在20世纪90年代初,一些国家开始在这方面研究,由于技术不成熟,发展速度缓慢。

进入20世纪以来,PLC芯片技术有所突破,发展速度明显加快。

英国联合电力子公司在1990年开始对电力线载波通讯进行研究。

1995~1997年两年期间,Norweb和Nortel公司已经成功地在英国曼彻斯特试验,传输速率达1Mbps的远程通讯。

1998年,美国Intelogis公司推出了passPort商业化PLC产品,用于内联网,最高速率350kbps。

2001年,推出用于内联网的14Mbps芯片达到使用水平。

目前美国市面上已有近十家公司的PLC户内组网产品问世。

德国RWE电力线通信公司于2001春季推出了PLC上网、PLC学校联网和智能家庭化三项业务,7月1日起正式商业化,成为迄今为止世界上唯一允许PLC进入商业化运行的国家,并颁布了有关法律。

由于PLC厂商不同,各个公司的PLC通信联网兼容功能不强,仅仅能够依靠总线方式连接,单纯技术角度而言,PLC实现软、硬件标准化、通用化、开放型是一条可行的道路。

同时增加更为丰富的模块技术,比如数控模块、语音处理模块等等,模块自身带有CPU,在工作中可以与主CPU并行工作,有利于PLC扫描速度的提高。

高速处理数据、大存储容量是PLC厂商关注的一个方面。

不断提升的PLC性价比,竞争力的加强,新技术的涌现,新应用的拓展,都将推动PLC市场的增长。

ARC咨询集团的一份新报告指出,预计未来5年里全球PLC市场总值将以每年7.3%的年复合增长率(CAGR)增长。

2006年该市场总值超过83亿美元,而到2011年将接近120亿美元。

我国研究PLC技术起步较晚,但发展速度较快。

中国电力科学研究院自1997年开始研究PLC技术,主要考虑PLC技术用于低压抄表系统,传输速率较低。

1998年开发出样机,并通过了试验室功能测试,1999年在现场进行试运行,获得了产品登记许可。

1999年5月开始进行PLC系统的研究开发工作。

主要对我国低压配电网络的传输特性进行了测试,并对测试结果进行了数据处理和分析,基本取得了我国低压配电网传输特性和参数,为进行深入研究和系统开发提供依据。

2000年开始引进国外的PLC芯片,研制了2Mbps的样机,2001年下半年在沈阳供电公司进行了小规模现场试验,实验效果良好,并于6月20日在沈阳通过验收。

目前,中国PLC市场的95%以上被国外产品占领。

国内曾有研究单位开发PLC产品,后因种种原因没有发展起来。

值得欣慰的是,国内已有具有较强实力的公司开始拓展PLC业务,并在中国PLC市场有了一定声音,如和利时公司、德维森公司、安控公司。

我国在“十五”规划中已明确提出了“用信息化带动工业化”的发展计划,大量传统产业的自动化改造将为PLC的应用提供巨大的发展空间。

我国的工业发展及自动化应用水平与工业发达国家相比有几十年的滞后,按目前的经济形势分析,我国将迎来一个PLC市场高速增长的时期。

1.3PLC主流现场总线发展现状及应用特性

Fieldbus即现场总线是80年代末、90年代初国际上发展形成的,用于过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通讯网络。

现场总线技术在历经了群雄并起,分散割据的初始阶段后,现在的标准是IEC61158。

其中有较强实力和影响的有:

FoudationFieldbus(FF)、LonWorks、Profibus、HART、CAN、Dupline等。

当今世界上存在着大约四十余种现场总线,但没有任何一种现场总线能覆盖所有的应用面,按其传输数据的大小可分为3类:

传感器总线(sensorbus),属于位传输;设备总线(devicebus),属于字节传输;现场总线,属于数据流传输。

FoudationFieldbus、FIP、ERA、ProfiBus、FINT、LONWorks,InterBus、CAN、HART、Dupline、P-net、F-Mux,以及ASI(ActraturSensorInterface)、MODBus、SDS、Arcnet,国际标准组织-基金会现场总线FF:

FieldBusFoundation、WorldFIP、BitBus,美国的DeviceNet与ControlNet等等。

这些现场总线大都用于过程自动化、医药领域、加工制造、交通运输、国防、航天、农业和楼宇等领域,大概不到十种的总线占有80%左右的市场。

每种总线都有其特定的应用领域。

对于主流总线可做简要的对比介绍。

基金会现场总线分低速H1和高速H2两种通信速率。

H1的传输速率为3125Kbps,通信距离可达1900m(可加中继器延长),可支持总线供电,支持本质安全防爆环境。

H2的传输速率为1Mbps和25Mbps两种,其通信距离为750m和500m。

LonWorks于1990年正式公布而形成的。

它采用了ISO/OSI模型的全部七层通讯协议,采用了面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置,其通讯速率从300bps至15Mbps不等,直接通信距离可达到2700m(78kbps,双绞线).Profibus的传输速率为96~12kbps最大传输距离在12kbps时为1000m,15Mbps时为400m,可用中继器延长至10km。

其传输介质可以是双绞线,也可以是光缆,最多可挂接127个站点。

尽管已有的总线众多,但都不能满足大规模PLC数据传输总线的带宽要求,而且都比较独立,必须寻找新型高速总线进行研究实验,以满足未来的发展需求。

 

2研究方案

2.1PCIe硬件开发平台的选择

方案1基于PEX8111桥接芯片设计。

PEX8111是一款本地总线到PCIE的桥接芯片,它符合PCIE1.0规范,支持自动极性反转,CRC校验,链路设备电源管理,传输层从数据包队列控制.而且具有直接主模式,直接从模式和DMA功能。

FPGA一端必须模拟成一个PCI设备,因为PEX8111是PCIe-to-PCI的专业桥接芯片。

其PCIe框图如下。

图2.1PCIe-to-PCI转换

方案2基于PX1011A收发器芯片设计。

NXP公司的PX1011A是一款与低成本的FPGA一起使用而优化的单通道2.5Gbps的PCIExpressPHY器件(图2.2),符合规范v1.0a和v1.1.它通过采用用于传输和接收数据的同步时钟源来提高片外应用性能。

数据由差分输入接口PX1011A,通过8位/10位解码器转换来恢复8位数据格式传送到FPGA,反之亦然。

图2.2PX1011A连接PCIe与FPGA

方案3集成PCIE硬核的高端FPGA设计。

Virtex-5LXTPCIEEndpoint集成了PCIE协议中的物理层(PHY)、数据链路层(DLL)和传输层(TL),同时还实现了PCI-Express设备的功能配置寄存器,具有PCIE的完整功能(图2.3),完全符合PCIe基本规格v1.1版要求,作为FPGA内部的硬核是可配置的PCIe端点的解决方案,并且支持1x、2x、4x或8x通道。

图2.3Virtex-5PCIe核模块结构

方案1需要FPGA带有PCI核而且需要连接外部硬件桥接芯片电路,对于高速数据通信对硬件电路的设计布线要求严格,同时也增加了软件设计的复杂度。

方案2虽然对于FPGA的性能不高,可以用较低端的来实现,但也增加了硬件电路的复杂度。

同时缺乏对PCIE设备配置的灵活性。

故采用方案3实现PCIe的端点模块设计,也去除了软硬件设计的难度,便于灵活的设置以及对FPGA的设计实现。

2.2FPGA设计开发流程

1.设计输入:

包括HDL代码输入(VerilogMoudle、VHDLMoudle)、状态机输入法(StateDiagram)和原理图输入法(Schematic)。

HDL代码输入法是目前最流行的FPGA设计方法。

2.仿真:

在代码编写完毕后,需要借助于测试平台来验证所设计的模块是否满足要求。

ISE提供了两种测试平台的建立方法,一种是使用HDLBencher的图型化波形编辑功能编写;另一种是利用HDL语言,相对于前者使用更为简单、功能更为强大。

3.综合:

将设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接网表,并根据目标和要求优化生成的逻辑连接,生成NGC、NCR以及LOG文件。

4.实现:

将综合输出的逻辑网表翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线。

5.约束:

时序约束、管脚约束、区域约束。

6.烧录:

1、将整个设计的文件转换成bit流下载到FPGA;2、配置成PROM文件下载到PROM中;3、生成ACE系统文件拷贝到CF卡中从CF卡启动。

典型的FPGA设计流程如图2.4。

图2.4设计流程

2.3ISE10.1下PCIeIP核设计实现

2.3.1ISE10.1开发工具简介

ISEDesignSuite10.1是由Xilinx推出的新一代设计套件,从正面解决FPGA设计师所面临的严峻挑战,并且第一次提供了一个统一的逻辑、DSP以及嵌入式应用设计人员需要的解决方案。

ISEDesignSuite10.1主要组件包括ISEFoundation、嵌入式开发套件(EDK)、SystemGenerator、AccelDSP综合工具、ChipScope分析仪、PlanAhead设计和分析工具等组成部分。

ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能上无须借助任何第三方EDA软件。

ISE主要功能介绍如下。

(1)设计输入

ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(ISETextEditor),用于原理图编辑工具ECS,用于生成IPCore的CoreGenerator,用于状态机设计的StateCAD以及用于约束文件编辑的ConstraintEditor等。

(2)综合

ISE的综合工具不但包含Xilinx自身提供的综合工具XST,同时还内嵌LeonardoSpectrum和Synplify,实现无缝连接。

(3)仿真

ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDLBencher,同时又提供了ModelTech公司的Modelsim进行仿真的接口。

(4)实现

此功能包括翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。

(5)下载

下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件;包括了iMPACT,功能是进行设备配置和通信,控制将程序烧写到FPGA芯片中去。

2.3.1利用CoreGenerator产生PCIeIP核

1.在开始所有程序已安装得ISE10.1的文件包的ISE文件的Accessories文件下点击CoreGenerator工具,自动弹出对话框。

2.在CoreGenerator界面窗口点击File新建工程.cgp,并选择好目标器件和参数如下图,点击OK。

图2.5目标器件选择与参数设置

3.在StandardBusInterfaces下双击EndpointBlockPlusforPCIExpressv1.9,设置好参数(可默认)点击next。

图2.6参数设置

4.设置厂商VID、设备DID等参数点击next。

图2.7.设备信息设置

5.根据需要设置32位基址寄存器BAR类型(IO、Memory)、地址位数(64位需两个组合)和空间大小,简单起见可只用BAR0,点击完成。

图2.8BAR空间设置

6.在第一步新建工程的文件夹下可以看到以下组成,.cgp即为工程名,其中.ngc为网表文件,在别的ISE新工程下调用此IP核时需拷贝到工程文件夹下,.v文件即为PCIe核的顶层接口,在ISE工程AddSource中添加例化调用。

XilinxCoreGenerator配置文件的后缀是.xco,它既可以是输出文件又可以是输入文件,包含了当前工程的属性和IPCore的参数信息。

图2.9.PCIe核文件夹结构

 

3PCIExpress总线研究

3.1PCIExpress总线介绍

PCIExpress总线技术的提出是基于现行PCI总线技术的诸多不

足而开始的。

PCI总线技术来自上世纪90年代初期开始至今为我们服务了10年有余,但发展步伐缓慢。

总的来说PC总线是每3年性能提高一倍,从最初的8位PC/XT、16位的ISA总线、32位的EISA和MCA、VL总线到PCI、64位PCI-/66MHz、PCI-X,而处理器却通常是每个摩尔周期就要提高一倍(一个摩尔周期为18个月)。

正是这种技术发展的不同步,使得整个PCI总线慢慢成为了整个系统的瓶颈。

1997年,PCI总线已经成为图像数据传输的最大瓶颈。

同时随着同时随着RAID阵列,千兆以太网和其他高带宽设备在消费系统上出现,PCI133MB/s的带宽明显不能满足这些应用的需要了。

并且随着计算机应用领域不断扩大,有许多潜在的任务需要更快的处理器、图形处理、网络和存储子系统,而这些要求最终的结果就是在这些子系统之间需要更快的连接。

正是由于PCI以上这些种种不足和计算机的应用需求,Intel提出了替代PCI总线的新总线技术--PCIExpress。

2001年春节的Intel开发者大会上提出“3GIO”,意为“第三代I/0标准”,也就是现在的PCIExpress总线标准。

PCIex1的单向带宽为250MB/s,采用8b/10b编码,实际有效带宽为200MB/s。

PCIe带宽计算公式:

PCI-E串行总线带宽(MB/s)=串行总线时钟频率(MHz)*串行总线位宽(bit/8=B)*串行总线管线*编码方式*每时钟传输几组数据(cycle),例如:

双工PCI-E1.0X1,其带宽=2500*1/8*1*8/10*1*2=500MB/s。

PCIExpress的基本结构包括根组件(RootComplex)、交换器(Switch)和各种终端设备(Endpoint).根组件可以集成在北桥芯片中(如图3.1),用于处理器和内存子系统与I/O设备之间的连接,而交换器的功能通常是以软件形式提供的,包括两个或更多的逻辑PCI到PCI的连接桥(PCI-PCIBridge),以保持与现有PCI兼容。

在PCIExpress架构的新设备是交换器(Switch).它取代了现有架构的中的I/O桥接器,用来为I/O总线提供输出端。

交换器支持在不同设备间进行对等通信。

 

图3.1PC的PCIe总线挂载结构

3.2PCIExpress的体系结构

PCIExpress体系结构采用分层设计,就像网络通信中的七层OSI结构一样,这样利于跨平台的应用。

PCIExpress共分为四层,从上至下分别为:

物理层(Physicallayer)、数据链路层(LinkLayer)、处理层(TransactionLayer)和软件层(SoftwareLayer)。

其数据传输链路结构如下图所示。

图3.2传输链路结构

物理层是最底层,它负责接口或设备之间的连接,是物理接口之间的连接,可对应于OSI七层模式中的物理层来理解。

它决定了PCIE总线接口的物理特性,如点对点传行连接、微差分信号驱动、热插拔、可配置带宽等。

初始单一的串行PCIE链接包含两个低电压微分驱动信号对(4线的接收和发送对)的双向连接,即“发送”和“接收”信号。

数据时钟采用8/10b解码方式来达到相当高的数据速率,时钟信息直接被编码成数据流。

一个PCIe链路可由多个Lane构成。

PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0”。

PCIExpress链接可配置为x1、x2、x4、x8、x12、x16、x32信道带宽,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插。

x1信道带宽的链接包含4条线,x16带宽信号每个方向就有16个不同的信号对,或者64根信号芯线用于双向数据传输;终极的信号带宽信道每方向可提供10GB/s(80Gbps)的速率,但采用8位/10位编码的情况下,实际速率只可达8GB/s。

PCIExpress支持两个类型的中断,现行的PCIINTx(x=A,B,C,orD)被保留下来。

还有一种新的中断类型,那就是MSI(信息信号中断)。

PCIExpress设备必须支持INTx和MSI两种中断模式。

MSI中断是通过内存的写处理操作边沿触发和发送

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1