pci总线协议的fpga实现以及驱动的设计.doc

pci总线协议的fpga实现以及驱动的设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pci总线协议的fpga实现以及驱动的设计

PCI总线协议的FPGA实现以及驱动的设计 ; PCI总线协议的FPGA实现及驱动设计; 摘要:采用FPGA技术,在ALTERA公司的FLEX6000系列芯片上实现了从设备模式PCI总线的简化协议,并给出了Windows9x系统下的虚拟设备驱动程序,提供了与应用程序的接口。实现结果表明:该设备结构灵活,功能可靠,有利于与其它模块实现单片集成应用。本系统已应用在数据采集和处理、图像处理等方面。; 关键词:PCI总线协议 现场可编程门阵列 虚拟设备驱动; 目前,许多公司都提出了新型的计算机高速总线,如Arapahoe总线标准和HyperTransport技术,但各协议互不兼容,没有形成统一标准。作为传统的通用局部总线,PCI总线仍然占据着主流个人电脑市场,具有顽强的生命力。; 现在市面上存在着各种PCI接口芯片,如AMCC公司的S5933,PLX的9080系列等。专用芯片可以实现完整的PCI主设备与从设备模式的接口功能,将复杂的PCI总线接口转化相对简单的用户接口,但系统结构受接口芯片的限制,不能灵活地设计目标系统,且成本较高。本文使用符合PCI电气特性的FPGA芯片进行简化的PCI接口逻辑设计,实现了33MHz、32位数据宽度的PCI从设备模块的接口功能,节约了系统的逻辑资源,且可以将其它用户逻辑集成在同一块芯片,降低了成本,增加了设计的灵活性。另外,还给出了Windows9x系统下的设备驱动程序,可以与应用程序接口,形成一个完整的系统。目前,本系统已经被印染企业应用在数据采集和处理等方面。; 1 系统构成与功能描述; 系统的总体框图如图1所示。; 由图1可见,系统的硬件平台为一块PCI卡。此卡的结构十分简洁,主要由FPGA芯片、RAM芯片和输出接口三部分组成。其中,FPGA芯片集成了PCI接口模块和数据处理模块。PCI接口模块实现了33MHz工作时钟、32位总线宽度的接口功能,支持I/O空间、内存空间及配置空间的读写和PCI中断功能。由于简化的PCI接口占用的逻辑资源较少,可在同一块芯片中集成其他用户逻辑。作为一个应用实例,本文加入了一个数据处理模块,对PCI接口传送来的数据进行处理,通过片外的输出接口输出到下位机。RAM芯片为数据处理提供缓存功能。; 2 从设备模式下的简化PCI协议的实现; 为了实现PCI接口的基本功能,必须完成以下几个模块:; (1)PCI配置空间设置。PCI协议支持三种地址空间:I/O空间、内存空间和配置空间。配置空间提供了支持PCI设备自动配置的机制,是必需的。; (2)PCI从设备状态机。PCI总线状态机是具有PCI总线的计算机系统状态流,是由一个已知状态到另一个状态的条件、时序的描述。这是PCI接口设计中最基本也是最重要的部分。; (3)地址译码和命令译码。地址译码用来确定PCI设备是否应当响应当前总线的操作;命令译码则用来指示PCI设备根据不同的总线命令作出相应的动作。; 本文采用ALTERA公司的Max+PlusII软件平台,硬件描述语言使用ALTERA HDL语言,也可以方便地转换民VHDL或VerilogHDL语言。在此之前,先引入PCI总线信号的定义。; 2.1 总线信号定义; 根据PCI总线协议2.2版,从设备模式下PCI接口至少包含47根引脚。图2给出了按功能划分的引脚分布,左边是必需引脚。右边是可选引脚。为简化起见,本文采用了如下引脚,其他引脚均不使能或置为高阻态。; (1)由系统提供的33MHz的同步时钟信号CLK和复位信号RST#(#表示低电平有效);; (2)关于数据传输的核心信号:32位地址/数据复用线AD[31:0]、总线命令/字节使能复用线C/BE[3:0]#和偶校验信号PAR;; (3)接口控制信号FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#为数据传输起止信号,TRDY#为主设备准备好信号,IRDY#为从设备准备好信号,STOP#为从设备停止请求信号,DEVSEL#为设备选择信号,IDSEL为配置空间读写时的片选信号;; (4)中断引脚INTA#。; 为简化PCI协议,本文只实现了最重要的总线命令,表1给出了所支持的总线命令对应的C/BE[3:0]#编码值。; 表1 支持的总线命令; C/BE[3:0]#命令类型说明0010; 0011; 0110; 0111; 1010; 1011I/O读; I/O写; 存储器读; 存储器写; 配置空间读; 配置空间写; 2.2 配置空间设置; 配置空间大小为256字节,前64字节必需,记录了PCI设备的基本住处,比较重要的有:; (1)VendorID、DeviceID和Class Code域:分别表示设备的生产厂商、设备编号和类型;; (2)Command和Status

文档评论(0)

ailuojue2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档