>
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单元写进0 0H相一致。在FRAME的后两个周期中C/BE[3~0]为"0101",根据字节允许标志定义,第1、3字节的数据为有效数据,因此D8,D24的数据有效,D8为"1",而D24无数据,与程序中向6019H单元写进01H相一致。