基于PCI总线的主板诊断卡设计
发布时间:2008/6/3 0:00:00 访问次数:639
1 pci总线及其工作原理
pci总线是由intel公司1991年推出的一种高性能的32位或64位局部总线[1]。他是专为高度集成的外围部件、扩充插板和处理器/存储器系统而设计的互联机制。pci局部总线与处理器无关,不受制于系统所使用的微处理器的种类,不同的总线之间可以通过相应的桥接芯片来转换。
根据pci总线协议,pci总线上所有的数据基本上是由frmae#,irdy#,trdy#三条信号线控制的。pci总线基本写操作时序如图1所示,各信号遵循如下规则:
(1) frame#和irdy#定义了总线的忙/闲状态。当其中一个有效时,总线是忙的;两个都无效时,总线处于空闲状态。
(2) 一旦frame#信号无效时,在同一传输期间不能重新设置。
(3) frame#的无效,必须以irdy#有效为前提。
(4) 一旦主设备设置了irdy#信号,直到当前资料期结束为止,主设备不能改变irdy#和frame#信号的状态。
(5) 在传输过程中,irdy#和trdy#同时有效表明这是最后一个资料的传输。
(6) 一旦frame#有效,地址期开始有效,ad[31:0]传输一个有效地址,c/be[3:0]#线上传输总线命令。
(7) 第二个时钟里,ad[31:0]开始传送数据,c/be[3:0]#上的信息是提出资料线上哪些字节是有效的,从数据的开始一直到传输的完成,c/be#始终保持有效状态。
2 主板诊断卡设计
本设计利用一块pld对pcl局部总线进行控制并提取数据达到最终解译。pld专用接口芯片选择xilinx公司xc9500系列cpld中xc952288xl pq208零件。该零件采用系统内编程——isp技术,支持扩充的ieee1149.1边界扫描标准,着重满足系统内编程的要求,增强的引脚锁定能力可以避免重做昂贵的印制板,扩充的jtag指令集允许编程模式和系统内诊断的各种控制。器件编程仅用一根下载电缆通过下载软件和器件的编程接口相连即可实现,提供10 000次以上编程/擦除周期,宏单元数有288个。
本设计主要由以下3部分组成:数据接口(金手指)部分、pld部分和显示(led灯)部分。
2.1 数据接口(金手指)部分
该部分的主要作用是通过pci插槽将dubug卡与计算机南桥相连,通过pld的控制,接收计算机南桥发出的侦测信息。本设计中线路比较简单,除对应连接相关的信号线外,还包括电源线和地线的正确连接。根据pci协议的要求,该卡的设计中采用了5 v和3.3 v两种电源来使线路板上各个部分正常工作。在两种电源上都连接了几个不同阻值的电容来滤去多余的干扰信号以及杂波。
2.2 pld部分
该部分是整个设计的核心和灵魂,主要负责数据的采集、转换、存储、处理和i/o等功能,他把从金手指处得到的数据经过接收、锁存(分频、选择)、译码,最终送至led显示。其程序流程图如图2所示。
2.3 显示(led灯)部分
显示部分分为集成在pld内部的处理部分和外围线路部分。
2.3.1 内部处理部分
内部处理结构如图3所示,他的输入信号是由dl,dh以及flkhz和reset组成,输出信号有a1~g1及ds0和dsl,用来驱动2个7段led数码显示管。flkhz是分频后的时间频率,他的变化控制di在0,1之间循环变化,从而经过译码后产生一个矢量信号ds选通2位数码管。与此同时,di还作为数据选择电路即位选择器digit.sel的选择信号,选择对应的dl和dh,并把他经过段译码器将数据送至7段数码管的7个段上,从而显示对应的数据信息。在这个过程中.当dj为0时,位选择器digit.sel把dl的信号赋予i,同时位译码器使ds0为高电位;当di为1时,位选择器digit.sel把dh的信号赋予i,同时位译码器使dsl为高电位。
由上述说明可知,dl和dh对应的信息分别经译码后循环显示在第一个数码管和第二个数码管上。
2.3.2 外围线路部分
由图
1 pci总线及其工作原理
pci总线是由intel公司1991年推出的一种高性能的32位或64位局部总线[1]。他是专为高度集成的外围部件、扩充插板和处理器/存储器系统而设计的互联机制。pci局部总线与处理器无关,不受制于系统所使用的微处理器的种类,不同的总线之间可以通过相应的桥接芯片来转换。
根据pci总线协议,pci总线上所有的数据基本上是由frmae#,irdy#,trdy#三条信号线控制的。pci总线基本写操作时序如图1所示,各信号遵循如下规则:
(1) frame#和irdy#定义了总线的忙/闲状态。当其中一个有效时,总线是忙的;两个都无效时,总线处于空闲状态。
(2) 一旦frame#信号无效时,在同一传输期间不能重新设置。
(3) frame#的无效,必须以irdy#有效为前提。
(4) 一旦主设备设置了irdy#信号,直到当前资料期结束为止,主设备不能改变irdy#和frame#信号的状态。
(5) 在传输过程中,irdy#和trdy#同时有效表明这是最后一个资料的传输。
(6) 一旦frame#有效,地址期开始有效,ad[31:0]传输一个有效地址,c/be[3:0]#线上传输总线命令。
(7) 第二个时钟里,ad[31:0]开始传送数据,c/be[3:0]#上的信息是提出资料线上哪些字节是有效的,从数据的开始一直到传输的完成,c/be#始终保持有效状态。
2 主板诊断卡设计
本设计利用一块pld对pcl局部总线进行控制并提取数据达到最终解译。pld专用接口芯片选择xilinx公司xc9500系列cpld中xc952288xl pq208零件。该零件采用系统内编程——isp技术,支持扩充的ieee1149.1边界扫描标准,着重满足系统内编程的要求,增强的引脚锁定能力可以避免重做昂贵的印制板,扩充的jtag指令集允许编程模式和系统内诊断的各种控制。器件编程仅用一根下载电缆通过下载软件和器件的编程接口相连即可实现,提供10 000次以上编程/擦除周期,宏单元数有288个。
本设计主要由以下3部分组成:数据接口(金手指)部分、pld部分和显示(led灯)部分。
2.1 数据接口(金手指)部分
该部分的主要作用是通过pci插槽将dubug卡与计算机南桥相连,通过pld的控制,接收计算机南桥发出的侦测信息。本设计中线路比较简单,除对应连接相关的信号线外,还包括电源线和地线的正确连接。根据pci协议的要求,该卡的设计中采用了5 v和3.3 v两种电源来使线路板上各个部分正常工作。在两种电源上都连接了几个不同阻值的电容来滤去多余的干扰信号以及杂波。
2.2 pld部分
该部分是整个设计的核心和灵魂,主要负责数据的采集、转换、存储、处理和i/o等功能,他把从金手指处得到的数据经过接收、锁存(分频、选择)、译码,最终送至led显示。其程序流程图如图2所示。
2.3 显示(led灯)部分
显示部分分为集成在pld内部的处理部分和外围线路部分。
2.3.1 内部处理部分
内部处理结构如图3所示,他的输入信号是由dl,dh以及flkhz和reset组成,输出信号有a1~g1及ds0和dsl,用来驱动2个7段led数码显示管。flkhz是分频后的时间频率,他的变化控制di在0,1之间循环变化,从而经过译码后产生一个矢量信号ds选通2位数码管。与此同时,di还作为数据选择电路即位选择器digit.sel的选择信号,选择对应的dl和dh,并把他经过段译码器将数据送至7段数码管的7个段上,从而显示对应的数据信息。在这个过程中.当dj为0时,位选择器digit.sel把dl的信号赋予i,同时位译码器使ds0为高电位;当di为1时,位选择器digit.sel把dh的信号赋予i,同时位译码器使dsl为高电位。
由上述说明可知,dl和dh对应的信息分别经译码后循环显示在第一个数码管和第二个数码管上。
2.3.2 外围线路部分
由图