一种数据传输断流恢复方法、装置及系统

文档序号:1782916 发布日期:2019-12-06 浏览:10次 >En<

阅读说明:本技术 一种数据传输断流恢复方法、装置及系统 (Data transmission cut-off recovery method, device and system ) 是由 顾钧 徐鑫 吕军杨 于 2018-05-29 设计创作,主要内容包括:本发明实施例提供了一种数据传输断流恢复方法、装置、设备及系统,所述方法包括:对工业相机与用户设备之间的数据传输过程进行监测,当监测到数据传输错误时,工业相机端进行中断传输;接收所述用户设备在监测到传输中断后发送的重置指令,并进行重置传输操作;在完成重置传输操作后,恢复与所述用户设备之间的数据传输。从而减少了断流到恢复的时间。(The embodiment of the invention provides a method, a device, equipment and a system for recovering data transmission cut-off, wherein the method comprises the following steps: monitoring a data transmission process between an industrial camera and user equipment, and when data transmission errors are monitored, carrying out interrupt transmission by an industrial camera end; receiving a reset instruction sent by the user equipment after monitoring transmission interruption, and carrying out reset transmission operation; and after the reset transmission operation is completed, resuming the data transmission with the user equipment. Thereby reducing the time from shut-off to recovery.)

一种数据传输断流恢复方法、装置及系统

技术领域

本发明涉及软件开发技术领域,特别是涉及一种数据传输断流恢复方法、装置、设备及系统。

背景技术

工业相机在基于USB(Universal Serial Bus,通用串行总线)3.0协议与用户设备进行数据传输时,传输链路上的硬件可能会受到静电、高低温等环境的影响,导致数据传输不稳定,也即传输中校验错误过多,通常在这种情况下,工业相机都会暂停传输,从而导致数据断流。

现有技术中,在遇到断流情况时,需要重启工业相机电源及USB驱动,导致数据中断时间达到秒级,且较大程度的影响工业相机的稳定性和性能。

发明内容

本发明实施例的目的在于提供一种数据传输断流恢复方法、装置、设备及系统,以实现缩短工业相机从断流到恢复的时间。具体技术方案如下:

第一方面,本发明实施例提供了一种数据传输断流恢复方法,应用于工业相机,所述方法包括:

对工业相机与用户设备之间的数据传输过程进行监测,当监测到数据传输错误时,中断传输;

接收所述用户设备发送的重置指令,并根据所述重置指令进行重置传输操作;

在完成重置传输操作之后,恢复与所述用户设备之间的数据传输。

可选的,所述中断传输,包括:

将数据传输的端点置为暂停状态;

所述进行重置传输操作,包括:

清除所述工业相机中直接存储器存取DMA通道内缓存数据,将所述DMA通道置为暂停状态;

清除与所述端点关联的缓存数据;

将所述DMA通道置为开启状态;

将所述端点置为开启状态。

可选的,所述恢复与所述用户设备之间的数据传输,包括:

将所述工业相机的数据流使能Stream Enable寄存器置为非使能状态,使得所述用户设备在监测到所述Stream Enable寄存器的状态为非使能状态后,向所述工业相机发送寄存器状态改变指令,以使所述工业相机将所述Stream Enable寄存器的状态改变为使能状态;

在将所述Stream Enable寄存器的状态改变为使能状态后,与所述用户设备进行数据传输。

第二方面,本发明实施例提供了一种数据传输断流恢复方法,应用于用户设备,所述方法包括:

当监测到与工业相机之间的数据传输中断时,向所述工业相机发送重置指令;

当监测到所述工业相机完成重置传输操作之后,恢复与所述工业相机之间的数据传输。

可选的,所述重置指令为重置端点Clear Halt指令,用于指示所述工业相机进行重置传输操作。

可选的,所述当监测到所述工业相机完成重置传输操作之后,恢复与所述工业相机之间的数据传输,包括:

当监测到工业相机的数据流使能Stream Enable寄存器被置为非使能状态后,向所述工业相机发送寄存器状态改变指令,以使所述工业相机将所述Stream Enable寄存器的状态改变为使能状态;

在监测到所述工业相机将所述Stream Enable寄存器的状态改变为使能状态后,与所述工业相机进行数据传输。

第三方面,本发明实施例提供了一种数据传输断流恢复装置,应用于工业相机,所述装置包括:

监测模块,用于对工业相机与用户设备之间的数据传输过程进行监测,当监测到数据传输错误时,中断传输;

重置模块,用于接收所述用户设备发送的重置指令,并根据所述重置指令进行重置传输操作;

数据传输恢复模块,用于在完成重置传输操作之后,恢复与所述用户设备之间的数据传输。

可选的,所述监测模块,具体用于将数据传输的端点置为暂停状态。

可选的,所述重置模块,具体用于清除所述工业相机中直接存储器存取DMA通道内缓存数据,将所述DMA通道置为暂停状态;清除与所述端点关联的缓存数据;将所述DMA通道置为开启状态;将所述端点置为开启状态。

可选的,所述数据传输恢复模块,具体用于在完成重置传输操作之后,将所述工业相机的数据流使能Stream Enable寄存器置为非使能状态,使得所述用户设备在监测到所述Stream Enable寄存器的状态为非使能状态后,向所述工业相机发送寄存器状态改变指令,以使所述工业相机将所述Stream Enable寄存器的状态改变为使能状态;在将所述Stream Enable寄存器的状态改变为使能状态后,与所述用户设备进行数据传输。

第四方面,本发明实施例提供了一种数据传输断流恢复装置,应用于用户设备,所述装置包括:

重置指令发送模块,用于当监测到与工业相机之间的数据传输中断时,向所述工业相机发送重置指令;

恢复模块,用于当监测到所述工业相机完成重置传输操作之后,恢复与所述工业相机之间的数据传输。

可选的,所述重置指令为重置端点Clear Halt指令,用于指示所述工业相机进行重置传输操作。

可选的,所述恢复模块,具体用于当监测到工业相机的数据流使能Stream Enable寄存器被置为非使能状态后,向所述工业相机发送寄存器状态改变指令,以使所述工业相机将所述Stream Enable寄存器的状态改变为使能状态;在监测到所述工业相机将所述Stream Enable寄存器的状态改变为使能状态后,与所述工业相机进行数据传输。

第五方面,本方面实施例提供了一种工业相机,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述工业相机侧的任一方法步骤。

第六方面,本方面实施例提供了一种用户设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述用户设备侧的任一方法步骤。

第七方面,本发明实施例提供了一种数据传输断流恢复系统,包括:第三方面所述的工业相机和第四方面所述的用户设备。

使用本发明实施例提供的数据传输断流恢复方法、装置、设备及系统,在与用户设备进行数据传输过程中,能够对数据传输的过程进行监测,当监测到数据传输中校验错误过多时,说明传输过程中可能由于硬件受到静电等影响而出现了不稳定的情况,则进行中断传输并通知用户设备。随后接收用户设备反馈的重置指令,工业相机再进行重置传输操作,完成重置传输操作后通知用户设备,随后用户设备通知工业相机继续进行数据传输。从而减少了断流到恢复的时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据传输断流恢复方法应用于工业相机的一种流程图;

图2为本发明实施例提供的数据传输断流恢复方法应用于用户设备的一种流程图;

图3为本发明实施例提供的数据传输断流恢复方法的一种信令图;

图4为本发明实施例提供的数据传输断流恢复装置应用于工业相机的一种结构示意图;

图5为本发明实施例提供的数据传输断流恢复装置应用于用户设备的一种结构示意图;

图6为本发明实施例提供的工业相机的一种结构示意图;

图7为本发明实施例提供的用户设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术中存在的问题,本发明实施例公开了一种数据传输断流恢复方法、装置、设备及系统,能够缩短工业相机从断流到恢复的时间。

下面对本发明实施例提供的数据传输断流恢复方法进行说明,该方法应用于工业相机,可以参见图1,包括以下步骤:

步骤S101:对工业相机与用户设备之间的数据传输过程进行监测,当监测到数据传输错误时,中断传输。

工业相机在与用户设备进行数据传输的过程中,可以对传输过程进行监测,当监测到传输校验错误过多时,可以先中断传输。

步骤S102:接收该用户设备发送的重置指令,并根据重置指令进行重置传输操作。

在工业相机中断传输后,用户设备向工业相机请求数据时可以检测到传输中断了,用户设备可以向工业相机发送重置指令,工业相机接收到重置指令后开始进行重置传输操作。

步骤S103:在完成重置传输操作之后,恢复与用户设备之间的数据传输。

在工业相机完成重置传输操作之后,可以恢复与用户设备之间的数据传输。具体实施方式可以参见下文。

使用本发明实施例提供的数据传输断流恢复方法,在与用户设备进行数据传输过程中,能够对数据传输的过程进行监测,当监测到数据传输出错时,说明传输过程中可能由于硬件受到静电等影响而出现了不稳定的情况,则进行中断传输。用户设备能够监测到传输的中断,随后向工业相机发送重置指令,工业相机进行重置传输操作,完成重置传输操作后可以与用户设备继续进行数据传输。从而在断流到恢复的过程中,不需要人为操作,更不需要重启设备的电源及驱动,降低了断流到恢复的时间。

相应的,如图2所示,本发明实施例还提供了一种数据传输断流恢复方法,该方法应用于用户设备,可以包括以下步骤:

步骤S201:当监测到与工业相机之间的数据传输中断时,向工业相机发送重置指令。

用户设备与工业相机进行数据传输时,可以对传输过程进行监测,当监测到数据传输中断时,可以向工业相机发送重置指令,以使工业相机进行重置传输操作。

步骤S202:当监测到所述工业相机完成重置传输操作之后,恢复与工业相机之间的数据传输。

可见,使用本发明实施例提供的数据传输断流恢复方法,可以对传输过程进行监测,当监测到传输中断时,可以向工业相机发送重置指令,以使工业相机进行重置传输操作,在完成重置传输操作之后,可以继续进行数据传输。降低了断流到恢复的时间,此外,避免人工手动操作,提高工业相机的稳定性。

下面结合说明书附图图3对工业相机与用户设备进行数据传输时从断流到恢复的过程进行详细描述,图3为本发明实施例提供的一种数据传输断流恢复方法的一种信令图。其中工业相机与用户设备通过链路设备进行连接,链路设备可以是USB连接线,也可以用到USB集线器等。本发明实施例中工业相机与用户设备之间可以基于U3V(USB3.0Vision,USB3.0视觉协议)进行数据传输的,本领域技术人员可以理解:U3V是基于USB3.0技术,用于视觉应用程序与USB3.0视觉设备进行传输与交互的协议。

在图3所示的实施例中,可以包括以下步骤:

步骤S301:工业相机监测到传输错误,中断传输。

在本发明实施例中,工业相机内部可以包括USB控制器、USB驱动以及外设控制器,基于这些模块对数据传输进行监测的过程如下:

在工业相机与用户设备进行数据传输过程中,USB控制器可以对传输数据进行校验,当监测到校验错误过多时,可以通知USB驱动以使USB驱动得知校验错误过多。

USB驱动得知校验错误过多时,可以通知外设控制器,以使外设控制器发出错误事件信息。其中外设控制器可以为集成了ARM(Advanced RISC Machine,微处理器)9处理器的USB3.0外设控制器。

外设控制器发出的错误事件信息可以被工业相机固件程序监测到,以使固件程序进行数据传输的中断操作。

工业相机固件程序可以通过回调函数监测到外设控制器发出的错误事件信息,举例来讲,工业相机固件程序可以使用基于Cypress(赛普拉斯,一家电子芯片制造商)FX3(一种外设控制器的型号)平台的SDK(Software Development Kit,软件开发工具包)提供的CyU3PusbRegisterEpEvtCallback回调函数进行监测。

本领域技术人员应当理解:软件开发工具包SDK是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。下文在举例中提到的监测函数、命令函数等都是基于Cypress FX3平台的软件开发工具包SDK提供的。本发明实施例对所使用的软件平台和软件开发包不做限定。

在工业相机固件程序监测到上述错误事件信息时,可以对传输过程进行中断。具体的,工业相机固件程序可以通过将端点置为暂停状态的方式,进行中断传输。其中,端点是USB设备上唯一可寻址的端口,作为USB设备和用户单向传输数据的源或者目的地。

一个USB设备具有一个或多个端点,每个端点具有一个设备唯一的端点号,每个端点可作为接收数据的目的端点,也可以作为发送数据的源端点,但是同一时刻只能作为单个数据传输方向的端点,每个端点都有对应的一个缓存区域,用于存储即将通过该端点发送或接收的数据。可以通过设置端点状态为暂停状态而中断数据传输。

步骤S302:用户设备从工业相机处返回取流错误信息。

在本发明实施例中,当工业相机设置端点为暂停状态后,与工业相机连接的用户设备再向工业相机请求数据时,会收到错误的消息,例如收到stall pid(端点暂停)的状态包,而不是数据信息。则用户设备可以得知传输过程中出现了断流情况。

步骤S303:用户设备向工业相机发送重置指令。

用户设备得知传输过程中出现了断流情况后,可以向工业相机发送控制指令,指示工业相机进行重置传输操作。具体的,用户设备可以向工业相机发送Clear Halt(重置端点)指令,该指令是基于USB3.0协议Framework(应用框架)层的,不再赘述。

步骤S304:工业相机进行重置传输操作。

在工业相机收到上述指令后,可以按如下步骤进行重置传输操作:

1)清除工业相机中直接存储器存取DMA通道内缓存数据,将DMA通道置为暂停状态。

2)清除与端点关联的缓存数据。

为了描述方便,将步骤1)、2)合在一起进行说明。

本领域技术人员可以理解,在工业相机与用户设备进行数据传输时,通常使用DMA(直接存储器存取)的方式,工业相机可以把需要传输的数据先置于DMA通道的缓存中,这些DMA通道缓存中的数据还需要经过与端点相关的缓存,才能传输到用户设备。

举例来讲,在初始化的过程中,可以使用基于Cypress FX3平台的软件开发包SDK提供的CyU3PdmaChannelReset函数将DMA通道内缓存的数据进行清除,随后使用CyU3PusbFlushEp函数清除与端点相关的缓存中数据。这些数据都因为暂时的断流而没有即时发送到用户设备,所以要将其进行清除。

3)将所述DMA通道置为开启状态。

4)将所述端点置为开启状态。

在完成缓存数据清除之后,可以分别将DMA通道和端点置为开启状态。举例来讲,可以使用基于Cypress FX3平台的软件开发包SDK提供的CyU3PdmaChannelReset函数将DMA通道置为开启状态,使用CyU3PusbStall函数将端点置为开启状态。至此,工业相机的重置传输操作已经完成。

步骤S305:工业相机在重置传输操作完成后改变寄存器的状态。

在本发明实施例中,在工业相机重置传输操作完成之后,可以通知用户设备,以使用户设备能够得知工业相机重置传输操作完成,从而与工业相机开始进行数据传输。

具体的,工业相机可以通过改变内部的Stream Enable(数据流使能)寄存器来和用户设备进行交互,用户设备也可以以U3V中的协议格式读写上述Stream Enable寄存器。

即工业相机完成初始化之后,可以将Stream Enable寄存器置为非使能状态,以使用户设备能够监测到Stream Enable寄存器的状态为非使能状态,从而得知工业相机已经完成了重置传输操作,已经准备好进行数据传输的恢复。

在本发明实施例中,Stream Enable寄存器是基于U3V协议的标准寄存器,通常可以将使能状态设置为1,非使能状态设置为0,本发明对此不做限定。

步骤S306:用户设备监测到寄存器状态改变。

步骤S307:用户设备发送改变寄存器状态的指令。

步骤S308:工业相机将寄存器状态改变,并恢复数据传输。

在本发明实施例中,用户设备可以通过读取工业相机内Stream Enable寄存器的值得知工业相机完成了重置传输操作,则可以向工业相机发送用于改变寄存器状态的指令,使得工业相机改变Stream Enable寄存器的值。

工业相机在将所述Stream Enable寄存器的状态改变为使能状态后,用户设备也可以监测到该寄存器当前的使能状态,至此,工业相机和用户设备关于恢复传输的交互已经完成,且二者均得知对方已经准备完毕,可以恢复传输。具体的,用户设备可以重新开始向工业相机请求数据,从而恢复与工业相机之间的数据传输。

可见,使用本发明实施例提供的数据传输断流恢复方法,在与用户设备进行数据传输过程中,能够对数据传输的过程进行监测,当监测到数据传输出错时,说明传输过程中可能由于硬件受到静电等影响而出现了不稳定的情况,则进行中断传输。用户设备能够监测到传输的中断,随后向工业相机发送重置指令,工业相机进行重置传输操作,完成重置传输操作后可以与用户设备继续进行数据传输。从而在断流到恢复的过程中,减少了断流到恢复的时间,此外,不需要人为操作,更不需要重启设备的电源及驱动,提高了工业相机的稳定性。

参见图4,本发明实施例还提供了一种数据传输断流恢复装置,应用于工业相机,可以包括:

监测模块401,用于对工业相机与用户设备之间的数据传输过程进行监测,当监测到数据传输错误时,中断传输。

重置模块402,用于接收用户设备发送的重置指令,并根据重置指令进行重置传输操作。

数据传输恢复模块403,用于在完成重置传输操作之后,恢复与所述用户设备之间的数据传输。

在本发明实施例中,所述重置模块402,具体可以用于清除工业相机中直接存储器存取DMA通道内缓存数据,将DMA通道置为暂停状态;清除与端点关联的缓存数据;将DMA通道置为开启状态;将端点置为开启状态。

在本发明实施例中,数据传输恢复模块403,具体用于在完成重置传输操作之后,将工业相机的数据流使能Stream Enable寄存器置为非使能状态,使得用户设备在监测到Stream Enable寄存器的状态为非使能状态后,向工业相机发送寄存器状态改变指令,以使工业相机将Stream Enable寄存器的状态改变为使能状态;在将Stream Enable寄存器的状态改变为使能状态后,与用户设备进行数据传输。

参见图5,本发明实施例还提供了一种数据传输断流恢复装置,应用于用户设备,可以包括:

重置指令发送模块501:用于当监测到与工业相机之间的数据传输中断时,向工业相机发送重置指令;

恢复模块502:用于当监测到工业相机完成重置传输操作之后,恢复与工业相机之间的数据传输。

在本发明实施例中,用户设备发送的重置指令可以为重置端点Clear Halt指令,用于指示所述工业相机进行重置传输操作。

在本发明实施例中,恢复模块502,具体可以用于当监测到工业相机的数据流使能Stream Enable寄存器被置为非使能状态后,向工业相机发送寄存器状态改变指令,以使工业相机将Stream Enable寄存器的状态改变为使能状态;在监测到工业相机将StreamEnable寄存器的状态改变为使能状态后,与工业相机进行数据传输。

参见图6,本发明实施例还提供了一种工业相机,其特征在于,包括处理器601和机器可读存储介质602,机器可读存储介质存储由能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述工业相机侧的任一方法步骤。

参见图7,本发明实施例还提供了一种用户设备,其特征在于,包括处理器701和机器可读存储介质702,机器可读存储介质存储由能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述用户设备侧的任一方法步骤。

本发明实施例还提供了一种数据传输断流恢复系统,该系统包括上述工业相机和用户设备。对于系统实施例而言,由于其基本相似于方法实施例,相关之处可以参见方法实施例的部分说明即可。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置及系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种控制通信模组的方法、计算机装置及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!