近年来随着计算机技术的发展,PCI局部总线已逐步取代ISA总线成为家用电脑的标准总线。PCI总线具有总线主控能力,在33 MHz时钟的工作条件下,突发传输速率峰值可达132 MB·s-1;其次它拥有独立的配置空间,可实现即插即用。这些优点使得PCI总线在数据采集、嵌入式系统和测控等领域得到广泛应用。
实现PCI总线协议目前主要有专用接口芯片和CPLD实现两种方式。专用接口芯片使用简单方便、工作稳定可靠,但往往具体应用中只用到部分功能,并且需要可编程逻辑配合使用,这样不仅浪费专用芯片的资源,而且也增加了电路板面积。采用Complex Programmable Logic Device(CPLD)实现突出的优点就在于其灵活的可编程性,这使得硬件电路的升级只需改进软件就可实现,大大提高了硬件平台的通用性;此外CPLD内部有丰富的逻辑资源,可将用户控制逻辑和PCI接口逻辑在同一块芯片中实现,这样不仅充分利用了逻辑资源,还能使系统设计显得更加紧凑。
文中主要介绍了采用CPLD实现32 bit 33 MHzPCI从设备接口的设计方法,该从设备接口模块遵从PCI规范2.2版,实现了资源的自动配置,支持突发传输,并为用户提供了一个简单的接口。设计完成后配置到一块PCI开发板上的CPLD中,系统工作稳定、可靠,验证了该设计方法的工程可行性。
1 PCI总线协议简介
一个PCI系统中,如果某设备取得了总线控制权,就称其为主设备;而被主设备选中以进行通信的设备称为从设备或目标设备。PCI接口信号线共有100根,分为系统信号、仲裁信号、接口控制信号、地址/数据线、错误报告信号、中断信号等类型,其中作为从设备至少需要47条信号线。表1中列出了从设备接口设计必需的接口信号及说明。
一个完整的PCI总线交易过程如下:要发起数据交易的设备先置REQ#,在得到仲裁器的许可(GNT#)后,通过拉低FRAME#启动一个传输交易(TRA NSACTION),并同时在AD[31:0]总线上放置地址,在CBE[3:0]总线上放置命令。PCI总线上所有的设备都对此地址译码,被选中的从设备要置DEVSEL#有效以声明自己被选中,同时对命令译码确定访问类型。在接下来的数据期中,IRDY#和TRDY#分别表示主、从设备准备好。两者同时有效,则在时钟上升沿传输数据;主从双方可以分别通过使IRDY#或TRDY#无效,在数据期中插入等待周期。数据传输结束前,主设备通过撤销FRAME#并建立IRDY#标明只剩最后一组数据要传输,并在数据传输完后放开IRDY#以释放总线控制权。从设备也可以通过有效STOP#信号来请求终止传输,从设备断开连接有RETRY、DISCONNECT和ABORT3种情况,RETRY是由于数据传输的起始字节超过16个PCI时钟周期引起的;DISCONNECT是由于在数据传输的非起始字节,从设备在8个时钟周期里不能对主设备做出反应引起的;ABORT是由于目标设备发现严重错误或者不能完成数据请求,而使STOP#和DEVSEL#都无效来终止当前进程。传输终止后总线进入空闲状态,等待下个PCI总线交易开始。
表1 PCI从设备接口信号线
表1中,#表示信号低电平有效,否则为高电平有效。IN表示标准的输入信号,OUT表示标准的输出驱动信号,T/S表示双向的三态输入/输出信号,S/T/S表示持续且低电平有效的三态信号,O/D表示漏极开路信号。
2 PCI从设备接口的CPLD实现
设计的32 bit 33 MHz PCI从设备接口的内部结构框图如图1所示,由结构图可以看出它主要由状态机、配置空间、译码模块、数据通道、奇偶校验和重试模块组成。PCI从设备接口实现的功能是将一个不符合PCI总线协议的设备桥接到PCI总线上,为计算机PCI总线和用户应用之间传输数据提供一个数据通道。该从设备接口为用户提供了一个简单的总线接口,特别适合PCI总线与32位SRAM或FIFO等高速存储设备的桥接。
图1 PCI从设备接口的内部结构框图
表2 用户总线信号定义
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)