当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]PCI总线I/O时序波形观测及分析

1 引 言

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的波形。[!--empirenews.page--]

 

 

图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总线时序提供了一种可行有效的方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台北 2025年7月16日 /美通社/ -- 作为物联网(IoT)智能系统及嵌入式平台领域的全球领导者,研华科技(Advantech)今天宣布推出其AMAX物联网控制平台。这一创新解决方案将可编程逻辑控制器(PLC)、...

关键字: 物联网 控制平台 I/O PLC

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

时序在数字系统中占有至关重要的地位,时序约束对数字系统的设计起着显著的作用,定义时序约束是一个相当复杂的过程。

关键字: 数字系统 时序

在嵌入式Linux系统编程中,文件I/O(Input/Output)和标准I/O库是实现文件操作不可或缺的两种方式。这两种方法各有特色,适用于不同的应用场景。本文将深入探讨文件I/O和标准I/O库的工作原理、区别及应用,...

关键字: 嵌入式Linux I/O

在Linux操作系统中,文件I/O和标准I/O是两种常见的输入输出(I/O)操作方式。尽管它们的目标都是实现数据的读写,但在数据缓冲的原理和机制上却存在显著的差异。理解这些差异对于优化应用程序的性能至关重要。

关键字: Linux文件 I/O

电子分销业加快数智转型 加利福尼亚州帕萨迪纳2024年11月18日 /美通社/ -- 电子供应链管理软件提供商四方维有限公司(以下简称四方维),与大联大控股股份有限公司(以下简称大联大)联合宣布,两家公司即日起将共同打...

关键字: FRAM SUPPLY 元器件 BSP

本文是系列文章中的第三篇,该系列文章将讨论常见的开关模式电源(SMPS)的设计问题及其纠正方案。本文旨在解决DC-DC开关稳压器的功率级设计中面临的复杂难题,重点关注功率晶体管和自举电容。功率晶体管具有最小和最大占空比,...

关键字: 晶体管 时序 自举电容

北京2024年9月27日 /美通社/ -- 9月25日,MLCommons协会发布最新MLPerf™ Storage v1.0 AI存储基准测试成绩。浪潮信息分布式存储平台AS13000G7表现出众,在3D-UNet和C...

关键字: RF AI 测试 I/O

在C语言的世界里,输入输出(I/O)操作是程序与用户或外部数据源进行交互的基本方式。无论是从键盘接收用户输入,还是将处理结果显示到屏幕上,亦或是读写文件,都离不开C语言提供的输入输出函数。本文将深入探讨C语言中几种核心的...

关键字: C语言 I/O

在快速发展的电子行业中,存储器技术作为支撑各类电子设备运行的核心组件,其性能与可靠性直接关系到产品的整体表现。在众多非易失性存储器中,铁电随机存取存储器(FRAM)以其独特的优势,特别是在代码存储器应用中的单芯片解决方案...

关键字: 存储器 电子设备 FRAM
关闭