CN1637684A - 一种通用fifo接口测试设备和*** - Google Patents
一种通用fifo接口测试设备和*** Download PDFInfo
- Publication number
- CN1637684A CN1637684A CN 200410071173 CN200410071173A CN1637684A CN 1637684 A CN1637684 A CN 1637684A CN 200410071173 CN200410071173 CN 200410071173 CN 200410071173 A CN200410071173 A CN 200410071173A CN 1637684 A CN1637684 A CN 1637684A
- Authority
- CN
- China
- Prior art keywords
- interface
- module
- pci
- fifo interface
- fifo
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通用FIFO接口测试设备和***,该接口测试设备包括PCI接口模块和用户接口模块。用户接口模块包括PCI命令解码单元、总线寻址单元、写操作单元、读操作单元。本发明的FIFO接口测试***包括FIFO接口测试设备和计算机,该计算机包括动态写模块、动态读模块、静态写模块、静态读模块、时间间隔设置模块、状态读取模块和判断模块。本发明可对用户设备的FIFO接口进行动态和静态的读写测试,且可以对数据发送速度进行调节。本发明的FIFO接口测试设备和***具有通用性,不依赖于用户设备,因此可在用户设备的任何研制和设计阶段对其FIFO接口进行测试,提高了用户设备的研制和设计进度。
Description
技术领域
本发明涉及一种测试设备,更具体地说,涉及一种可对FIFO接口进行测试的通用FIFO接口测试设备和***。
背景技术
在各种类型电子设备的设计中,常常会需要设备带有FIFO接口,但所设计FIFO接口的测试却非常困难。对具有输出功能的FIFO接口,在设备将数据送入FIFO接口后,数据是否被正确送入,目前只能通过示波器或逻辑分析仪进行简单的测试,而对于需传输大量数据的进一步功能、性能测试,只有在与其配套的可对FIFO中的数据进行读取的相关设备研制完成后才能有效地进行,而这种相关的设备开发会对设备的研制进度造成不良的影响;对于具有输入功能的FIFO接口,在与其配套的可将数据写入FIFO中的相关设备研制完成前,对FIFO接口的测试几乎是不可能的。
发明内容
本发明的目的在于提供一种发明基于PC机的通用FIFO接口测试设备和***。
为了实现上述目的,本发明提供一种通用FIFO接口测试设备,连接于计算机的PCI总线和用户FIFO接口之间,包括:一个PCI接口模块,用于与计算机PCI总线的连接;一个用户接口模块,用于与用户FIFO接口的连接;
其中,所述用户接口模块包括:PCI命令解码单元,用于将PCI命令转换成用户接口模块和用户FIFO接口可识别的命令格式;总线寻址单元,用于寻找存放数据的计算机寄存器的地址;写操作单元,用于将数据写入带FIFO接口的用户设备;读操作单元,用于从用户FIFO接口中读取数据。
所述PCI接口模块为标准PCI接口芯片。
所述PCI接口模块由如下模块组成:PCI逻辑核模块,用于与PCI总线的会话;总线配置模块,用于实现PCI总线的配置空间。
所述设备用FPGA芯片实现。
利用上述的FIFO接口测试设备,本发明还提供一种FIFO接口测试***,用于测试一用户FIFO接口,包括一个计算机与一个前述的FIFO接口测试设备,该FIFO接口测试设备与计算机通过PCI总线连接。所述计算机包括:动态写模块,用于向所述FIFO接口测试设备发送一动态写命令;动态读模块,用于向所述FIFO接口测试设备发送一动态读命令;静态写模块,用于向所述FIFO接口测试设备发送一静态写命令;静态读模块,用于向所述FIFO接口测试设备发送一静态读命令;时间间隔设置模块,用于动态读写过程中数据包发送或接收的时间间隔;状态读取模块,用于读取并显示用户FIFO接口的状态;判断模块,用于判断用户FIFO接口的状态是否大于或等于半满。
本发明的FIFO接口测试设备和***可对用户设备的FIFO接口进行动态和静态的读写测试,且可以对数据发送速度进行调节,从而对用户设备的FIFO接口进行全面的测试。本发明的FIFO接口测试设备和***具有通用性,不依赖于用户设备,因此可在用户设备的任何研制和设计阶段对其FIFO接口进行测试,提高了用户设备的研制和设计进度。
附图说明
图1是本发明的FIFO接口测试设备的的应用场景示意图;
图2是本发明的FIFO接口测试设备的一个实施例;
图3是本发明的FIFO接口测试设备的另一个实施例;
图4是采用本发明的FIFO接口测试设备对用户设备的FIFO接口的测试流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
如图1所示,本发明的FIFO接口测试设备20在工作时连接于计算机的PCI总线10和用户设备的FIFO接口40之间。该FIFO接口测试设备20最后成形为插卡的形式,从而可直接插在计算机的PCI总线10上。该FIFO接口测试设备20与用户设备的FIFO接口40之间用电缆30进行连接,该电缆30包括数据线、读写控制线和状态线,以便在接口测试设备20和FIFO接口40之间传送数据信号、控制信号和状态信号,这一点将在下文中详细说明。
图2特别是在图2中的虚框中示出了本发明的FIFO接口测试设备20的一个实施例。在该实施例中,测试设备20包括一个PCI接口模块21和一个用户接口模块22。PCI接口模块21可采用现有的标准PCI接口芯片或者Xilinx公司提供的PCIlogicCORE(PCI逻辑核)来实现,用于与PCI总线10的会话和PCI总线10的配置。用户接口模块22主要是用于实现用户接口功能,包括对来自PCI接口模块21的PCI信号进行解码,驱动本设备工作,以及产生本测试设备20与测试目标(即用户设备的FIFO接口40)之间联机的接口信号。PCI接口模块21和用户接口模块22可用FPGA芯片来实现。
如图2所示,本发明接口测试设备20的PCI接口模块21与计算机PCI总线之间通过双向数据线71和双向控制线72通信;PCI接口模块21与用户接口模块22之间通过双向线23通信,以传送命令、数据、控制和/或状态信号;用户接口模块22与用户设备的FIFO接口40之间通过双向数据线31、读写控制线32和状态控制线33,以便在用户接口模块22与用户设备的FIFO接口40之间传送数据信号、读写控制信号和用户状态信号。双向数据线31、读写控制线32和状态控制线33均包含在图1中的电缆30中。
事实上,如本领域的技术人员所熟知的,图2中的PCI接口模块21可用两个功能模块来实现,一个模块用于与PCI总线的会话,另一个模块用于PCI总线的配置。据此,图3特别是在图3中的虚框中示出了本发明的FIFO接口测试设备20的另一个实施例。在该实施例中,测试设备20包括PCI逻辑核模块211、总线配置模块212和用户接口模块22。其中,PCI逻辑核模块211负责与PCI总线10的会话,所有的PCI信号都将被其封装,用户无法直接访问;总线配置模块212用于实现PCI总线的配置空间,其功能是对整个PCI设备进行寄存器配置,其中最为关键的PCI配置空间包括:设备ID和发行商的ID,基地址寄存器,PCI配置头等。用PCI逻辑核模块211和总线配置模块212来实现图2中的PCI接口模块21好处是:可以将用户接口模块22与PCI逻辑核模块211和总线配置模块212一起用一个FPGA芯片来实现,按照各模块的逻辑功能实现逻辑设计,降低简化设计难度。
图3中实现接口测试设备20的FPGA芯片是利用Xilinx公司已公开的IP核PCI逻辑核(PCI logiCORE)技术,IP核是比较简单的实现现有成熟模块的方法,通过IP核设计的程序一般都得到了较为深入的优化,它能大大简化设计的难度。本发明最终的设计实现,就是使用了IP核,通过对其参数和端口进行配置,实现PCI接口主要逻辑设计。如图3所示,在完成所有FPGA芯片逻辑设计后,通过FPGA配置数据下载接口50,并通过电源模块60加电后,即可构成具有专用功能的集成电路。
如图3所示,本发明接口测试设备20的PCI逻辑核模块211与计算机PCI总线之间通过双向数据线71和双向控制线72通信;PCI逻辑核模块211和总线配置模块212之间单向控制线24通信;PCI逻辑核模块211与用户接口模块22之间通过双向线23通信,以传送命令、数据、控制和/或状态信号;用户接口模块22与用户设备的FIFO接口40之间通过双向数据线31、读写控制线32和状态控制线33,以便在用户接口模块22与用户设备的FIFO接口40之间传送数据信号、读写控制信号和用户状态信号。双向数据线31、读写控制线32和状态控制线33均包含在图1中的电缆30中。
图2和图3中的用户接口模块22用于实现带FIFO的用户接口功能,主要包括:对来自PCI接口模块21(图2)或PCI逻辑核模块211(图3)的PCI信号进行解码,驱动本设备20工作;产生本设备20与用户设备的FIFO接口40之间联机的接口信号,包括数据线31、读写控制线32和状态控制线33。
为了实现上述功能,用户接口模块22一般包括以下单元:
PCI命令解码单元:将PCI命令转换成用户接口模块22和用户设备的FIFO接口40能够识别的命令格式;
总线寻址单元:寻找存放数据的计算机寄存器的地址;
写操作单元:将数据写入带FIFO接口的用户设备;
读操作单元:从用户设备的FIFO接口读取数据。
本发明的接口测试设备20工作时,用户接口模块22接收来自于PCI接口模块21(图2)或PCI逻辑核模块211(图3)的PCI命令,由PCI命令解码单元对PCI命令进行解码,转换为用户接口模块22和用户设备的FIFO接口40能够识别的命令格式,根据所得的命令,完成下一步的操作。若该PCI命令是读操作命令,则在计算机中寻找可用的寄存器,将该寄存器与用户设备的FIFO接口40直接相连,然后将用户设备的FIFO接口40中的数据读入计算机的该寄存器中。若该命令是写操作命令,则在计算机中查找待传送数据所在的寄存器地址,然后将该寄存器与用户设备的FIFO接口40直接相连,将该寄存器中的数据写入用户设备的FIFO接口40。
将本发明的接口测试设备20分别与计算机的PCI总线10和用户设备的FIFO接口40连接后,即可进行对用户设备的FIFO接口40的测试。一个完整的测试***还需要包括与接口测试设备20通过PCI总线10连接的计算机,一般来说,该带有专用程序的计算机需要实现如下模块:
类型选择模块,用于根据用户指令选择对用户设备的FIFO接口40进行动态测试还是静态测试;
方式选择模块,用于根据用户指令选择向用户设备的FIFO接口40发送数据还是从用户设备的FIFO接口40接收数据;
动态写模块,用于向接口测试设备20发送一动态写命令;
动态读模块,用于向接口测试设备20发送一动态读命令;
静态写模块,用于向接口测试设备20发送一静态写命令;
静态读模块,用于向接口测试设备20发送一静态读命令;
时间间隔设置模块,用于动态读写过程中数据包发送或接收的时间间隔;
状态读取模块,用于读取并显示用户设备的FIFO接口40的状态;
判断模块,用于判断用户设备的FIFO接口40的状态是否大于或等于半满。
按照本发明的接口测试设备20及其与计算机组成的测试***进行用户设备的FIFO接口40测试的流程如图4所示。在图4中,首先由计算机中的状态读取模块显示用户设备的FIFO接口40的初始状态,然后由用户通过类型选择模块和方式选择模块的选择,启动动态写模块、动态读模块、静态写模块或静态读模块中的一个模块以向接口测试设备20发送相应的命令,从而启动相应的动态写、动态读、静态写或静态读测试过程。下面结合图4对这四种测试过程进行详细描述。
1)静态数据写入的测试过程
计算机通过PCI总线10发送一个静态写命令,该命令通过PCI接口模块21(图2)或PCI逻辑核模块211(图3)传给用户接口模块22,用户接口模块22的解码PCI命令单元解码PCI命令,得出是静态写命令以后,用户接口模块22中的写操作单元将相关寄存器中的数据通过计算机PCI总线10与PCI逻辑核模块211之间的数据线71传给PCI逻辑核模块211,通过PCI逻辑核模块211与用户接口模块22间的双向线23传给用户接口模块22并实现写操作,即通过用户接口模块22与用户设备的FIFO接口30之间的数据线31将数据一次写入用户设备的FIFO接口40。用户设备的FIFO接口40将实时状态信息(满,半满,非空)在计算机显示模块的作用下显示。
2)静态数据读出的测试过程
计算机通过PCI总线1O发送一个静态读命令,该命令通过PCI接口模块21(图2)或PCI逻辑核模块211(图3)传给用户接口模块22,用户接口模块22的解码PCI命令单元解码PCI命令,得出是静态读命令以后,用户设备的FIFO接口30中的状态信息与数据分别通过用户接口模块22与用户设备的FIFO接口30之间的状态线33和用户接口模块22与用户设备的FIFO接口40之间的数据线31一次传递给用户接口模块22,并可显示接收的数据内容与状态信息。
3)动态数据写入的测试过程
计算机通过PCI总线10发送一个动态写命令,该命令通过PCI接口模块21(图2)或PCI逻辑核模块211(图3)传给用户接口模块22,用户接口模块22的解码PCI命令单元解码PCI命令,得出是动态写命令以后,用户接口模块22中的写操作单元将相关寄存器中的数据通过计算机PCI总线10与PCI逻辑核模块211之间的数据线71传给PCI逻辑核模块211,通过PCI逻辑核模块211与用户接口模块22间的双向线23传给用户接口模块22,进行写操作。用户设备的FIFO接口40此时有状态信息(满,半满,非空),由计算机的判断模块对这些状态信息加以判断。当状态信息是半满或满的时候,用户设备不断从用户设备的FIFO接口40中读取数据,与此同时,在计算机发送模块的作用下,数据不断从计算机中的寄存器中向用户设备的FIFO接口40发送,直至数据发送完毕。在计算机的时间间隔设置模块中还能够设定数据发送时间间隔,以调整发送数据的平均传输速度,以达到速度可调这一目的。
4)动态数据读出的测试过程:
计算机通过PCI总线10发送一个动态读命令,该命令通过PCI接口模块21(图2)或PCI逻辑核模块211(图3)传给用户接口模块22,用户接口模块22的解码PCI命令单元解码PCI命令,得出是动态读命令以后,计算机中的判断模块测试用户设备的FIFO接口40的状态信息,若此时为半满或者是满,则计算机中的接收模块调用用户接口模块22中的读操作单元进行读操作,将用户设备的FIFO接口40中的数据通过用户接口模块22与用户设备的FIFO接口40之间的数据线31传递给用户接口模块22,与此同时用户设备向用户设备的FIFO接口40存入数据。在用户接口模块22中的数据沿着PCI逻辑核模块211与用户接口模块22间的双向线23,PCI逻辑核模块211,计算机PCI总线10与PCI逻辑核模块211之间的数据线71最终写入指定的接收文件。这一过程直到数据读取完毕为止。在数据动态读出过程开始之前,在计算机接收模块中最好还可以设定接收数据总量。
Claims (5)
1、一种通用FIFO接口测试设备,连接于计算机的PCI总线和用户FIFO接口之间,其特征在于,包括:
一个PCI接口模块,用于与计算机PCI总线的连接;
一个用户接口模块,用于与用户FIFO接口的连接;
所述用户接口模块包括:
PCI命令解码单元,用于将PCI命令转换成用户接口模块和用户FIFO接口可识别的命令格式;
总线寻址单元,用于寻找存放数据的计算机寄存器的地址;
写操作单元,用于将数据写入带FIFO接口的用户设备;
读操作单元,用于从用户FIFO接口中读取数据。
2、根据权利要求1所述的通用FIFO接口测试设备,其特征在于,所述PCI接口模块为标准PCI接口芯片。
3、根据权利要求1所述的通用FIFO接口测试设备,其特征在于,所述PCI接口模块由如下模块组成:
PCI逻辑核模块,用于与PCI总线的会话;
总线配置模块,用于实现PCI总线的配置空间。
4、根据权利要求3所述的通用FIFO接口测试设备,其特征在于,所述设备用FPGA芯片实现。
5、一种FIFO接口测试***,用于测试一用户FIFO接口,其特征在于,包括一个计算机与一个FIFO接口测试设备,该FIFO接口测试设备与计算机通过PCI总线连接;
所述FIFO接口测试设备包括:
一个PCI接口模块,用于与计算机PCI总线的连接;
一个用户接口模块,用于与用户FIFO接口的连接;
其中,所述用户接口模块包括:
PCI命令解码单元,用于将PCI命令转换成用户接口模块和用户FIFO接口可识别的命令格式;
总线寻址单元,用于寻找存放数据的计算机寄存器的地址;
写操作单元,用于将数据写入带FIFO接口的用户设备;
读操作单元,用于从用户FIFO接口中读取数据;
所述计算机包括:
动态写模块,用于向所述FIFO接口测试设备发送一动态写命令;
动态读模块,用于向所述FIFO接口测试设备发送一动态读命令;
静态写模块,用于向所述FIFO接口测试设备发送一静态写命令;
静态读模块,用于向所述FIFO接口测试设备发送一静态读命令;
时间间隔设置模块,用于动态读写过程中数据包发送或接收的时间间隔;
状态读取模块,用于读取并显示用户FIFO接口的状态;
判断模块,用于判断用户FIFO接口的状态是否大于或等于半满。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410071173 CN1284064C (zh) | 2003-12-30 | 2004-07-30 | 一种通用fifo接口测试设备和*** |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200310116060.1 | 2003-12-30 | ||
CN200310116060 | 2003-12-30 | ||
CN 200410071173 CN1284064C (zh) | 2003-12-30 | 2004-07-30 | 一种通用fifo接口测试设备和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1637684A true CN1637684A (zh) | 2005-07-13 |
CN1284064C CN1284064C (zh) | 2006-11-08 |
Family
ID=34862473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410071173 Expired - Fee Related CN1284064C (zh) | 2003-12-30 | 2004-07-30 | 一种通用fifo接口测试设备和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1284064C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135985B (zh) * | 2006-09-01 | 2010-08-25 | 鸿富锦精密工业(深圳)有限公司 | 计算机资料传输速度测试***及方法 |
CN102012948A (zh) * | 2010-04-12 | 2011-04-13 | 中国科学院西安光学精密机械研究所 | 基于usb的数据实时采集和存储***及方法 |
CN102402482A (zh) * | 2011-11-22 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 测试***及测试方法 |
CN106842002A (zh) * | 2017-01-03 | 2017-06-13 | 航天科工防御技术研究试验中心 | 一种异步fifo特殊功能测试方法 |
CN110780189A (zh) * | 2019-09-23 | 2020-02-11 | 福州瑞芯微电子股份有限公司 | 一种基于fpga的sdio接口测试设备与方法 |
-
2004
- 2004-07-30 CN CN 200410071173 patent/CN1284064C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135985B (zh) * | 2006-09-01 | 2010-08-25 | 鸿富锦精密工业(深圳)有限公司 | 计算机资料传输速度测试***及方法 |
CN102012948A (zh) * | 2010-04-12 | 2011-04-13 | 中国科学院西安光学精密机械研究所 | 基于usb的数据实时采集和存储***及方法 |
CN102012948B (zh) * | 2010-04-12 | 2012-08-29 | 中国科学院西安光学精密机械研究所 | 基于usb的数据实时采集和存储***及方法 |
CN102402482A (zh) * | 2011-11-22 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 测试***及测试方法 |
CN106842002A (zh) * | 2017-01-03 | 2017-06-13 | 航天科工防御技术研究试验中心 | 一种异步fifo特殊功能测试方法 |
CN106842002B (zh) * | 2017-01-03 | 2019-05-14 | 航天科工防御技术研究试验中心 | 一种异步fifo特殊功能测试方法 |
CN110780189A (zh) * | 2019-09-23 | 2020-02-11 | 福州瑞芯微电子股份有限公司 | 一种基于fpga的sdio接口测试设备与方法 |
CN110780189B (zh) * | 2019-09-23 | 2021-12-21 | 福州瑞芯微电子股份有限公司 | 一种基于fpga的sdio接口测试设备与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1284064C (zh) | 2006-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1078798C (zh) | Mpeg2传送译码器 | |
US6954806B2 (en) | Data transfer apparatus and method | |
CN102629240B (zh) | 一种串口通信方法与装置 | |
CN111104269B (zh) | 一种基于uart接口的处理器调试方法及*** | |
CN1248116C (zh) | 一种基于主机平台的嵌入式模块和子***的通用测试装置 | |
CN1752946A (zh) | 一种嵌入式***的调试方法及其*** | |
CN114817114B (zh) | 一种mipi接口、及其控制方法、装置及介质 | |
CN1284064C (zh) | 一种通用fifo接口测试设备和*** | |
CN1757193A (zh) | 高速串行接收器的自动眼形图老化测试技术 | |
US7359994B1 (en) | Split-transaction bus decoder | |
US7254115B1 (en) | Split-transaction bus intelligent logic analysis tool | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
US20040078513A1 (en) | Storage device | |
US7467240B2 (en) | Serial host interface generates index word that indicates whether operation is read or write operation | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟***及实现方法 | |
CN1848093A (zh) | 基本输入输出***中高级配置和电源接口模块的调试方法 | |
CN1242324C (zh) | 手机大容量移动存储的方法 | |
CN1841270A (zh) | 一种用于智能卡仿真调试***的接口 | |
CN111475452B (zh) | 一种用于FPGA原型验证的DisplayPort接口速度桥*** | |
CN2783404Y (zh) | 用于智能卡仿真调试***的接口 | |
CN1441566A (zh) | 使用三步通信缓存的通信设备 | |
CN1940882A (zh) | 电子组件接收信号灵敏度的测量装置与测量方法 | |
CN1866232A (zh) | 安全数字存储卡数据的存储器直接存取方法及其接口电路 | |
CN103605622B (zh) | 一种传输数据的方法和设备 | |
CN1274121A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061108 Termination date: 20130730 |