一种USB主从模式的识别方法及终端与流程

文档序号:32444611发布日期:2022-12-06 23:29阅读:191来源:国知局
一种USB主从模式的识别方法及终端与流程
一种usb主从模式的识别方法及终端
技术领域
1.本发明涉及usb设备识别技术领域,尤其涉及一种usb主从模式的识别方法及终端。


背景技术:

2.usb otg(universal serial bus on-the-go)规范使得嵌入式设备之间可以不经过pc(personal computer)就能够相互通信。支持otg功能的设备具备两种模式:主机(host)模式,外接设备(device)模式,并支持主机通令协议(hnp)和对话请求协议(srp)。otg初始主机设备和device设备通过监测usb模块的id引脚或者gpio(general purpose input output;通用输入/输出)设备进行模式切换判断。
3.但是,这种识别方式需要支持otg功能的设备才能进行,而在不支持otg功能的设备中无法通过该方式完成主从匹配。


技术实现要素:

4.本发明所要解决的技术问题是:提供一种usb主从模式的识别方法及终端,实现usb主从设备的自动检测和切换,无需使用otg功能。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种usb主从模式的识别方法,包括:
7.s1、设置设备usb模式在主设备模式和从设备模式之间切换;
8.s2、判断是否捕获到设备信息,若是,则在捕获到所述设备信息时停止模式切换;其中,所述设备信息包括主设备信息和从设备信息。
9.为了解决上述技术问题,本发明采用的另一种技术方案为:
10.一种usb主从模式的识别终端,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
11.s1、设置设备usb模式在主设备模式和从设备模式之间切换;
12.s2、判断是否捕获到设备信息,若是,则在捕获到所述设备信息时停止模式切换;其中,所述设备信息包括主设备信息和从设备信息。
13.本发明的有益效果在于:在设备内部设置usb模式自动切换,同时检测是否捕获到对应的设备信息,若是,则停止切换usb模式,进入对应的usb模式;这种通过设备软件进行逻辑判断的方式无需配备otg功能即可实现自动识别和切换usb主从模式,无需用户手动切换,提升了用户体验感,且无需占用引脚资源,减少硬件成本。
附图说明
14.图1为本发明实施例提供的一种usb主从模式的识别方法的步骤流程图;
15.图2为本发明实施例提供的一种usb主从模式的识别方法的程序流程图;
16.图3为本发明实施例提供的一种usb主从模式的识别方法的线程流程图;
17.图4为本发明实施例提供的一种usb主从模式的识别终端的结构示意图;
18.标号说明:
19.1、一种usb主从模式的识别终端;2、存储器;3、处理器。
具体实施方式
20.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
21.请参照图1,本发明实施例提供的一种usb主从模式的识别方法,包括:
22.s1、设置设备usb模式在主设备模式和从设备模式之间切换;
23.s2、判断是否捕获到设备信息,若是,则在捕获到所述设备信息时停止模式切换;其中,所述设备信息包括主设备信息和从设备信息。
24.从上述描述可知,本发明的有益效果在于:在设备内部设置usb模式自动切换,同时检测是否捕获到对应的设备信息,若是,则停止切换usb模式,进入对应的usb模式;这种通过设备软件进行逻辑判断的方式无需配备otg功能即可实现自动识别和切换usb主从模式,无需用户手动切换,提升了用户体验感,且无需占用引脚资源,减少硬件成本。
25.进一步的,所述s2包括:
26.若当前设备usb模式切换为主设备模式时,则判断是否捕获到主设备信息,若是,则根据所述主设备信息生成第一条件变量,并在捕获到所述主设备信息时停止模式切换,根据所述第一条件变量将所述设备usb模式设置为主设备模式。
27.由上述描述可知,当设备usb模式切换为主设备模式时,则启动检测从设备信息程序,判断是否捕获到从设备信息,一旦程序监控到有从设备插入,则根据其生成的第一条件变量暂停设备usb模式切换,执行主设备模式;若监控到从设备拔出,则可继续执行设备usb模式切换,无需手动切换主从模式,通过软件自动监测并识别切换,无需占用usb引脚资源。
28.进一步的,所述s2还包括:
29.若当前设备usb模式切换为从设备模式时,则判断是否捕获到从设备信息,若是,则根据所述从设备信息生成第二条件变量,并在捕获到所述从设备信息时停止模式切换,根据所述第二条件变量将所述设备usb模式设置为从设备模式。
30.由上述描述可知,当设备usb模式切换为从设备模式时,则启动检测主设备信息程序,判断是否捕获到主设备信息,一旦程序监控到有主设备插入,则根据生成的第二条件变量暂停设备usb模式切换,并执行从设备模式;若监控到主设备拔出,则可继续执行设备usb模式切换;这种检测方式相比于现有技术,仅通过程序内的逻辑判断即可实现自动识别和切换主从模式,无需设备支持otg功能,且无需占用硬件资源,节约物料成本。
31.进一步的,通过usb模式切换线程执行所述s1,通过主设备模式线程和从设备模式线程执行所述s2。
32.由上述描述可知,创建多个线程,usb模式切换线程用于执行设备usb模式的自动切换和停止,主设备模式线程和从设备模式线程用于检测是否捕获到对应的设备信息;由一个线程直接控制主从模式的切换,另外两个线程用于识别设备信息,各个线程执行命令明确,易于后期维护。
33.进一步的,所述主设备信息包括主设备插入信息和主设备拔出信息;所述从设备
信息包括从设备插入信息;
34.所述通过usb模式切换线程执行所述s1,通过主设备模式线程和从设备模式线程执行所述s2具体为:
35.若当前设备usb模式切换为主设备模式时,通过主设备模式线程捕获所述主设备信息;当所述主设备信息为主设备插入信息,则暂停所述usb模式切换线程;当所述主设备信息为主设备拔出信息,则启动所述usb模式切换线程;
36.若当前设备usb模式切换为从设备模式时,通过从设备模式线程从内核中获取设备调试信息,根据所述设备调试信息判断所述从设备信息是否为从设备插入信息,若是,则暂停所述usb模式切换线程。
37.由上述描述可知,获取主设备信息和从设备信息的方式不同,因此,分别创建主设备模式线程和从设备模式线程,采用不同的检测方式,以此来识别主从设备信息,同时创建usb模式切换线程用于执行主从模式切换。通过多个线程之间的逻辑判断在设备不支持otg功能的情况下,也能实现usb主从模式之间的自动识别和自动切换,降低设备成本。
38.请参照图4,本发明另一实施例提供了一种usb主从模式的识别终端,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
39.s1、设置设备usb模式在主设备模式和从设备模式之间切换;
40.s2、判断是否捕获到设备信息,若是,则在捕获到所述设备信息时停止模式切换;其中,所述设备信息包括主设备信息和从设备信息。
41.从上述描述可知,本发明的有益效果在于:在设备内部设置usb模式自动切换,同时检测是否捕获到对应的设备信息,若是,则停止切换usb模式,进入对应的usb模式;这种通过设备软件程序进行逻辑判断的方式无需配备otg功能即可实现自动识别和切换usb主从模式,无需用户手动切换,提升了用户体验感,且无需占用引脚资源,减少硬件成本。
42.进一步的,所述s2包括:
43.若当前设备usb模式切换为主设备模式时,则判断是否捕获到主设备信息,若是,则根据所述主设备信息生成第一条件变量,并在捕获到所述主设备信息时停止模式切换,根据所述第一条件变量将所述设备usb模式设置为主设备模式。
44.由上述描述可知,当设备usb模式切换为主设备模式时,则启动检测从设备信息程序,判断是否捕获到从设备信息,一旦程序监控到有从设备插入,则根据其生成的第一条件变量暂停设备usb模式切换,执行主设备模式;若监控到从设备拔出,则可继续执行设备usb模式切换,无需手动切换主从模式,通过软件自动监测并识别切换,无需占用usb引脚资源。
45.进一步的,所述s2还包括:
46.若当前设备usb模式切换为从设备模式时,则判断是否捕获到从设备信息,若是,则根据所述从设备信息生成第二条件变量,并在捕获到所述从设备信息时停止模式切换,根据所述第二条件变量将所述设备usb模式设置为从设备模式。
47.由上述描述可知,当设备usb模式切换为从设备模式时,则启动检测主设备信息程序,判断是否捕获到主设备信息,一旦程序监控到有主设备插入,则根据生成的第二条件变量暂停设备usb模式切换,并执行从设备模式;若监控到主设备拔出,则可继续执行设备usb模式切换;这种检测方式相比于现有技术,仅通过程序内的逻辑判断即可实现自动识别和
切换主从模式,无需设备支持otg功能,且无需占用硬件资源,节约物料成本。
48.进一步的,通过usb模式切换线程执行所述s1,通过主设备模式线程和从设备模式线程执行所述s2。
49.由上述描述可知,创建多个线程,usb模式切换线程用于执行设备usb模式的自动切换和停止,主设备模式线程和从设备模式线程用于检测是否捕获到对应的设备信息;由一个线程直接控制主从模式的切换,另外两个线程用于识别设备信息,各个线程执行命令明确,易于后期维护。
50.进一步的,所述主设备信息包括主设备插入信息和主设备拔出信息;所述从设备信息包括从设备插入信息;
51.所述通过usb模式切换线程执行所述s1,通过主设备模式线程和从设备模式线程执行所述s2具体为:
52.若当前设备usb模式切换为主设备模式时,通过主设备模式线程捕获所述主设备信息;当所述主设备信息为主设备插入信息,则暂停所述usb模式切换线程;当所述主设备信息为主设备拔出信息,则启动所述usb模式切换线程;
53.若当前设备usb模式切换为从设备模式时,通过从设备模式线程从内核中获取设备调试信息,根据所述设备调试信息判断所述从设备信息是否为从设备插入信息,若是,则暂停所述usb模式切换线程。
54.由上述描述可知,获取主设备信息和从设备信息的方式不同,因此,分别创建主设备模式线程和从设备模式线程,采用不同的检测方式,以此来识别主从设备信息,同时创建usb模式切换线程用于执行主从模式切换。通过多个线程之间的逻辑判断在设备不支持otg功能的情况下,也能实现usb主从模式之间的自动识别和自动切换,降低设备成本。
55.本发明实施例提供的一种usb主从模式的识别方法及终端,可应用于不具有otg功能的设备,实现自动识别和自动切换usb主从模式,以下通过具体实施例来说明:
56.请参照图1,本发明的实施例一为:
57.一种usb主从模式的识别方法,包括:
58.s1、设置设备usb模式在主设备模式(host)和从设备模式(device)之间切换。
59.s2、判断是否捕获到设备信息,若是,则在捕获到所述设备信息时停止模式切换;其中,所述设备信息包括主设备信息和从设备信息。
60.具体地,所述s2包括:
61.s21、若当前设备usb模式切换为主设备模式时,则判断是否捕获到主设备信息,若是,则根据所述主设备信息生成第一条件变量,并在捕获到所述主设备信息时停止模式切换,根据所述第一条件变量将所述设备usb模式设置为主设备模式。
62.所述s2还包括:
63.s22、若当前设备usb模式切换为从设备模式时,则判断是否捕获到从设备信息,若是,则根据所述从设备信息生成第二条件变量,并在捕获到所述从设备信息时停止模式切换,根据所述第二条件变量将所述设备usb模式设置为从设备模式。
64.在一种可选的实施方式中,设备停止模式切换后,设备处于等待状态。
65.在本实施例中,通过usb模式切换线程执行所述s1,通过主设备模式线程和从设备模式线程执行所述s2。
66.其中,所述主设备信息包括主设备插入信息和主设备拔出信息;所述从设备信息包括从设备插入信息;
67.具体地,若当前设备usb模式切换为主设备模式时,通过主设备模式线程捕获所述主设备信息;当所述主设备信息为主设备插入信息,则暂停所述usb模式切换线程;当所述主设备信息为主设备拔出信息,则启动所述usb模式切换线程。
68.在一种可选的实施方式中,主设备模式和从设备模式按照预设周期交替切换一次。
69.在一种可选的实施方式中,所述主设备模式线程通过netlink套接字技术实现主设备的热插拔监控。
70.若当前设备usb模式切换为从设备模式时,通过从设备模式线程从内核中获取设备调试信息,根据所述设备调试信息判断所述从设备信息是否为从设备插入信息,若是,则暂停所述usb模式切换线程。
71.在一种可选的实施方式中,所述设备调试信息是由中断服务产生的标识文件。
72.在一种可选的实施方式中,所述从设备模式线程获取内核中hid设备(人体学接口设备)被识别的内容,根据被识别的内容判断是否为从设备,若是,则暂停usb模式切换线程;具体的,在从设备驱动的预初始化接口中会创建标识文件,在从设备插入时,会触发usb从设备配置信息流程将标识文件中的状态值写入1,表示从设备插入;在从设备拔出时,会触发usb从设备断开流程将标识文件中的状态值写入0,表示从设备拔出;所述从设备模式线程获取内核中hid设备被识别的内容即是获取所述标识文件中的状态值;usb模式切换线程则根据所述标识文件中的状态值作为是否暂停切换的依据。
73.其中,所述主设备模式线程通过所述第一条件变量启动或暂停所述usb模式切换线程;所述从设备模式线程通过所述第二条件变量启动或暂停所述usb切换线程。
74.在一种可选的实施方式中,预设最大监控时长;若超过所述最大监控时长仍未捕获到设备信息,则暂停所述usb模式切换线程,执行所述主设备模式,即默认当前模式为主设备模式。
75.请参照图2至图3,本发明的实施例二为:
76.一种usb主从模式的识别方法通过usb模式切换线程执行s1,通过主设备模式线程和从设备模式线程执行s2:
77.d0、创建usb模式切换线程、主设备模式线程和从设备模式线程。
78.d1、启动usb模式切换线程设置设备usb模式在主设备模式和从设备模式之间切换。
79.d2、启动主设备模式线程和从设备模式线程,判断是否捕获到设备信息,若是,则在捕获到所述设备信息时暂停usb切换线程。
80.具体地,d21、若当前设备usb模式切换为主设备模式时,则启动主设备模式线程通过netlink热插拔监控判断是否有主设备插入或拔出,并根据所述主设备插入信息或主设备拔出信息生成对应的第一条件变量:
81.当所述主设备信息为主设备插入信息,则根据对应的第一条件变量暂停所述usb模式切换线程,将所述设备usb模式设置为主设备模式。
82.当所述主设备信息为主设备拔出信息,则根据对应的第一条件变量启动所述usb
模式切换线程。
83.d22、若当前设备usb模式切换为从设备模式时,则启动从设备模式线程从内核中获取由中断服务产生的标识文件,并读取标识文件中的标识信息,根据标识信息判断是否有从设备插入,并根据所述从设备插入信息生成对应的第二条件变量:
84.若有从设备插入,则根据对应的第二条件变量暂停所述usb模式切换线程,将所述设备usb模式设置为从设备模式。
85.请参照图4,本发明的实施例三为:
86.一种usb主从模式的识别终端1,包括存储器2、处理器3及存储在所述存储器2上并在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一和实施例二的任一步骤。
87.综上所述,本发明提供的一种usb主从模式的识别方法及终端,创建多个线程,多个线程之间通过条件变量进行信息交互;由于获取主设备信息和从设备信息的方式不同,分别创建主设备模式线程和从设备模式线程:若当前设备usb模式切换为主设备模式时,则启动主设备模式线程可直接检测是否有主设备插入,若是,则暂停usb模式切换线程,执行主设备模式;同时主设备模式线程检测到主设备拔出时,则启动usb模式切换线程,继续切换usb主从模式。而从设备在插入和拔出时无法直接获取其设备信息,因此,若当前设备usb模式切换为从设备模式时,则启动从设备模式线程获取内核的设备调试信息,从而根据内核的设备调试信息判断是否有从设备插入,若是,则暂停usb模式切换线程,执行从设备模式。这种基于设备软件进行逻辑判断的方式无需更改设备的硬件结构,即无需配备otg功能即可实现自动识别和切换usb主从模式,无需用户手动切换,提升了用户体验感,且无需占用引脚资源,减少了硬件成本。
88.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1