CN102736966B - 基于pci总线的高速数据传输测试方法 - Google Patents
基于pci总线的高速数据传输测试方法 Download PDFInfo
- Publication number
- CN102736966B CN102736966B CN201210192971.1A CN201210192971A CN102736966B CN 102736966 B CN102736966 B CN 102736966B CN 201210192971 A CN201210192971 A CN 201210192971A CN 102736966 B CN102736966 B CN 102736966B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- difference
- high speed
- testing
- 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.)
- Expired - Fee Related
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于PCI总线的高速数据传输测试方法,该方法包括步骤:设置每次检测数据帧的数目,分配数据缓冲区;读取数据并保存在数据缓冲区;判断读取的数据帧数目是否达到设定的值,若没有,则返回上一步继续读取数据;若达到设定值,则判断每帧数据中相邻数据的差值是否为1,若不为1,则显示错误信息;若差值为1,则判断两相邻数据帧相同位置数据的差值是否为16384,若不为16384,则显示错误信息;若差值为16384,则通过测试。本发明基于PCI总线的高速数据传输测试方法在进行测试时,只需检查每帧数据中相邻数据的差值、及相邻数据帧相同位置的数据差值,故能够实现高速传输数据的测试。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于PCI总线的高速数据传输测试方法。
背景技术
计算机总线是计算机各部件之间进行信息传输的公共通道。微型计算机系统中广泛采用总线结构,其优点是系统成本低、组态灵活、维修方便。采用总线标准设计、生产的硬件模块兼容性强,并通过系统总线可以方便地组合在一起,以构成满足不同需要的微机系统。
随着计算机技术的不断发展,微型计算机的体系结构发生了显著的变化。如CPU运行速度的提高,多处理器结构的出现,高速缓冲存储器的广泛采用等,都要求有高速的总线来传输数据,从而出现了多总线结构。而在多总线结构中,PCI局部总线不受制于处理器,为中央处理器及高速外围设备提供一座桥梁,更可作为总线之间的交通指挥员,提高数据吞吐量,所以PCI局部总线被使用在越来越多的设备上。现有的大部分PCI设备都带有较大的动态存储器作为数据缓冲空间,数据的传输效率得到了进一步提高。
数据传输速率的提高对传输数据进行测试的方法提出了更高的要求,但是现有的PCI总线数据传输测试方法不能满足高速数据传输情况下验证传输数据正确性的要求。目前常用的PCI总线数据传输测试方法是通过PCI总线向底层设备存储空间写入数据,然后再将数据读回,对比写入的数据和读出的数据是否相同,即,对比写入的数据和读出的数据中的所以数据帧、每帧数据中的每一个数据是否相同,从而验证数据传输是否正确。该PCI总线数据传输测试方法适用于进行较低速率传输的数据测试,对于高速传输的数据测试却难以胜任。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于PCI总线的高速数据传输测试方法,该方法能够对高速传输的数据进行测试。
为了实现上述发明目的,本发明提供了以下技术方案:
基于PCI总线的高速数据传输测试方法,其原理是:对传输的数据进行检测时,如果应用程序读取的传输数据中每相邻数据的差值不为1,则表明数据传输过程中出现数据错;如果相邻数据帧相同位置的数据的差值不是固定的值,则表明数据传输过程中出现丢帧现象;只有当传输数据中每相邻数据的差值为1,并且相邻数据帧相同位置的数据的差值为固定的值,则说明数据传输没有出错。
基于PCI总线的高速数据传输测试方法的具体步骤如下:
步骤1:初始化应用程序,设置每一次检测读取的数据帧数目,分配数据缓冲区用于保存数据,应用程序向驱动程序注册读取事件,等待事件触发;
步骤2:事件触发后,调用驱动程序中读文件操作函数读取数据,并将读取到的数据按顺序填入数据缓冲区保存;
步骤3:判断读取的数据帧数目是否达到预先设定的值,如果数据帧数目没有达到设定的值,则返回步骤2,如果数据帧数目达到设定的值,则进入步骤4;
步骤4:判断数据缓冲区每帧数据中相邻数据的差值是否为1,如果差值为1,则进入步骤5,如果差值不为1,则进入步骤7;
步骤5:判断相邻两帧数据的相同位置数据的差值是否为16384,如果差值为16384,则进入步骤6,如果差值不是16384,则进入步骤7;
由于FPGA产生的数据帧大小为64KB,而整型数值占4个字节的存储空间,所以64KB的数据帧共有16384个整型数值;
步骤6:通过测试,说明数据在传输过程中没有出错;
步骤7:未通过测试,说明数据在传输过程中出现错误或丢帧现象,显示错误信息,即打印出错误的位置及数据,便于查找出现问题的原因;
按照上述步骤循环测试,逐渐缩短FPGA产生中断的时间,以提高FPGA产生递增数据的速度,实现对高速数据传输的稳定性、可靠性检测。
根据本发明的实施例,上述基于PCI总线的高速数据传输测试方法中,步骤1设置的每一次检测读取的数据帧数目为4096。FPGA产生的数据帧大小为64KB,4096个数据帧占用256MB内存空间,如果数据帧数太多,系统可能分配不到足够的内存空间存放数据,若将数据保存到硬盘上,则会影响测试速度。设置每次检测读取4096个数据帧利于快速检查数据。
优选地,上述基于PCI总线的高速数据传输测试方法中,步骤5的操作是:判断相邻两帧数据的第一个数据的差值是否为16384,如果差值为16384,则进入步骤6,如果差值不是16384,则进入步骤7。
与现有技术相比,本发明的有益效果:本发明基于PCI总线的高速数据传输测试方法,通过判断传输数据中每相邻数据的差值,以及相邻数据帧相同位置的数据的差值,逐渐缩短FPGA产生中断的时间,提高FPGA产生递增数据的速度,实现了基于PCI总线高速传输的数据稳定性、可靠性检测,即,本发明基于PCI总线的高速数据传输测试方法能够对高速传输的数据进行检测。
附图说明:
图1为本发明基于PCI总线的高速数据传输测试方法工作流程图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1所示,本实施例列举的基于PCI总线的高速数据传输测试方法的步骤如下:
S101:初始化应用程序,设置每一次检测读取的数据帧数目为4096,分配数据缓冲区用于保存数据,应用程序向驱动程序注册读取事件,等待事件触发;
S102:事件触发后,应用程序调用驱动程序中读文件操作函数,读取数据;
S103:将从设备读取到的数据按顺序填入数据缓冲区,保存;
S104:为了测试方便,设备上的FPGA不断产生递增的数据,判断读取的数据帧数目是否达到4096,如果数据帧数目没有达到4096,则返回S102,如果数据帧数目达到4096,则进入S105;
S105:检查数据缓冲区中每帧数据相邻数据的差值;
S106:判断每帧数据相邻数据的差值是否为1,如果差值为1,则进入S107,如果差值不为1,则进入S109;
S107:检查并判断相邻两帧数据的第一个数的差值是否为16384,如果差值为16384,则进入S108,如果差值不是16384,则进入S109;
S108:通过测试,说明数据在传输过程中没有出错;
S109:未通过测试,说明数据在传输过程中出现错误或丢帧现象,显示错误信息,即打印出错误的位置及数据,便于查找出现问题的原因。
按照上述步骤循环测试,逐渐缩短FPGA产生中断的时间,以提高FPGA产生递增数据的速度,实现对高速数据传输的稳定性、可靠性检测。由于本发明基于PCI总线的高速数据传输测试方法在进行测试时,只需检查每帧数据中相邻数据的差值、以及相邻数据帧相同位置的数据差值,所以能够实现高速传输数据的测试。
Claims (3)
1.基于PCI总线的高速数据传输测试方法,其特征在于,该测试方法包括如下步骤:
步骤1:初始化应用程序,设置每一次检测读取的数据帧数目,分配数据缓冲区用于保存数据,应用程序向驱动程序注册读取事件,等待事件触发;
步骤2:事件触发后,调用驱动程序中读文件操作函数读取数据,并将读取到的数据按顺序填入数据缓冲区保存;
步骤3:判断读取的数据帧数目是否达到预先设定的值,如果数据帧数目没有达到设定的值,则返回步骤2,如果数据帧数目达到设定的值,则进入步骤4;
步骤4:判断数据缓冲区每帧数据中相邻数据的差值是否为1,如果差值为1,则进入步骤5,如果差值不为1,则进入步骤7;
步骤5:判断相邻两帧数据的相同位置数据的差值是否为16384,如果差值为16384,则进入步骤6,如果差值不是16384,则进入步骤7;
步骤6:通过测试,说明数据在传输过程中传输正确;
步骤7:未通过测试,说明数据在传输过程中出现错误或丢帧现象,显示错误信息,即打印出错误的位置及数据,便于查找出现问题的原因;
所述测试方法用于读取的传输数据为设备上的FPGA不断产生的递增的数据,FPGA产生的数据帧大小为64KB,数据帧中的每个数据为占4个字节存储空间的整型数值,64KB的数据帧共有16384个整型数值的数据;
按照上述步骤1~步骤7循环测试,逐渐缩短FPGA产生中断的时间,提高FPGA产生递增数据的速度,实现对高速数据传输的稳定性、可靠性检测。
2.根据权利要求1所述的基于PCI总线的高速数据传输测试方法,其特征在于,所述步骤1中设置的每一次检测读取的数据帧数目为4096。
3.根据权利要求1所述的基于PCI总线的高速数据传输测试方法,其特征在于,所述步骤5的操作是:判断相邻两帧数据的第一个数据的差值是否为16384,如果差值为16384,则进入步骤6,如果差值不是16384,则进入步骤7。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192971.1A CN102736966B (zh) | 2012-06-12 | 2012-06-12 | 基于pci总线的高速数据传输测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192971.1A CN102736966B (zh) | 2012-06-12 | 2012-06-12 | 基于pci总线的高速数据传输测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102736966A CN102736966A (zh) | 2012-10-17 |
CN102736966B true CN102736966B (zh) | 2015-03-18 |
Family
ID=46992509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210192971.1A Expired - Fee Related CN102736966B (zh) | 2012-06-12 | 2012-06-12 | 基于pci总线的高速数据传输测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736966B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839016A (zh) * | 2012-11-21 | 2014-06-04 | 鸿富锦精密工业(武汉)有限公司 | 具有cpu保护功能的计算机 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489053A (zh) * | 2002-10-09 | 2004-04-14 | 中国科学院电子学研究所 | 高速实时遥感数据记录器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100453196B1 (ko) * | 2002-05-22 | 2004-10-15 | (주)쎄트렉아이 | 소프트웨어 버퍼링 방법 및 이를 이용한 실시간 데이터저장장치, 그리고 그 기록매체 |
-
2012
- 2012-06-12 CN CN201210192971.1A patent/CN102736966B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489053A (zh) * | 2002-10-09 | 2004-04-14 | 中国科学院电子学研究所 | 高速实时遥感数据记录器 |
Also Published As
Publication number | Publication date |
---|---|
CN102736966A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528410B2 (en) | Apparatus, method and system to exchange error information in a unified protocol communication | |
US8935576B2 (en) | Automated cabling process for a complex environment | |
US20150067437A1 (en) | Apparatus, method and system for reporting dynamic random access memory error information | |
US10410730B1 (en) | Selectively synchronizing flash memory block refreshes based in part upon memory block temperature | |
US9218259B2 (en) | Computing device and method for testing SOL function of a motherboard of the computing device | |
CN103530211A (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN108809546A (zh) | 错误率估计方法和装置 | |
CN104320317B (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
CN108170620A (zh) | 一种服务器用硬盘拓展系统及方法、硬盘信号增强方法 | |
CN100468075C (zh) | 芯片测试系统及测试方法 | |
CN109918226A (zh) | 一种静默错误检测方法、装置及存储介质 | |
CN102662808B (zh) | 一种pcie硬件故障检测的实现方法与装置 | |
CN104572385A (zh) | 存储器故障检测系统及方法 | |
CN105988905A (zh) | 异常处理方法及装置 | |
CN104112413A (zh) | Led显示屏坏点点检系统 | |
CN104701204B (zh) | Sram芯片引脚焊接不良的检测方法及系统 | |
CN103257905B (zh) | 一种嵌入式计算机系统内存数据校验电路及方法 | |
CN102736966B (zh) | 基于pci总线的高速数据传输测试方法 | |
CN109147861A (zh) | 一种硬盘在位检测装置和方法 | |
CN104780123A (zh) | 一种网络包收发处理装置及其设计方法 | |
CN106030544B (zh) | 计算机设备内存的检测方法和计算机设备 | |
CN104581147B (zh) | 一种hdmi和mipi功能互测的方法与装置 | |
CN101764669A (zh) | 数据接收过程中的crc码校验方法 | |
CN103106140A (zh) | 智能显示设备测试信息显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150318 Termination date: 20160612 |