PCIExpress总线实验开发板关键技术研究教学文案.doc
-
资源ID:51558193
资源大小:321.50KB
全文页数:7页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
PCIExpress总线实验开发板关键技术研究教学文案.doc
Good is good, but better carries it.精益求精,善益求善。PCIExpress总线实验开发板关键技术研究-PCIExpress总线实验开发板关键技术研究周强,周饴然(北京航空航天大学自动化科学与电气工程学院,北京100191)摘要:为了使学生深入学习、理解和掌握高速、串行PCIExpress总线的核心概念和基础应用技术,设计、开发了符合标准PCIExpress1.0a规范的八层阻抗控制实验开发板。该实验开发板由PCIExpressx1接口芯片、高速FPGA等核心器件构成。其不但满足GHz高速串行信号传输的完整性要求,而且开放性好,学生可通过对FPGA的编程开发,实现PCIExpressx1总线的基本读写操作及高速LVDS数据的收发、RAM存储等功能。该开发板可广泛用于专业本科高年级或研究生阶段的计算机接口技术实验课程。关键词:PCIExpress总线;FPGA;信号完整性;开发板中图分类号:TP336文献标识码:A文章编号:Title首字母大写,其余均小写,四号加粗,段前0.5行NameNamename五号字,作者顺序与中文一致(单位全名部门(系)全名,市(或直辖市)邮政编码)单位英文,宋体六号,段后0.5行Abstract:写作要求请参考北航学报主页的“EI文摘要求”Keywords:见北航学报主页的“选取keywords”(一律小写,英文缩写除外,英文分号分隔后面再加一个空格分隔)段前0.5行,段后2行,并在最后添加分节符。-随着现代科技的发展,计算机数据量及其传输速度成倍增长,传统的PCI/PXI总线已经显得捉襟见肘,而新一代PCIExpress总线的出现解决了这一难题。为了使学生深入理解、掌握PCIExpress总线的核心概念和基础应用技术,设计了全新的PCIExpress总线实验开发板,学生可以通过FPGA编程即可实现PCIExpress总线的基本接口和数据传输功能。PCIExpress(简称PCIE)总线是Intel推出的“第三代IO总线”,PCIE总线采用点对点、全双工、串行差分传输模式,单向速率高达2.5Gbps,理论数据读写速度最高500MB/s,可配置×1、×2、×4、×8、×16、×32通道,速率将成倍增长,相比PCI总线的133MB/s,已经是质的飞跃。实验开发板将采用PLX公司的PEX8311桥接芯片,实现×1通道的PCIE总线传输;并配置Altera公司的Cyclone系列FPGAEP1C12Q240,实现开放的功能模块的控制功能。1PCIE总线开发板功能概述PCIE总线实验开发板,面向本科高年级或研究生阶段计算机接口实验教学进行开发,按功能主要分为PCIExpress总线接口模块和本地功能模块。PCIExpress总线接口模块用于实现板卡和计算机的互联接口,物理连接符合通用的PCIExpressCardElectromechanicalSpecificationRev1.0标准(如Error! No bookmark name given.),协议层通过使用PEX8311桥接芯片来实现。图Error! No sequence specified.PCIE总线物理接口本地功能模块主要分为LVDS信号收发模块和RAM存储模块,具有4路LVDS发送、4路LVDS接收,以及两片256K*16bit的异步RAM。通过对FPGA的编程开发,可以实现计算机总线的数据传输、LVDS高速串行数据的收发和大容量数据的实时存储。2实验开发板硬件设计2.1硬件总体设计实验开发板硬件总体设计如Error! No bookmark name given.所示,开发板以高性能FPGA为核心构建,设计有PCIE总线接口模块、LVDS信号收发模块、RAM存储模块、辅助电路模块等。图Error! No sequence specified.框图辅助电路模块用于实现板卡的供电、LED监测及按钮开关等功能。为方便调试,开发板留有外部电源接口,可通过外部电源对板卡供电;同时留有FPGAIO管脚外接端口,可与外部实验设备互联使用。2.2PCIE总线接口设计2.2.1PEX8311芯片应用PCIE总线实验开发板采用FPGA与PEX8311桥接芯片来实现PCIE总线和局部(Local)总线之间的信息传递。PEX8311芯片的内部逻辑单元如Error! No bookmark name given.所示。实验中可通过FPGA配合产生Local总线相应的时序,实现总线操作。芯片内部具有各种寄存器组,可用来控制数据传输,并记录工作状态。图Error! No sequence specified.PEX8311芯片内部逻辑单元框图PEX8311具有三种数据传输模式主模式、从模式、DMA模式。在实验开发板的应用中始终工作在从模式和DMA模式两种方式下。Local总线在C(非复用地址数据)模式下,采用32位、66MHz的传输方式,因此芯片上的模式选择管脚MODE1:0都应置低。2.2.2桥接芯片与FPGA连接管脚Local总线是FPGA与PEX8311互连的部分。FPGA需要配合Local总线信号,产生相应的时序,实现读写及DMA功能。在局部总线读写操作中起关键作用的引脚有LA31:2(地址)、LD31:0(数据)、LHOLD(总线请求)、LHOLDA(总线应答)、ADS#(地址周期起始)、BLAST#(周期最后一个数据)、READY#(局部总线准备好)、LWR#(读写指示)、LINT#(局部中断)、CCS#(配置寄存器选择)、BTERM#(突发终止)等信号,如Error! No bookmark name given.部分所示。2.2.3EEPROM配置信息在PEX8311桥接芯片的使用中,为保证芯片正常工作,必须在板卡上电后对芯片的若干寄存器进行初始化,否则将按默认值处理。PEX8311的寄存器初始化分为PCIE配置空间初始化和Local配置空间初始化,使用两片EEPROM进行配置。PCIE配置EEPROM主要对PCIE空间的配置寄存器地址数据进行设置,在实际操作中作用不大。Local配置空间用于对板卡的设备ID、Local总线操作模式、地址空间映射模式、内存分配、突发读写及其它多种功能寄存器进行设置,从而完成相应操作,因此,该EEPROM配置信息是十分必要的。在应用中选择AT93C56芯片,上电时,PEX8311将从EEPROM中读取34个(LongLoad模式)或50个(ExtraLongLoad)16-bit的信息字。EEPROM的配置信息可使用PLX公司提供的PLXMON软件进行修改,重新上电后生效,还可通过WinDriver软件进行查看和修改。2.3本地功能模块设计本地功能模块包括LVDS收发模块和RAM存储模块。LVDS收发模块选用DS90LV047和DS90LV048芯片完成LVDS信号和TTL电平的转化;RAM存储模块选用两片CY7C1041BN芯片,具有256K*16bit的存储量。功能模块均与FPGA互联,可通过编程实现对功能模块的调用。2.4板卡PCB设计2.4.1实验开发板PCB分层实验开发板采用标准3U板卡造型,便于插入计算机内固定。由于PEX8311与EP1C12Q240芯片管脚众多,布线密度较高,且所需电源供电复杂,需要+1.5V和+2.5V的核心供电,+1.5V的芯片PLL锁相环供电,+3.3V的IO供电,+5V的外围器件供电,+12VPCIE连接器供电,因此,为解决这些问题,开发板采用8层PCB设计,具有4个信号层、2个电源层、2个地层,如Error! No bookmark name given.所示。图Error! No sequence specified.开发板8层PCB设计2.4.2信号完整性分析实验开发板本地工作时钟频率为66MHz,而PCIE总线接口的收发信号频率可达到2.5GHz(如Error! No bookmark name given.所示),并且在PEX8311和FPGA之间还有大量并行数据和地址线等,此时,信号的完整性和电磁兼容性就成了不可忽视的问题。图Error! No sequence specified.PCIE总线收发信号差分布线为解决信号完整性问题,在开发板的设计中,采用可控阻抗布线设计,保证信号传输线的均匀性,保持传输线单端阻抗50欧,差分阻抗100欧,尽量避免瞬时阻抗变化,并依据阻抗计算板层厚度、信号线宽度及线间距等。对于2.5GHz的高速差分线,尽量确保导线长度相同、对称度一致(如Error! No bookmark name given.所示)。在PCB布线时使用仿真软件对高速信号线进行完整性分析(如Error! No bookmark name given.),观察仿真测试图和信号眼图。图Error! No sequence specified.Hyperlynx仿真软件信号测试图同时在开发板设计中,每个电源接入管脚都放置去耦电容,电源转换芯片引脚设计有标准的LC滤波电路,最大可能地维持供电平稳,提高板卡工作稳定性。3基于VerilogHDL的FPGA开发FPGA控制整块板卡的功能实现,开发板配有JTAG和AS程序下载和调试接口,通过编程可以实现PCIE总线的操作和本地各功能模块的开发。3.1本地功能模块开发本地功能模块可以实现对外部高速LVDS串行数据的接收,并根据传输协议解码数据,同时通过两片大容量RAM芯片实现数据的实时乒乓存储。图Error! No sequence specified.LVDS数据流接收及解码图3.2PCIE总线数据读写FPGA开发采用半独立模块化状态机设计。以接收为例(如Error! No bookmark name given.),状态机之间通过若干状态信号实现数据的传递,最后通过PCIE模块向计算机传输数据。PCIE总线的数据传输模式分为从设备读写和DMA读写,通过程序设计可分别实现两种读写模式。在读写操作过程中,FPGA必须在每个Local时钟LCLK到来时判断PEX8311的ADS#、LWR#、LHOLD、BLAST#等状态信号,并产生相应的Local时序配合,完成总线操作(如Error! No bookmark name given.)。图Error! No sequence specified.模块化状态机设计图Error! No sequence specified.计算机DMA数据读取4结束语PCIE总线由于其高速性、简易性等特点,在未来的计算机总线应用中,必将替代传统的PCI总线,因此,掌握PCIE总线的应用开发是十分必要的。应用本实验开发卡,学生可以轻松地应用VerilogHDL开发FPGA,熟悉和使用PCIE总线的各种操作,提升大学生的专业技能和科学素养。同时,本开发板还可以高效、稳定地实现高速数据的实时传输和存储,必将在今后的工程项目中得到广泛的应用。参考文献(References)1 王强,林小莉,曾繁泰.PCI总线数据传输瓶颈分析及其解决方案J.高性能计算机技术,2003,(4):3437.2 PCISIG.PCI-XSpecification.Version1.0S.1999.3 孟会,刘雪峰.PCIExpress总线技术分析J.计算机工程,2006,(23)著者.学位论文题名D.学位授予单位,年学位论文4 黄小红,李峰.PEX8311芯片数据传输研究J.电子工程师,2007,(10)标准编号,标准名称S5 刘建斌,孙军,田智会.电磁兼容与电路板的可靠性设计S.电子工艺技术.2006.96 Hyperlynx入门教程M.7 闵牡丹,刘一娜.PCIE总线的FPGA设计方法J.计算机与现代化,2009,88 夏宇闻.复杂数字逻辑系统的VerilogHDL设计技术和方法M.北京:高等教学出版社,2000.1-9.