基于一种EP2SGX系列FPGA的PCI接口设计

发布者:电子创意达人最新更新时间:2011-11-05 关键字:EP2SGX  PCI接口 手机看文章 扫描二维码
随时随地手机看文章
  引 言

  在现代雷达数据处理系统和其他应用系统中,传统的ISA、EISA等总线已逐渐无法适应高速数据传输的要求。而PCI局部总线以其高性能、低成本、使用方便和适应性等优点成为大多数系统的主流总线。其中常用的33 MHz、32位的PCI总线尖峰传输速率为132 MB/s。PCI总线接口相对其他总线接口来说是比较复杂的,它有着严格的同步时序要求,且为了实现即插即用和自动配置,PCI总线的配置空间有许多配置寄存器需要设置。本文在简要介绍PCI总线及其特点的基础上,介绍了如何利用FPGA设计PCI总线的接口电路,并给出了设计PCI总线接口时应注意的一些问题。

  1 PCI总线与数据传输规范

  PCI总线信号可划分为如图1所示的几种类型。其中64位总线扩展信号、资源锁存信号和边界扫描信号是可选的。



  PCI总线上的数据传送是基于猝发传送的机制,一个猝发传送包括一个地址相和一个或多个数据相。基本的PCI传输由FRAME#、IRDY#和TRDY#信号控制。当数据有效时,数据资源需要无条件设置xRDY#信号(写操作为IRDY#,读操作为TRDY#)。接收方可在适当时间发出它的xRDY#信号。FRAME#信号有效后的第一个时钟上升沿是地址周期的开始,此时传送地址信息和总线命令。下一个时钟上升沿开始一个(或多个)数据周期,当IRDY#和TRDY#同时有效时,数据在主、从设备之间传送。在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期。PCI总线传输包含读、写和中止3个内容,图2和图3所示的时序图显示了PCI总线读、写操作的传输过程。


  2 设计考虑及芯片选择

  目前PCI接口主要有2种实现方式:使用专用接口芯片和采用可编程器件。专用芯片如PLX公司的9050等,专用芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的用户接口。缺点是缺少灵活性,用户可能只用到了部分的PCI接口功能,造成了一定的逻辑资源浪费。采用FPGA的优点在于其灵活的可编程性,首先PCI接口可以依据插卡功能进行最优化设计,而不必实现所有的PCI功能,可以节约系统的逻辑资源。其次可以将PCI插卡上的其他用户逻辑与PCI接口逻辑集成在一个芯片上,实现紧凑设计。再者当系统升级时,只需对可编程器件重新进行逻辑设计,而无需更新PCB版图。

  PCI总线是同步总线,时序要求比较严格,比如:Tval最大为11 ns,Tprop最大为10 ns,Tsu最小为7 ns,Th为0 ns,此外,PCI总线接口还需要一定数量的宏单元和I/0引脚。在本设计中,为了同时实现光纤数据传输等其他的逻辑功能,选用了ALTERA公司StratixIIGX系列中型号为EP2SGX90EF1152的一款FPGA芯片。该芯片主要性能如下:片内90 960个逻辑单元;4.5 Mb的RAM资源;支持12路高速串行收发器通道,每路传输速率高达6.375 Gb/s;接口电平支持:LVTTL、LVDS、LVPECL。3.3-V PCI等众多I/O标准。EP2SGX系列芯片内部有专门支持PCI电气特性的区域(Bank),非常适合于PCI接口的开发。

  3 PCI接口设计实现

  本设计利用ALTERA公司的QuartusIl7.2软件和硬件描述语言,采用自顶向下的设计方法进行PCI接口的逻辑设计,并利用QuartusII软件对设计进行了功能和时序仿真。

  设计的具体流程如下:首先从总体上考虑:PCI接口作为一个功能模块,嵌入在FPGA内部,内侧面向用户逻辑,外侧通过芯片的I/O管脚与PCI总线相连。在用户端,需要把复杂的PCI总线命令转换为便于用户使用的类似ISA总线的命令格式,把地址线与数据线分离,并产生单独的读写控制信号。其次,根据总体要求,进行顶层设计和内部模块划分。最后,对具体的功能模块用软件编程实现并进行功能仿真。

  本设计中PCI接口的总体框图如图4所示。由图4可知,PCI接口主要由地址/命令锁存和译码、内部通信、外部通信和总线状态机、中断处理等模块组成。


  3.1 地址/命令锁存和译码

  由于PCI总线为地址和数据复用型总线,在使用中需将地址和数据进行分离,首先要对PCI总线上的32位地址/数据总线锁存。译码是对来自主机的PCI总线命令信号CBE[3..0]和IDSEL信号进行识别,并相应地向内部逻辑发出配置空间读写操作、I/O读写操作、存储器读写操作等信号。

  3.2 外部通信

  外部通信接口主要完成对PCI总线的应答,并发出相应的信号。对于渎写操作,接口发出DEVSEL#信号响应PCI的FRAME#信号,完成握手。PCI协议规定了在交易期间对地址/数据总线和命令/字节使能总线进行奇偶校验。读交易期间,接口被要求驱动PAR信号线;写交易期间,目标将计算AD[31..0]和CBE[3..0]上的奇偶性,并把PERR信号送给PCI。

  3.3 内部通信

  内部通信接口主要产,丰面向用户端,便于用户使用的一信号,包括复位信号、分离的读和写信号、地址总线、32位的数据读写总线。

  3.4 总线状态机

  该模块足本设计的关键部分,其主要功能是根据PCI协议产生总时序来控制总线交易。总线状态机包含的状态主要有总线空闲状态、总线停靠状态、主设备数据传输状态、从设备数据传输状态、配置空间读写状态、目标I/O空间读写状态、主设备读写状态、总线翻转状态、数据传输终止状态等。以上各状态主要依据输入的PCIRST、FRAME#、IDSEL、CBE [3..0 ]、GNT#、IRDY#、TRDY#、STOP#等信号变化进行状态转换。

  3.5 中断处理

  本模块主要实现各种外部中断源的输入处理、中断允许寄存器和中断状态寄存器的控制和管理、INTA#信号的输出处理等。

  4 工具软件在PCI总线调试中的使用

  在板卡的调试过程中使用了WinDriver软件,该软件是美国Jungo公司出品用于编写驱动程序的一种工具,是主要针对PCI、ISA、USB的一种开发工具。该软件对于调试PCI板卡很方便。用户不需要复杂的编程就能控制PCI没备进行读写操作,从而在硬件刚设计调试时,就能测试板卡性能的好坏,可测试的功能具体包括VenderID、Device ID的识别、基地址的分配、中断的分配、I/O端口的读写测试等。

  另外,在调试过程中还利用了Quartus软件自带的SignalTap嵌入式逻辑分析仪软件。该工具软件只需要通过编程电缆将JTAG口与调试计算机连接后,便可在线采集各种信号波形,验证逻辑设计是否正确。

  5 PCI接口板卡设计体会

  设计的CPCI板卡经过多次试验和测试,验证了配置空间访问、I/O空间访问、外部中断等功能均正确。目前已经成功应用于产品中,下面简要介绍设计开发过程中的一些体会。

  (1)PCI接口在板卡设计中需注意的问题

  ①板卡上的一些信号都必须在靠近连接器J1的地方串行放置阻值为10 Ω的终端电阻。必须端接电阻的信号有:AD[31:0]、C/BE[3:0]、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL#、DEVSEL#、PERR#、SERR#、RST#、INTA#。电阻应放置在距PCI信号连接器引脚15.2 mm以内,以减少信号经过板卡端接后对背板的影响。不需要使用终端电阻的信号有:CLK,REQ#和GNT#。在实际设计中,必须按以上要求将信号进行端接处理,否则PCI总线会工作不正常。

  ②从连接器J1到端接电阻的信号线的长度不应超过15.2 mm。

  ③从连接器儿经端接电阻到FPGA的信号线的长度不应超过38.1 mm。

  (2)配置空间的简化设计

  PCI总线的配置空间为2,56个字节。在设计中,只需对用到的参数进行配置。一般对VenderID、DeviceID、CommandStatus、RevisicmID、ClassCode、HeaderType、InterruptLine及InterruptPin等寄存器进行配置即可满足大多场合下的使用要求。

  (3)总线命令的简化设计

  PCI规范中规定了16种总线命令,设计者只需埘其中有用的命令进行响应即可。总线命令的简化可减少总线对话的种类,从而可减少硬件没计的复杂性。一般来说,只要有配置空间读写、I/O空间读写及存储器的读写,便可满足一般的使用。

  6 结束语

  本文介绍了在StratixⅡGX系列FPGA上实现PCI接口的设计技术,具有较强的灵活性,可以方便地移植到其他可编程器件上,有一定的通用性。随着计算机技术的不断发展,计算机总线在PCI总线基础上逐渐发展为更高带宽和频率的PCI-X总线和拥有2.5G传输速率的PCI-Express总线。从当前发展趋势来看,PCI-Express总线正得到越来越广泛的应用,必将成为下一代的总线标准。

关键字:EP2SGX  PCI接口 引用地址:基于一种EP2SGX系列FPGA的PCI接口设计

上一篇:应对嵌入式系统设计中的接口不兼容性
下一篇:基于SPI总线的无线数据传输系统设计

推荐阅读最新更新时间:2024-05-02 21:41

基于CPLD的单片机PCI接口设计原理
1 PCI接口设计原理 1.1 PCI总线协议简介 这里只讨论PCI总线2.0协议,其它协议仅仅是在2.0的基础上作了一些扩展,仅就单片机与PCI设备间的通信来说,意义不大。PCI总线是高性能局部总线,工作频率0~33MHz,可同时支持多组外围设备。在这里,我们只关心单片机与一个PCI设备间通信的情况,而且是以单片机与CPLD一方作为主控方,另一方作为PCI从设备。这样做的目的是为了简化问题,降低系统造价。 PCI总线上信号线虽多,但并不是每个信号都要用到。实际上PCI设备也并不会支持所有的信号线,比如错误报告信号PERR与SERR在网卡中就不支持。我们可以针对具体的应用选择支持其中部分信号线,还有一些信号线可
[单片机]
FPGA+DSP实时三维图像信息处理系统
  三维图像信息处理一直是图像视频处理领域的热点和难点,目前国内外成熟的三维信息处理系统不多,已有的系统主要依赖高性能通用PC完成图像采集、预处理、重建、构型等囊括底层和高层的处理工作。三维图像处理数据量特别大、运算复杂,单纯依靠通用PC很难达到实时性要求,不能满足现行高速三维图像处理应用。   本系统中,采用FPGA实现底层的信号预处理算法,其处理数据量很大,处理速度高,但算法结构相对比较简单,可同时兼顾速度和灵活性。高层处理算法数据量较少、算法结构复杂,可采用运算速度快、寻址方式灵活、通信机制强大的DSP实现 。    1 三维图像处理系统组成    1.1 硬件系统构成   该系统由五个模块组成,如图1所示。
[安防电子]
FPGA+DSP实时三维图像信息处理系统
基于PCI总线目标接口芯片PCI9052及其应用设计
目前,PCI总线已成为新一代个人计算机的标准总线,它是一种高性能的32/64位地址数据复用总线,总线时钟频率的0~33MHz。它不象ISA异步总线那样把地址寻址和数据读写控制信号都交由微处理器产生,而是一种独立于处理器的同步总线,可以支持猝发传送。为支持即插即用功能,PCI总线规范定义了264字节的配置空间。由于PCI总线协议比较复杂,因而其接口电路实现起来比较困难,但采用通用PCI接口芯片即可很好地解决这个问题。PCI通用接口芯片对于PCI协议的良好支持,以及提供给设计者的良好接口都大大减少了设计者的工作量。现有的PCI接口芯片主要有AMCC公司的MACCS59XX系列和PLX公司的PLX系列。本文将对PLX公司的PCI9052
[嵌入式]
基于PCI接口的SpaceWire总线通讯模块设计
随着航天技术的进步和卫星与高空探测技术的发展,需要一种高速、可扩展、低功耗、低成本的通用通讯链路接口来满足星载数据传输要求。SpaceWire总线标准就是一种高速的、点对点、全双工的串行总线网络,以IEEE1355-1995和LVDS两个商业标准相结合而提出的一种星载数据总线。本文在研究SpaceWire总线协议的基础上,分析了基于PCI接口的SpaceWire节点通讯板卡的硬件实现架构,并着重分析硬件系统各个组成部分的功能和设计,为今后SpaceWire总线在其他的应用打下了良好的基础。   SpaceWire概述 SpaceWire是为更好地满足星载设备间高速数据传输需求而提出的一种高速的(2~400Mbit/s,目前实
[嵌入式]
MS320VC5402 HPI接口PCI总线接口设计
数字信号处理器DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理的微处理器,凭借其运算速度快、功能强等特点,在各个领域的应用越来越广泛。但在很多场合下需要将DSP的各种外围设备同计算机连接,以实现数据传输。通常情况下可利用DSP的串口或I/O口来实现,但无论是接串口还是接I/O口都要占用DSP的硬件资源,同时数据的传输速度有时也不能满足系统的要求。为了解决这一问题,将DSP的HPI口通过PCl2040芯片桥接到PCI总线。本文以 TMS320VC5402 (简称VC5402)为例,介绍DSP的HPI口及其与PCl2040的接口设计。   1 HPI接口功能及特点   主机接口
[模拟电子]
PCI总线从设备接口的CPLD实现
近年来随着计算机技术的发展,PCI局部总线已逐步取代ISA总线成为家用电脑的标准总线。PCI总线具有总线主控能力,在33 MHz时钟的工作条件下,突发传输速率峰值可达132 MB?s-1;其次它拥有独立的配置空间,可实现即插即用。这些优点使得PCI总线在数据采集、嵌入式系统和测控等领域得到广泛应用。 实现PCI总线协议目前主要有专用接口芯片和CPLD实现两种方式。专用接口芯片使用简单方便、工作稳定可靠,但往往具体应用中只用到部分功能,并且需要可编程逻辑配合使用,这样不仅浪费专用芯片的资源,而且也增加了电路板面积。采用Complex Programmable Logic Device(CPLD)实现突出的优点就在于其灵活的可编程
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved