一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持USB2.0超远距离传输的方法与流程

2022-11-14 02:29:24 来源:中国专利 TAG:

一种支持usb2.0超远距离传输的方法
技术领域
1.本发明属于数据传输、数据处理领域,具体涉及一种支持usb2.0超远距离传输的方法。


背景技术:

2.随着科技的不断进步,社会的不断发展,usb2.0技术因为具有出色的速度、灵活性、支持热插拔等特性,使usb2.0设备在生产和生活中应用的越来越多,比如日常用到的u盘,键盘鼠标,usb摄像头等。usb2.0设备在应用时,有时候会与主机之间会有一段距离,这时就会使用usb2.0延长线或借助以太网介质对usb2.0信号进行透传方式的方式实现usb2.0信号的长距离传输。
3.由于usb电信号在线材上的衰减,使得普通的usb2.0延长线通常不会超过10米,有些线材加上信号放大器加上双供电最长也不会超过50米。当把usb2.0信号借助以太网介质传输时,由于usb2.0协议的限制,高速usb2.0设备必须要在usb2.0主机发送完数据后736个时钟之内返回响应数据,这就决定了以太网的传输介质比如rj45网线或光纤的长度也不能太长,长度最长一般不会超过100米,以便能在规定时间内及时返回响应的数据。但随着近年来办公环境的优化以及办公区设备简化、降低噪音,开始实现了人机分离,人在办公区,主机在机房,usb2.0设备与主机之间的距离往往会达到几百米,现有的usb2.0远传技术已经满足不了需求。基于此,本发明提出了一种支持usb2.0超远距离传输的方法。


技术实现要素:

4.为了解决现有技术中的上述问题,即为了解决现有技术无法实现usb2.0主机和usb2.0设备之间的远距离传输的问题,本发明第一方面,提出了一种支持usb2.0超远距离传输的方法,用于一种支持usb2.0超远距离传输的装置,该装置包括usb2.0主机、usb2.0设备、tx盒子、rx盒子;所述tx盒子通过usb接口与所述usb2.0主机相连,所述rx盒子通过usb接口与所述usb2.0设备相连,所述tx盒子和所述rx盒子通过以太网连接;该方法包括以下步骤:
5.当检测到所述一种支持usb2.0超远距离传输的装置上电后,所述rx盒子按照usb2.0协议中设定的协商流程与所述usb2.0设备完成协商;协商完成后,所述rx盒子通过以太网发送网络数据包通知所述tx盒子;
6.所述tx盒子接收到通知后,模拟所述usb2.0设备与所述usb2.0主机连接,并与所述usb2.0主机按照usb2.0协议中设定的协商流程进行协商;
7.当所述tx盒子与所述usb2.0主机协商成功后,所述usb2.0主机通过所述tx盒子、所述rx盒子与所述usb2.0设备进行数据传输。
8.在一些优选的实施方式中,所述usb2.0主机通过所述tx盒子、所述rx盒子与所述usb2.0设备进行数据传输,其方法为:
9.所述tx盒子接收usb2.0主机发送的待传输的usb2.0数据,并对所述待传输的
usb2.0数据进行解析,得到所述待传输的usb2.0数据对应的事务类型、传输类型;
10.根据所述事务类型、所述传输类型,所述tx盒子按照设定的数据交互策略与所述usb2.0主机进行数据交互,并将所述待传输的usb2.0数据对应的事务包转换成以太网数据格式发送给所述rx盒子;
11.所述rx盒子接收到所述待传输的usb2.0数据对应的事务包后,根据事务包对应的事务类型,按照设定的数据交互策略与所述usb2.0设备进行数据交互;交互后,将所述usb2.0设备返回的响应数据转换成以太网数据格式发送给所述tx盒子;
12.所述tx盒子接收所述rx盒子发送的响应数据,对所述响应数据进行处理,并记录所述rx盒子下游连接的usb2.0设备的类型和地址信息。
13.在一些优选的实施方式中,所述事务类型包括:setup事务、out事务、in事务以及ping事务;所述传输类型包括:控制传输、批量传输、中断传输和同步传输。
14.在一些优选的实施方式中,当所述事务类型为setup事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
15.所述tx盒子收到setup事务包后,通过以太网发送给所述rx盒子并代替所述usb2.0设备向所述usb2.0主机回复响应数据;
16.当所述rx盒子从以太网上收到setup事务包后,通过usb接口发送给所述usb2.0设备;当所述usb设备返回响应数据后,所述rx盒子通过以太网将响应数据发送给所述tx盒子;
17.待所述响应数据返回所述tx盒子后,所述tx盒子直接将所述响应数据丢弃。
18.在一些优选的实施方式中,当所述事务类型为out事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
19.如果所述传输类型为控制传输、批量传输和中断传输,当每个microframe收到第一个out事务包后,所述tx盒子将out事务包通过以太网发送给所述rx盒子,并向所述usb2.0主机回复等待out事务包返回的响应数据;当所述rx盒子从以太网上接收到out事务包后,通过usb接口发送给所述usb2.0设备;当所述usb2.0设备返回响应数据后,所述rx盒子通过以太网发将响应数据送给所述tx盒子;
20.如果所述传输类型为同步传输,所述tx盒子不用向所述usb2.0主机回复响应数据,直接将所述usb2.0主机传输的out事务包通过以太网发送给所述rx盒子即可;当所述rx盒子从以太网上收到out事务包后,通过usb接口发送给所述usb2.0设备。
21.在一些优选的实施方式中,当响应数据返回超时后,所述usb2.0主机会再重传上一次未响应的out事务包;如果在usb2.0主机重传时,响应数据没有返回所述tx盒子,则所述tx盒子向usb2.0主机回复等待out事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重传out事务包时,再向所述usb2.0主机回复所述usb2.0设备返回的响应数据;
22.其中,在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个out事务包,将后面因超时usb2.0主机重传的out事务包都过滤掉。
23.在一些优选的实施方式中,当所述事务类型为in事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
24.如果所述传输类型为控制传输、批量传输和中断传输,当在每个microframe中收
到第一个in事务包后,所述tx盒子会将事务包通过以太网发送给所述rx盒子,并向所述usb2.0主机回复等待in事务包返回的响应数据;当所述rx盒子从以太网上收到in事务包后,会通过usb接口发送给所述usb2.0设备;当所述usb2.0设备返回数据后,所述rx盒子代替所述usb2.0主机回复所述usb2.0设备返回的响应数据,并将返回的响应数据通过以太网发送给所述tx盒子;
25.如果所述传输类型为同步传输,所述rx盒子不用代替所述usb2.0主机向所述usb2.0设备回复响应数据,当接收到所述usb2.0主机第一个in事务包,所述tx盒子直接回复所述usb2.0主机零长度的合成报文,后续传输直接使用上次microframe返回的响应数据;对于最后一帧usb2.0设备返回的响应数据,可以通过超时进行丢弃;当所述rx盒子从以太网上收到in事务包后,通过usb接口发送给所述usb2.0设备,并将所述usb2.0设备返回的响应数据通过以太网发送给所述tx盒子。
26.在一些优选的实施方式中,当响应数据返回超时后,所述usb2.0主机就会再重传上一次未响应的in事务包;如果在所述usb2.0主机重传时,响应数据没有返回所述tx盒子,则所述tx盒子向所述usb2.0主机回复等待in事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重传in事务包时再向所述usb2.0主机回复所述usb2.0设备返回的响应数据;
27.其中,在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个in事务包,将后面因超时所述usb2.0主机重传的in事务包都过滤掉。
28.在一些优选的实施方式中,当所述事务类型为ping事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
29.在每个microframe中收到第一个ping事务包后,所述tx盒子将ping事务包通过以太网发送给所述rx盒子并向所述usb2.0主机回复等待ping事务包返回的响应数据;
30.当所述rx盒子从以太网上收到ping事务包后,会通过usb接口发送给所述usb2.0设备;
31.当所述usb2.0设备返回响应数据后,所述rx盒子通过以太网发将响应数据送给所述tx盒子。
32.在一些优选的实施方式中,当响应数据返回超时后,所述usb2.0主机会再重传上一次未响应的ping事务包;如果在所述usb2.0主机重传时,响应数据没有返回所述tx盒子,所述tx盒子则向所述usb2.0主机回复等待ping事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重复发ping事务包时,再向所述usb2.0主机回复所述usb2.0设备返回的响应数据;
33.其中,在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个ping事务包,将后面因超时所述usb2.0主机重传的ping事务包都过滤掉。
34.本发明的有益效果:
35.本发明大大延长usb2.0主机和usb设备之间的传输距离。
36.在本发明中,在现有技术的应用基础上,不用额外的usb hub级联,也不用添加信号放大设备,通过合理利用usb2.0协议中数据重传机制,就可以实现usb2.0主机和usb2.0设备之间超远距离的usb数据传输,传输距离是普通借助太网介质透传方式传输距离的任意倍以上,能够大大延长usb2.0主机和usb设备之间的传输距离。
附图说明
37.通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本技术的其他特征、目的和优点将会变得更明显。
38.图1是本发明一种实施例的一种支持usb2.0超远距离传输的方法的流程示意图;
39.图2是本发明一种实施例的一种支持usb2.0超远距离传输的装置的框架示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
42.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
43.本发明的一种支持usb2.0超远距离传输的方法,用于一种支持usb2.0超远距离传输的装置,该装置包括usb2.0主机、usb2.0设备、tx盒子、rx盒子;所述tx盒子通过usb接口与所述usb2.0主机相连,所述rx盒子通过usb接口与所述usb2.0设备相连,所述tx盒子和所述rx盒子通过以太网连接;如图1所示,该方法包括以下步骤:
44.当检测到所述一种支持usb2.0超远距离传输的装置上电后,所述rx盒子按照usb2.0协议中设定的协商流程与所述usb2.0设备完成协商;协商完成后,所述rx盒子通过以太网发送网络数据包通知所述tx盒子;
45.所述tx盒子接收到通知后,模拟所述usb2.0设备与所述usb2.0主机连接,并与所述usb2.0主机按照usb2.0协议中设定的协商流程进行协商;
46.当所述tx盒子与所述usb2.0主机协商成功后,所述usb2.0主机通过所述tx盒子、所述rx盒子与所述usb2.0设备进行数据传输。
47.为了更清晰地对本发明一种支持usb2.0超远距离传输的方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
48.本发明的一种支持usb2.0超远距离传输的方法,用于一种支持usb2.0超远距离传输的装置,该装置包括usb2.0主机、usb2.0设备、tx盒子、rx盒子;如图2所示;
49.所述tx盒子通过usb接口与所述usb2.0主机相连,所述rx盒子通过usb接口与所述usb2.0设备相连,所述tx盒子和所述rx盒子通过以太网连接。其中,tx盒子,配置为按照本发明提出的数据交互策略与usb2.0主机进行数据交互、将需要发送给rx盒子的数据转换成以太网数据格式发送给rx盒子、接收rx盒子发送的以太网数据,并且记录rx盒子下游连接的usb2.0设备的类型和地址信息。
50.rx盒子,配置为按照本发明提出的数据交互策略与usb2.0设备进行数据交互、将需要发送给tx盒子的数据转换成以太网数据格式发送给tx盒子、接收tx盒子发送的以太网数据。
51.另外,tx盒子与rx盒子之间的以太网数据交互内容,除了包含原始usb数据外,还包含了tx盒子和rx盒子之间和盒子本身的一些状态信息。
52.需要说明的是,上述实施例提供的一种支持usb2.0超远距离传输的装置,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
53.其中,所述usb2.0主机通过所述tx盒子(usb2.0主机发送端)、所述rx盒子(usb2.0设备接收端)与所述usb2.0设备进行数据传输,具体工作流程为:
54.当检测到所述一种支持usb2.0超远距离传输的装置上电后,所述rx盒子按照usb2.0协议中设定的协商流程(该协商流程为现有技术,具体可参考usb2.0协议第7章)与所述usb2.0设备完成协商;协商完成后,所述rx盒子通过以太网发送网络数据包通知所述tx盒子;
55.所述tx盒子接收到通知后,模拟所述usb2.0设备与所述usb2.0主机连接,并与所述usb2.0主机按照usb2.0协议中设定的协商流程进行协商;
56.当所述tx盒子与所述usb2.0主机协商成功后,所述usb2.0主机通过所述tx盒子、所述rx盒子与所述usb2.0设备进行数据传输:
57.所述tx盒子接收usb2.0主机发送的待传输的usb2.0数据,并对所述待传输的usb2.0数据进行解析,得到所述待传输的usb2.0数据对应的事务类型、传输类型;所述事务类型包括:setup事务、out事务、in事务以及ping事务;所述传输类型包括:控制传输、批量传输、中断传输和同步传输;
58.根据所述事务类型、所述传输类型,所述tx盒子按照设定的数据交互策略与所述usb2.0主机进行数据交互,并将所述待传输的usb2.0数据对应的事务包转换成以太网数据格式发送给所述rx盒子;
59.所述rx盒子接收到所述待传输的usb2.0数据对应的事务包后,根据事务包对应的事务类型,按照设定的数据交互策略与所述usb2.0设备进行数据交互;交互后,将所述usb2.0设备返回的响应数据转换成以太网数据格式发送给所述tx盒子;
60.所述tx盒子接收所述rx盒子发送的响应数据,对所述响应数据进行处理,并记录所述rx盒子下游连接的usb2.0设备的类型和地址信息。
61.其中,当所述事务类型为setup事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
62.当传输setup事务时,所述tx盒子收到setup事务包后,通过以太网发送给所述rx盒子并代替所述usb2.0设备向所述usb2.0主机回复响应数据;当所述rx盒子从以太网上收到setup事务包后,通过usb接口发送给所述usb2.0设备;当所述usb设备返回响应数据后,所述rx盒子通过以太网将响应数据发送给所述tx盒子;待所述响应数据返回所述tx盒子后,所述tx盒子直接将所述响应数据丢弃。
63.当所述事务类型为out事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
64.如果所述传输类型为控制传输、批量传输和中断传输,当每个microframe(高速usb传输中的一个微帧,时间为125us)收到第一个out事务包后,所述tx盒子将out事务包通过以太网发送给所述rx盒子,并向所述usb2.0主机回复等待out事务包返回的响应数据;当所述rx盒子从以太网上接收到out事务包后,通过usb接口发送给所述usb2.0设备;
65.当所述usb2.0设备返回响应数据后,所述rx盒子通过以太网发将响应数据送给所述tx盒子;在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个out事务包,将后面因超时usb2.0主机重传的out事务包都过滤掉;当响应数据返回超时后,所述usb2.0主机会再重传上一次未响应的out事务包;如果在usb2.0主机重传时,响应数据没有返回所述tx盒子,则所述tx盒子向usb2.0主机回复等待out事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重传out事务包时,再向所述usb2.0主机回复所述usb2.0设备返回的响应数据。
66.如果所述传输类型为同步传输,usb2.0主机没有超时重传,所述tx盒子不用向所述usb2.0主机回复响应数据,直接将所述usb2.0主机传输的out事务包通过以太网发送给所述rx盒子即可;当所述rx盒子从以太网上收到out事务包后,通过usb接口发送给所述usb2.0设备。
67.当所述事务类型为in事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
68.如果所述传输类型为控制传输、批量传输和中断传输,当在每个microframe中收到第一个in事务包后,所述tx盒子会将事务包通过以太网发送给所述rx盒子,并向所述usb2.0主机回复等待in事务包返回的响应数据;当所述rx盒子从以太网上收到in事务包后,会通过usb接口发送给所述usb2.0设备;当所述usb2.0设备返回数据后,所述rx盒子代替所述usb2.0主机回复所述usb2.0设备返回的响应数据,并将返回的响应数据通过以太网发送给所述tx盒子;
69.当响应数据返回超时后,所述usb2.0主机就会再重传上一次未响应的in事务包;如果在所述usb2.0主机重传时,响应数据没有返回所述tx盒子,则所述tx盒子向所述usb2.0主机回复等待in事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重传in事务包时再向所述usb2.0主机回复所述usb2.0设备返回的响应数据;其中,在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个in事务包,将后面因超时所述usb2.0主机重传的in事务包都过滤掉。
70.如果所述传输类型为同步传输,所述rx盒子不用代替所述usb2.0主机向所述usb2.0设备回复响应数据,当接收到所述usb2.0主机第一个in事务包,所述tx盒子直接回复所述usb2.0主机零长度的合成报文,后续传输直接使用上次microframe返回的响应数据(即tx盒子后续再收到usb2.0主机发送的in事务包后,如果此时usb2.0的设备上次microframe返回的响应数据已经到达tx盒子,那么tx盒子直接使用上次microframe返回的响应数据回复给usb2.0主机);对于最后一帧usb2.0设备返回的响应数据,可以通过超时进行丢弃;当所述rx盒子从以太网上收到in事务包后,通过usb接口发送给所述usb2.0设备,并将所述usb2.0设备返回的响应数据通过以太网发送给所述tx盒子。
71.当所述事务类型为ping事务时,所述tx盒子、所述rx盒子对应设定的数据交互策略为:
72.在每个microframe中收到第一个ping事务包后,所述tx盒子将ping事务包通过以太网发送给所述rx盒子并向所述usb2.0主机回复等待ping事务包返回的响应数据;当所述rx盒子从以太网上收到ping事务包后,会通过usb接口发送给所述usb2.0设备;当所述usb2.0设备返回响应数据后,所述rx盒子通过以太网发将响应数据送给所述tx盒子。
73.当响应数据返回超时后,所述usb2.0主机会再重传上一次未响应的ping事务包;如果在所述usb2.0主机重传时,响应数据没有返回所述tx盒子,所述tx盒子则向所述usb2.0主机回复等待ping事务包返回的响应数据;待响应数据返回所述tx盒子后,在所述usb2.0主机重复发ping事务包时,再向所述usb2.0主机回复所述usb2.0设备返回的响应数据;其中,在每一个microframe中所述tx盒子只会向所述rx盒子发送第一个ping事务包,将后面因超时所述usb2.0主机重传的ping事务包都过滤掉。
74.此外,usb2.0协议中规定,usb2.0主机因为设备忙而造成的等待超时可以进行多次重传。在以上策略中只要usb设备响应的数据在最后一次usb主机发起重传前返回到tx盒子即可按照usb2.0协议完成正常传输。按照以上策略当usb2.0信号借助太网介质传输时,传输距离会是普通借助太网介质透传方式的任意倍以上,能够实现usb2.0主机和设备之间的数据传输距离大大的延长。
75.本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
76.术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
77.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献