PCI总线配置与应用汇编.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?这篇文章是进行VxWorks下PCI驱动开发的基础,故将其放在首位。(当然更首位的是您有一定的Vxworks使用和开发经验)主要介绍PCI总线配置空间,如何查看和读取PCI配置相关信息,最后有VxWorks下相关的示例代码。 ?????? 关键字: PCI总线 vxworks PCI配置空间 内存映射 PlxPCI9056 ?????? 我把个人认为比较重要的地方:用粗体和蓝色进行了标识。 ?????? 如果您对文章有异议,请提出宝贵意见,您的名字和意见,将出现在下面! 专用术语解释: PCI:?Peripheral Component Interconnect的缩写,?一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准。 POST: Power On Self Test的缩写,即上电自检,接通微机的电源后,系统将执行一个自我检查的例行程序,是BIOS功能的一部分。 1 引言 ????? 在众多的实时操作系统(RTOS)中,美国WindRiver公司的嵌入式多任务VxWorks实时操作系统是目前世界上用户数量最大的实时操作系统.已成功应用于航空航天、武器控制、舰船、通信、科学研究等领域,如在美国的火星探测器、爱国者导弹上均使用了VxWorks实时操作系统。当前在我国该操作系统也占有较大的市场分额。VxWorks操作系统专门对PCI设备提供支持,包括PCI总线驱动和一套PCI支持函数。配置总线上的设备还与硬件的体系结构和BSP支持程度相关。本文结合PCI原理。谈谈实际使用中的经验与体会。(上面的是中国的客套话) 2 PCI总线架构 ?2.1典型架构 ????? 在典型的PCI总线系统架构中.处理器、高速缓存和内存子系统通过PCI桥连接至JJPCI总线。桥提供一种高速通道使得处理器可以直接访问PCI设备。还提供高带宽的通道允许PCI直接访问主存。桥也包含了可选择的功能,比如总线仲裁和热插拔。 2.2总线号、设备号、功能号 ?????? PCI总线可以通过桥芯片级连.按与CPU总线所隔的桥数目和同一层总线的扫描顺序,从0开始依次编号,扩展最多N256,0—256就是总线号;在指定的局部总线上.按硬件扫描顺序从O开始依次编号,扩展最多到32。0~32就是设备号;在一个多功能PCI设备上,最多可以实现8种功能,按设备上配置存储区的顺序从0开始依次编号,称其为功能号,一般的设备只有一个功能。这三个号组合起来就可确定唯一的一个PCI设备。以及该设备上的某项功能。通过这三个参数就可操作PCI设备。? 3 PCI配置空间 ?????? 根据PCI规范。每个PCI设备都要有一个PCI配置空间,容量最大为256字节,称为配置寄存器。配置寄存器是PCI设备的硬件与其初始化软件信息交接的地方,软件可以通过它对设备进行识别和监控。 3.1 配置空间组织结构 ?? 256字节的空间分为头标区和设备关联区两部分,如图1所示: ???? ????? PCI设备的头标区中寄存器布局和格式大致相同,其布局如图2所示。头标区又分为两部分,头16个字节定义都相同,余下的48个字节根据设备的功能类别不同而布局不同。位于0Eh的头标识类型字段规定了后48个字节所用布局。目前的规范只规定了00h和01hN个头标识类型:01h用于PCI—to—PCI桥。00h用于其余PCI设备。 ? 3.2配置空间的功能 ????? 类型O配置空间头标区里的寄存器实现了很多功能,这里介绍常用的几类。 (1)设备识别 ????? 在头标区内有五个寄存器是与一个PCI设备的识别有关的。配置软件通过访问这些寄存器很容易确定在该PCI总线上有什么PCI设备。这五个寄存器都是只读的。 ????? 厂商标识:标识设备的制造厂商,由PCt规范的权威组织SIG统一分配,以保证唯一性。如Intel公司的标识码为。8086h”“FFFFh”是无效标识。 ???? 设备标识:标识某一设备,由制造厂商分配。 ???? 修订版本标识:标识设备具体的修订版本,由厂商选择。 ???? 头标类型:表明头标区中10h到3Fh字节空间的布局类型和该设备是否是多功能设备。位7用来标识一个多功能设备,为1则该设备是多功能设备,为oN是单一功能设备。位6到0规定头标区中10h到3Fh字节的布局类型,如上所述,目前只有两类:00h和01h。 ??? 分类代码:该寄存器有三个字节段:高字节(0Bh)是基本分类码,租略地对功能分类:中字节(0Ah)是子分类码。标识具体功能;低字节(09h)标识所用寄存器一级的编程接1:3。 (2)设备控制 ?????? 位于配置空间04h偏移地址处的命令寄存器是控制设备产生和响应PCI周期的,是可读写寄存器。其各位定义和作用如下(这里仅描述软件常用的位): ???? I/O空间使能位:

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档