PCI总线(Peripheral CompONent Interconnect)即外设部件互连,是一种新型的、同步的、高带宽的、独立于处理器的总线。从1992年创立规范到如今,PCI总线已成为了事实上计算机的标准总线。其所以能在各类总线中脱颖而出,是因为其具有传输速度快、支持无限猝发读写方式、支持并行工作方式、独立于处理器、提供4种规格、数据线和地址线采用了多路复用结构、支持即插即用功能等特点。本文重点介绍了PCI总线的写周期的时序波形的测量技术及分析方法,给出了时序波形的分析结果。
2 PCI总线的功能
2.1 连接到PCI总线上的设备
连接到PCI总线上的设备分为两类:
(1)主控设备(master):PCI支持多主控设备,主控设备可以控制总线、驱动地址、数据及控制信号;
(2)目标设备(target):不能启动总线操作,只能依赖于主控设备向他进行传递或从中读取数据。
2.2 有关PCI引脚信号
有关PCI引脚信号说明如下:
AD[31~0]:地址、数据信号复用线。PCI总线支持写猝发和读猝发。一个总线传输分为一个地址传送阶段和一个或多个数据传送阶段。有效,表示地址传送阶段开始,此时AD[31~0]包含一个32位的物理地址,选中I/O的一个字节单元或主存的一个双字单元。接下来为数据传送阶段(IRTY和TRDY同时有效),此时AD[7~0]包含最低字节数据,AD[31~24]包含最高字节数据。
C/BE[3~0]:总线指令和字节允许信号的复用线。在地址传送阶段,C/BE[3~0]上传送的是4位编码的总线指令。在数据传送阶段,C/BE[3~0]用作字节允许标志,以决定数据线上的哪些字节数据为有效数据,C/BE[3~0]可依次对应于字节3,2,1,0。
FRAME:周期帧信号。由当前总线控制者产生,表示一个总线传输的开始和延续。FRAME从无效变为有效.表明总线传输开始;保持有效,表明总线传输继续进行(1个或n个数据节拍正在继续);FRAME从有效变为无效,表明进入数据传输的最后一个数据传送阶段。
2.3 总线指令定义
在地址传送阶段,C/BE[3~0]线上送出总线指令的编码信息。总线指令用于对目标设备说明当前总线控制者正在进行的总线传输类型。表1给出了总线指令的定义。
I/O读:用于从一个被选中的I/O单元中读取数据。
I/O写:用于写数据到一个被选中的I/O单元中。
3 测量PCI总线的I/O写时序波形的技术及分析方法
测量PCI总线的I/O写时序波形共分3个部分,如图1所示。
具体的实现测量的过程及分析方法介绍如下
3.1 编写测试程序
用汇编语言编写测试程序,该程序如下:
3.2 制作测试板
PCI波形采用厦门厦华三宝计算机有限公司状元一族主板,执行标准号:Q/FSl0938-1999。
取一块该PCI总线实验板,根据引脚说明,将要测试的各点用焊接的方法引出,并标明引脚名称,各测试点对应关系如下:
3.3 建立泰克示波器与PC机2通信连接
利用泰克TDS210型存储示波器的RS 232通信接口与pc机2相连,该PC机用来将示波器测出的波形转换为.CSV文件,过程如下:
PC机2与泰克示波器通信连接的操作步骤:
(1)TDS一210型存储示波器RS 232通信接口用专用电缆与PC机相连。
(2)打开存储示波器电源,启动PC机2。
(3)在PC机2窗口中点击Wavestar for Oscillose。
(4)点击Instrument manater(检测通信连接)→Responding(检测完成,关闭"×")。
3.4 数据采集、数据转换的过程(操作步骤)
(1)检查焊接无误后,将该实验板插入具有PCI插槽的被测计算机上,将软盘插入被测计算机,该软盘已存入用汇编语言写成的测试程序(TESTPCI),通电启动被测计算机,即PC机1。
(2)接通示波器的电源,设置好示波器两通道的值,将CH1通道接FRAME,将CH2通道接AD0,在PC机1计算机状态提示符A:下,输入TESTPCI后回车,在泰克示波器面板上按下AUTORUN,调整频率,使FRAME的周期在4个以上,再按下RUN/STOP,使显示的波形稳定。
(3)将泰克示波器按上述方法与PC机2计算机相连,以便他们之间通信,这台计算机用来对泰克示波器测试下来的波形进行数据转换,该计算机必须安装Wavestrafor Oscillose软件,该软件用来将泰克示波器测试的波形转换为.CSV数据文件。
(4)测完FRM/AD0波形之后,将CH2通道改接AD8,在被测计算机的键盘上按下F3后回车,执行测试程序,再按下泰克示波器的RUNysT()P,必须注意的是在第一次按下AUTORUN后,接下来只要按RUN/STOP,不能按AUTORUN,否则时序会不一样。按同样的方法测量FRAME与CBE3,FRAME与CBE2,FRAME与CBE1,FRAME与CBE0,FRAME与AD16,FRAME与AD24,AD0与AD8,AD0与CBE0,AD0与CBE1,AD0与C13E2,AD0与CBE3各组的波形,并分别将测试的波形转换为.CSV数据文件后存盘。
(5)将获得的数据进行分析。在PC机3计算机上安装ORIGIN6.0 PROFESSIONAL软件,利用该软件对.CSV数据文件进行分析。
(6)分析得到的PCI写周期的时序波形详见第五部分实测PCI总线I/O写周期的时序波形。
4 实测夏华状元一族主板PCI写周期的时序波形及分析
通过用Origin 6.0 Professional软件对采集来的数据的分析,得知FRAME的四个周期对应AD0的一个周期,因此分析时就对AD0的一个周期进行分析,然后找到与AD0对应的
AD8的波形与AD0埘应的CBE3的波形、与AD0对应的CBE2D的波形、与AD0对应的CBE1的波形、与AD0对应的CBE0的波形、与AD0对应的AD16的波形与AD0对应的AD24的波形。
图2的写时序波形分析如下:
当程序中向6018H单元写进00H,向6019H单元写进01H时,测得的波形如图2所示。在图2波形中,6018H单元的最低位地址线A0为"O",6019H单元的最低位地址线A0为"l",在地址传送阶段,C/BE[3~0]上传送的是4位编码的总线指令,从波形中可看出C/BE[3~0]在FRAME的四个周期中全为"0011",根据总线指令定义,该指令类型为I/O写。在FRAME的前两个周期中,A0为"0",在FRAME的后两个周期中,A0为"1",A8在FRAME的四个周期中全为"0",这符合程序中6018H,6019H的地址。在数据传送阶段,C/BE[3~O]用作字节允许标志,以决定数据线上的哪些字节数据为有效数据,C/BE[3~0]依次对应于字节3,2,1,0。从图中可看出,D0在FRAME的四个周期中全为"0",D8在FRAME的前两个周期中为"0",后两个周期中为"1",从波形中可看出在FRAME的前两个周期中c/BE[3~0]为"1110",根据字节允许标志定义,第0字节的数据为有效数据,因此D0的数据有效,为"0",与程序中向6018H单元写进00H相一致。在FRAME的后两个周期中C/BE[3~0]为"0101",根据字节允许标志定义,第1、3字节的数据为有效数据,因此D8,D24的数据有效,D8为"1",而D24无数据,与程序中向6019H单元写进01H相一致。
图3的写时序波形分析如下:
将程序稍改,即向6018H单元写进0lH,向6019H单元写进00H。测得的波形如图3。从图3中可看出C/BE[3~0]在FRAME的4个周期中全为"0011",根据总线指令定义,该指令类型为I/O写。在FRAME的前两个周期中,A0为"0",在FRAME的后两个周期中,A0为"1",A8在FRAME的四个周期中全为"0",这符合程序中6018H,6019H的地址。在数据传送阶段,从图中可看出,D0在FRAME的四个周期中全为"0",D8在FRAME的四个周期中全为"1",从波形中可看出在FRAME的前两个周期中C/BE[3~0]为"1101",根据字节允许标志定义,第1字节的数据为有效数据,因此D8的数据有效,为"1",与程序中向6018H单元写进01H相一致。在FRAME的后两个周期中c/BE[3~0]为"1110",根据字节允许标志定义,第0字节的数据为有效数据,因此D0的数据有效,为"0",与程序中向6019H单元写进00H相一致。说明数据是由写进6018H,6019H的数据决定。
5 结 语
从以上的分析可看出I/O写的时序波形是正确的,因此采用这种测试I/O写时序的方法是可行的。采用类似方法还可测试I/O读时序波形。对于研究PCI总线的时序提供了一种可行有效的方法。
上一篇:基于I2C总线的单主多从单片机之间的通信
下一篇:基于FPGA视频采集中的I2C总线设计与实现
推荐阅读最新更新时间:2024-05-02 21:41