• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于一种EP2SGX系列FPGA的PCI接口设计

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

录入:edatop.com     点击:

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总线正得到越来越广泛的应用,必将成为下一代的总线标准。

来源:维库开发网

上一篇:通过低电压差分信号(LVDS)传输高速信号
下一篇:个性化的VoIP方案

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图