PCI 配置寄存器和本地端配置寄存器
2009-12-26 11:54
PCI9054 内部提供了 5 种寄存器:PCI 配置寄存器,本地端配置寄存器,运行
时间 RUNTIME 寄存器,DMA 寄存器和 I2O 信息寄存器。在本方案设计中,
我们主要用到 2 种配置寄存器:PCI 配置寄存器和本地端配置寄存器,下面对
这 2 种寄存器的功能做简要介绍。
PCI 配置寄存器也就是我们常说的 PCI 配置空间,他提供了配置 PCI 的一些信
息。其中 VenderID,DeviceID,RevisionID,HeaderType,ClassCode
用于 PCI 设备的识别。命令寄存器(Command)包含设备控制位,包括允许
存储器读写响应等。状态寄存器(Status)用于记录 PCI 总线的相关事
件。PCI 配置寄存器提供了 6 个基地址寄存器,这些基地址都是在系统中的物
理地址范围内,其中 BASE0 和 BASE1 都是用来访问其他配置寄存器的基地
址,BASE1 是其他配置寄存器映射到 PCI 端内存的基地址,BASE2 是其他寄
存器映射到 PCI 端 I/O 的基地址。所以可以通过 PCI 端内存和 PCI 端 I/O 来访
问 LOCAL 配置寄存器与其他 3 种寄存器。BASE2~5 四个空间提供了访问本
地端所接的 4 个芯片(当然可以少于 4 个),他们将本地端的芯片通过本地端
地址(在 LOCAL 配置寄存器中设)翻译成 PCI 的地址,也就是将本地的芯片
映射到系统的内存或 I/O 口。这样使得用程序操作这一段内存(或 I/O)实际上
就是对本地的芯片操作。
本地端配置寄存器提供了本地端的一些信息,在本方案设计中,主要是通过配
置本地端配置寄存器来将本地端的单片机读写指令、周期转换成 PCI 端的读写
评论7