网站大量收购独家精品文档,联系QQ:2885784924

基于CPLD的单片机PCI接口设计.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于CPLD的单片机PCI接口设计

摘要:详细阐述一种利用CPLD实现的8位单片机与PCI设备间的通信接口

案,给出用ABELHDL编写的主要源程序。该方案在实践中检验通过。

关键词:单片机CPLDPCI

8位单片机在嵌入式系统中应用广泛,然而让它直接与PCI总线设备打交道却有

其固有缺陷。8位单片机只有16位地址线,8位数据端口,而PCI总线2.0规范

中,除了有32位地址数据复用AD[3~0]外,还有FRAME、IRDY、TRDY等重

要的信号线。让单片机有限的I/O端口来直接控制如此众多的信号线是不可能的。

一种可行的方案就是利用CPLD作为沟通单片机与PCI设备间的桥梁,充分利

用CPLD中I/O资源丰富,用户可自定制逻辑的优势,来帮助单片机完成与PCI

设备间的通信任务。

1PCI接口设计原理

1.1PCI总线协议简介

这里只讨论PCI总线2.0协议,其它协议仅仅是在2.0的基础上作了一些扩展,

仅就单片机与PCI设备间的通信来说,意义不大。PCI总线是高性能局部总线,

工作频率0~33MHz,可同时支持多组外围设备。在这里,我们只关心单片机与

一个PCI设备间通信的情况,而且是以单片机与CPLD一方作为主控方,另一

方作为PCI从设备。这样做的目的是为了简化问题,降低系统造价。

PCI总线上信号线虽多,但并不是每个信号都要用到。实际上PCI设备也并不会

支持所有的信号线,比如错误报告信号PERR与SERR在网卡中就不支持。我们

可以针对具体的应用选择支持其中部分信号线,还有一些信号线可以直接连电源

或接地。下面简单介绍一下常用信号线的功能。

AD[31~0]:地址数据多路复用信号。在FRAME有效的第一个周期为地址,在

IRDY与TRDY同时有效的时候为数据。

C/BE[3~0]:总线命令与字节使能控制信号。在地址其中传输的是总线命令;在

数据期内是字节使能控制信号,表示AD[31~0]中那些字节是有效数据。表1是

总线命令编码的说明。

表1总线命令表

C/BE[30]#命令类型说明C/BE[30]#命令类型说明

0000中断应答1000保留

0001特殊周期1001保留

0010I/O读1010配置读

0011I/O写1011配置写

0100保留1100存储器多行读

0101保留1101双地址周期

0110存储器读1110存储器一行读

0111存储器写1111存储器写并无效

PCI总线上所有的数据传输基本上都由以下三条信号线控制。

FRAME:帧周期信号。由主设备驱动,表示一次访问的开始和持续时间,FRAME

有效时(0为有效,下同),表示数据传输进行中,失效后,为数据传输最后一

个周期。

IRD:主设备准备好信号。由主设备驱动,表示主设备已经准备好进行数据传输。

TRDY:从设备准备好信号。由从主设备驱动,表示从设备已经准备好进行数据

传输。当IRDY与TRDY同时有效时,数据传输才会真正发生。

另外,还有IDSEL信号用来在配置空间读写期间作为片选信号。对于只有一个

PCI从设备的情况,它总可以接高电平。IDSEL信号由从设备驱动,表示该设备

已成为当前访问的从设备,可以不理会。

在PCI总线上进行读写操作时,PCI总线上的各种信号除了RST、IRQ、IRQC、

IRQ之外,只有时钟的下降沿信号会发生变化,而在时钟上升沿信号必须保持稳

定。

1.2CPLD设计规划

出于对单片机和CPLD处理能力和系统成本的考虑,下面的规划不支持PCI总

线的线性突传输等需要连续几个数据周期的读写方式,而仅支持一个址周期加一

个数据周期的读写方式。对于大部分应用而言,这种方式已经足够了。图1与

图2是经过简化后的PCI总线读写操作时序。

在CPLD内设有13个8位寄存器用来保存进行一次PCI总线读写时所需要的

数据,其中pci_address0~pci_address3是读写时的地址数据;pcidatas0~

pci_datas3是要往PCI设备写的数据;pci_cbe[3~0

文档评论(0)

文库垃圾佬 + 关注
实名认证
文档贡献者

这个人很懒

1亿VIP精品文档

相关文档