CN104484302B - 基于usb接口的实现两台主机之间双向通信与控制的系统 - Google Patents
基于usb接口的实现两台主机之间双向通信与控制的系统 Download PDFInfo
- Publication number
- CN104484302B CN104484302B CN201410829875.2A CN201410829875A CN104484302B CN 104484302 B CN104484302 B CN 104484302B CN 201410829875 A CN201410829875 A CN 201410829875A CN 104484302 B CN104484302 B CN 104484302B
- Authority
- CN
- China
- Prior art keywords
- usb
- main frame
- data
- pin
- equipment
- 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.)
- Active
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
基于USB接口的实现两台主机之间双向通信与控制的系统,它包括一个USB接口电路和一份通信协议;所述USB接口电路包括两个USB设备类接口芯片、一个EPLD电路、两个USB接口插座以及一个为EPLD电路供电的稳压电路,所述通信协议将两台主机划分成虚拟的主机与从设备,主机是主控者,起控制核心的作用,设备是被控者,执行主机发出的控制命令,虚拟的主机与从设备可相互转换,虚拟的主机与从设备之间的通信数据为ASCII字符串方式或二进制方式。本发明通过USB接口电路,实现了两台主机之间的点对点双向通信与控制;通过通信协议,可任意指定主控者、被控者,可进行主从转换,通过USB接口,从而最终实现了两台主机通过本系统能够进行高速通信。
Description
技术领域
本发明涉及通信控制领域,具体地说是一种基于USB接口的实现两台主机之间双向通信与控制的系统。
背景技术
传统上,PC机与外设的接口分为串口和并口。串口一般用来连接鼠标和外置Modem,其数据传输率从每秒数kbps至数百kbps。并口的数据传输率可达每秒1MB,一般用来连接打印机、扫描仪等。传统的接口方式在与键盘、鼠标、打印机、Modem等外设接口时,数据传输速度低,可扩展性差,不能即插即用,已经无法适应PC软硬件的飞速发展。针对以上存在的问题,通用串行总线(Universal Serial Bus,简称USB)应运而生。1996年制定了USB1.0通用串行总线规范,1997年开始有真正符合USB技术标准的外设出现。1998年颁布了USB1.1规范,成了支持USB的计算机与外设上普遍采用的标准,提供的传输速度有低速1.5Mbps和全速12Mbps两种。2000年USB 2.0规范正式推出,支持高速传输模式,数据的传输率可达480Mbps,还支持宽带多媒体设备,如数字摄像设备及下一代扫描仪、打印机和存储设备等。2008年11月正式发布USB 3.0规范,比特率高达5Gbps,预计以后会逐渐在计算机和消费电子产品上使用。USB是一种点对点通讯的通用串行总线。USB系统分为三个部分:USB的连接、USB的主机和USB的设备。USB的连接是USB主机与USB设备连接和交互通信的方式。在任何USB系统中仅有一台主机(Host)。USB主机一般具有以下功能:检测USB设备的插拔动作;管理USB主机与USB设备之间的控制流;管理USB主机与USB设备之间的数据流;收集USB主机的状态和USB设备的动作信息。USB主机包括:客户软件,USB系统软件和USB主机控制器3个层次。客户软件提供用户界面;USB系统软件包括USB驱动程序和主控制器驱动程序,分别用来驱动面向客户的主机界面和主机控制器;主机控制器是总线在主机方面的接口,用于支持主机与设备之间的交互。一个USB设备(Device)的逻辑结构包括:USB总线接口,USB逻辑设备和应用层3个层次。USB总线接口是总线在设备方面的接口,用来支持与主机的通信;端点是设备与USB总线的逻辑连接点,一系列相互独立的端点在一起构成了USB逻辑设备;功能相关的端点的组合称为接口,一系列接口的组合构成USB的一个配置。一个USB设备可以有多个配置,但一次只能有一个配置。管道实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,主机与外设的数据在逻辑上就是通过管道来传输的。集线器(Hub)用来扩展USB接口,使系统连接更多的外设。在即插即用的USB结构体系中,集线器是一种重要的设备,它简化了USB互连的复杂性。USB系统就是USB主机通过电缆或集线器连接到USB设备组成的通讯装置。USB主要有两种接口,一种是USB-A接口,另一种是USB-B接口。USB主机及集线器提供的接口是USB-A型接口,它是一种扁型的USB接口。USB设备提供的接口一般是USB-B型接口,例如打印机、仪器,它是一种方型的USB接口。在一个计算机通过USB电缆连接到手机、数码相机、打印机、仪器的典型系统中,计算机是主机,而手机、数码相机、打印机、仪器都是设备。USB系统的简单模型如图1所示。在USB系统中,计算机充当了控制中枢的角色,因此被设计为控者,而手机、数码相机、打印机、仪器等被设计为被控者,两者的功能是固定的,一般不能相互转换。在USB系统中,计算机能够控制仪器等设备,而仪器等设备不能控制计算机,因为它们的功能是不同的。由于计算机充当控制者的角色,它不能扮演被控制者的角色,因此两台计算机是不能通过USB电缆直接进行通信的。同样,充当被控制者角色的两台仪器也是不能通过USB电缆直接进行通信的。
发明内容
本发明所要解决的技术问题是提供一种能够实现两台主机之间双向通信与控制的基于USB接口的实现两台主机之间双向通信与控制的系统。
为了解决上述技术问题,本发明采用如下技术方案:基于USB接口的实现两台主机之间双向通信与控制的系统,它包括一个USB接口电路和一份通信协议;
所述主机为具有主机功能的计算机或仪器;
所述USB接口电路包括两个USB设备类接口芯片、一个EPLD电路、两个USB接口插座以及一个为EPLD电路供电的稳压电路,来自其中一个USB接口插座的电源信号+5VA与来自另一个USB接口插座的电源信号+5VB分别经过一只二极管后接至稳压芯片的输入端,输出+3.3V电源信号给EPLD电路供电;
所述USB设备类接口芯片为USB至并口转换芯片,属于USB设备类接口芯片,它具有USBDP脚,连接至USB差分数据信号的正端D+;USBDM脚,连接至USB差分数据信号的负端D-;并行接口的8位数据总线为D7~D0;RD#是输入信号,当RD#从高电平变为低电平时,从接收缓冲器中取得一个字节数据;WR是输入信号,当WR从高电平变为低电平时,将D7—D0引脚上的数据写入发送缓冲器中;RXF#是输出信号,为高电平时,不能从接收缓冲器读数据,为低电平时,可以从接收缓冲器读数据;TXE#是输出信号,为高电平时,不能写数据到发送缓冲器,为低电平时,可以写数据到发送缓冲器;此外,USB设备类接口芯片还有OSCO脚,为时钟输出信号;USB设备类接口芯片的供电直接来自于USB接口插座的+5V电源及GND参考地信号;
所述EPLD电路由两只先入先出存储器、两个读逻辑发生电路、两个写逻辑发生电路、两个读写逻辑仲裁电路;其中一侧总线读逻辑发生的条件是RXF_A为0、FIFO1未满、总线不忙,总线写逻辑发生的条件是TXE_A为0、FIFO2未空、总线不忙;另一侧总线写逻辑发生的条件是TXE_B为0、FIFO1未空、总线不忙,总线读逻辑发生的条件是RXF_B为0、FIFO2未满、总线不忙;
所述EPLD电路分别与两个USB设备类接口芯片连接,连接至其中一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_A[7..0],连接至引脚RD#的为输出信号RD_A,连接至引脚WR的为输出信号WR_A,连接至引脚RXF#的为输入信号RXF_A,连接至引脚TXE#的为输入信号TXE_A;连接至另一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_B[7..0],连接至引脚RD#的为输出信号RD_B,连接至引脚WR的为输出信号WR_B,连接至引脚RXF#的为输入信号RXF_B,连接至引脚TXE#的为输入信号TXE_B;输入信号CLK连接至两个USB设备类接口芯片的时钟输出脚OSCO;RESET为复位输入信号,由两个USB接口插座的+5V电源信号经延时整形产生,每次两个USB电缆连接至主机,即拔插后都会产生一个高电平复位脉冲信号;
所述通信协议将两台主机划分成虚拟的主机与从设备,主机是主控者,起控制核心的作用,设备是被控者,执行主机发出的控制命令,虚拟的主机与从设备可相互转换,虚拟的主机与从设备之间的通信数据为ASCII字符串方式或二进制方式;
所述通信协议规定,采用ASCII字符串传输方式时,一个命令的结束符以ASCII字符的换行符’\n’即字符值10作为标志;
所述通信协议中,包头标志长度为2个字节,数值定为十六进制的0xAAAA;源地址占1个字节,对应机器信息中的机器编号,代表发出该包的是哪台机器;目的地址占1个字节,对应机器信息中的机器编号,代表接收该包的是哪台机器;指令编号占2个字节,用来区别主机发出的指令或设备响应主机的哪条指令;主机向设备发送指令时,设置一个16位的计数器,每发出一条指令,计数器加一,循环计数;设备侧也设置一个16位的计数器,设备每响应主机的一条指令,计数器加一,循环计数;序号字段占2个字节,表示主机或设备发出的第几个包,循环计数,不用时设为数值零;包长字段占4个字节,表示后面数据字段有多少个字节,数据字段不定长,为传输的有效数据,以字节为单位,可以传输数据字段为空的数据包;4字节的保留字段,不用时设为数值零,也可以设置为整个包的CRC32校验字,能够进一步保证通信的可靠性;后面2字节的保留字段,不用时设为数值零,留作将来扩展系统的功能;包尾标志占2个字节,数值定为十六进制的0x5555;本协议规定,进行大容量数据传输时,发一个包长数据为零的空包,表示本次传输完成。
为简洁描述起见,以下本发明所述的基于USB接口的实现两台主机之间双向通信与控制的系统简称为本系统
计算机或者基于PC机、工控板设计的仪器,一般只有USB主机功能,而不具有USB设备功能。两台具有主机功能的计算机或两台仪器或一台计算机与一台仪器是不能通过USB电缆直接通信的。如何解决这个技术难题呢。如果我们把一台具有USB主机功能的计算机或仪器虚拟成USB设备,即在另一台具有USB主机功能的计算机或仪器看来这台计算机或仪器是一个USB设备而不是一个USB主机,则双方就有可能进行通信,这是本发明的核心思想。
本发明设计了一种USB接口电路,实现了具有主机功能的计算机与计算机、计算机与仪器、仪器与仪器之间的点对点双向通信。设计了一种通信协议,可任意指定主控者、被控者,可进行主从转换,通过USB接口,实现计算机对计算机、计算机对仪器、仪器对仪器的控制。
综上,本发明通过USB接口电路,实现了两台主机之间的点对点双向通信与控制,可以实现具有USB主机功能的计算机与计算机、计算机与仪器、仪器与仪器之间的点对点双向通信与控制;通过通信协议,可任意指定主控者、被控者,可进行主从转换,通过USB接口,实现计算机对计算机、计算机对仪器、仪器对仪器的控制,最终实现了具有USB主机功能、通过USB电缆不能直接通信的两台计算机或两台仪器或一台计算机与一台仪器,通过本系统,能够进行高速通信。
附图说明
图1是USB系统简单模型。
图2是本系统原理框图。
图3是本系统的电路原理框图。
图4是USB至并口转换集成电路引脚。
图5是EPLD原理框图。
图6是EPLD电路原理图。
图7是EPLD产生的读时序图。
图8是EPLD产生的写时序图。
图9是本系统协议的包格式。
图10是本系统协议中主机的控制流程图。
图11是本系统协议中从设备的控制流程图。
具体实施方式
下面结合附图对本发明作进一步描述:
参见图2、图3、图4、图5、图6、图7、图8、图9、图10和图11。
随着微电子技术的发展,出现了一些USB接口电路,如USB至串口转换集成电路、USB至并口转换集成电路,其主要目的是给一些不带USB接口的仪器或设备提供USB接口功能。这类集成电路,将USB设备的一些低层协议封装在芯片中,方便用户的使用。标准的USB接口有四个信号:+5V、D-、D+、GND。GND是信号地,D+、D-是差分数据信号的正端与负端,+5V可给连接的设备供电。一个USB至并口转换集成电路的典型引脚如图4所示。该芯片的USBDP脚连接至USB接口的数据信号正端D+;USBDM脚连接至USB接口的数据信号负端D-;D7~D0是并行接口的8位数据总线;RD#是输入信号,当RD#从高电平变为低电平时,从接收缓冲器中取得一个字节数据;WR是输入信号,当WR从高电平变为低电平时,将D7~D0引脚上的数据写入发送缓冲器中;RXF#是输出信号,为高电平时,不能从接收缓冲器读数据,为低电平时,可以从接收缓冲器读数据;TXE#是输出信号,为高电平时,不能写数据到发送缓冲器,为低电平时,可以写数据到发送缓冲器。此外,USB设备类接口芯片还有OSCO脚,为时钟输出信号。USB设备类接口芯片的供电直接来自于USB接口的+5V电源及GND参考地信号。
本发明提供的基于USB接口的实现两台主机之间双向通信与控制的系统,它包括一个USB接口电路和一份通信协议;
所述主机为具有USB主机(Host)功能的计算机或仪器;
USB接口电路,实现了两台主机之间的点对点双向通信与控制。本系统可以实现具有USB主机功能的计算机与计算机、计算机与仪器、仪器与仪器之间的点对点双向通信与控制。
所述USB接口电路包括两个USB设备类接口芯片、一个EPLD电路、两个USB接口插座以及一个为EPLD电路供电的稳压电路,来自其中一个USB接口插座的电源信号+5VA与来自另一个USB接口插座的电源信号+5VB分别经过一只二极管后接至稳压芯片的输入端,输出+3.3V电源信号给EPLD电路供电;
所述USB设备类接口芯片为USB至并口转换芯片,属于USB设备(Device)类接口芯片,它具有USBDP脚,连接至USB差分数据信号的正端D+;USBDM脚,连接至USB差分数据信号的负端D-;并行接口的8位数据总线为D7~D0;RD#是输入信号,当RD#从高电平变为低电平时,从接收缓冲器中取得一个字节数据;WR是输入信号,当WR从高电平变为低电平时,将D7—D0引脚上的数据写入发送缓冲器中;RXF#是输出信号,为高电平时,不能从接收缓冲器读数据,为低电平时,可以从接收缓冲器读数据;TXE#是输出信号,为高电平时,不能写数据到发送缓冲器,为低电平时,可以写数据到发送缓冲器;此外,USB设备类接口芯片还有OSCO脚,为时钟输出信号;USB设备类接口芯片的供电直接来自于USB接口插座的+5V电源及GND参考地信号;
所述EPLD电路实现了双向传输数据的缓冲、交换、读写时序的产生、读写仲裁等逻辑功能,所述EPLD电路的原理框图如图5所示,电路原理图如图6所示,它由两只先入先出存储器(FIFO)、两个读逻辑发生电路、两个写逻辑发生电路、两个读写逻辑仲裁电路;其中一侧总线读逻辑发生的条件是RXF_A为0、FIFO1未满、总线不忙,总线写逻辑发生的条件是TXE_A为0、FIFO2未空、总线不忙;另一侧总线写逻辑发生的条件是TXE_B为0、FIFO1未空、总线不忙,总线读逻辑发生的条件是RXF_B为0、FIFO2未满、总线不忙;
所述EPLD电路分别与两个USB设备类接口芯片连接,连接至其中一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_A[7..0],连接至引脚RD#的为输出信号RD_A,连接至引脚WR的为输出信号WR_A,连接至引脚RXF#的为输入信号RXF_A,连接至引脚TXE#的为输入信号TXE_A;连接至另一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_B[7..0],连接至引脚RD#的为输出信号RD_B,连接至引脚WR的为输出信号WR_B,连接至引脚RXF#的为输入信号RXF_B,连接至引脚TXE#的为输入信号TXE_B;输入信号CLK连接至两个USB设备类接口芯片的时钟输出脚OSCO;RESET为复位输入信号,由两个USB接口插座的+5V电源信号经延时整形产生,每次两个USB电缆连接至主机,即拔插后都会产生一个高电平复位脉冲信号;
产生的读写逻辑时序满足USB设备类接口芯片的时序要求。生成的读逻辑时序图如图7所示,t1至t6要满足USB设备类接口芯片要求的最小时间值。生成的写逻辑时序图如图8所示,t7至t12要满足USB设备类接口芯片要求的最小时间值。
所述通信协议,可任意指定主控者、被控者,可进行主从转换,通过USB接口,实现计算机对计算机、计算机对仪器、仪器对仪器的控制。
为了实现计算机与计算机、计算机与仪器、仪器与仪器通过本USB接口电路进行可靠通信与控制,需要设计相应的通信协议。本发明的通信协议将USB系统里电路上对等的机器划分成虚拟的主机(Master)与从设备(Slaver),主机是主控者,起控制核心的作用,设备是被控者,执行主机发出的控制命令。在本协议中,主机和设备是可以转换的,原来的主机可以被指定成设备,原来的设备也可以被指定成主机,具有极大的灵活性。
主机和设备之间的通信数据可以是ASCII字符串方式,也可以是二进制方式。主机发出的控制命令为字符串方式时,显示处理等比较方便,便于通讯的调试。主机和设备之间进行大容量数据传输时,采用二进制方式更好,因为其比字符串方式传输效率要高。本协议同时支持ASCII字符串传输方式与二进制的数据包传输方式。
所述通信协议规定,采用ASCII字符串传输方式时,一个命令的结束符以ASCII字符的换行符’\n’即字符值10作为标志。
例如主机在查询一台信号源输出频率时可以发以下命令。
“freq? \n”
信号源在应答主机查询时发以下字符串。
“20 GHz \n”
主机在设置一台信号源的输出功率为10dBm时,可以发以下命令。
“pow 10 dBm \n”
为了保证主机和设备之间大容量数据的可靠传输,本协议设计了如图9所示的不定长包格式,用于二进制的数据包传输。当大容量数据由主机发往设备时,数据包由主机发出。当大容量数据由设备发往主机时,数据包由设备发出。图10是系统协议中主机的控制流程图,图11是系统协议中从设备的控制流程图。
协议中机器信息由以下字段组成。
本协议中,包头标志长度为2个字节,数值定为十六进制的0xAAAA。源地址占1个字节,对应机器信息中的机器编号device_ID,代表发出该包的是哪台机器。目的地址占1个字节,对应机器信息中的机器编号device_ID,代表接收该包的是哪台机器。指令编号占2个字节,用来区别主机发出的指令或设备响应主机的哪条指令。主机向设备发送指令时,只需要设置一个16位的计数器即可,每发出一条指令,计数器加一,循环计数。设备侧也设置一个16位的计数器,设备每响应主机的一条指令,计数器加一,循环计数。例如当设备向主机传输文件时,由于有的文件很大,有可能要传好多个数据包才能完成一个文件的传输,这多个的数据包其指令编号是相同的。序号字段占2个字节,表示主机或设备发出的第几个包,循环计数,不用时设为数值零。在存在路由的网络中,先发的数据包有可能后到达,这时该字段是必需的。包长字段占4个字节,表示后面数据字段有多少个字节。数据字段不定长,为传输的有效数据,以字节为单位。可以传输数据字段为空的数据包。4字节的保留字段,不用时设为数值零,也可以设置为整个包的CRC32校验字,能够进一步保证通信的可靠性。由于本协议的物理信道是建立在USB传输链路上,而USB低层协议本身已经有数据校验功能,因此CRC32校验字不是必需的,将本协议用于其它物理信道时,CRC32校验字可能是必需的。后面2字节的保留字段,不用时设为数值零,留作将来扩展系统的功能。包尾标志占2个字节,数值定为十六进制的0x5555。本协议规定,进行大容量数据传输时,发一个包长数据为零的空包,表示本次传输完成。
使用本协议,调用操作系统提供的系统功能函数,可以实现一些高级功能。当主机或设备为计算机时,可以定义枚举对方机器的硬盘指令、枚举对方机器某一硬盘的根目录及文件指令、枚举对方机器某一目录下的子目录及文件指令、拷贝对方机器某一目录下某个文件指令,等等。例如主机的device_ID为5,设备的device_ID为100,设备C盘子目录\file下有文件a.txt,长度为2200字节。主机要拷贝设备C盘子目录\file下的文件a.txt至本机D盘根目录下,主机可以发以下ASCII字符串指令。
“copy 100:c:\\file\\a.txt d:\n”
设备接收到主机指令后,执行该指令,准备把该文件发给主机。假如设备发给主机数据包的初始净长度为1000字节,则该文件的内容要分几次发送,第一次发1000字节的数据包,第二次发1000字节的数据包,第三次发200字节的数据包,最后要发一次0字节的数据包,表示该条指令完成。这四个数据包中源地址为100,目的地址为5,指令编号是相同的,代表执行的是一条指令,序号逐渐递增。
主机发出该指令后就等待设备发给它的数据包。每收到一个字节,就把它放到一个大的缓冲区中。同时对缓冲区数据进行判断,每收到一个完整的数据包,就把其中的净数据取出来,放到输入缓冲区中。收到第四个空包后,主机知道数据已经传输完了,于是把前面三个数据包的净数据按包序号排序后重新组合成拷贝文件的内容,并存储到本机D盘中。
在EPLD中设计数据交换核心电路,使用USB2.0高速设备芯片,设计的USB接口电路数据吞吐率高达每秒数十兆字节,同时应用依据本协议设计的相关软件,能够实现具有USB主机功能的计算机对计算机、计算机对仪器、仪器对仪器的可靠通信与控制。解决了这类装置不能通过USB电缆直接通信的技术难题。
应当理解本文所述的例子和实施方式仅为了说明,本领域技术人员可根据它做出各种修改或变化,在不脱离本发明精神实质的情况下,都属于本发明的保护范围。
Claims (1)
1.基于USB接口的实现两台主机之间双向通信与控制的系统,其特征在于:它包括一个USB接口电路和一份通信协议;
所述主机为具有主机功能的计算机或仪器;
所述USB接口电路包括两个USB设备类接口芯片、一个EPLD电路、两个USB接口插座以及一个为EPLD电路供电的稳压电路,来自其中一个USB接口插座的电源信号+5VA与来自另一个USB接口插座的电源信号+5VB分别经过一只二极管后接至稳压芯片的输入端,输出+3.3V电源信号给EPLD电路供电;
所述USB设备类接口芯片为USB至并口转换芯片,属于USB 设备类接口芯片,它具有USBDP脚,连接至USB差分数据信号的正端D+;USBDM脚,连接至USB差分数据信号的负端D-;并行接口的8位数据总线为D7~D0;RD#是输入信号,当RD#从高电平变为低电平时,从接收缓冲器中取得一个字节数据;WR是输入信号,当WR从高电平变为低电平时,将D7—D0引脚上的数据写入发送缓冲器中;RXF#是输出信号,为高电平时,不能从接收缓冲器读数据,为低电平时,可以从接收缓冲器读数据;TXE#是输出信号,为高电平时,不能写数据到发送缓冲器,为低电平时,可以写数据到发送缓冲器;此外,USB设备类接口芯片还有OSCO脚,为时钟输出信号;USB设备类接口芯片的供电直接来自于USB接口插座的+5V电源及GND参考地信号;
所述EPLD电路具有两只先入先出存储器、两个读逻辑发生电路、两个写逻辑发生电路、两个读写逻辑仲裁电路;其中一侧总线读逻辑发生的条件是RXF_A 为0、FIFO1未满、总线不忙,总线写逻辑发生的条件是TXE_A为0、FIFO2未空、总线不忙;另一侧总线写逻辑发生的条件是TXE_B为0、FIFO1未空、总线不忙,总线读逻辑发生的条件是RXF_B 为0、FIFO2未满、总线不忙;
所述EPLD电路分别与两个USB设备类接口芯片连接,连接至其中一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_A[7..0],连接至引脚RD#的为输出信号RD_A,连接至引脚WR的为输出信号WR_A,连接至引脚RXF#的为输入信号RXF_A,连接至引脚TXE#的为输入信号TXE_A;连接至另一个USB设备类接口芯片引脚D7~D0的为输入输出信号DB_B[7..0],连接至引脚RD#的为输出信号RD_B,连接至引脚WR的为输出信号WR_B,连接至引脚RXF#的为输入信号RXF_B,连接至引脚TXE#的为输入信号TXE_B;输入信号CLK连接至两个USB设备类接口芯片的时钟输出脚OSCO;RESET为复位输入信号,由两个USB接口插座的+5V电源信号经延时整形产生,每次两个USB电缆连接至主机,即拔插后都会产生一个高电平复位脉冲信号;
所述通信协议将两台主机划分成虚拟的主机与从设备,主机是主控者,起控制核心的作用,设备是被控者,执行主机发出的控制命令,虚拟的主机与从设备可相互转换,虚拟的主机与从设备之间的通信数据为ASCII字符串方式或二进制方式;
所述通信协议规定,采用ASCII字符串传输方式时,一个命令的结束符以ASCII字符的换行符’\n’即字符值10作为标志;
所述通信协议中,包头标志长度为2个字节,数值定为十六进制的0xAAAA;源地址占1个字节,对应机器信息中的机器编号, 代表发出该包的是哪台机器;目的地址占1个字节,对应机器信息中的机器编号, 代表接收该包的是哪台机器;指令编号占2个字节,用来区别主机发出的指令或设备响应主机的哪条指令;主机向设备发送指令时,设置一个16位的计数器,每发出一条指令,计数器加一,循环计数;设备侧也设置一个16位的计数器,设备每响应主机的一条指令,计数器加一,循环计数;序号字段占2个字节,表示主机或设备发出的第几个包,循环计数,不用时设为数值零;包长字段占4个字节,表示后面数据字段有多少个字节,数据字段不定长,为传输的有效数据,以字节为单位,可以传输数据字段为空的数据包;4字节的保留字段,不用时设为数值零,也可以设置为整个包的CRC32校验字,能够进一步保证通信的可靠性;后面2字节的保留字段,不用时设为数值零,留作将来扩展系统的功能;包尾标志占2个字节,数值定为十六进制的0x5555;本协议规定,进行大容量数据传输时,发一个包长数据为零的空包,表示本次传输完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410829875.2A CN104484302B (zh) | 2014-12-25 | 2014-12-25 | 基于usb接口的实现两台主机之间双向通信与控制的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410829875.2A CN104484302B (zh) | 2014-12-25 | 2014-12-25 | 基于usb接口的实现两台主机之间双向通信与控制的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484302A CN104484302A (zh) | 2015-04-01 |
CN104484302B true CN104484302B (zh) | 2017-09-26 |
Family
ID=52758845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410829875.2A Active CN104484302B (zh) | 2014-12-25 | 2014-12-25 | 基于usb接口的实现两台主机之间双向通信与控制的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484302B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573957B (zh) * | 2015-12-11 | 2018-07-24 | 中国电子科技集团公司第四十一研究所 | 一种测量仪器程控接口转换系统及方法 |
CN109144931A (zh) * | 2017-12-28 | 2019-01-04 | 上海智位机器人股份有限公司 | 主从机间协同使用的连接线及设该线的主从机的通讯方法 |
CN108280041B (zh) * | 2017-12-29 | 2020-03-10 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种内部集成电路主机的通信方法和装置 |
CN110808876B (zh) * | 2019-10-30 | 2024-09-06 | 厦门亿联网络技术股份有限公司 | 一种话机调试系统及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW466413B (en) * | 1998-10-07 | 2001-12-01 | Prolific Technology Inc | Data connecting method and device between computers |
CN1609830A (zh) * | 2003-10-24 | 2005-04-27 | 旺玖科技股份有限公司 | 用于供多主机存取储存媒体的多主机存取装置 |
TWI252981B (en) * | 2003-11-25 | 2006-04-11 | Key Technology Corp | Method of using a personal computer as a storage device for data transmission between computers |
CN101272359A (zh) * | 2008-04-02 | 2008-09-24 | 王浩 | 一种双向usb接口的数据安全网关系统 |
CN101727427A (zh) * | 2008-10-29 | 2010-06-09 | 黄金富 | 支持双重角式的usb总线及相应设备和连接器 |
US8018398B1 (en) * | 2000-05-12 | 2011-09-13 | Illinois Computer Research, Llc | Automatic configuration of multiple monitor systems |
CN102968176A (zh) * | 2011-09-01 | 2013-03-13 | 茂杰国际股份有限公司 | 媒体分享装置 |
CN103703451A (zh) * | 2011-05-25 | 2014-04-02 | 斯兰纳私人集团有限公司 | 具有usb2.0高速模式和自动速度检测的usb隔离器集成电路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899968B2 (en) * | 2007-07-26 | 2011-03-01 | Akros Silicon Inc. | USB integrated bidirectional digital isolator channel across an interface between two USB devices |
US8432182B2 (en) * | 2009-03-30 | 2013-04-30 | Analog Devices, Inc. | USB isolator with advanced control features |
-
2014
- 2014-12-25 CN CN201410829875.2A patent/CN104484302B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW466413B (en) * | 1998-10-07 | 2001-12-01 | Prolific Technology Inc | Data connecting method and device between computers |
US8018398B1 (en) * | 2000-05-12 | 2011-09-13 | Illinois Computer Research, Llc | Automatic configuration of multiple monitor systems |
CN1609830A (zh) * | 2003-10-24 | 2005-04-27 | 旺玖科技股份有限公司 | 用于供多主机存取储存媒体的多主机存取装置 |
TWI252981B (en) * | 2003-11-25 | 2006-04-11 | Key Technology Corp | Method of using a personal computer as a storage device for data transmission between computers |
CN101272359A (zh) * | 2008-04-02 | 2008-09-24 | 王浩 | 一种双向usb接口的数据安全网关系统 |
CN101727427A (zh) * | 2008-10-29 | 2010-06-09 | 黄金富 | 支持双重角式的usb总线及相应设备和连接器 |
CN103703451A (zh) * | 2011-05-25 | 2014-04-02 | 斯兰纳私人集团有限公司 | 具有usb2.0高速模式和自动速度检测的usb隔离器集成电路 |
CN102968176A (zh) * | 2011-09-01 | 2013-03-13 | 茂杰国际股份有限公司 | 媒体分享装置 |
Non-Patent Citations (1)
Title |
---|
基于USB2_0的FPGA配置接口及实验开发评估板设计与实现;曹扬;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090415;第57-61页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104484302A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484302B (zh) | 基于usb接口的实现两台主机之间双向通信与控制的系统 | |
CN107544934A (zh) | 一种USB Type‑C线缆的双向信号调节芯片及USB Type‑C线缆 | |
CN105051706B (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN101599004B (zh) | 基于fpga的sata控制器 | |
CN103248537B (zh) | 基于fc‑ae‑1553的混合航电系统测试仪 | |
CN103178872B (zh) | 通过以太网延长usb系统传输距离的方法及装置 | |
CN102447692B (zh) | 用于slpi协议的模拟前端协议转换器/适配器 | |
CN207083094U (zh) | 一种基于trdp协议的列车实时以太网网卡 | |
TW200917048A (en) | Rate adaptation for support of full-speed USB transactions over a high-speed USB interface | |
CN104991880B (zh) | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 | |
CN104852868A (zh) | 一种千兆交换机的sfp接口速率的自适应方法及装置 | |
CN107194257A (zh) | 一种基于国产tcm芯片的可信系统 | |
CN102880427A (zh) | 一种基于fpga的sata主控制器 | |
CN106339037A (zh) | 一种带多通道切换usb集线器的显示器 | |
Wu et al. | A flexible FPGA-to-FPGA communication system | |
CN105718410B (zh) | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 | |
CN208141371U (zh) | 一种多功能uart调试板卡 | |
CN103226531B (zh) | 一种双端口外设配置接口电路 | |
CN105162792B (zh) | 一种usb网卡以及以太网数据转换方法 | |
CN108132898A (zh) | 多路通讯控制方法及通讯盒 | |
CN207623969U (zh) | 一种支持多种数据接口兼容的usb集线器 | |
CN106502911A (zh) | 多终端接入装置 | |
CN206135939U (zh) | 用于电网技能培训的串口‑以太网转换装置 | |
CN205750414U (zh) | 一种高灵敏的usb接口及其主板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |