CN114817102B - 连接控制方法及设备 - Google Patents

连接控制方法及设备 Download PDF

Info

Publication number
CN114817102B
CN114817102B CN202110124023.3A CN202110124023A CN114817102B CN 114817102 B CN114817102 B CN 114817102B CN 202110124023 A CN202110124023 A CN 202110124023A CN 114817102 B CN114817102 B CN 114817102B
Authority
CN
China
Prior art keywords
interface
otg
processor
response information
scsi
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
Application number
CN202110124023.3A
Other languages
English (en)
Other versions
CN114817102A (zh
Inventor
龚晨
陈煜�
马理猴
索安达杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110124023.3A priority Critical patent/CN114817102B/zh
Priority to EP21922591.9A priority patent/EP4261698A4/en
Priority to PCT/CN2021/138734 priority patent/WO2022161001A1/zh
Publication of CN114817102A publication Critical patent/CN114817102A/zh
Application granted granted Critical
Publication of CN114817102B publication Critical patent/CN114817102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal 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

本申请公开了一种OTG(On‑The‑Go)设备的连接控制方法。其中,第一设备从第二设备获取第二设备的内容。在接收到第二设备的响应信息之后,第一设备获得响应信息中包含的第二设备连接状态相关的描述信息。若描述信息指示第二设备处于未连接状态,第一设备通过重置(reset)或者对接口下电再上电的方式重新连接第二设备。采用本实现方式,第一设备能够在获取第二设备的内容的过程中,通过来自第二设备的响应信息获得第二设备的连接状态,无需持续不断的执行检测操作。另外,第一设备在确定第二设备断开连接的情况下,能够通过重置、或者对接口下电再上电的方式,重新连接第二设备,无需用户手动连接第二设备。

Description

连接控制方法及设备
技术领域
本申请实施例涉及通信领域,尤其涉及一种连接控制方法及OTG(On-The-Go)设备。
背景技术
OTG技术是主设备和从设备基于通用串行总线(universal serial bus,USB)通信协议进行数据交换的通信技术。主设备和从设备可以通过OTG转接设备连接以及通信。然而,由于OTG转接设备无法主动上报从设备的移除信息,使得主设备无法感知从设备的连接状态。
发明内容
本申请实施例提供了一种连接控制方法及OTG设备,能够解决由于OTG转接设备无法上报从设备的移除信息造成的主设备无法感知从设备连接状态的问题。
第一方面,本申请实施例提供了一种连接控制方法,包括:第一设备向第二设备发送业务指令;所述第一设备接收来自所述第二设备的响应信息,所述响应信息包括与所述第二设备连接状态相关的描述信息;若所述描述信息指示所述第二设备的连接状态是未连接,所述第一设备对所述第二设备执行重新连接的操作。
其中,第一设备和第二设备是OTG设备,第一设备可以通过OTG转接设备连接第二设备。第一设备例如是主设备,第二设备例如是从设备。第一设备可以通过OTG转接设备向第二设备发送业务指令,该业务指令用于指示获得第二设备的内容。本申请实施例涉及的响应信息是业务指令相关的反馈信息。可见,采用本申请实施例的实现方式,第一设备能够在获取第二设备的内容的过程中,通过来自第二设备的响应信息获得第二设备的连接状态,从而无需持续不断的执行检测操作,能够降低第一设备的功耗。另外,第一设备在确定第二设备断开连接的情况下,能够重新连接第二设备,无需用户手动连接第二设备。
在一种可能的设计中,所述第一设备对所述第二设备执行重新连接的操作,包括:所述第一设备对所述第一设备与OTG转接设备的接口执行下电操作;预设时长之后,所述第一设备对所述第一设备与所述OTG转接设备的接口执行上电操作。采用本实现方式,第一设备确定第二设备断开连接的状态下,直接通过对第一设备与OTG转接设备的接口执行下电操作和上电操作对第二设备模拟用户手动重新连接的操作,无需用户手动操作。
在一种可能的设计中,所述第一设备对所述第二设备执行重新连接的操作,包括:所述第一设备对所述第二设备执行重置操作。采用本实现方式,第一设备在确定第二设备断开连接的状态下,通过重置的方式对第二设备重新连接,无需用户手动连接第二设备。
在一种可能的设计中,所述第一设备对所述第二设备执行重新连接的操作,包括:所述第一设备判断是否对所述第二设备执行过重置操作;若所述第一设备对所述第二设备执行过重置操作,所述第一设备对所述第一设备与OTG转接设备的接口执行下电操作,预设时长之后,所述第一设备对所述第一设备与OTG转接设备的接口执行上电操作;若所述第一设备未对所述第二设备执行过重置操作,所述第一设备对所述第二设备执行重置操作;在重置完成后,所述第一设备再次向所述第二设备发送业务指令。采用本实现方式,第一设备首次确定第二设备断开连接之后,可以对第二设备执行reset,之后再次访问第二设备。这样能够确保一些原因(例如一些环境下的静电干扰或者接触不良)导致的第二设备的断连的重新连接。若确定reset并未使第二设备恢复连接,第一设备能够通过对第一设备与OTG转接设备的接口执行下电操作和上电操作对第二设备模拟用户手动重新连接的操作,无需用户手动操作。
在一种可能的设计中,所述描述信息通过所述响应信息中的代码意义(codesense)字段表示。
在一种可能的设计中,所述第一设备对所述第二设备执行重置操作,包括:所述第一设备对所述第二设备未连接的状态相关联的设置项目执行重置操作。第一设备在reset流程中,可以跳过与第二设备断开连接的无关的设置项目,对与第二设备断开连接有关的设置项目执行reset操作。这样不仅能够加快reset的速度,并且降低第一设备的功耗。
在一种可能的设计中,所述第一设备接收响应信息之后,还包括:所述第一设备从所述响应信息中获得所述第二设备的小型计算机***接口SCSI标识;若所述第二设备的SCSI标识指示的顺序号大于所述第一设备关联的SCSI标识指示的最大顺序号,所述第一设备确定所述第二设备是外界的OTG设备;所述第一设备从所述响应信息中获取所述描述信息。示例性的,第一设备与第二设备建立连接之后,基于SCSI通信协议层,第一设备和第二设备可以按照顺序分别设置SCSI标识,例如第一设备先设置SCSI标识,第二设备再设置SCSI标识。基于此,第一设备根据SCSI标识指示的顺序号能够确定第二设备是否是外接设备。
第二方面,本申请实施例提供了一种电子设备,该电子设备用于实现上述方法中第一设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,上述电子设备的结构中包括处理器和收发器,所述收发器被配置为基于该电子设备与OTG转接设备的接口实现指令和信息的收发,所述处理器被配置为处理该电子设备执行上述连接控制方法的功能。所述电子设备还可以包括存储器,所述存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。
第三方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行第一方面及第一方面各种可能的实现方式中的连接控制方法的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行第一方面及第一方面各种可能的实现方式中的连接控制方法的部分或全部步骤。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种通信架构10的示例性架构示意图;
图2A为本申请实施例提供的第一设备100的示例性架构示意图;
图2B为本申请实施例提供的第二设备200的示例性架构示意图;
图2C为本申请实施例提供的OTG转接设备300的示例性架构示意图;
图3为本申请实施例提供的连接控制方法1000的示例性方法流程图;
图4为本申请实施例提供的一种通信架构20的示例性架构示意图;
图5A为本申请实施例提供的连接控制方法2000的示例性方法流程图;
图5B为本申请实施例提供的连接控制方法3000的示例性方法流程图;
图5C为本申请实施例提供的连接控制方法4000的示例性方法流程图;
图6A为本申请实施例提供的电子设备60的示例性组成示意图;
图6B为本申请实施例提供的电子设备61的示例性结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例的技术方案进行描述。
本申请以下实施例中所使用的术语是为了描述可选实施方式的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式。还应当理解,尽管在以下实施例中可能采用术语第一、第二等来描述某一类对象,但所述对象不限于这些术语。这些术语用来将该类对象的具体对象进行区分。例如,以下实施例中可能采用术语第一、第二等来描述设备,但设备不应限于这些术语。以下实施例中可能采用术语第一、第二等来描述的其他类对象同理,此处不再赘述。
本申请实施例提供了一种连接控制方法,该连接控制方法应用于第一设备基于OTG技术获取第二设备的内容的场景。其中,第一设备接收的来自第二设备端的响应信息中包含第二设备的连接状态相关的信息。第一设备根据该相关信息确定第二设备端断开连接的场景中,对第二设备执行移除操作,以及对第二设备执行重新连接或者模拟插拔的操作。移除操作可以包括删除缓存的第二设备的内容和停止对第二设备的内容的存储业务等。这样,第一设备不但能够感知第二设备的连接状态,而且能够在第二设备断开连接的场景下,主动执行再次连接的相关操作,无需用户手动插拔。
示例性的,图1示意了一种通信架构10,通信架构10包括第一设备11、第二设备12和OTG转接设备13,第一设备11和第二设备12通过OTG转接设备13连接,且第一设备11可以基于OTG转接设备13访问第二设备12的内容。如图1所示,第一设备11可以包括输入输出接口(input output interface,I/O接口)110,第二设备12可以包括I/O接口120,OTG转接设备13包括I/O接口131和I/O接口132。OTG转接设备13的I/O接口131例如连接I/O接口110,OTG转接设备13的I/O接口131例如连接I/接口120,进而可以使得I/O接口110和I/O接口120以USB通信协议的输入输出数据。OTG转接设备13例如可以以小型计算机***接口(smallcomputer system interface,SCSI)通信协议传输数据。
结合图1,一种可能的实现方式中,前述“第二设备端处于断开连接状态”例如可以是指OTG转接设备13的I/O接口132和第二设备12的I/O接口120中的至少一个未读取到第二设备12的数据。另一种可能的实现方式中,前述“第二设备端处于断开连接状态”例如可以是指OTG转接设备13检测到I/O接口132未连接第二设备12的I/O接口120。
本申请实施例涉及的第一设备可以是支持OTG功能和数据处理功能的电子设备。示例性的,第一设备可以是包括但不限于搭载或者其它操作***的电子设备,例如,智能手机、平板电脑、摄像设备(camera)、监控设备、车载设备等电子设备。第一设备的I/O接口可以是能够转换为USB接口的数据传输接口,例如,Type C接口。
图2A示出了一种第一设备100的示例性架构示意图。第一设备100可以包括处理器110,存储器120,I/O接口130,充电管理模块140,电源管理模块141,和电池142等。
可以理解的是,本申请示意的结构并不构成对第一设备100的具体限定。在本申请另一些实施方式中,第一设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。例如,一种可能的实施方式中,第一设备100还可以包括天线,移动通信模块,无线通信模块,音频模块,扬声器,麦克风,传感器模块,摄像头,以及显示屏等部件中的部分或全部。上述各部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(appl icat ion processor,AP),调制解调处理器,控制器,数字信号处理器(digitalsignal processor,DSP),和神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施方式中,第一设备100也可以包括一个或多个处理器110。
其中,控制器可以是第一设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,执行发送访问指令及移除设备等的控制。
存储器120可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在存储器120的上述指令,从而使得第一设备100执行本申请一些实施方式中所提供的连接控制方法,以及各种指令的处理等。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***。该存储程序区还可以存储一个或多个待执行的操作指令(比如访问指令和重置(reset)指令等)等。存储数据区可存储第一设备100使用过程中所缓存的数据(比如第一设备的SCSI标识、第二设备200的内容、错误句柄(error handle)等)。
存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。一些实施方式中,存储器120可以独立于处理器110。另一些实施方式中,存储器120的部分或全部存储区域设置在处理器110中。
I/O接口130可以是支持USB标准规范的接口,例如可以是Type C接口,Mini USB接口,Micro USB接口等。I/O接口130可以连接OTG转接设备300的第一I/O接口320,以通过OTG转接设备300基于USB通信协议与其他设备(例如第二设备200)传输数据。一些实施方式中,I/O接口130还可以用于连接充电器为第一设备100充电。在实现OTG功能的场景中,I/O接口130还可以用于使第一设备100向第二设备200输出电压信号等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过I/O接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过第一设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为第一设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110和存储器120等供电。在一些实施方式中,电源管理模块141还可以通过I/O接口130为第二设备200供电。在其他一些实施方式中,电源管理模块141也可以设置于处理器110中。
本申请实施例涉及的第二设备可以是支持OTG功能和数据传输功能的设备,例如,智能手机、平板电脑、camera、打印机、遥控器、扫描仪、U盘、存储卡等设备。
图2B示出了一种第二设备200的示例性架构示意图。第二设备200可以包括处理器210、存储器220和I/O接口230等。
可以理解的是,本申请示意的结构并不构成对第二设备200的具体限定。在本申请另一些实施例中,第二设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。上述各部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以用于对存储器220的存储业务进行控制和管理,例如,响应I/O接口230所接收的指令对存储器220执行数据读操作和数据写操作的至少一种。
存储器220可以用于存储信息,例如可以存储图像、音频、视频、文件等。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
I/O接口230可以是支持USB标准规范的接口,例如可以是Type C接口,Mini USB接口,Micro USB接口等。I/O接口230可以连接OTG转接设备300的第二I/O接口330,以通过OTG转接设备300基于USB通信协议与第一设备100传输数据。
本申请实施例涉及的OTG转接设备可以是为不同设备提供OTG功能,以传输不同设备的数据。OTG转接设备例如可以是读卡器、转接头、Type C转接线等。
图2C示出了一种OTG转接设备300的示例性架构示意图。OTG转接设备300可以包括处理器310、第一I/O接口320和第二I/O接口330。
可以理解的是,本申请示意的结构并不构成对OTG转接设备300的具体限定。在本申请另一些实施例中,OTG转接设备300可以包括比图示更多或更少的部件。
其中,第一I/O接口320可以用于与第一设备100的I/O接口130连接,以通过I/O接口130接收来自第一设备100的指令和电压信号等。之后,第一I/O接口320可以将指令和电压信号传输到处理器310,以使处理器310响应指令和电压信号控制OTG转接设备300执行相应操作。第一I/O接口320还可以用于接收来自处理器310的信息,以将相应信息通过I/O接口130传输至第一设备100。第一I/O接口320可以是Type C接口,Mini USB接口,Micro USB接口等。
第二I/O接口330可以用于与第二设备200的I/O接口230连接,以响应处理器310的控制通过I/O接口230读取第二设备100的内容,以及向第二设备100写入内容。第二I/O接口330还可以用于向处理器310反馈表征未读取到信息的状态的信息。第二I/O接口330还可以通过I/O接口230为第二设备200供电。第二I/O接口330可以是Type C接口,Mini USB接口,Micro USB接口等。
处理器310可以用于接收第一I/O接口320和第二I/O接口330中任一端输入的信息,以响应相关信息控制相关联的接口执行操作。例如,处理器310可以获得第一I/O接口320输入的访问指令、reset指令或者移除指令,以及响应相关指令控制第二I/O接口330执行相关操作。再如,处理器310可以获得第二I/O接口330的操作结果相关的信息,然后,将相关信息关联的反馈信息传输到第一I/O接口320,以反馈到第一设备100。
前述第一设备100和第二设备200中的一个设备可以是主设备(host),另一个设备可以是从设备(slave)。主设备是提供主机检测功能、总线控制功能以及配置从设备功能的设备。主设备支持会话请求协议(sess ion request protocol,SRP)和主机交流协议(hostnegotiation protocol,HNP)。需要指出的是,若第一设备100和第二设备200均支持SRP和HNP,第一设备100和第二设备200的主从关系可以互换。例如,可以实现为第一设备100是主设备,第二设备200是从设备,也可以实现为第一设备100是从设备,第二设备200是主设备。
以下以第一设备(例如前述第一设备100)是主设备,第二设备(例如前述第二设备200)是从设备为例,对本申请实施例的连接控制方法进行示例性描述。
如图3所示,本申请实施例提供了一种连接控制方法1000(以下简称方法1000),方法1000可以包括:第一设备向第二设备发送业务指令,之后,接收业务指令的响应信息,该响应信息中包括与第二设备连接状态相关的描述信息。若描述信息指示第二设备的连接状态是未连接,第一设备对第二设备执行重新连接的操作。
其中,第一设备通过OTG转接设备向第二设备发送业务指令,且通过OTG转接设备接收响应信息。该业务指令可以用于指示OTG转接设备从第二设备获取内容。一种可选的实现方式中,响应信息可以是OTG转接设备生成的。
前述描述信息例如可以通过响应信息中字段来表示,该字段可以是响应信息中的描述访问结果的字段,例如代码意义(code sense)字段。示例性的,前述描述信息可以是设备不存在的提示信息或者错误信息,例如“设备未准备好(Device not ready)”或者“媒体不存在(Medium not present)”。
一些实施方式中,第一设备可以通过对第二设备执行reset操作,重新连接第二设备。另一些实施方式中,第一设备可以通过对第一设备与OTG转接设备的接口执行下电操作,预设时长之后,再对第一设备与OTG转接设备的接口执行上电操作,重新连接第二设备。另一些实施方式中,第一设备确定第二设备断开连接之后,还可以判断是否针对第二设备执行过reset操作。若针对第二设备未执行过reset操作,第一设备可以针对第二设备未连接的情况对第二设备执行reset操作。在执行reset操作之后,若确定第二设备依然是断开连接状态,则可以通过对第一设备与OTG转接设备的接口执行下电操作,预设时长之后,再对第一设备与OTG转接设备的接口执行上电操作,重新连接第二设备,以重新连接第二设备。其中,预设时长可以根据需求设置,预设时长例如是1秒。
可见,采用本实现方式,第一设备能够在获取第二设备的内容的过程中,通过来自第二设备的响应信息获得第二设备的连接状态,从而无需持续不断的执行检测操作,能够降低第一设备的功耗。此外,第一设备通过响应信息中的字段内容确定第二设备的连接状态,不仅不受访问操作流程的限制,而且不受OTG转接设备类型的限制,适用性广。
一种可能的实现方式中,第一设备例如可以在SCSI协议层对第二设备连接相关的各级设置项目进行初始化或者重置,以实现对第二设备的reset操作。一些实施方式中,第一设备在reset流程中,可以跳过与第二设备断开连接的无关的设置项目,对与第二设备断开连接有关的设置项目执行reset操作。这样不仅能够加快reset的速度,并且降低第一设备的功耗。
实际实现中,第一设备想要获得的内容可能来自于第一设备的存储器,也可能来自于第二设备(即外接设备)。基于此,一些实施方式中,第一设备可以在接收到前述响应信息之后,检测响应信息是否来自于第二设备。
第一设备与第二设备建立连接之后,基于SCSI通信协议层,第一设备和第二设备可以分别设置SCSI标识。可选的,一个设备对应该设备中的全部连接事件完成SCSI标识的设置之后,另一个设备再设置SCSI标识,所以,不同的SCSI标识例如可以指示不同的顺序号。基于此,示例性的,第一设备可以从所接收的响应信息中获得SCSI标识,然后,根据响应信息中包含的SCSI标识指示的顺序号与第一设备的SCSI标识指示的顺序号的大小关系,确定响应信息是否来自于第二设备。SCSI标识例如可以是SCSI协议层的SCSI块设备号。
例如,第一设备与第二设备建立连接之后,第一设备针对第一设备的所有连接事件设置SCSI块设备号,第一设备例如设置有SCSI块设备号“sda”和SCSI块设备号“sdb”。之后,第二设备针对第二设备的所有连接事件设置SCSI块设备号,第二设备例如设置有SCSI块设备号“sdc”。进一步的,第一设备接收响应信息之后,例如从响应信息中获取到SCSI块设备号“sdc”,而SCSI块设备号“sdc”指示的顺序号大于第一设备中最大的SCSI块设备号“sdc”指示的顺序号,那么,第一设备可以确定响应信息来自于第二设备。
可见,本申请实施例的实现方式,第一设备能够在获取第二设备的内容的过程中,通过来自第二设备的响应信息获得第二设备的连接状态,从而无需持续不断的执行检测操作,能够降低第一设备的功耗。另外,第一设备在确定第二设备断开连接的情况下,能够通过重置、或者对接口下电再上电的方式,重新连接第二设备,无需用户手动连接第二设备。
以下结合一个示例对本实施例的实施过程进行介绍。
如图4示意的一种通信架构20,通信架构20中主设备例如以能实现OTG功能的手机21为例,OTG转接设备例如以读卡器22为例,从设备例如以安全数码记忆卡(securedigital memory card,SD卡)23为例。读卡器22的type c接口221连接手机21的type c接口210,读卡器22的USB接口222连接SD卡23的引脚(图4中未示出)。
可以理解的是,图4示意的通信架构20只是示意性说明,并不构成对本申请实施例涉及的通信架构的限定。在另一些实施方式中,各设备还可以是其他支持OTG功能的设备。例如,主设备是平板电脑,从设备是手机,OTG转接设备是OTG转接线等。
以下示例以手机21和读卡器22的SCSI协议层的通信信令为例进行描述。
手机21、读卡器22和SD卡23建立连接之后,手机21的处理器为手机21配置SCSI标识,手机21的SCSI标识例如是sdc。手机21配置SCSI标识sdc之后,SD卡23的处理器为SD卡23配置SCSI标识,SD卡23的SCSI标识例如是sdd。之后,手机21可以执行本申请实施例的连接控制方法。
图5A示意了一种连接控制方法2000(以下简称方法2000)。方法2000可以包括:手机21的***向SD卡23发送业务指令(S2001),手机21的SCSI层接收响应信息(S2002)。之后,手机21的SCSI层可以判断响应信息对应的顺序号是否大于业务指令对应的顺序号(S2003)。若响应信息对应的顺序号大于业务指令对应的顺序号,判断响应信息中代码意义(code sense)字段的内容是否是“媒体不存在(Medium not present)”(S2004)。若响应信息对应的顺序号小于业务指令对应的顺序号,以及,若响应信息中代码意义(code sense)字段的内容不是“媒体不存在(Medium not present)”,手机21的SCSI层将响应信息中相关的访问结果传出到手机21的***层(S2005),以使手机21显示相应访问结果。另外,若响应信息中代码意义(code sense)字段的内容是“媒体不存在(Medium not present)”,判断是否对SD卡23执行过重置操作(reset)(S2006)。若未对SD卡23执行过reset,对SD卡23执行reset(S2007),然后,重新执行S2001的步骤。若对SD卡23执行过reset,则对手机21的typec接口210执行下电操作(模拟用户手动拔出SD卡23的操作)(S2008),和删除已存储的SD卡23中内容的操作。之后,再对手机21的type c接口210执行上电操作(模拟用户手动***SD卡23的操作)(S2009)。
采用图5A的实现方式,手机21能够在读取SD卡23的内容的过程中,基于读取操作的响应信息获得SD卡23的连接状态。并且手机21首次确定SD卡23断开连接之后,可以对SD卡23执行reset,之后再次访问SD卡23。这样能够确保一些原因(例如一些环境下的静电干扰或者接触不良)导致的SD卡23的断连的重新连接。若确定reset并未使SD卡23恢复连接,手机21能够通过对type c接口210的下电操作和上电操作模拟用户手动插拔SD卡23的操作,无需用户手动插拔SD卡23。
其中,S2001中涉及的业务指令例如是SCSI指令SCSI cmd1。S2002中涉及的响应信息例如是SCSI cmd2,SCSI cmd2例如对应SCSI标识sdd。业务指令对应的顺序号可以由SCSI标识sdc指示,响应信息对应的顺序号可以由SCSI标识sdd指示。本示例中,SD卡23配置SCSI标识sdd的操作排序例如在手机21配置SCSI标识sdc之后,而SCSI标识例如随设置的顺序号逐渐增大。所以,若sdd指示的顺序号大于sdc指示的顺序号,说明SD卡23是手机21的外界设备。
SCSI cmd是OTG设备之间用于进行信息交互的业务指令,并非检测外部OTG设备是否在线的指令。例如方法2000中的SCSI cmd1可以是手机21用于获得SD卡23中内容的业务指令。SCSI cmd2可以是响应SCSI cmd1的业务指令,SCSI cmd2可以包括手机21获取SD卡23的内容的结果信息。示例性的,SCSI cmd2可以包括内容字段和code sense字段,内容字段用于携带SD卡23的内容,code sense字段用于指示SD卡23的连接状态。一些实施方式中,若SD卡23在位(即SD卡23与读卡器22处于连接态),内容字段包含所获取的SD卡23的内容。另一些实施方式中,若SD卡23不在位(即SD卡23已经断开与读卡器22的连接),内容字段可以为空,code sense字段可以包括指示SD卡23断开连接信息。
示例性的,code sense字段的内容是“Medium not present”,指示SD卡23不在位。一些实施方式中,读卡器22接收到SCSI cmd1之后,读卡器22的处理器可以控制USB接口222读取SD卡23的内容。若USB接口222无法读取到任何内容,向读卡器22的处理器传输未读取到内容的信息。读卡器22的处理器可以生成SCSI cmd2,且SCSI cmd2的code sense字段的内容是“Medium not present”。
进一步的,一种可选的设计中,手机21的SCSI层确定SCSI cmd2的code sense字段的内容是“Medium not present”之后,可以通过scs i_eh_scmd_add()函数将SCSI cmd2添加到error handle队列中。进而,手机21的***对SD卡23执行reset过程中,可以对errorhandle队列中关联的项目进行reset,而跳过无异常的项目,从而能够加快reset的速度,并且降低手机21的功耗。
图5B示意了一种连接控制方法3000(以下简称方法3000)。方法3000可以包括:手机21的***向SD卡23发送业务指令(S2001),手机21的SCSI层接收响应信息(S2002)。之后,手机21的SCSI层可以判断响应信息对应的顺序号是否大于业务指令对应的顺序号(S2003)。若响应信息对应的顺序号大于业务指令对应的顺序号,判断响应信息中codesense字段的内容是否是“Medium not present”(S2004)。若响应信息对应的顺序号小于业务指令对应的顺序号,以及,若响应信息中code sense字段的内容不是“Medium notpresent”,手机21的SCSI层将响应信息中相关的访问结果传出到手机21的***层(S2005),以使手机21显示相应访问结果。本示例中,若响应信息中code sense字段的内容是“Mediumnot present”,对手机21的type c接口210执行下电操作(模拟用户手动拔出SD卡23的操作)(S2008),和删除已存储的SD卡23中内容的操作。之后,再对手机21的type c接口210执行上电操作(模拟用户手动***SD卡23的操作)(S2009)。
图5B中各实施过程的示例性操作,详见图5A中的相关描述,此处不详述。
采用图5B示意的实现方式,手机21确定SD卡23断开连接的状态下,直接通过对type c接口210的下电操作和上电操作对SD卡23模拟用户手动插拔操作,无需用户手动插拔SD卡23。
图5C示意了一种连接控制方法4000(以下简称方法4000)。方法4000可以包括:手机21的***向SD卡23发送业务指令(S2001),手机21的SCSI层接收响应信息(S2002)。之后,手机21的SCSI层可以判断响应信息对应的顺序号是否大于业务指令对应的顺序号(S2003)。若响应信息对应的顺序号大于业务指令对应的顺序号,判断响应信息中codesense字段的内容是否是“Medium not present”(S2004)。若响应信息对应的顺序号小于业务指令对应的顺序号,以及,若响应信息中code sense字段的内容不是“Medium notpresent”,手机21的SCSI层将响应信息中相关的访问结果传出到手机21的***层(S2005),以使手机21显示相应访问结果。本示例中,若响应信息中code sense字段的内容是“Mediumnot present”,对SD卡23执行重置操作(reset)(S2007),然后,重新执行S2001的步骤。
图5C中各实施过程的示例性操作,详见图5A中的相关描述,此处不详述。
采用图5C示意的实现方式,手机21确定SD卡23断开连接的状态下,通过重置的方式对SD卡23重新连接,无需用户手动插拔SD卡23。
可以理解的是,图5A至图5C示意的连接控制方法均是示意性说明,并不构成对本申请实施例的限定。在其他一些实施方式中,连接控制方法中涉及的通信协议也可以是其他OTG技术支持的协议。code sense字段的内容也可以是其他描述信息。此处不再一一描述。此外,连接控制方法2000还可以适用于其他OTG设备。在此不做限制。
综上,本申请实施例的技术方案,第一设备能够在获取第二设备的内容的过程中,通过来自第二设备的响应信息获得第二设备的连接状态,从而无需持续不断的执行检测操作,能够降低第一设备的功耗。另外,第一设备在确定第二设备断开连接的情况下,能够通过重置、或者对接口下电再上电的方式,重新连接第二设备,无需用户手动连接第二设备。
上述实施例从第一设备的硬件结构,软件架构,以及各软、硬件所执行的动作的角度对本申请提供的连接控制方法的各方案进行了介绍。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的业务指令、响应信息、以及reset等的处理步骤,本申请实施例不仅能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
例如,上述第一设备100可以通过功能模块的形式来实现上述相应的功能。如图6A所示,电子设备60可以包括处理模块601和收发模块602。该电子设备60可用于执行上述图3中第一设备的功能,以及图5A至图5C中手机21的功能。
例如,收发模块602可以用于向第二设备发送业务指令,以及接收来自所述第二设备的响应信息,所述响应信息包括与所述第二设备连接状态相关的描述信息。处理模块601可以用于在所述描述信息指示所述第二设备的连接状态是未连接时,对所述第二设备执行重新连接的操作。
可以理解的是,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时,所述收发模块的功能可以集成到收发器实现,所述处理模块的功能可以集成到处理器实现。如图6B所示,电子设备61可以包括处理器611、收发器612、存储器613和接口614。其中,存储器613用于与处理器611耦合,其保存该电子设备61必要的计算机程序615。所述接收器601可以执行上述图5A至图5C示意的任意实施例中消息及指令的接收。所述显示器603可以用于执行上述图5A至图5C示意的任意实施例中消息组的显示。所述处理器602可以用于执行上述图5A至图5C示意的任意实施例中除了消息和指令的接收,以及消息组显示之外的操作。
应理解,本申请实施例的电子设备61可对应于图2A和图3中示意的第一设备,以及图4至图6示意的手机21。其中,接口614用于连接OTG转接设备,接口614例如可以是USB接口。收发器612用于执行图3、图5A至图5C示意的任意实施例中业务指令的发送以及响应信息的接收等。处理器611用于调用计算机程序615执行图3、图5A至图5C示意的任意实施例中除了指令和信息收发之外的其它处理。在此不再赘述。
具体内容可以参考图3、图5A至图5C对应的实施例中电子设备相关的描述,此处不再赘述。
具体实现中,对应第一设备本申请还提供一种计算机存储介质。其中,设置在第一设备中的计算机存储介质可存储有程序,该程序执行时,可实施包括图3、图5A至图5C提供的连接控制方法的各实施例中的部分或全部步骤。第一设备中的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
以上模块或单元的一个或多个可以软件、硬件或二者结合来实现。当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令并实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以内置于SoC(片上***)或专用集成电路(application specific integratedcircuit,ASIC),也可是一个独立的半导体芯片。该处理器内处理用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(fieldprogrammable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
当以上模块或单元以硬件实现的时候,该硬件可以是CPU、微处理器、DSP、MCU、人工智能处理器、ASIC、SoC、FPGA、PLD、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。
当以上模块或单元使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对实施例的实施过程构成任何限定。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种连接控制方法,其特征在于,包括:
第一设备通过OTG转接设备向第二设备发送业务指令,所述业务指令用于指示所述OTG转接设备从所述第二设备获取内容;
所述第一设备接收所述OTG转接设备生成的响应信息,所述响应信息包括与所述第二设备连接状态相关的描述信息;
若所述描述信息指示所述第二设备的连接状态是未连接,所述第一设备对所述第二设备执行重新连接的操作。
2.如权利要求1所述的方法,其特征在于,所述第一设备对所述第二设备执行重新连接的操作,包括:
所述第一设备对所述第一设备与OTG转接设备的接口执行下电操作;
预设时长之后,所述第一设备对所述第一设备与所述OTG转接设备的接口执行上电操作。
3.如权利要求1所述的方法,其特征在于,所述第一设备对所述第二设备执行重新连接的操作,包括:
所述第一设备对所述第二设备执行重置操作。
4.如权利要求1所述的方法,其特征在于,所述第一设备对所述第二设备执行重新连接的操作,包括:
所述第一设备判断是否对所述第二设备执行过重置操作;
若所述第一设备对所述第二设备执行过重置操作,所述第一设备对所述第一设备与OTG转接设备的接口执行下电操作,预设时长之后,所述第一设备对所述第一设备与OTG转接设备的接口执行上电操作;
若所述第一设备未对所述第二设备执行过重置操作,所述第一设备对所述第二设备执行重置操作;在重置完成后,所述第一设备再次向所述第二设备发送业务指令。
5.如权利要求1-4中任一项所述的方法,其特征在于,
所述描述信息通过所述响应信息中的代码意义code sense字段表示。
6.如权利要求3或4所述的方法,其特征在于,所述第一设备对所述第二设备执行重置操作,包括:
所述第一设备对所述第二设备未连接的状态相关联的设置项目执行重置操作。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述第一设备接收响应信息之后,还包括:
所述第一设备从所述响应信息中获得所述第二设备的小型计算机***接口SCSI标识;
若所述第二设备的SCSI标识指示的顺序号大于所述第一设备关联的SCSI标识指示的最大顺序号,所述第一设备确定所述第二设备是外界的OTG设备;
所述第一设备从所述响应信息中获取所述描述信息。
8.一种电子设备,其特征在于,用作第一设备,包括:处理器和收发器,其中,
所述收发器,用于通过OTG转接设备向第二设备发送业务指令,所述业务指令用于指示所述OTG转接设备从所述第二设备获取内容;
所述收发器,还用于接收所述OTG转接设备生成的响应信息,所述响应信息包括与所述第二设备连接状态相关的描述信息;
所述处理器,用于在所述描述信息指示所述第二设备的连接状态是未连接时,对所述第二设备执行重新连接的操作。
9.如权利要求8所述的电子设备,其特征在于,
所述处理器,还用于对所述第一设备与OTG转接设备的接口执行下电操作,预设时长之后,对所述第一设备与所述OTG转接设备的接口执行上电操作。
10.如权利要求8所述的电子设备,其特征在于,
所述处理器,还用于对所述第二设备执行重置操作。
11.如权利要求8所述的电子设备,其特征在于,
所述处理器,还用于判断是否对所述第二设备执行过重置操作;
所述处理器,还用于在所述第一设备对所述第二设备执行过重置操作时,对所述第一设备与OTG转接设备的接口执行下电操作,预设时长之后,对所述第一设备与OTG转接设备的接口执行上电操作;
所述处理器,还用于在所述第一设备未对所述第二设备执行过重置操作时,对所述第二设备执行重置操作。
12.如权利要求8-11中任一项所述的电子设备,其特征在于,
所述描述信息通过所述响应信息中的代码意义code sense字段表示。
13.如权利要求10或11所述的电子设备,其特征在于,
所述处理器,还用于对所述第二设备未连接的状态相关联的设置项目执行重置操作。
14.如权利要求8-13中任一项所述的电子设备,其特征在于,
所述处理器,还用于从所述响应信息中获得所述第二设备的小型计算机***接口SCSI标识;
所述处理器,还用于在所述第二设备的SCSI标识指示的顺序号大于所述第一设备关联的SCSI标识指示的最大顺序号时,确定所述第二设备是外界的OTG设备,以及从所述响应信息中获取所述描述信息。
CN202110124023.3A 2021-01-29 2021-01-29 连接控制方法及设备 Active CN114817102B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110124023.3A CN114817102B (zh) 2021-01-29 2021-01-29 连接控制方法及设备
EP21922591.9A EP4261698A4 (en) 2021-01-29 2021-12-16 CONNECTION CONTROL METHOD AND APPARATUS
PCT/CN2021/138734 WO2022161001A1 (zh) 2021-01-29 2021-12-16 连接控制方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110124023.3A CN114817102B (zh) 2021-01-29 2021-01-29 连接控制方法及设备

Publications (2)

Publication Number Publication Date
CN114817102A CN114817102A (zh) 2022-07-29
CN114817102B true CN114817102B (zh) 2024-05-14

Family

ID=82526009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110124023.3A Active CN114817102B (zh) 2021-01-29 2021-01-29 连接控制方法及设备

Country Status (3)

Country Link
EP (1) EP4261698A4 (zh)
CN (1) CN114817102B (zh)
WO (1) WO2022161001A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989248A (zh) * 2009-07-31 2011-03-23 比亚迪股份有限公司 一种usb设备和usb设备重启的方法
CN105516429A (zh) * 2015-12-07 2016-04-20 腾讯科技(深圳)有限公司 一种终端掉线处理方法及***
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac***中与USB设备通讯的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027379A (ja) * 2006-07-25 2008-02-07 Hitachi Omron Terminal Solutions Corp ホスト装置
JP2008085554A (ja) * 2006-09-27 2008-04-10 Brother Ind Ltd 情報処理装置、及びプログラム
US20080178011A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Method and apparatus for usb/otg connection providing active hnp requests and saving host power

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989248A (zh) * 2009-07-31 2011-03-23 比亚迪股份有限公司 一种usb设备和usb设备重启的方法
CN105516429A (zh) * 2015-12-07 2016-04-20 腾讯科技(深圳)有限公司 一种终端掉线处理方法及***
CN106372009A (zh) * 2016-08-30 2017-02-01 飞天诚信科技股份有限公司 一种Mac***中与USB设备通讯的方法及装置

Also Published As

Publication number Publication date
EP4261698A4 (en) 2024-05-22
CN114817102A (zh) 2022-07-29
WO2022161001A1 (zh) 2022-08-04
EP4261698A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
CN108695921B (zh) 数据备份方法、无线充电装置、移动终端及存储介质
JP5313301B2 (ja) 無線インターネットアクセス装置、sd制御チップ、及びデータ通信の方法
US9059906B1 (en) Data communication interface
US10311000B2 (en) Integrated universal serial bus (USB) type-C switching
EP2860638B1 (en) Serial communication over communication control pin
JP6069586B2 (ja) 大容量記憶装置ベースのインターフェースを通じてm−phyベースの通信を運用すること、ならびに関連するコネクタ、システム、および方法
CN103154922A (zh) 虚拟usb复合装置枚举
EP2669761A2 (en) System, apparatus, and method of performing charging operation in host mode
CN104350720B (zh) 提供用于双向串行互连的串行协议的装置、方法和***
CN105700732A (zh) 用于传输触摸传感器信息的装置、***和方法
EP3109767B1 (en) Electronic device and method for controlling signal strength according to mode
CN106575140B (zh) 用于实现从通用串行总线(usb)3.x主机对usb规范版本2.0(usb 2.0)便携式电子设备的更高电流充电的装置、方法和***
US11947481B2 (en) Terminal and type C interface anti-corrosion method
CN114817102B (zh) 连接控制方法及设备
US20140075063A1 (en) Smart device with no AP
CN218825507U (zh) 双接口装置和投影设备
US7769917B1 (en) Method and apparatus for automatic device connection detection and data exchange by monitoring power ground signal level change
CN216530587U (zh) 用于给主设备和从端设备进行供电的供电连接器
KR20190075280A (ko) 호스트 컨트롤러, 보안 요소 및 직렬 주변기기 인터페이스 통신 시스템
JP4431768B2 (ja) 携帯型電子装置、読み出し方法及び書き込み方法
CN108009110B (zh) 设备识别方法及装置
CN117440060B (zh) 通信转换装置、电子设备、***和方法
CN111428227B (zh) 一种支持读卡的智能密钥设备
CN110442539B (zh) 手机otg切换方法和装置
CN106026298A (zh) 一种移动终端基于usb的充电调试的方法及***

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