| AMCCS5933在PCI板卡设计中的应用 |
| 类别:接口电路 |
|         作者:武汉华中理工大学电信系(430074)刘      勇 吴清巍 来源:《电子技术应用》      摘要:介绍了PCI接口芯片AMCCS5933的工作原理、功能特点以及在PCI板卡设计中的应用。                关键词:PCI接口芯片      AMCCS5933 PCI总线      PCI总线是计算机主机中最常见的总线。它是一种高性能的32/64位地址数据复用总线,支持猝发传输,传输峰值速度可达528MB/s,而且还支持自动配置。由于PCI总线协议的复杂性,其接口电路实现起来并不容易。但采用通用PCI接口芯片却能达到事半功倍的效果。PCI通用接口芯片对于PCI协议的良好支持及其提供给板卡设计者的良好接口都大大减小了PCI板卡设计者的工作量。现有的PCI接口芯片主要有AMCC公司的AMCCS59XX系列和PLXTEGH公司的PLLLX系列。本文将对AMCC公司的AMCC5933芯片的原理及其在PCI板卡上设计中的应用进行介绍。      1 工作原理      AMCC5933原理框图如图1所示。由图1可知AMCC5933起到的是一个桥路的作用,即它是PCI总线与本地总线之间的一个桥路。      AMCC5933既可以作PCI从设备,又可以作PCI主控设备。PCI配置空间可以通过一EEPROM来配置。AMCC5933为设计者提供了三种数据传输方式:PASS      THRU方式、FIFO方式和MAILBOX方式。通过驱动程序对总线控制寄存器设置来控制总线操作和数据传输。总线控制寄存器有两组:PCI总线控制寄存器和本地总线控制寄存器,分别用来控制PCI总线和本地总线操作。      2 AMCC5933引脚      AMCC5933引脚图如图2所示      3 AMCC5933在PCI板卡设计中的应用      3.1 配置空间      每一个PCI设备都要有相应的配置空间,AMCC5933通过EEPROM来设置配置空间,AMCC七个NVBULDER的软件,可能通过AMCCS5933对EEPROM进行读写。EEPROM可以串行,也可以为8位并行。设计者只需使用NVBUILD就可完成PCI配置空间的设置。      3.2 总线控制寄存器的访问      PCI总线控制寄存器只有主机才访问,主机通过PCI总线进行I/O读写操作来访问这些寄存器。      本地总线控制寄存器只有本地逻辑才能访问,与其他有关的引脚有ADR[6..2]、BE[3.0]#、      SELECT#、WR#、RD#和数据地址总线DQ[31..0]。      读时序如图3所示,写时序将图中RD#替换为WR#即可。      ADR6..2]提供被访问寄存器的地址,BE[3..0]#制定访问是双字中的哪些字节,WR#为写使能,RD#为读使能,SELECT#为操作使能,都为低电平有效。      3.3 MAILBOX方式的使用      AMCCS5933内部有8个MAILBOX:4个输出MAILBOX,四个输入MAILBOX。PCI方的输入MAILBOX对应于本地的输出MAILBOX,输出MAILBOX则对应于输入MAILBOX。      MAILBOX主要用于主机方与本地逻辑之间的通信,例如传输一些自定义的控制字、状态信息等。      主机对MAILBOX的访问通过I/O读写来完成,本地逻辑对MAILBOX的访问则通过本地控制寄存器的方式来完成。      MAILBOX的空满状态由控制寄存器MBEF(PCI)和ABMEF(本地)来表征。      3.4 FIFO方式下的数据传输      3.4.1 基本数据传输      AMCCS5933内部有两个单向FIFO:输出FIFO和输入FIFO,主机和本地逻辑可以以访问控制寄存器的方式来访问FIFO,也可以通过WRFIFO#、RDFIFO#、WFULL、RDEMPTY、BPCLK这几个引脚来直接      写FIFO。在设计当中一般采用后一种方法。直接读写FIFO有两种工作方式:同步方式和异步方式。在同步方式下,WRFIFO#、RDFIFO#、为FIFO读写使能信号,在BPCLK的上跳沿写入和读出数据,输出引脚BPCLK输出33MHz信号。在异步方式下,WDFIFO#、RDFIFO#为FIFO      读写信号。WRFIFO为输出FIFO满信号,RDFIFO为输入FIFO空信号。      3.4.2 DMA的实现      在FIFO方式下可以实现DMA传输。      DMA传输的实现步骤:      (1) 通过NVBUILD软件设置DMA传输的控制方为主机或本地逻辑,以下假设为主机控制。      (2) 设置有关的PCI总线控制寄存器。      MWAR DMA 写地址寄存器      填入接收数据存放的起始地址      MWTC DMA写计数器      填入接收数据的字节数      MRAR DMA读地址寄存器      填入发送数据起始地址      MRTC DMA读计数器      填入发送数据的字节数      (3) 启动DMA传输      通过设置MCSR寄存器启动DMA传输。      由本地逻辑控制的DMA传输步骤,只需将控制方式改为本地逻辑控制,然后由本地逻辑来设置相应的寄存器。      3.5 PASS THRU方式下的数据传输      配置空间中的基址寄存器为PCI系统资源分配(内存和I/O空间的分配)提供一种机制,PCI设备在基址寄存器中填入所需资源的类型和大小。基址寄存器的0位为1表示为内存空间,为0则表示为I/O      空间,1、2位则指定内存或I/O空间是分配在1M地址以下,      还是分配在任意地址空间,3位表示能否预取,4-31位表示所需分配的内存或I/O空间的大小。PCI      BIOS启动后读取各个PCI设备配置空间中的基址寄存器,获取每个PCI设备分配所需的资源类型和大小等信息,并且为这些PCI设备分配好所选定的资源,然后再将分配的内存空间或地址空间的基地址回到PCI设备的各个基址寄存器中。      配置空间中有6个基址寄存器,与PASS      THRU方式有关基址寄存器1-4,基址寄存器0被指定为AMCCS5933分配I/O资源,基址寄存器6保留不用。      PASS THRU      方式下的数据传输的有并引脚:PASS#、PTRDY#、PTNUY#、[1:0]、PTBE[3:0]#、BE[3..0]#、PTADR#、PTWR、PTBURST#、DQ[31..0]      PTNUM[1:0]表示由哪个基址寄存器所分配的仙存空间或I/O空间。      PPASS THRU 方式下的数据传输主要由AMCCS5933芯片与本地逻辑电路通过上述引脚信号的交互、握手来完成,时序如图4所示。      PASS THRU的握手时序可以通过可编程逻辑以同步状态机的方式实现,用ALTERAT      的AHDL硬件编程语言可以很容易地实现它。      3.6 中断的设置与产生      AMCCS5933有两个中断引脚:INTA#和IRQ#。INTA#为PCI总线信与用于产生系统PCI中断,IRQ#是本地总线信号用于产生本地逻辑的中断。      MAILBOX的空满变化、DMA读写传送的在都可以产生中断,中断的使用方法如下:      A PCI设备中断INTA#      (1)      在配置空间中断引脚寄存器填入中断引脚单功能设备选INTA#。      (2)      从配置空间矢量寄存器中获取中断矢量。      (3) 在PCI总线控制寄存器中,设置产生的条件,如MAILBOXYOC变满产生中断、DMA写完成产生中断等。      (4) 在中断处理程序中,读取PCI总线控制寄存器INTCSR和MBEF当前值,确定中断源并做相应中断处理。      (5)      清中断及退出中断处理程序,清中断通过往INTCSR相应的中断标志位写“1”来完成。      B 本地设备中断IRQ#      (1) 在本地总线控制寄存器AINT中,设置产生的条件,如MAILBOX变满产生中断、DMA写完成产生中断等。      (2)      在本地中断处理程序中,读取本地总线控制器寄存器AINT和AMBEF当前值,确定中断源并做相应中断处理。      (3)      清中断并退出中断处理程序,清中断通过往AINT相应的中断标志位写“1”来完在。      4 PCB板绘制要点      (1) 推荐采用四层板。      (2) 电源引脚加0.1μF电容滤波。      (3) AMCCS5933 PCI数据线与插口距离小于1.5英寸。      (4) AMCCS5933 PCI时钟线与插口距离等于(2.5±-0.1)英寸,且只能在PCB的同一层。      (5) AMCCS5933其他PCI引脚与插口距离小于2英寸。      |
- 基于PDIUSBD..
- 2007-11-5
- 基于μC/OS-I..
- 2007-11-1
- LW6-220断路..
- 2007-10-27
- 环氧线路板废料处理..
- 2007-8-30
- PCI设备Wind..
- 2007-8-9
- TMS320C80..
- 2007-8-7
- PSD8xxF的在..
- 2007-8-9
- 8x930Ax/H..
- 2007-8-9
- 机械传动间隙的实时..
- 2007-8-9
- 智能寻位加工技术中..
- 2007-8-9
- 增强型并行口EPP..
- 2007-8-9
- 交直流数据采集系统..
- 2007-8-9
- USB在数据采集系..
- 2007-8-9
- Bt8510在V5..
- 2007-8-9
- Windows98..
- 2007-8-9
- RS-232至RS..
- 2007-8-9
- 电流/电压转换芯片..
- 2007-8-9
- 20位Σ-Δ立体声..
- 2007-8-9
- 用增强并口EPP协..
- 2007-8-9
- FX909在无线高..
- 2007-7-29



