PCI 总线
PCI局部总线简介:
PCI的含义为外部部件互连(Peripheral Component Interconnect)。
1991年,Intel公司对PCI局部总线进行了定义,并与IBM、Compaq、AST、HP、NEC等100多家公司联合共谋计算机总线的发展大业,于是,PCI局部总线标准1.0版本技术规范于1992年6月22日推出。目前,最新的2.2修改版于1998年12月18日完成,1999年2月发布。
PCI局部总线是一种具有多路地址线和数据线的高性能32/64位总线。虽然在PC领域,PCI已经逐渐被更高性能的PCI-Express总线替代,但在嵌入式领域PCI总线依然应用广泛,且其性能足够满足绝大多数嵌入式系统的需求。
PCI总线信号定义
在一个PCI应用系统中,如果某设备取得了总线的控制权,就称其为“主设备”,而被主设备选中以进行通信的设备称为“从设备”或“目标设备”。对于相应的接口信号线,通常分为必备的和可选的两大类。如果只作为目标设备,至少需要47条接口信号线,若作为主设备,则需要49条。下面对主设备和目标设备综合考虑,并按功能分组将这些信号表示于图中。
下面对PCI信号的类型规定说明:
IN 表示输入,是标准的只作输入的信号。
OUT 表示输出,是标准的图腾柱式输出驱动信号。
T/S 表示双向的三态输入/输出信号。
O/D 表示漏极开路,以线或形式允许多个设备共同驱动和分享。
S/T/S 表示持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。
系统信号定义:
CLK IN: 对于所有的PCI设备都是输入信号。其频率范围为0~33M或者0~66M,这一频率也称为PCI的工作频率。对于PCI的信号,除了RST#、INTA#~INTD#之外,其余信号都在CLK的上升沿有效(或采样)。
RST# IN: 复位信号。用来使PCI专用的特性寄存器、配置寄存器、定时器、主设备、目标设备以及输出驱动器恢复为规定的初始状态。每当复位时,PCI的全部输出信号一般都应驱动到三态。REQ#和GNT#必须同时驱动到三态,不能在复位期间为高或为低。为防止AD、C/BE#及PAR在复位期间浮动,可由中央资源将它们驱动到逻辑低,但不能驱动为高电平。RST#和CLK可以不同步,但要保证其撤销边沿没有反弹。
地址和数据信号:
AD[31:0] T/S: 地址、数据多路复用的输入/输出信号。一个总线交易由一个地址期和一个或多个数据期构成。在FRAME#有效时,是地址期;在IRDY#和TRDY#同时有效时,是数据期。PCI总线支持突发方式的读写功能。
C/BE[3:0]# T/S: 总线命令和字节使能多路复用信号线。在地址期中,传输的是总线命令;在数据期内,传输的是字节使能信号,用来确定AD[31:0]线上哪些字节为有效数据。C/BE[0]#应用于字节0(最低字节),C/BE[3]#应用于字节3(最高字节)。
PAR T/S:地址与数据位传送时的奇偶校验信号。
接口控制信号:
FRAME# S/T/S: 帧周期信号。由当前的主设备驱动,表示当前主设备一次交易的开始和持续时间。FRAME#的有效预示着总线传输的开始;在FRAME#存在期间,意味着数据传输的继续进行;FRAME#失效后,是交易的最后一个数据期;
IRDY# S/T/S:主设备准备好信号。由当前主设备驱动,该信号的有效表明发起本次传输的设备能够完成交易的当前数据期。它要与TRDY#配合使用,二者同时有效,数据方能完整传输。在读周期,该信号有效时,表示主设备已作好接收数据的准备。在写周期,该信号有效时,表明数据已提交到AD总线上。如果IRDY#和TRDY#有一个无效,将插入等待周期。
TRDY# S/T/S:目标设备准备好信号。由当前被寻址的目标设备驱动,该信号有效表示目标设备已经作好完成当前数据传输的准备工作。同样,该信号要与IRDY#配合使用,二者同时有效,数据方能完整传输。在写周期,该信号有效,表示从设备已作好接收数据的准备;在读周期,该信号有效,表明数据已提交到AD总线上。同理,TRDY#和 IRDY#任一个无效,都将插入等待周期;
STOP# S/T/S:停止数据传送信号。由目标设备驱动。当该信号有效时,表示目标设备要求主设备中止当前的数据传送。
IDSEL# IN:初始化设备选择信号。在参数配置读和配置写期间,用作片选信号。
DEVSEL# S/T/S:设备选择信号。该信号有效时,表示驱动它的设备已称为当前访问的目标设备。换言之,该信号的有效说明总线上某一设备已被选中。如果一个主设备启动一个交易并且在6个CLK周期内没有检测到DEVSEL#有效,它必须假定目标设备没有反应或者地址不存在,从而实施主设备缺省。
LOCK# S/T/S:锁定信号(可选)。当该信号有效时,表示对桥的原始操作可能需要多个传输才能完成,也就是说,对此设备的操作是排它性的。锁定只能由主桥、PCI-PCI桥和扩展总线桥发起。
仲裁信号:
REQ# T/S: 总线占用请求信号。该信号一旦有效即表明驱动它的设备向仲裁器要求使用总线。它是一个点到点的信号线,任何主设备都有其REQ#信号。当RST#有效时,REQ#必须为三态。
GNT# T/S: 总线占用允许信号。用来向申请总线占用的设备表示其请求已获得批准。这也是一个点到点的信号线,任何主设备都有自己的GNT#信号。当RST#有效时,必须忽略GNT#。
每一个PCI主设备都有一对仲裁线直接连接到PCI仲裁器上。当一个主设备请求使用总线时,它会使连接到仲裁器上的REQ#有效,当仲裁器决定正在请求的主设备应该授权控制总线时,它会使对应的GNT#有效。在PCI环境中,总线仲裁器在同时有另一个主设备仍控制总线时起作用,这称为“隐式”仲裁。当主设备接受来自仲裁器的授权时,必须等待当前的主设备完成其传送,直到采样到FRAME#和IRDY#均无效时,它才认为自己取得总线授权。
错误报告信号:
PERR# S/T/S:数据奇偶校验错误信号;由数据的接收端驱动,同时设置其状态寄存器中的奇偶校验错误位。一个交易的主设备负责给软件报告奇偶校验错误,为此在写数据期它必须检测PERR信号。
SERR# O/D: 系统错误报告信号;它的作用是报告地址奇偶错误,特殊周期命令的数据错误。SERR#是一个OD(漏极开路)信号,它通常会引起一个NMI中断,Power PC中会引起机器核查中断。
中断信号:
中断在PCI中是可选项,属于电平敏感型,低电平有效,OD,与时钟异步。其中INTB ~INTD只能用于多功能设备。中断线和功能之间的最终对应关系是由中断引脚寄存器来定义的。
附加信号:
PRSNT[2:1]: 插卡存在信号;用于指出PCI插件板上是否存在插卡板,如存在则要求母板为其供电;
CLKRUN: 时钟运行信号;用于停止或者减慢CLK;
M66EN: 66M使能信号;
PME#: 电源管理事件信号。
3.3Vaux: 辅助电源信号;当插卡主电源被软件关闭时,3.3Vaux为插件提供电能以产生电源管理事件。
64位总线扩展信号:
AD[64:32]: 在地址期,如使用DAC命令且REQ64有效时为高32位地址;在数据期,REQ64和ACK64都有效时高32位数据有效。
C/BE[7:4]: 用法与AD信号同。
REQ64#: 64位传输请求;由主设备驱动,并和FRAME有相同的时序;
ACK64#: 64位传输认可;由从设备驱动,并和DEVSEL有相同的时序;
PAR64#: 奇偶双字节校验。
JTAG/边界扫描信号:
TCK,TDI,TDO,TMS,TRST#
PCI总线信号定义
系统信号定义:
地址和数据信号:
接口控制信号:
仲裁信号:
错误报告信号:
中断信号:
附加信号:
64位总线扩展信号:
JTAG/边界扫描信号:
posted on 2011-04-29 13:34 zong_blogs 阅读(1761) 评论(0) 编辑 收藏 举报