FPGAPCI总线接口设计方案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
封面 作者: PanHongliang 仅供个人学习 基于 FPGA的 PCI 总线接口设计 技术分类: 可编程器件 | 2010-03-05 21ic 在现代数据采集及处理系统中, ISA、 EISA、 MCA等扩展总线已无法适应高速数据传输的要求,而 PCI 局部总线以其优异性价比和适应性成为大多数系统的主流总线。 PCI 总线 特点 PCI 总线宽度 32 位,可升级到 64 位;最高工作频率 33MHz,支持猝发工作方式,使传 输速度更高;低随机访问延迟 ( 对从总线上的主控寄存器到从属寄存器的写访问延迟为 60ns) ;处理器 / 内存子系统能力完全一致; 隐含的中央仲裁器; 多路复用体系结构减少了管 脚数和 PCI 部件;给于 ISA、EISA、MAC系统的 PCI 扩展板, 减少了用户的开发成本; 对 PCI 扩展卡及元件能够自动配置,实现设备的即插即用;处理器独立,不依赖任何 CPU,支持多 种处理器及将来更高性能的处理器;支持 64 位地址;多主控制允许任何 PCI 主设备和从设 备之间进行点对点访问; PCI 提供数据和地址的奇偶校验功能,保证了数据的完整性和准确性。 PCI 接口开发现状 目前开发 PCI 接口大体有两种方式,一是使用专用的 PCI 接口芯片,可以实现完整的 PCI 主控模块和目标模块接口功能,将复杂的 PCI 总线接口转换为相对简单的用户接口。用 户只要设计转换后的总线接口即可, 缩短了开发周期, 缺点是用户可能只用到部分 PCI 接口 功能, 这样造成了一定的逻辑资源浪费, 也缺乏灵活性, 很可能增加板上的组件, 导致产品 成本的增加和可靠性的降低。二是使用可编程器件,采用 FPGA的优点在于其灵活的可编程 性,首先 PCI 接口可以依据插卡功能进行最优化, 而不必实现所有的 PCI 功能,这样可以节 约系统的逻辑资源。 而且,用户可以将 PCI 插卡上的其他用户逻辑与 PCI 接口逻辑集成在一 个芯片上, 实现紧凑的系统设计。当系统升级时, 只需对可编程器件重新进行逻辑设计,而 无需更新 PCB版图。现在已经有越来越多的用户使用可编程器件如 FPGA、 CPLD等进行 PCI 设备的开发。 本文所论述的 PCI 接口控制器是作为一个转换接口工作于可以认为其主要功能是起一个桥梁作用,完成用户设备与  PCI 总线与用户设备之间, 也 PCI 总线间的信息传送。 PCI 接口设计 在 PCI 板卡的设计中, 核心设计有时序控制和配置空间两部分。 时序控制保证了板卡能 按正常的 PCI 时序工作,配置空间部分保证了板卡的即插即用功能。在进行 FPGA设计时本 设计使用的软件是 Altera 的 MAX+PLUSII,开发芯片是 EPF10K20RC240-3。 ●  PCI  接口配置空间的实现 PCI 总线定义了  3 种物理地址空间,分别是存储器地址空间、  I/O  地址空间和配置地址 空间。 配置空间是 PCI 所特有的一种空间, 其目的在于提供一套适当的配置措施, 使之满足现 行的和可预见的系统配置机构。 配置空间是一长度为 256 字节并且有特定记录结构的地址空 间,可以在系统自举时访问, 也可在其他时间访问。 该空间分为首部区和设备有关区两部分, 设备在每个区中只须实现必要的和与之相关的寄存器。 配置空间的基地址寄存器提供了一种 为设备指定存储空间或 I/O 空间的机制。操作系统在启动的时候要判断系统中有多少存储器、 系统中的 I/O 设备需要多少地址空间,然后根据得到的结果,自动配置系统的存储空间和 I/O 空间,实现设备无关管理。在本设计中,那些只读的配置寄存器通过硬件连线到相应的 值,因而不占用宏单元。 通过配置寄存器,配置软件可了解目标设备的存在、功能及配置要 求。 (1) 厂商 ID :此 16 位的只读寄存器定义了设备的生产厂商,可以使用 MACH芯片最初的 生产厂商- AMD公司的 ID 值 1022。 (2) 设备 ID :该值由生产厂商分配以识别其产品,可为除 和 0FFFFFFFFH中 的任意值。 (3) 命令寄存器:此寄存器控制了设备响应 PCI 访问的能力。位 1、 6、 8 在本设计中被 实现。本设计要求实现对存储空间的访问,位 1 设置为 1,则设备响应 PCI 对存储器访问; 位 6 控制了设备对奇偶校验错误的响应;当位 8 被设置为 1 时,设备能够驱动 SERR线, 0 则禁止设备的 SERR输出驱动器。在这里当系统复位后,位 1、 6、 8 被设置为 0。 状态寄存器:此寄存器记录了PCI 相关事件的信息。在本系统中,位9、 10、11、 14、 15 被设计实现。位 10

文档评论(0)

135****9629 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档