CN104636302A - 实验装置、实验客户端、实验系统及其实验方法 - Google Patents
实验装置、实验客户端、实验系统及其实验方法 Download PDFInfo
- Publication number
- CN104636302A CN104636302A CN201510102912.4A CN201510102912A CN104636302A CN 104636302 A CN104636302 A CN 104636302A CN 201510102912 A CN201510102912 A CN 201510102912A CN 104636302 A CN104636302 A CN 104636302A
- Authority
- CN
- China
- Prior art keywords
- experiment
- serial
- data
- experimental
- client
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种实验装置、实验客户端、实验系统及其实验方法,属于计算机技术领域,解决了现有技术在远程硬件实验的过程中,无法进行串口实验的技术问题。该实验系统中,实验装置包括实验FPGA、控制电路和网络接口,实验客户端包括虚拟串口设备和串口终端;实验人员利用实验客户端的虚拟串口设备和串口终端,就可以操作实验装置,进行远程串口实验。本发明可用于计算机硬件实验中进行串口实验。
Description
技术领域
本发明涉及计算机技术领域,具体地说,涉及一种实验装置、实验客户端、实验系统及其实验方法。
背景技术
目前,串行接口(简称串口)是计算机硬件实验中常用的一种接口,需要通过串行接口线从实验装置连接到计算机串行接口上,再通过终端软件接收、发送数据。但是,在远程硬件实验中,实验装置上的串行接口无法利用串行接口线直接和客户端计算机相连,所以实验中串行接口的数据无法和本地实验一样进行收发。因此,在远程硬件实验的过程中,现有技术存在无法进行串口实验的技术问题。
发明内容
本发明的目的在于提供一种实验装置、实验客户端、实验系统及其实验方法,以解决现有技术在远程硬件实验的过程中,无法进行串口实验的技术问题。
本发明提供一种实验装置,包括实验可编程逻辑门阵列(Field ProgrammableGate Array,简称FPGA)、控制电路和网络接口;
所述实验FPGA中设置有串口,所述实验FPGA用于进行串口实验,并通过所述串口收发串行数据;
所述控制电路通过所述串口与所述实验FPGA连接,所述控制电路用于进行串行数据与网络数据的相互转换;
所述网络接口用于在所述控制电路与客户端之间收发网络数据。
优选的,所述串口为异步接收/发送器。
进一步,所述异步接收/发送器包括数据总线接口、逻辑控制器、波特率发生器、发送信号线和接收信号线。
进一步,该实验装置还包括本地计算机,通过所述串口与所述实验FPGA连接;
所述本地计算机用于操作所述实验FPGA进行串口实验。
本发明还提供一种实验客户端,包括虚拟串口设备和串口终端;
所述实验客户端与实验装置的网络接口之间收发网络数据,并进行网络数据与串口数据的相互转换;
所述串口终端通过所述虚拟串口设备收发串口数据。
本发明还提供一种实验系统,包括上述的实验装置和上述的实验客户端。
本发明还提供一种上述实验系统的实验方法,包括:
建立实验客户端与实验装置中的网络接口之间的网络连接;
将所述实验客户端的网络连接虚拟成一个虚拟串口设备;
使用所述实验客户端中的串口终端打开所述虚拟串口设备。
进一步,该实验方法还包括串口实验的数据发送,具体为:
在所述实验装置的实验FPGA上进行串口实验;
所述实验装置的控制电路对所述实验FPGA的串口进行采样,并将采样数据按照串口数据格式进行处理,存储到所述控制电路内部的发送存储器中;
所述控制电路将所述发送存储器中的串口数据转换为网络数据,并将网络数据通过所述实验装置的网络接口发送到实验客户端;
所述实验客户端将接收到的网络数据转换为串口数据,并发送给实验客户端的虚拟串口设备;
所述实验客户端的串口终端接收所述虚拟串口设备中的串口数据。
进一步,该实验方法还包括串口实验的数据接收,具体为:
实验客户端的串口终端向所述虚拟串口设备发送串口数据;
所述实验客户端将串口数据转换为网络数据,并发送给实验装置的网络接口;
所述网络接口将接收到的网络数据传送给所述实验装置的控制电路;
所述控制电路将接收到的网络数据存储到所述控制电路内部的接收存储器中;
所述控制电路将所述接收存储器中的网络数据转换为串口数据,并发送给所述实验装置的实验FPGA;
所述实验FPGA通过串口接收串口数据。
本发明带来了以下有益效果:本发明提供的技术方案中,在实验装置中设置有控制电路和网络接口,所以通过网络连接,实验人员可以使用实验客户端与实验装置之间进行串口数据的远程交互。实验人员利用实验客户端的虚拟串口设备和串口终端,就可以操作实验装置,进行远程串口实验,从而解决了现有技术在远程硬件实验的过程中无法进行串口实验的技术问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1是本发明实施例提供的实验系统的示意图;
图2是本发明实施例中串口数据帧格式的示意图;
图3是本发明实施例提供的实验系统中实验客户端的示意图;
图4是本发明实施例提供的实验方法的流程图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
本发明实施例提供一种实验系统,可用于在计算机硬件实验中进行远程串口实验。如图1所示,该实验系统包括实验装置和实验客户端。
实验装置包括实验FPGA、控制电路和网络接口。
实验FPGA用于进行实验,可以通过软件配置为不同的实验内容,比如串口实验。实验FPGA设置有串口,并可以通过串口收发串行数据。本实施例中,串口为异步接收/发送器(Universal Asynchronous Receiver/Transmitter,简称UART),可完成并行数据和串行数据之间的相互转换,还能检测串口通信在传送过程中可能发生的错误。UART主要由数据总线接口、控制逻辑、波特率发生器、发送信号线Tx和接收信号线Rx等部分组成。其中,发送信号线Tx进行串口数据的发送,接收信号线Rx进行串口数据的接收。
UART收发的串口数据符合串行接口标准,串口数据以数据帧的形式发送和接收,串口数据帧格式如图2所示,包含1位起始位、8位数据位、1位校验位和1位停止位。在其他实施方式中,也可以根据串行接口的不同配置,将串口数据帧中各位的格式进行相应变化。
控制电路通过串口与实验FPGA连接,可以对串口数据进行采样、处理,还可以进行串行数据与网络数据的相互转换,串行数据供实验FPGA使用,网络数据供网络接口进行收发。
本实施例中,控制电路采用的是一个ARM(Advanced RISC Machines)处理器的嵌入式系统,其中包含有存储器,可以存储发送和接收的串口数据。在其他实施方式中,控制电路也可以采用一个可编程芯片构成的数字电路。
网络接口可以采用以DM9000为主芯片的网络接口设备。该网络接口可以被控制电路控制,在控制电路与客户端之间收发网络数据。
进一步,本发明实施例提供的实验装置还可以包括本地计算机,本地计算机可以直接通过串口与实验FPGA连接。在本地计算机上就能够操作实验FPGA进行串口实验,查看实验FPGA上发送过来的数据,并通过本地计算机的串口向实验FPGA发送串口数据。
如图3所示,本发明实施例提供的实验系统中的实验客户端是用于进行远程实验操作的计算机,其中包括虚拟串口设备和串口终端。具体的,实验客户端中安装有串口终端的实验软件,该软件能够将实验客户端与实验装置之间的网络连接虚拟成一个虚拟串口设备,串口终端通过虚拟串口设备收发串口数据。
实验客户端与实验装置的网络接口之间收发网络数据,并进行网络数据与串口数据的相互转换,从而使实验人员在实验客户端上看到的是一个模拟的串口,如同使用真正的计算机硬件串行接口一样。
如图4所示,本发明实施例还提供了利用上述实验系统进行远程串口实验的实验方法。该实验方法包括:
S1:建立实验客户端与实验装置中的网络接口之间的网络连接。
由于需要支持远程硬件实验,因此首先需要建立起实验装置与实验客户端之间的网络连接,网络连接可以通过套接字(socket)进行通信传输数据。
S2:将实验客户端的网络连接虚拟成一个虚拟串口设备。
如果是在本地计算机上进行串口实验,本地计算机上本身就有一个串口设备,实验FPGA上的串口和本地计算机的串口通过串口线连接,即可通过该串口线进行串口数据通信。但是在远程硬件实验中,实验客户端与实验FPGA之间是通过网络进行连接的,因此实验客户端需要将网络连接虚拟成一个虚拟串口设备,这样才能使得实验人员在实验的过程中能够如同在本地实验一样进行串口实验。该虚拟串口设备具有和通用串口设备一样的特性,可以设置各种参数,例如波特率、数据位、奇偶校验位等。
S3:使用实验客户端中的串口终端打开虚拟串口设备。
在进行串口实验的过程中,实验人员需要使用一些串口终端软件查看串口发送来的数据,或向串口发送数据,由于实验客户端的网络连接已经被虚拟成了虚拟串口设备了,因此这些串口终端软件可以直接打开该虚拟串口设备。
进一步,本实施例提供的实验方法还包括串口实验的数据发送和数据接收。其中,串口实验的数据发送,具体包括:
T1:在实验装置的实验FPGA上进行串口实验。
具体的,在实验FPGA上进行包括串口的实验,该串口应符合标准的串口协议,可以直接连接到本地计算机的串口上进行数据收发。该串口的设计可以完全由实验人员进行,该串口发送的串口数据是该串口的发送信号线Tx上的数据,当实验设计正确时该串口数据应当符合串口数据帧的格式
T2:实验装置的控制电路对实验FPGA的串口进行采样,并将采样数据按照串口数据格式进行处理,存储到控制电路内部的发送存储器中。
具体的,控制电路对实验FPGA的发送信号不停的进行采样,根据通信协议,当数据由逻辑1变为逻辑0就表示一个数据帧的开始,并开始采样数据,直到数据采集完成。数据采集过程中,控制电路会把采集到的数据保存到控制电路内部的发送存储器中。同时,就算实验设计是错误的,控制电路也会将错误的发送数据采样并保存。
T3:控制电路将发送存储器中的串口数据转换为网络数据,并将网络数据通过实验装置的网络接口发送到实验客户端。
当数据采集完成后,控制电路会把发送存储器中的数据读出,并对数据进行处理,转换成网络数据包的形式,然后控制网络接口通过建立好的网络连接发送到实验客户端。
T4:实验客户端将接收到的网络数据转换为串口数据,并发送给实验客户端的虚拟串口设备。
实验客户端从网络连接中接收到网络数据,并对网络数据进行分析,判断网络数据是否完整,如果不完整则分析出已有的数据帧,并等待后续的网络数据包。接收到完整的网络数据后,将网络数据包还原成原始的串口数据帧的形式,然后将该串行数据发送给虚拟串口设备。
T5:实验客户端的串口终端接收虚拟串口设备中的串口数据。
对于实验人员来说,虚拟串口设备和真实的串口设备是相同的,实验人员只要使用串口终端软件打开虚拟串口设备,就能看到虚拟串口设备上发送来的数据了。如果串口数据正确则说明实验正确,否则说明实验设计存在问题,还需要进一步的调试。
另一方面,串口实验的数据接收,具体包括:
R1:实验客户端的串口终端向虚拟串口设备发送串口数据。
实验人员在串口终端中输入要发送的数据,串口终端将该数据以标准的串口数据帧格式发送给虚拟串口设备。
R2:实验客户端将串口数据转换为网络数据,并发送给实验装置的网络接口。
实验客户端软件从虚拟串口设备中得到串口数据,并对该串口数据进行处理,转换成网络数据包,然后通过网络连接发送给实验装置的网络接口。在串口数据处理的过程中,可以只保留串口数据帧中的有效数据,然后生成网络数据包;也可以将整个串口数据帧放进网络数据包中。为了提高传输效率和时效性,每个网络数据包中可以包含多个串口数据帧。
R3:网络接口将接收到的网络数据传送给实验装置的控制电路。
实验装置的网络接口从网络连接上接收到网络数据后,将该网络数据传送给控制电路。
R4:控制电路将接收到的网络数据存储到控制电路内部的接收存储器中。
控制电路从网络接口中接收到网络数据后,直接将网络数据按照接收到的顺序存储到接收存储器中。
R5:控制电路将接收存储器中的网络数据转换为串口数据,并发送给实验装置的实验FPGA。
控制电路对接收存储器中的网络数据包进行分析,检查网络数据是否完整,然后将网络数据转换并生成串口数据帧,该串口数据帧符合标准的串口协议。在生成的过程中如果只保留串口数据帧的有效数据,则要根据串口的配置生成相应的串口数据帧的其它部分,同时还需要根据时钟频率调整串口数据帧的格式。
R6:实验FPGA通过串口接收串口数据。
实验FPGA的串口如果能够正确的接收到串口数据则说明实验正确,否则说明实验设计存在问题,还需要进一步的调试。
本发明实施例提供的技术方案中,在实验装置中设置有控制电路和网络接口,所以通过网络连接,实验人员可以使用实验客户端与实验装置之间进行串口数据的远程交互。实验人员利用实验客户端的虚拟串口设备和串口终端,就可以操作实验装置,进行远程串口实验,从而解决了现有技术在远程硬件实验的过程中无法进行串口实验的技术问题。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种实验装置,其特征在于,包括实验FPGA、控制电路和网络接口;
所述实验FPGA中设置有串口,所述实验FPGA用于进行串口实验,并通过所述串口收发串行数据;
所述控制电路通过所述串口与所述实验FPGA连接,所述控制电路用于进行串行数据与网络数据的相互转换;
所述网络接口用于在所述控制电路与客户端之间收发网络数据。
2.如权利要求1所述的实验装置,其特征在于,所述串口为异步接收/发送器。
3.如权利要求2所述的实验装置,其特征在于,所述异步接收/发送器包括数据总线接口、逻辑控制器、波特率发生器、发送信号线和接收信号线。
4.如权利要求1至3任一项所述的实验装置,其特征在于,还包括本地计算机,通过所述串口与所述实验FPGA连接;
所述本地计算机用于操作所述实验FPGA进行串口实验。
5.一种实验客户端,其特征在于,包括虚拟串口设备和串口终端;
所述实验客户端与实验装置的网络接口之间收发网络数据,并进行网络数据与串口数据的相互转换;
所述串口终端通过所述虚拟串口设备收发串口数据。
6.一种实验系统,其特征在于,包括如权利要求1至4任一项所述的实验装置和如权利要求5所述的实验客户端。
7.如权利要求6所述的实验系统的实验方法,包括:
建立实验客户端与实验装置中的网络接口之间的网络连接;
将所述实验客户端的网络连接虚拟成一个虚拟串口设备;
使用所述实验客户端中的串口终端打开所述虚拟串口设备。
8.如权利要求7所述的方法,其特征在于,还包括串口实验的数据发送,具体为:
在所述实验装置的实验FPGA上进行串口实验;
所述实验装置的控制电路对所述实验FPGA的串口进行采样,并将采样数据按照串口数据格式进行处理,存储到所述控制电路内部的发送存储器中;
所述控制电路将所述发送存储器中的串口数据转换为网络数据,并将网络数据通过所述实验装置的网络接口发送到实验客户端;
所述实验客户端将接收到的网络数据转换为串口数据,并发送给实验客户端的虚拟串口设备;
所述实验客户端的串口终端接收所述虚拟串口设备中的串口数据。
9.如权利要求7所述的方法,其特征在于,还包括串口实验的数据接收,具体为:
实验客户端的串口终端向所述虚拟串口设备发送串口数据;
所述实验客户端将串口数据转换为网络数据,并发送给实验装置的网络接口;
所述网络接口将接收到的网络数据传送给所述实验装置的控制电路;
所述控制电路将接收到的网络数据存储到所述控制电路内部的接收存储器中;
所述控制电路将所述接收存储器中的网络数据转换为串口数据,并发送给所述实验装置的实验FPGA;
所述实验FPGA通过串口接收串口数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510102912.4A CN104636302A (zh) | 2015-03-09 | 2015-03-09 | 实验装置、实验客户端、实验系统及其实验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510102912.4A CN104636302A (zh) | 2015-03-09 | 2015-03-09 | 实验装置、实验客户端、实验系统及其实验方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104636302A true CN104636302A (zh) | 2015-05-20 |
Family
ID=53215075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510102912.4A Pending CN104636302A (zh) | 2015-03-09 | 2015-03-09 | 实验装置、实验客户端、实验系统及其实验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636302A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294257A (zh) * | 2016-08-11 | 2017-01-04 | 清华大学 | 一种实验装置及实验系统 |
CN115484125A (zh) * | 2022-08-26 | 2022-12-16 | 中国长城科技集团股份有限公司 | 串行通信方法、装置、计算机设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070016827A1 (en) * | 2005-07-18 | 2007-01-18 | Dell Products L.P. | Systems and methods for providing remotely accessible in-system emulation and/or debugging |
US20110194425A1 (en) * | 2010-02-09 | 2011-08-11 | Juniper Networks, Inc. | Remote network device component testing |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN103617054A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种远程加载fpga配置文件的装置及加载方法 |
CN104239176A (zh) * | 2014-10-16 | 2014-12-24 | 成都傅立叶电子科技有限公司 | 基于互联网的多用户多目标远程jtag调试系统 |
-
2015
- 2015-03-09 CN CN201510102912.4A patent/CN104636302A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070016827A1 (en) * | 2005-07-18 | 2007-01-18 | Dell Products L.P. | Systems and methods for providing remotely accessible in-system emulation and/or debugging |
US20110194425A1 (en) * | 2010-02-09 | 2011-08-11 | Juniper Networks, Inc. | Remote network device component testing |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN103617054A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | 一种远程加载fpga配置文件的装置及加载方法 |
CN104239176A (zh) * | 2014-10-16 | 2014-12-24 | 成都傅立叶电子科技有限公司 | 基于互联网的多用户多目标远程jtag调试系统 |
Non-Patent Citations (3)
Title |
---|
何勇 等: "《一种低价零开销SoC在线调试系统设计》", 《微电子学与计算机》 * |
刘元盛 等: "《基于网络的FPGA测试服务系统的设计》", 《计算机科学》 * |
杨龙军 等: "《基于云计算平台的计算机硬件远程实验室实现》", 《华中科技大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294257A (zh) * | 2016-08-11 | 2017-01-04 | 清华大学 | 一种实验装置及实验系统 |
CN115484125A (zh) * | 2022-08-26 | 2022-12-16 | 中国长城科技集团股份有限公司 | 串行通信方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750588A (zh) | 一种基于串口通信的压力测试方法 | |
CN105306156A (zh) | 一种遥感卫星数传产品自动化测试系统及方法 | |
CN103685103A (zh) | 一种基于fpga的通信基带的一体化验证平台 | |
CN101741648A (zh) | 分布式远程测试系统、方法、以及服务器 | |
CN105653461A (zh) | 一种单usb接口转多uart调试接口的转换系统 | |
CN109639737A (zh) | 协议发生装置、数据采集终端的协议转换方法和配置方法 | |
CN104133963B (zh) | 基于串行高速总线的fpga硬件抽象层及其实现方法 | |
CN107592250A (zh) | 基于航空fc总线多速率自适应测试设备 | |
CN108255070A (zh) | 面向电力稳控装置的半实物仿真通信方法 | |
CN104636302A (zh) | 实验装置、实验客户端、实验系统及其实验方法 | |
CN105915404B (zh) | SpaceWire网络链路信号品质的测试系统及信号品质的评价方法 | |
CN101668228B (zh) | 接口测试装置及方法 | |
CN204597988U (zh) | 基于pci接口的afdx终端测试设备 | |
CN103617145A (zh) | 一种自定义总线及其实现方法 | |
CN204376929U (zh) | 基于以太网总线的多异步数据口并行测试卡 | |
CN103914421B (zh) | 一种数据终端、数据传输系统及热插拔控制方法 | |
CN104022933A (zh) | 一种基于多模信号转换的车辆总线调试系统 | |
CN108089952B (zh) | 一种自动化测试设备 | |
CN203554485U (zh) | Can总线测试设备 | |
CN106685588B (zh) | 一种适配器、数据传输系统及方法 | |
CN213024391U (zh) | 一种车载终端串口扩展设备 | |
CN204597989U (zh) | 基于cpci接口的afdx终端测试设备 | |
CN103297332A (zh) | 一种基于蓝牙技术的采样终端网关的实现 | |
CN109981394B (zh) | 基于增强型can总线协议分析仪的通信方法和装置 | |
CN113422756A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150520 |