CN1516014A - 外围部件互连总线的测试方法 - Google Patents
外围部件互连总线的测试方法 Download PDFInfo
- Publication number
- CN1516014A CN1516014A CNA031014062A CN03101406A CN1516014A CN 1516014 A CN1516014 A CN 1516014A CN A031014062 A CNA031014062 A CN A031014062A CN 03101406 A CN03101406 A CN 03101406A CN 1516014 A CN1516014 A CN 1516014A
- Authority
- CN
- China
- Prior art keywords
- pci
- bus
- testing
- peripheral component
- component interconnect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种外围部件互连总线的测试方法,其通过PCI测试卡直接操作PCI总线映像的I/O、内存空间,首先将PCI测试卡插入PCI插槽中,然后根据配置信息为该PCI测试卡分配主机访问所需的参数,再将该参数写入PCI测试卡的PCI配置空间,根据该配置空间确定该PCI测试卡的端口映像方式,分别向32位及64位地址写入数据,最后根据读取结果得出测试结论。
Description
技术领域
本发明涉及一种硬件测试方法,尤其涉及一种外围部件互连总线的测试方法。
背景技术
外围部件互连总线即PCI(Peripheral Component Interface)总线,是一种先进的高性能32/64位地址数据复用局部总线,可同时支持多组外围设备,并且不受制于处理器,为中央处理器与高速外围设备提供一座沟通的桥梁,提高数据吞吐量(32位时最大可达132MB/s),是当今PC领域中流行的总线。PCI总线是90年代中期兴起的先进的计算机总线,以其高性能,高可靠性,迅速成为当今计算机主流总线。
目前,对PCI总线的测试方法为在总线上插一块PCI设备,对此PCI设备进行测试。对PCI总线的测试都是功能测试,无法检验PCI总线在高速传输数据时的性能。由于PCI设备种类繁多,难以保证其它PCI设备测试结果,而且一般的PCI设备需要的系统资源有限,所以测试的涵盖率不够,也很难做到大数据吞吐量的测试。
发明内容
有鉴于此,本发明的目的是为了解决上述问题而提出一种外围部件互连总线的测试方法,可以满足所有PCI设备对资源的要求,能够达到足够的数据吞吐量。
本发明的目的可通过如下措施来实现:
一种外围部件互连总线的测试方法,其通过PCI测试卡直接操作PCI总线映像的I/O、内存空间,该方法包括如下步骤:
将PCI测试卡插入PCI插槽中;
根据配置信息为该PCI测试卡分配主机访问所需的参数;
将该参数写入该PCI测试卡的PCI配置空间;
根据该配置空间确定该PCI测试卡的端口映像方式;
根据该映像方式,分别向32位及64位地址写入数据;及
读取数据,并根据该读取结果得出测试结论。
所述测试方法包括列举PCI总线上的设备,找到该PCI测试卡的步骤。
所述列举PCI总线上的设备,找到该PCI测试卡的步骤是由底层驱动程序WDM完成的。
所述配置信息即为BAR寄存器及各寄存器的值,其是在激活时由桥接电路自动读取的。
所述桥接电路为将局部总线转换为PCI总线的专用接口芯片。
所述配置信息是在PCI测试卡的数据存储芯片中,包括厂商及设备标识ID。
所述参数可以从PCI配置空间的各基址所对应的的寻址空间中得到。
上述测试方法还包括将该参数值写入桥接电路。
所述根据该配置空间确定该PCI测试卡的端口映像方式,为根据该配置信息来决定和分配PCI I/O和PCI内存的地址空间,还包括如下步骤:
读对应的端口配置寄存器;
判断其0位;
根据其0位确定该PCI测试卡的端口映像方式。
所述根据其0位确定该PCI测试卡的端口映像方式的步骤,若该0位为数值0,则表示其是按内存方式设置的,否则为I/O方式设置的。
所述根据该映像方式,分别向32位及64位地址写入数据的步骤,是为向基址寄存器写入全1,根据读取结果获得基址的大小。
所述根据读取结果获得基址的大小,若是按内存方式设置的,则从第4位开始0的数目表示基址的大小。
所述根据读取结果获得基址的大小,若是按I/O方式设置的则从第2位开始的0的数目表示基址的大小。
该PCI测试卡符合PCI总线技术规范,并具有较大的I/O及内存空间。
本发明相比现有技术具有如下优点:
本发明通过专用的PCI测试卡直接操作PCI总线映像的I/O、内存空间,PCI测试卡具有较大I/O、内存空间,测试时的数据流量接近PCI总线带宽,使测试的资源涵盖率大,可以满足所有PCI设备对资源的要求,从而验证PCI总线的性能,提高测试效率。
附图说明
图1为本发明的外围部件互联总线的测试方法的总体流程图;及
图2为本发明的外围部件互联总线的测试方法中根据配置空间确定端口映像方式的流程图。
具体实施方式
下面结合附图对本发明进行详细说明。
PCI总线是为了满足高速数据传输而设计的一种独立于处理器的本地总线,具有32位和64位两种复用的地址数据通路,一边与处理器和内存总线接口相联,另一边为外设扩展提供了高速信道。在结构上,PCI总线是在CPU和原来的系统总线之间插入的一级总线,由一个桥接电路来实现对这一层的管理,实现上下接口之间的数据传送,在桥接电路管理器中提供信号缓冲,这样使PCI总线可以支持最多10个外部设备,同时PCI总线也支持总线主控技术,即能够允许智能设备在需要时取得总线控制权来加速数据的传送。
对外围部件互连总线的测试方法,请参见图1,图1是本发明的外围部件互连总线的测试方法的总体流程图。如图所示,首先将PCI测试卡插入PCI插槽中(步骤110);根据配置信息为该PCI测试卡分配主机访问所需的参数(步骤120);将该参数写入该PCI测试卡的PCI配置空间(步骤130);根据该配置空间确定该PCI测试卡的端口映像方式(步骤140);根据该映像方式,分别向32位及64位地址写入数据(步骤150);读取数据,并根据该读取结果得出测试结论(步骤160)。
PCI总线具有独立的配置空间,从而实现参数的自动配置,使所有的PCI设备真正即插即用。PCI总线规定的配置空间、总长度为256个位,配置信息按照一定的顺序和大小依次存放,前64个字节称为头标区,是任何PCI兼容设备都应实现的空间,其中偏移地址00H~04H为PCI设备的厂商及设备标识,10H~24H为本地空间地址寄存器。
在Windows NT下,系统不允许处于ring3级的用户程序和用户模式驱动程序直接使用I/O指令,如果使用了I/O指令将会导致特权指令意外(Privileged Instruction Exception)。Windows工作在32位保护模式下,采用了分段、分页机制,与实模式在于CPU寻址方式上有根本区别。所以必须获得ring0级的权限,要通过Windows驱动程序进行访问。因此要加载底层驱动程序WDM,总线驱动程序为它的控制器、适配器、桥接电路或其它设备担当功能驱动程序。WDM一运行就是工作在系统的底层Ring0处,提供各种接口给应用程序调用。
WDM驱动体系重新定义驱动程序层次,以便适应即插即用系统。总线驱动程序负责列举设备,也就是说,它负责发现总线上的所有设备并检测设备何时添加到总线上或何时从总线上删除。总线驱动程序每发现一个设备就创建一个对应的物理设备对象。使得PCI配置代码可以试图检测在一个给定的PCI总线上所有可能的PCI配置头,从而知道哪个PCI插槽上目前有设备,哪个插槽上暂无设备。
将PCI测试卡插入CPI插槽中,该PCI测试卡符合PCI总线技术规范,并具有较大的I/O及内存(Memory)空间。WDM驱动程序遍历PCI总线,列举总线上的设备,找到该PCI测试卡。不论PCI设备和PCI桥在哪里,系统都将检测到,并使用它们的配置头中的状态和配置寄存器来对它们进行配置。一般来讲,每个PCI插槽的PCI配置头都位于在PCI配置空间(Configuration)的一个偏移量(Offset)处,这个偏移量是与每个PCI插槽的位置顺序相关的。
系统激活时,由桥接电路自动读取预先存放于串行EEPROM(在PCI设备卡上的数据存储芯片)中的配置信息。其中桥接电路为将局部总线转换为PCI总线的专用接口芯片,所述配置信息包括厂商及设备标识ID。由系统BIOS或操作系统自动查找并识别主机插槽上的PCI设备,PCI BIOS函数是在所有平台上都通用的一些标准例程。BIOS函数的存在使得CPU可以存取所有的PCI地址空间,并根据配置信息为设备分配主机访问所必需的目标空间基地址、目标空间大小、中断等参数,并将所分配的值写入桥接电路及对应的PCI设备的PCI配置空间。
其中根据该配置空间确定该PCI测试卡的端口映像方式。请参见图2,图2是本发明的外围部件互联总线的测试方法中根据配置空间确定端口映像方式的流程图。首先读对应的端口配置寄存器(步骤210);再判断其0位(步骤220);最后根据其0位确定该PCI测试卡的端口映像方式(步骤230)。
设备使用PCI I/O和PCI内存(Memory)这两种地址空间来与其运行的设备驱动程序进行通信。所有符合PCI2.2规范的PCI设备,都要通过PCI的I/O及内存(Memory)映像控制局部总线寄存器,映像局部ram空间,因此,PCI总线是否能够对PCI的I/O及内存(Memory)空间正确访问,决定了PCI总线能否正常工作。PCI设备的许多参数,包括所用的中断号、端口地址的范围、I/O方式、内存的地址、内存映像方式等,都可以从PCI配置空间的各基址所对应的寻址空间中得到。对于本发明,最重要的是获得基址寄存器BAR,基址寄存器分两种类型,以表示一个寄存器是位于PCI I/O空间或PCI内存(Memory)空间。这是通过寄存器的位0来设置的。PCI器件资源并不总是设计设备时设置的初值,系统会根据硬件情况为PCI设备分配新的资源。确定一个端口是按什么方式映像的,可以读对应端口的配置寄存器(Configuration Register)。读出后,判断其0位,如果0位为数值0,表示其是按内存方式设置的,否则为I/O方式设置的。如果要获得基址的大小,可以向基址寄存器写入全1即写入FFFFH,然后读基址寄存器,如果是内存方式,从第4位开始的0的数目表示基址的大小,如果是I/O方式,则从第2位开始的0的数目表示基址的大小。PCI总线具有32位和64位两种复用的地址数据通路,对32位与64位PCI插槽的工作方式分别进行检测。然后比较读写结果是否一致,从而得出测试结论。
虽然本发明以前述的较佳实施例揭露如上,然其并非用以限定本发明,任何熟习相像技艺者,在不脱离本发明的精神和范围内,当可作些许之更动与润饰,因此本发明的专利保护范围须视本说明书所附的权利要求书所界定者为准。
Claims (14)
1、一种外围部件互连总线的测试方法,其通过PCI测试卡直接操作PCI总线映像的I/O、内存空间,该方法包括如下步骤:
将PCI测试卡插入PCI插槽中;
根据配置信息为该PCI测试卡分配主机访问所需的参数;
将该参数写入该PCI测试卡的PCI配置空间;
根据该配置空间确定该PCI测试卡的端口映像方式;
根据该映像方式,分别向32位及64位地址写入数据;及
读取数据,并根据该读取结果得出测试结论。
2、如权利要求1所述的外围部件互连总线的测试方法,其特征在于包括列举PCI总线上的设备,找到该PCI测试卡的步骤。
3、如权利要求2所述的外围部件互连总线的测试方法,其特征在于所述列举PCI总线上的设备,找到该PCI测试卡的步骤是由底层驱动程序WDM完成的。
4、如权利要求1所述的外围部件互联总线的测试方法,其特征在于所述配置信息即为BAR寄存器及各寄存器的值,其是在激活时由桥接电路自动读取的。
5、如权利要求4所述的外围部件互联总线的测试方法,其特征在于所述桥接电路为将局部总线转换为PCI总线的专用接口芯片。
6、如权利要求1所述的外围部件互连总线的测试方法,其特征在于所述配置信息是在PCI测试卡的数据存储芯片中,包括厂商及设备标识ID。
7、如权利要求1所述的外围部件互连总线的测试方法,其特征在于所述参数可以从PCI配置空间的各基址所对应的的寻址空间中得到。
8、如权利要求1所述的外围部件互连总线的测试方法,其特征在于还包括将该参数值写入桥接电路。
9、如权利要求1所述的外围部件互连总线的测试方法,其特征在于所述根据该配置空间确定该PCI测试卡的端口映像方式,为根据该配置信息来决定和分配PCI I/O和PCI内存的地址空间,还包括如下步骤:
读对应的端口配置寄存器;
判断其0位;
根据其0位确定该PCI测试卡的端口映像方式。
10、如权利要求9所述的外围部件互连总线的测试方法,其特征在于所述根据其0位确定该PCI测试卡的端口映像方式的步骤,若该0位为数值0,则表示其是按内存方式设置的,否则为I/O方式设置的。
11、如权利要求1所述的外围部件互连总线的测试方法,其特征在于所述根据该映像方式,分别向32位及64位地址写入数据的步骤,是为向基址寄存器写入全1,根据读取结果获得基址的大小。
12、如权利要求11所述的外围部件互连总线的测试方法,其特征在于所述根据读取结果获得基址的大小,若是按内存方式设置的,则从第4位开始0的数目表示基址的大小。
13、如权利要求11所述的外围部件互连总线的测试方法,其特征在于所述根据读取结果获得基址的大小,若是按I/O方式设置的则从第2位开始的0的数目表示基址的大小。
14、如权利要求1所述的外围部件互连总线的测试方法,其特征在于该PCI测试卡符合PCI总线技术规范,并具有较大的I/O及内存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031014062A CN1516014A (zh) | 2003-01-07 | 2003-01-07 | 外围部件互连总线的测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031014062A CN1516014A (zh) | 2003-01-07 | 2003-01-07 | 外围部件互连总线的测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1516014A true CN1516014A (zh) | 2004-07-28 |
Family
ID=34239112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031014062A Pending CN1516014A (zh) | 2003-01-07 | 2003-01-07 | 外围部件互连总线的测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1516014A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100399289C (zh) * | 2005-02-07 | 2008-07-02 | 富士通株式会社 | 计算机、io扩展装置和io扩展装置的连接识别方法 |
CN100419702C (zh) * | 2005-04-22 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 外围部件互连设备的组装正确性验证装置及方法 |
CN100419704C (zh) * | 2005-09-06 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 外部设备扩展接口测试方法 |
CN100442242C (zh) * | 2006-02-28 | 2008-12-10 | 环达电脑(上海)有限公司 | 用于测试主板插槽的设备、系统及方法 |
CN100465916C (zh) * | 2007-04-23 | 2009-03-04 | 杭州华三通信技术有限公司 | 一种pci系统故障诊断方法、设备和系统 |
CN101118268B (zh) * | 2006-07-31 | 2010-04-14 | 英业达股份有限公司 | 外部组件互连延伸插槽的测试系统及方法 |
CN101131663B (zh) * | 2006-08-22 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 计算机PCI/PCI Express设备安装正确性的检测方法 |
CN101354667B (zh) * | 2007-07-24 | 2010-12-22 | 英业达股份有限公司 | 一种外围组件互连总线级压力测试方法 |
CN101197649B (zh) * | 2008-01-03 | 2011-06-22 | 福建星网锐捷网络有限公司 | 外部设备互联高速总线接口与交换机端口测试方法及系统 |
CN103123528A (zh) * | 2011-11-18 | 2013-05-29 | 环旭电子股份有限公司 | 即插式模块、电子系统以及相应的判断方法与查询方法 |
CN103870376A (zh) * | 2012-12-12 | 2014-06-18 | 联想(北京)有限公司 | 一种电子设备的扩展板卡检测方法及电子设备 |
CN105550091A (zh) * | 2015-09-03 | 2016-05-04 | 刘晓建 | 一种PCI/PCIe设备状态的监测卡及千兆网卡链路监测方法 |
CN106443086A (zh) * | 2016-11-01 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种测试基板 |
CN106557340A (zh) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | 一种配置方法及装置 |
CN107102952A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN107193760A (zh) * | 2017-05-23 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种避免pcie设备因地址空间分配导致功能异常的方法 |
CN109086173A (zh) * | 2017-06-13 | 2018-12-25 | 龙芯中科技术有限公司 | 一种操作系统的设备测试方法、装置和存储介质 |
CN111447121A (zh) * | 2020-03-31 | 2020-07-24 | 龙芯中科(北京)信息技术有限公司 | Pcie控制器的测试方法、装置、设备及存储介质 |
CN112256503A (zh) * | 2020-09-29 | 2021-01-22 | 浪潮电子信息产业股份有限公司 | 测试报告生成方法、装置、设备及计算机可读存储介质 |
-
2003
- 2003-01-07 CN CNA031014062A patent/CN1516014A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100399289C (zh) * | 2005-02-07 | 2008-07-02 | 富士通株式会社 | 计算机、io扩展装置和io扩展装置的连接识别方法 |
CN100419702C (zh) * | 2005-04-22 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 外围部件互连设备的组装正确性验证装置及方法 |
CN100419704C (zh) * | 2005-09-06 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 外部设备扩展接口测试方法 |
CN100442242C (zh) * | 2006-02-28 | 2008-12-10 | 环达电脑(上海)有限公司 | 用于测试主板插槽的设备、系统及方法 |
CN101118268B (zh) * | 2006-07-31 | 2010-04-14 | 英业达股份有限公司 | 外部组件互连延伸插槽的测试系统及方法 |
CN101131663B (zh) * | 2006-08-22 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 计算机PCI/PCI Express设备安装正确性的检测方法 |
CN100465916C (zh) * | 2007-04-23 | 2009-03-04 | 杭州华三通信技术有限公司 | 一种pci系统故障诊断方法、设备和系统 |
CN101354667B (zh) * | 2007-07-24 | 2010-12-22 | 英业达股份有限公司 | 一种外围组件互连总线级压力测试方法 |
CN101197649B (zh) * | 2008-01-03 | 2011-06-22 | 福建星网锐捷网络有限公司 | 外部设备互联高速总线接口与交换机端口测试方法及系统 |
CN103123528A (zh) * | 2011-11-18 | 2013-05-29 | 环旭电子股份有限公司 | 即插式模块、电子系统以及相应的判断方法与查询方法 |
CN103870376A (zh) * | 2012-12-12 | 2014-06-18 | 联想(北京)有限公司 | 一种电子设备的扩展板卡检测方法及电子设备 |
CN103870376B (zh) * | 2012-12-12 | 2016-07-06 | 联想(北京)有限公司 | 一种电子设备的扩展板卡检测方法及电子设备 |
CN105550091A (zh) * | 2015-09-03 | 2016-05-04 | 刘晓建 | 一种PCI/PCIe设备状态的监测卡及千兆网卡链路监测方法 |
CN106557340A (zh) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | 一种配置方法及装置 |
CN107102952A (zh) * | 2016-02-22 | 2017-08-29 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN107102952B (zh) * | 2016-02-22 | 2020-12-08 | 佛山市顺德区顺达电脑厂有限公司 | 存储器资源的配置方法 |
CN106443086A (zh) * | 2016-11-01 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种测试基板 |
CN107193760A (zh) * | 2017-05-23 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种避免pcie设备因地址空间分配导致功能异常的方法 |
CN109086173A (zh) * | 2017-06-13 | 2018-12-25 | 龙芯中科技术有限公司 | 一种操作系统的设备测试方法、装置和存储介质 |
CN111447121A (zh) * | 2020-03-31 | 2020-07-24 | 龙芯中科(北京)信息技术有限公司 | Pcie控制器的测试方法、装置、设备及存储介质 |
CN112256503A (zh) * | 2020-09-29 | 2021-01-22 | 浪潮电子信息产业股份有限公司 | 测试报告生成方法、装置、设备及计算机可读存储介质 |
CN112256503B (zh) * | 2020-09-29 | 2023-01-10 | 浪潮电子信息产业股份有限公司 | 测试报告生成方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1516014A (zh) | 外围部件互连总线的测试方法 | |
US7987438B2 (en) | Structure for initializing expansion adapters installed in a computer system having similar expansion adapters | |
US7526578B2 (en) | Option ROM characterization | |
EP1399826B1 (en) | Virtual pci device apparatus and method | |
US5559965A (en) | Input/output adapter cards having a plug and play compliant mode and an assigned resources mode | |
US7873754B2 (en) | Structure for option ROM characterization | |
EP0847001A2 (en) | Method and arrangement for allowing a computer to communicate with a data storage device | |
US8103993B2 (en) | Structure for dynamically allocating lanes to a plurality of PCI express connectors | |
JP4597459B2 (ja) | 装置の列挙のための仮想rom | |
CN111857840A (zh) | 基本输入输出系统bios启动方法及装置 | |
CN101620652B (zh) | 一种保护存储器数据的主板、计算机和方法 | |
CN101779196B (zh) | Pci设备的i/o空间请求抑制方法 | |
CN1461439A (zh) | 可切换模式的个人计算机卡和个人计算机卡输入输出控制装置 | |
US6421765B1 (en) | Method and apparatus for selecting functional space in a low pin count memory device | |
US7216211B2 (en) | Variable sized flash memory in PCI | |
US5928338A (en) | Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset | |
US20090037609A1 (en) | Middle management of input/output in server systems | |
US20060282585A1 (en) | Method and system for identifying peripheral component interconnect device information | |
US8527983B2 (en) | Host bus adaptor driver and operating system installation method | |
US7568061B2 (en) | Initializing expansion adapters installed in a computer system having similar expansion adapters | |
US7251671B2 (en) | Method and system for garbage collection wherein resetting the mark/allocation bit, and switching the mark/allocation bit to the mark bit to perform marking and scanning of objects using the identified object as a root object and providing mark/allocation bit information being displayed at the client | |
CN1178130C (zh) | 控制方法和电子装置 | |
CN101189577B (zh) | 通过自动改变索引来访问配置寄存器的方法和装置 | |
US7979606B2 (en) | Method for storing data | |
US7039733B2 (en) | Method, system, and apparatus for eliminating bus renumbering in a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |