CN111339007B - Usb设备控制方法、装置、计算机设备及存储介质 - Google Patents
Usb设备控制方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111339007B CN111339007B CN202010126730.1A CN202010126730A CN111339007B CN 111339007 B CN111339007 B CN 111339007B CN 202010126730 A CN202010126730 A CN 202010126730A CN 111339007 B CN111339007 B CN 111339007B
- Authority
- CN
- China
- Prior art keywords
- usb
- power line
- pin
- equipment
- mode
- 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
Images
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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
Abstract
本申请涉及一种USB设备控制方法、装置、计算机设备及存储介质,在USB设备的电源线引脚长时间处于高电平不能触发电源线中断时,在正常的ID中断操作中添加状态机函数的电源线引脚标志位的修改操作,当ID引脚为低电平时,能够将状态机函数中的电源线引脚标志位强制修改为低电平,从而使USB设备能够正常进入主设备模式。进一步的,当检测到ID引脚为高电平时,能够根据高电平的电源线引脚标志位控制USB设备进入从设备模式。通过上述方案,在ID中断中引入电源线引脚标志位的修改操作,使得USB设备在电源线引脚长时间处于高电平的情况下,能够实现正常的主设备模式与从设备模式之间的切换,具有使用可靠性强的优点。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种USB设备控制方法、装置、计算机设备及存储介质。
背景技术
随着科学技术以及通信技术的飞速发展,USB(Universal Serial Bus,通用串行总线)接口在电子设备中只用越来越广泛,通过USB接口为电子设备的信息交互以及供电等提供了极大的便利。USB设备一般包括HOST(主设备)和SLAVE(从设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输,而OTG(On The Go)技术能够使设备既能充当HOST,亦能充当SLAVE,进而在没有HOST的情况下实现设备之间的数据交互操作。
采用OTG技术的USB设备包括五个引脚,即电源线引脚(VBUS)、两个数据引脚(即D+和D-)、ID引脚以及接地引脚(GND)。传统的USB设备在进行数据交互时,能够根据USB设备的VBUS引脚的电平变化,实现SLAVE模式的切换。然而,在实际使用过程中会出现VBUS引脚始终处于高电平的情况,导致USB设备将无法正常切换到SLAVE模式,传统的USB设备具有使用可靠性差的缺点。
发明内容
基于此,有必要针对传统的USB OTG设备使用可靠性差的问题,提供一种USB设备控制方法、装置、计算机设备及存储介质。
一种USB设备控制方法,所述方法包括:当检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测;当所述ID引脚标志位为低电平时,将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备从从设备模式切换到主设备模式;当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式。
在一个实施例中,所述当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式的步骤,包括:当所述ID引脚标志位为高电平时,判断是否有将所述USB设备作为从设备的需求;若是,则将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式。
在一个实施例中,所述当所述ID引脚标志位为高电平时,判断是否有将所述USB设备作为从设备的需求的步骤之后,还包括:若否,则将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备进入空闲模式。
在一个实施例中,所述当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式的步骤之后,还包括:控制所述USB设备跳过充电类型检测操作。
在一个实施例中,当未检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,根据所述USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
在一个实施例中,所述当未检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,根据所述USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作的步骤,包括:当未检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,触发所述USB设备的ID中断与电源线中断;当所述USB设备中状态机函数的ID引脚标志位为低电平时,控制所述USB设备进入主设备模式;当所述USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制所述USB设备进入从设备模式。
在一个实施例中,所述当检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测的步骤之前,还包括:当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;检测所述预设时长内所述电源线引脚的电平是否发生变化。
一种USB设备控制装置,所述装置包括:ID中断触发模块,用于当检测到预设时长内USB设备的电源线引脚的电平持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测;从主模式切换模块,用于当所述ID引脚标志位为低电平时,将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备从从设备模式切换到主设备模式;主从模式切换模块,用于当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述USB设备控制方法、装置、计算机设备及存储介质,在USB设备的电源线引脚长时间处于高电平不能触发电源线中断时,在正常的ID中断操作中添加状态机函数的电源线引脚标志位的修改操作,当ID引脚为低电平(即ID标志位为低电平)时,能够将状态机函数中的电源线引脚标志位强制修改为低电平,从而使USB设备能够正常进入主设备模式。进一步的,当检测到ID引脚为高电平(即ID标志位为高电平)时,能够根据高电平的电源线引脚标志位控制USB设备进入从设备模式。通过上述方案,在ID中断中引入电源线引脚标志位的修改操作,使得USB设备在电源线引脚长时间处于高电平的情况下,能够实现正常的主设备模式与从设备模式之间的切换,具有使用可靠性强的优点。
附图说明
图1为一实施例中USB设备控制方法流程示意图;
图2为另一实施例中USB设备控制方法流程示意图;
图3为一实施例中USB设备控制流程示意图;
图4为又一实施例中USB设备控制方法流程示意图;
图5为一实施例中VBUS引脚电平检测方法流程示意图;
图6为一实施例中USB设备控制装置结构示意图;
图7为另一实施例中USB设备控制装置结构示意图;
图8为又一实施例中USB设备控制装置结构示意图;
图9为再一实施例中USB设备控制装置结构示意图;
图10为一实施例中计算机设备内部结构示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。
请参阅图1,一种USB设备控制方法,包括步骤S200、步骤S300和步骤S400。
步骤S200,当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断并对USB设备中状态机函数的ID引脚标志位进行检测。
具体地,主设备模式即为将USB设备作为主设备与其它从设备进行数据交互的运行模式;从设备模式即为将USB设备作为从设备与其它主设备进行数据交互的运行模式。现有的一些USB设备是没有电池进行供电的,在使用过程中通过外部电源进行供电,当外部电源通过VBUS引脚接入时必然会触发开机,将VBUS引脚的电压拉高,即此时VBUS引脚的电平为高电平。因此,只要有外部电源进行供电的情况下,VBUS引脚的电平都会处于高电平状态,即出现USB设备的电源线引脚始终处于高电平的情况。在本实施例中,通过对预设时长内的VBUS引脚的电平进行检测,若在预设时长内VBUS引脚持续为高电平,则认为VBUS引脚的电平始终处于高电平。应当指出的是,预设时长的大小并不是唯一的,具体可以根据USB设备的具体类型进行选择。
在正常的USB设备OTG方案中,当检测到电源线(VBUS)引脚和ID引脚的电平发生变化时,均会触发对应的中断处理,从而根据中断处理后的VBUS引脚标志位以及ID引脚标志位的情况,控制USB设备进入主设备模式(HOST模式)或者从设备模式(SLAVE模式),实现与其它USB设备的信息交互操作。当USB设备的VBUS引脚始终处于高电平时,VBUS引脚对应的VBUS中断将无法触发,USB主从模式设置的操作中状态机函数中VBUS引脚标志位将会一直处于高电平状态。然而,在USB设备的操作协议中,当ID引脚的电平为低时将会切换到主设备模式;当ID引脚的电平为高时则退出主设备模式;当VBUS引脚的电平为高时将会切换到从设备模式;当VBUS引脚的电平为低时则会退出从设备模式。也就是说,USB设备通过ID引脚的电平决定是否切换或退出主设备模式,根据VBUS引脚的电平决定是否切换或退出从设备模式。因此,若VBUS引脚的电平始终处于高电平,USB设备将无法进行正常的设备模式切换/退出操作。
步骤S300,当ID引脚标志位为低电平时,将状态机函数的电源线引脚标志位修改为低电平使USB设备从从设备模式切换到主设备模式。
具体地,当VBUS引脚始终处于高电平(即电平1)时,USB设备的VBUS中断将无法触发,ID中断可以正常进行,在ID中断中将会对USB设备中状态机函数的ID引脚标志位进行检测,ID引脚标志位的电平与ID引脚的实际电平一致,通过检测得到的不同ID引脚标志位电平的大小,可以控制USB设备进行主设备模式的切换与退出操作。在实际的操作中,当ID引脚标志位的低电平(即电平0)时,同时通过修改VBUS引脚对应的VBUS引脚标志位为低电平,保证此时USB设备退出从设备模式,同时进入到主设备模式,即实现USB设备的从设备模式到主设备模式的切换操作。
步骤S400,当ID引脚标志位为高电平时,将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式。
具体地,在对ID引脚标志位进行检测的过程中,还会出现ID引脚标志位为高电平的情况,此时表示USB设备将会退出主设备模式。若用户有将USB设备作为从设备进行进一步地数据交互的需求时,将会通过对VBUS引脚标志位的电平进行控制,使此时对应的VBUS引脚标志位电平为高电平。从而保证同一时间USB设备退出主设备模式,同时进入到从设备模式,即实现USB设备的主设备模式到从设备模式的切换操作。
请参阅图2,在一个实施例中,步骤S400包括步骤S410和步骤S420。
步骤S410,当ID引脚标志位为高电平时,判断是否有将USB设备作为从设备的需求。
具体地,第一种情况:当ID引脚标志位为高电平时,USB设备的VBUS引脚标志位电平可以是低电平,即此时USB设备刚退出主设备模式,但是由于VBUS中断无法触发,VBUS引脚标志位电平仍处于低电平状态。第二种情况:当ID引脚标志位为高电平时,USB设备的VBUS引脚标志位电平还可以是高电平,即USB设备在此之前并未进入主设备模式,而是USB设备的VBUS引脚始终处于高电平时,对应的VBUS中断无法进行,且VBUS引脚标志位的电平并未被强制修改。针对以上两种情况,均可以根据实际需求进行是否有将USB设备作为从设备的需求,即判断USB设备是否有进入从设备模式的需求,根据不同的当前VBUS引脚标志位电平的情况,在后续的实行操作中将会存在一定的区别。
若是,则执行步骤S420,将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式。
具体地,在第一种情况下,当前VBUS引脚标志位为低电平时,若有将USB设备作为从设备的需求,根据上述USB设备处于不同状态时各个引脚的电平状态可知,此时需要将VBUS引脚标志位对应的电平修改为高电平,才能保证USB设备退出之前的主设备模式之后,进入从设备模式,即实现主设备模式到从设备模式的切换操作。第二种情况下,VBUS引脚标志位处于高电平,同样可以通过与第一种情况一致的方法,对VBUS引脚标志位的电平进行修改,使USB设备进入从设备模式。应当指出的是,在一个实施例中,当VBUS引脚标志位处于第二种情况时,还可以是维持当前的VBUS引脚标志位的状态,此时修改之前与修改之后VBUS引脚标志位的电平一致,故没有进一步修改的必要。
请参阅图2,在一个实施例中,步骤S410之后,若否,则执行步骤S430。
步骤S430,将状态机函数的电源线引脚标志位修改为低电平使USB设备进入空闲模式(Idle)。
具体地,请结合参阅图3,空闲模式即为USB设备既不作为主设备,也不作为从设备,此时USB设备没有接入到其它设备(例如PC端等),不需要与其它USB设备进行数据交互。根据上述实施例中当各个引脚处于不同的电平状态时,USB设备进入不同的模式可知,当USB设备不需要作为从设备时,由于此时ID引脚标志位电平为高电平,限制了此时USB设备不可能进入主设备模式,故此时USB设备将会处于一个特殊状态Idle。
同样的,针对上述实施例中ID引脚标志位为低电平时不同的VBUS引脚标志位情况,控制USB设备进入空闲模式的方式也会有所区别。针对第一种情况,此时USB设备刚从主设备模式退出,由于VBUS中断无法进行,VBUS引脚标志位将会保持之前修改后的低电平状态,此时可以再次将VBUS引脚标志位的电平修改为低电平使USB设备进入空闲状态,或者维持VBUS引脚标志位当前的低电平不变,使得USB设备进入空闲状态。针对第二种情况,由于此时VBUS引脚标志位的电平处于高电平状态,但是用户并没有将USB设备作为从设备的需求,股此时会将对应的VBUS引脚标志位从高电平修改为低电平,使得USB设备最终进入空闲状态。
请参阅图4,在一个实施例中,步骤S400之后,该方法还包括步骤S500。
步骤S500,控制USB设备跳过充电类型检测操作。
具体地,请结合参阅图3,在USB设备进入从设备模式作为从设备时,会立即启动充电类型的检测。此时,USB设备可能还没有与其它设备相连接,若直接触发充电检测的话充电检测就会失败,从设备模式也无法正常工作。其次,由于VBUS引脚始终置为高电平,仅是状态机函数中对应的VBUS引脚标志位发生变化,所以,在从设备模式下,不需要充电。因此,本实施例中,在从设备模式下,跳过充电类型检测,强行将充电类型设置为SDP(Standarddownstream port,标准下行端口)。这样,USB会将设备的D+(或D-)引脚上拉,以便当作为从设备的USB设备与主设备相连接时,主设备能检测到USB设备接入。应当指出的是,USB设备的类型并不是唯一的,具体可以是U盘、鼠标、键盘或手机具有USB接口的设备。
在一个实施例中,该方法还包括:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
具体地,本实施例中同样通过对预设时长内VBUS引脚的电平的检测判断VBUS引脚的电平是否始终处于高电平。与USB设备的VBUS引脚始终处于高电平相反,还会出现USB设备的VBUS引脚没有始终处于高电平的情况,即VBUS引脚的电平能够实现正常的切换操作。此时在USB设备中VBUS引脚对应的VBUS中断以及ID引脚对应的ID中断能够正常的进行,根据状态机函数中对应的VBUS引脚标志位和ID引脚标志位的电平状态,将能够实现对应的主设备模式与从设备控制控制操作。
在一个实施例中,当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作的步骤,包括:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断与电源线中断;当USB设备中状态机函数的ID引脚标志位为低电平时,控制USB设备进入主设备模式;当USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制USB设备进入从设备模式。
具体地,在USB设备能够正常工作即VBUS引脚以及ID引脚的电平能够随着不同的需求发生变化时,在中断过程中,状态机函数种VBUS引脚标志位与ID引脚标志位的电平将会随着VBUS引脚与ID引脚的电平变化而变化。故根据USB设备中各个引脚的电平大小与USB设备运行模式的关系可知,当ID引脚的电平为低时将会切换到主设备模式;当ID引脚的电平为高时则退出主设备模式;当VBUS引脚的电平为高时将会切换到从设备模式;当VBUS引脚的电平为低时则会退出从设备模式。
请参阅图5,在一个实施例中,步骤S200之前,该方法还包括步骤S110和步骤S120。
步骤S110,当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;步骤S120,检测预设时长内电源线引脚的电平是否发生变化。
具体地,在本实施例中,通过预设时长的设置来进行USB设备是否始终处于高电平的判断操作,以便于当VBUS引脚长时间处于高电平时能够及时做出反应。应当指出的是,预设时长的大小并不是唯一的,为了保证各个USB设备之间数据交互的及时性,在一个实施例中,可以将预设时长设置为1秒,以在检测到VBUS引脚为高电平且持续时长达到1秒,将会通过对VBUS引脚标志位的电平修改操作实现对应的主从模式切换。可以理解,在一个实施例中,若在计时达到预设时长的过程中VBUS引脚的电平发生变化,则表示VBUS引脚处于高电平的状态并不是固定的,在当前状态下USB设备运行正常,不需要对状态机函数中的VBUS引脚标志位进行修改,只需要根据正常的VBUS引脚标志位与ID引脚标志位电平进行USB设备的主从模式切换即可。
上述USB设备控制方法,在USB设备的电源线引脚长时间处于高电平不能触发电源线中断时,在正常的ID中断操作中添加状态机函数的电源线引脚标志位的修改操作,当ID引脚为低电平(即ID标志位为低电平)时,能够将状态机函数中的电源线引脚标志位强制修改为低电平,从而使USB设备能够正常进入主设备模式。进一步的,当检测到ID引脚为高电平(即ID标志位为高电平)时,能够根据高电平的电源线引脚标志位控制USB设备进入从设备模式。通过上述方案,在ID中断中引入电源线引脚标志位的修改操作,使得USB设备在电源线引脚长时间处于高电平的情况下,能够实现正常的主设备模式与从设备模式之间的切换,具有使用可靠性强的优点。
请参阅图6,一种USB设备控制装置,包括:ID中断触发模块200、从主模式切换模块300和主从模式切换模块400。ID中断触发模块200用于当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断并对USB设备中状态机函数的ID引脚标志位进行检测。从主模式切换模块300用于当ID引脚标志位为低电平时,将状态机函数的电源线引脚标志位修改为低电平使USB设备从从设备模式切换到主设备模式。主从模式切换模块400用于当ID引脚标志位为高电平时,将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式。
在一个实施例中,主从模式切换模块400还用于当ID引脚标志位为高电平时,判断是否有将USB设备作为从设备的需求;若是,则将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式;若否,则将状态机函数的电源线引脚标志位修改为低电平使USB设备进入空闲模式。
请参阅图7,在一个实施例中,主从模式切换模块400之后该装置还包括充电检测控制模块500。充电检测控制模块500用于控制USB设备跳过充电类型检测操作。
请参阅图8,在一个实施例中,USB设备控制装置还包括正常切换控制模块600。正常切换控制模块600用于当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
在一个实施例中,正常切换控制模块600还用于当未检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断与电源线中断;当USB设备中状态机函数的ID引脚标志位为低电平时,控制USB设备进入主设备模式;当USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制USB设备进入从设备模式。
请参阅图9,在一个实施例中,ID中断触发模块200之前,该装置还包括VBUS引脚检测模块100。VBUS引脚检测模块100用于当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;检测预设时长内电源线引脚的电平是否发生变化。
关于USB设备控制装置的具体限定可以参见上文中对于USB设备控制方法的限定,在此不再赘述。上述USB设备控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述USB设备控制装置,在USB设备的电源线引脚长时间处于高电平不能触发电源线中断时,在正常的ID中断操作中添加状态机函数的电源线引脚标志位的修改操作,当ID引脚为低电平(即ID标志位为低电平)时,能够将状态机函数中的电源线引脚标志位强制修改为低电平,从而使USB设备能够正常进入主设备模式。进一步的,当检测到ID引脚为高电平(即ID标志位为高电平)时,能够根据高电平的电源线引脚标志位控制USB设备进入从设备模式。通过上述方案,在ID中断中引入电源线引脚标志位的修改操作,使得USB设备在电源线引脚长时间处于高电平的情况下,能够实现正常的主设备模式与从设备模式之间的切换,具有使用可靠性强的优点。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种USB设备控制方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断并对USB设备中状态机函数的ID引脚标志位进行检测;当ID引脚标志位为低电平时,将状态机函数的电源线引脚标志位修改为低电平使USB设备从从设备模式切换到主设备模式;当ID引脚标志位为高电平时,将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当ID引脚标志位为高电平时,判断是否有将USB设备作为从设备的需求,若是,则将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式;若否,则将状态机函数的电源线引脚标志位修改为低电平使USB设备进入空闲模式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:控制USB设备跳过充电类型检测操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断与电源线中断;当USB设备中状态机函数的ID引脚标志位为低电平时,控制USB设备进入主设备模式;当USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制USB设备进入从设备模式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;检测预设时长内电源线引脚的电平是否发生变化。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断并对USB设备中状态机函数的ID引脚标志位进行检测;当ID引脚标志位为低电平时,将状态机函数的电源线引脚标志位修改为低电平使USB设备从从设备模式切换到主设备模式;当ID引脚标志位为高电平时,将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当ID引脚标志位为高电平时,判断是否有将USB设备作为从设备的需求,若是,则将状态机函数的电源线引脚标志位修改为高电平使USB设备从主设备模式切换到从设备模式;若否,则将状态机函数的电源线引脚标志位修改为低电平使USB设备进入空闲模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:控制USB设备跳过充电类型检测操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当未检测到预设时长内USB设备的电源线引脚持续为高电平时,触发USB设备的ID中断与电源线中断;当USB设备中状态机函数的ID引脚标志位为低电平时,控制USB设备进入主设备模式;当USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制USB设备进入从设备模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;检测预设时长内电源线引脚的电平是否发生变化。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
上述计算机设备及存储介质,在USB设备的电源线引脚长时间处于高电平不能触发电源线中断时,在正常的ID中断操作中添加状态机函数的电源线引脚标志位的修改操作,当ID引脚为低电平(即ID标志位为低电平)时,能够将状态机函数中的电源线引脚标志位强制修改为低电平,从而使USB设备能够正常进入主设备模式。进一步的,当检测到ID引脚为高电平(即ID标志位为高电平)时,能够根据高电平的电源线引脚标志位控制USB设备进入从设备模式。通过上述方案,在ID中断中引入电源线引脚标志位的修改操作,使得USB设备在电源线引脚长时间处于高电平的情况下,能够实现正常的主设备模式与从设备模式之间的切换,具有使用可靠性强的优点。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种USB设备控制方法,其特征在于,所述方法包括:
当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测;
当所述ID引脚标志位为低电平时,将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备从从设备模式切换到主设备模式;
当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式;
当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据所述USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
2.根据权利要求1所述的USB设备控制方法,其特征在于,所述当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式的步骤,包括:
当所述ID引脚标志位为高电平时,判断是否有将所述USB设备作为从设备的需求;
若是,则将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式。
3.根据权利要求2所述的USB设备控制方法,其特征在于,所述当所述ID引脚标志位为高电平时,判断是否有将所述USB设备作为从设备的需求的步骤之后,还包括:
若否,则将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备进入空闲模式。
4.根据权利要求1所述的USB设备控制方法,其特征在于,所述当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式的步骤之后,还包括:
控制所述USB设备跳过充电类型检测操作。
5.根据权利要求1所述的USB设备控制方法,其特征在于,所述当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据所述USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作的步骤,包括:
当未检测到预设时长内USB设备的电源线引脚持续为高电平时,触发所述USB设备的ID中断与电源线中断;
当所述USB设备中状态机函数的ID引脚标志位为低电平时,控制所述USB设备进入主设备模式;
当所述USB设备中状态机函数的当前电源线引脚标志位为高电平时,控制所述USB设备进入从设备模式。
6.根据权利要求1所述的USB设备控制方法,其特征在于,所述当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测的步骤之前,还包括:
当检测到USB设备的电源线引脚为高电平时以预设时长开始计时;
检测所述预设时长内所述电源线引脚的电平是否发生变化。
7.一种USB设备控制装置,其特征在于,所述装置包括:
ID中断触发模块,当检测到预设时长内USB设备的电源线引脚持续为高电平时,触发所述USB设备的ID中断并对所述USB设备中状态机函数的ID引脚标志位进行检测;
从主模式切换模块,用于当所述ID引脚标志位为低电平时,将所述状态机函数的电源线引脚标志位修改为低电平使所述USB设备从从设备模式切换到主设备模式;
主从模式切换模块,用于当所述ID引脚标志位为高电平时,将所述状态机函数的电源线引脚标志位修改为高电平使所述USB设备从主设备模式切换到从设备模式;
正常切换控制模块,用于当未检测到预设时长内USB设备的电源线引脚持续为高电平时,根据所述USB设备的当前电源线引脚标志位和ID引脚标志位进行主从切换操作。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126730.1A CN111339007B (zh) | 2020-02-28 | 2020-02-28 | Usb设备控制方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126730.1A CN111339007B (zh) | 2020-02-28 | 2020-02-28 | Usb设备控制方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339007A CN111339007A (zh) | 2020-06-26 |
CN111339007B true CN111339007B (zh) | 2021-10-08 |
Family
ID=71183941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010126730.1A Active CN111339007B (zh) | 2020-02-28 | 2020-02-28 | Usb设备控制方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339007B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930431B (zh) * | 2020-07-10 | 2024-04-05 | 深圳市广和通无线股份有限公司 | 移动终端及其控制方法、计算机设备、存储介质 |
CN112579500A (zh) * | 2020-12-08 | 2021-03-30 | 深圳市道通科技股份有限公司 | 一种防插错usb接口的提示方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068959A (zh) * | 2015-08-25 | 2015-11-18 | 广东欧珀移动通信有限公司 | 一种终端以及具有数据交换功能的终端的充电方法和装置 |
CN105718012A (zh) * | 2014-12-02 | 2016-06-29 | 厦门雅迅网络股份有限公司 | 一种自动切换OTG设备主从模式下的Vbus电压的方法与电路 |
CN105869316A (zh) * | 2015-01-22 | 2016-08-17 | 袁爱民 | 一种适配otg移动设备的pos底座 |
CN108197057A (zh) * | 2017-12-25 | 2018-06-22 | 海能达通信股份有限公司 | 一种便携式设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106537286B (zh) * | 2015-05-25 | 2020-03-10 | 华为技术有限公司 | 一种otg外设、供电方法、终端及系统 |
-
2020
- 2020-02-28 CN CN202010126730.1A patent/CN111339007B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718012A (zh) * | 2014-12-02 | 2016-06-29 | 厦门雅迅网络股份有限公司 | 一种自动切换OTG设备主从模式下的Vbus电压的方法与电路 |
CN105869316A (zh) * | 2015-01-22 | 2016-08-17 | 袁爱民 | 一种适配otg移动设备的pos底座 |
CN105068959A (zh) * | 2015-08-25 | 2015-11-18 | 广东欧珀移动通信有限公司 | 一种终端以及具有数据交换功能的终端的充电方法和装置 |
CN108197057A (zh) * | 2017-12-25 | 2018-06-22 | 海能达通信股份有限公司 | 一种便携式设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111339007A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339007B (zh) | Usb设备控制方法、装置、计算机设备及存储介质 | |
CN111124440A (zh) | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 | |
KR100988157B1 (ko) | 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체 | |
US8176281B2 (en) | Controlling access to an embedded memory of a microcontroller | |
CN112732616B (zh) | 一种基于spi控制器的bmc启动方法、装置及设备 | |
US20060236364A1 (en) | Policy based method, device, system and computer program for controlling external connection activity | |
CN109885331A (zh) | 软件升级方法、控制方法、系统、存储介质及电子设备 | |
CN114020682A (zh) | 芯片工作模式的控制方法、装置、芯片和存储介质 | |
CN111475432B (zh) | 一种从机启动控制装置、单总线系统及其控制方法 | |
WO2021155551A1 (zh) | 芯片下载固件的方法和芯片 | |
CN100458708C (zh) | 中断控制系统及方法 | |
CN111159271A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN109151144B (zh) | 硬件管理方法、装置、系统、计算机设备和存储介质 | |
CN1983195A (zh) | 嵌入设备、电子设备、嵌入设备的控制方法、控制程序、记录介质 | |
CN113323513B (zh) | 一种智能门锁的供电控制方法、智能门锁及存储介质 | |
KR101370350B1 (ko) | 컴퓨터시스템 및 그 제어방법 | |
KR101118111B1 (ko) | 이동통신단말기 및 그 부팅방법 | |
CN110908673B (zh) | 数字电源芯片烧录方法 | |
CN111610995A (zh) | 一种设备固件升级方法、装置、电子设备和存储介质 | |
CN111381853B (zh) | 适配器升级方法和装置、电子设备及计算机可读存储介质 | |
CN112202969A (zh) | 一种蓝牙控制方法及装置 | |
CN112311032A (zh) | 充电方法、装置、电子设备和存储介质 | |
CN112988638B (zh) | 一种键盘接口复用方法和电子设备 | |
JP2002297402A (ja) | デジタル機器、タスク管理方法及びそのプログラム | |
CN116204484A (zh) | 通信连接方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |