CN108701106A - 一种数据传输方法及设备 - Google Patents
一种数据传输方法及设备 Download PDFInfo
- Publication number
- CN108701106A CN108701106A CN201680082761.3A CN201680082761A CN108701106A CN 108701106 A CN108701106 A CN 108701106A CN 201680082761 A CN201680082761 A CN 201680082761A CN 108701106 A CN108701106 A CN 108701106A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- interface
- control chip
- usb
- 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.)
- Granted
Links
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/40—Bus structure
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
一种数据传输方法及设备,涉及数据传输领域,从设备提供多个接口用于连接不同的主设备,基于一个硬件逻辑控制电路实现不同接口间的切换并通过与主设备匹配的目标数据接口主设备进行数据传输,满足了从设备多个USB接口的使用需求。该方法包括:第一设备(即USB架构中的从设备)的外壳设置有至少两个数据接口,从设备还包括控制芯片,至少两个数据接口与所述控制芯片连接;控制芯片用于,通过目标数据接口接收第二设备(即USB架构中的主设备)输入的第一信号,加载目标数据接口匹配的驱动,通过目标数据接口与第二设备进行数据传输;目标数据接口是至少两个数据接口中与第二设备匹配的数据接口。
Description
本发明涉及数据传输领域,尤其涉及一种数据传输方法及设备。
USB(Universal Serial Bus,通用串行总线)作为一种通用的、易于扩展的总线技术在电子设备中得到了非常广泛的应用。在USB架构中,通信的双方为主设备(Host)和从设备(Device)。其中,从设备即USB设备,提供USB接口。主设备即与从设备的USB接口连接的主机。主设备和从设备之间通过USB接口进行数据通信。
在某些特殊场合,从设备在不同的时刻需要使用不同的USB接口连接不同的主设备。示例的:在车联网应用中,在正常使用时,为保证连接可靠性,USB从设备使用一个非标准的USB接口(如卡扣式USB接口)与车载电脑(主设备1)连接;在调试、维修时,从设备需要使用标准USB接口与PC(主设备1)连接。
目前,大部分从设备使用的芯片都只支持一个USB硬件逻辑控制电路,因此从设备通常只有一个USB接口用于连接主机。可见目前从设备无法支持多个USB接口的使用需求。
发明内容
本发明的实施例提供一种数据传输方法及设备,从设备提供多个接口用于连接不同的主设备,基于一个硬件逻辑控制电路实现不同接口间的切换并通过与主设备匹配的目标数据接口主设备进行数据传输,满足了从设备多个USB接口的使用需求。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种第一设备,改第一设备的外壳设置有至少两个数据接口,该第一设备还包括控制芯片。至少两个数据接口与控制芯片连接。
控制芯片用于,通过目标数据接口接收第二设备输入的第一信
号,随后加载目标数据接口匹配的驱动,进而可以通过目标数据接口与第二设备进行数据传输。
如此可见,USB架构中的从设备(即所述第一设备)能够提供多个数据接口用于连接不同的主设备(即所述第二设备),并且当主设备通过某个数据接口向从设备输入电平信号时,能够确定出真正连接主设备的是哪个数据接口,在满足从设备多个USB接口的使用需求的同时,保证了主设备与从设备之间的数据传输的正常进行。
结合第一方面,在第一方面的第一种可能的实现方式中,从设备还包括保护电路,保护电路与至少两个数据接口连接且与控制芯片连接。保护电路用于,当接收到一个第二设备向从设备输入的第一信号时,形成目标数据接口与控制芯片之间的通路向控制芯片输入第一信号。
如此,能够通过保护电路向从设备供电,以便从设备的控制芯片加载相应驱动,与主设备进行数据传输。
结合第一方面,在第一方面的第二种可能的实现方式中,保护电路还用于,当从设备在预设时间窗内接收到至少两个第二设备向从设备输入的第一信号时,形成目标数据接口与控制芯片之间的通路向控制芯片输入至少两个第二设备中优先级最高的第二设备对应的第一信号,不向控制芯片输入至少两个主设备中除该优先级最高第二设备外的其他第二设备输入的第一信号。
如此,能够通过保护电路对从设备的多个USB接口各自输入的电平信号实现隔离后向从设备的控制芯片供电,在从设备的多个USB接口同时连接主设备的异常场景下,保证只有一个主设备向从设备供电,两个USB接口之间不会互相充电。
结合第一方面或第一方面的第一或第二种可能的实现方式中,在第二方面的第三种可能的实现方式中,从设备还包括开关组件。其中,至少两个数据接口与控制芯片连接,且开关组件与控制芯片的第一引脚连接。
控制芯片用于,在至少两个数据接口中任意确定一个数据接口
为第一数据接口,通过第一引脚向开关组件发送设置信号,指示开关组件导通第一数据接口与控制芯片之间的通路。开关组件用于,根据上述设置信号导通第一数据接口与控制芯片之间的通路。控制芯片还用于,加载与第一数据接口匹配的驱动;若,控制芯片通过第一数据接口接收到第二设备发送的枚举命令。
也就是说,从设备不确定哪个数据接口是目标数据接口时,可以通过开关组件导通一个数据接口与控制芯片之间的通路,如果该数据接口确实是主设备连接的数据接口,控制芯片则可以通过该数据接口接收到主设备的枚举命令。
结合第一方面的第三种可能的实现方式中,在第二方面的第四种可能的实现方式中,
若控制芯片未通过第一数据接口接收到第二设备发送的枚举命令,则更新第一数据接口为除第一数据接口外的其他数据接口,并加载相应驱动,直至接收到枚举命令。
从设备检测到有主设备向从设备供电时,不能确定是哪个数据接口连接了主设备,因此,可以逐一遍历数据接口,直至确定出真正连接了主设备的数据接口。
结合第一方面或第一方面的第一或第二的第一种可能的实现方式,在第一方面的第三第五种可能的实现方式中,第一设备还包括包括控制芯片以及开关组件;至少两个数据接口通过保护电路与控制芯片连接,开关组件与控制芯片的第一引脚连接,至少两个数据接口中的一个数据接口唯一连接控制芯片的一个第二引脚,并且不同的数据接口连接的第二引脚不同。控制芯片用于,通过第二引脚接收第二设备发送的指示信号,通过第一引脚向开关组件发送设置信号,该设置信号用于指示开关组件导通第二数据接口与所述控制芯片;第二数据接口是第二引脚连接的数据接口。开关组件用于,根据设置信号导通第二数据接口与控制芯片,加载与所述第二数据接口匹配的驱动。
当有主设备向从设备供电时,从设备接收到主设备通过与从设
备连接的引脚发送指示信息,以使得从设备确定是哪个数据接口连接了主设备。
结合第一方面或第一方面的第一至第五种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,从设备还包括提示组件。提示组件用于,提示当前传输数据的接口为目标数据接口。
如此,在从设备包括多个数据接口的场景下,可以通过提示模块对当前承载数据传输的数据接口进行指示,提升了用户体验。
本发明实施例提供的从设备,包括至少两个数据接口,并且在主设备连接数据接口向从设备输入电平信号时,将与主设备匹配的数据接口确定为目标数据接口,进而主设备与从设备可以通过该目标数据接口进行数据传输。相比现有技术,从设备无法支持多个USB接口的使用需求。本发明的实施例提供的从设备可以基于一个硬件逻辑控制电路实现不同接口间的切换并通过与主设备匹配的目标数据接口主设备进行数据传输,满足了从设备多个USB接口的使用需求。
第二方面,公开了一种数据传输方法,应用于第一设备,该从设备的外壳设置有至少两个数据接口,该方法包括:从设备通过目标数据接口接收第二设备输入的第一信号,加载目标数据接口匹配的驱动,随后第一设备通过目标数据接口与第二设备进行数据传输。
如此可见,USB架构中的从设备(即所述第一设备)能够提供多个数据接口用于连接不同的主设备(即所述第二设备),并且当主设备通过某个数据接口向从设备输入电平信号时,能够确定出真正连接主设备的是哪个数据接口,在满足从设备多个USB接口的使用需求的同时,保证了主设备与从设备之间的数据传输的正常进行。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一设备加载所述目标数据接口匹配的驱动具体包括:第一设备确定至少两个数据接口中的任意一个数据接口为第一数据接口,并导通第一数据接口与控制芯片,加载与第一数据接口匹配的驱动,通
过第一数据接口接收到第二设备发送的枚举命令。
结合第二方面的第一种可能的实现方式中,在第二方面的第二种可能的实现方式中,若第一设备未通过第一数据接口接收到第二设备发送枚举命令,则更新第一数据接口为除第一数据接口外的其他数据接口并加载相应驱动,直至接收到枚举命令。
结合第二方面,在第一方面的第三种可能的实现方式中,第一设备加载所述目标数据接口匹配的驱动具体包括:第一设备通过第二数据接口为接收主设备发送的指示信号,加载第二数据接口匹配的驱动。当然,从设备还会接收第二设备通过第二数据接口发送的枚举命令。
结合第二方面或第二方面的第一至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,当在预设时间窗内接收到至少两个第二设备分别向第一设备输入的第一信号时,则通过目标数据接口与第二设备进行数据传输;这里,导通的第二设备为至少两个第二设备中优先级最高的第二设备。
结合第二方面或第二方面的第一至第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述方法还包括:提示当前传输数据的数据接口为所述目标数据接口。
图1为现有的USB架构的示意图;
图2为现有的从设备的物理层的示意图;
图3为本发明实施例提供的从设备的结构框图;
图4为本发明实施例提供的从设备的另一结构框图;
图5为本发明实施例提供的从设备的另一结构框图;
图6为本发明实施例提供的从设备的另一结构框图;
图7为本发明实施例提供的从设备的另一结构框图;
图8为本发明实施例提供的数据传输方法的流程示意图;
图9为本发明实施例提供的两接口从设备的结构框图;
图10为本发明实施例提供的基于两接口从设备的数据传输方
法的流程示意图;
图11为本发明实施例提供的两接口从设备的另一结构框图;
图12为本发明实施例提供的保护电路的原理图。
在USB架构中,通信的双方为主设备和从设备。其中,从设备即USB设备,主设备即与USB设备的USB接口连接的主机。参考图1,主设备与从设备的通信协议自下而上分别为接口物理层(Interface Layer)、设备层(Device Layer)和功能层(Function Layer)。物理层为硬件实现,物理层之上的两层为软件实现,称为USB驱动(USB Driver)。在进行通信时,主设备的驱动和从设备的驱动必须要匹配才能正常工作。
如图2所示,从设备的物理层包括:USB控制芯片中的USB PHY(硬件逻辑控制),以及USB接口(即USB连接器,是USB设备的对外接口)。其中,USB接口包括标准的物理形态以及一些非标准的形态,以便适用于不同的应用场景。通常,USB接口一般包含以下信号线:USB_VBUS,用于主设备给从设备供电;USB_D+和USB_D-是两根数据线,以差分信号形式在主设备和从设备之间进行双向数据传输。
在多接口应用场景中,不同的时刻需要使用不同的USB接口连接不同的主机。示例的,在车联网应用中,在正常使用时,为保证连接可靠性,从设备需要使用一个非标准的带卡扣的USB接口与车载电脑连接;在调试、维修时,需要使用标准USB接口与PC连接。但是,参考图2可知,当前大部分从设备使用的芯片都只支持一个USB PHY,因此从设备通常只有一个USB接口用于连接主设备,无法支持多个USB接口的使用需要。
本发明实施例的原理在于:从设备提供多个USB接口,用于连接不同的主设备。从设备的控制模块可以基于一个USB PHY实现多个USB接口的切换,确定与当前连接主设备匹配的USB接口,并通过该USB接口与主设备进行数据传输。
需要说明的是,本发明实施例中主设备与从设备的数据接口(即上述USB接口)的匹配关系是固定的,数据接口与驱动的匹配关系也是固定的。示例的,在车联网应用中,从设备的数据接口1用于连接车载电脑,数据接口2用于连接PC。数据接口1与驱动1(车载电脑匹配的驱动)匹配,数据接口2与驱动2(PC匹配的驱动)匹配。当车载电脑连接数据接口1向从设备供电时,从设备确定主设备是数据接口1供电后,从设备会加载驱动1,以便与车载电脑的驱动相匹配。
本发明实施例提供一种第一设备,所述第一设备可以是上述从设备,如图3所示,从设备包括控制芯片1。该从设备的外壳设置有至少两个数据接口2。参考图3,所述至少两个数据接口2与所述控制芯片1连接。
具体地,第二设备(可以是上述主设备)通过任意一个数据接口2与从设备连接,从设备的控制芯片1通过目标数据接口接收到该主设备输入的一个信号(即所述第一信号,可以是高电平信号)。从设备可以根据这个第一信号确定目前为启动状态(包括从下电状态变为上电状态,或者是从设备重启),但不能确定具体是哪个数据接口连接了主设备,即不确定至少两个数据接口中的哪个数据接口是目标数据接口。进而,从设备的控制芯片1需要确定是哪个数据接口连接了主设备,即确定与主设备匹配的数据接口。接着,控制芯片1将加载目标数据接口(即连接主设备的数据接口)所匹配的驱动;通过所述目标数据接口与主设备进行数据传输。另外,目标数据接口是所述至少两个数据接口2中与主设备匹配的数据接口。
如图4所示,该从设备还包括保护电路3,保护电路3与至少两个数据接口2以及控制芯片1均连接。具体地,保护电路包括晶体管组。在预设时间窗内,若有多个数据接口均连接有不同的主设备,通过晶体管组中晶体管的关断或导通使得多个数据数据接口之间不会互相连通。如此,至少两个数据接口2可以通过保护电路2通过场效应管实现对两个数据接口的隔离,同时当有多个数据接口
连接不同的主设备时,导通一个数据接口和控制芯片1之间的通路,不导通其他数据接口与和控制芯片1之间的通路,同一时刻只有一个主设备的输入电压输入到控制芯片1。这里,导通的这个数据接口连接的主设备的优先级可以高于至少两个数据接口2中、其他数据接口连接的主设备的优先级。
具体实现中,保护电路3具体用于:当只有一个主设备向从设备输入第一信号时,形成主设备连接的目标数据接口与控制芯片1之间的通路向控制芯片1输入第一信号。
或,当在预设时间窗内有至少两个主设备向从设备输入第一信号时,形成主设备(即至少两个主设备中优先级最高的主设备)连接的目标数据接口与控制芯片1之间的通路向控制模块1输入该主设备对应的第一信号。
优选地,本发明实施例还提供了两种第一设备(从设备)的具体实现可能:
第一种、如图5所示,从设备(即所述第一设备)还包括开关组件4。参考图5,所述至少两个数据接口2通过所述保护电路3与所述控制芯片1连接;所述开关组件4与所述控制芯片1的第一引脚11连接。
通常,控制芯片1接收到主设备输入的第一信号,只能确定从设备当前为上电状态,但并不能确定主设备连接的是哪个数据接口,因此可以逐一遍历数据接口(即所述至少两个数据接口2包括的每一个数据接口)。具体包括以下步骤:
S10、控制芯片1随机确定至少两个数据接2中的一个数据接口——第一数据接口20。
S11、控制芯片1通过第一引脚11向开关组件4发送设置信号,指示开关组件4导通第一数据接口20与控制芯片1。
S12、开关组件4接收该设置信号,并根据设置信号导通所述第一数据接口20与所述控制芯片1。
具体地,该设置信号可以是GPIO(General Purpose Input
Output,通用输入输出)信号。
S13、控制芯片1还会加载与第一数据接口20匹配的驱动。
这里,控制芯片默认第一数据接口20就是连接主设备的数据接口,因此为了与主设备通过第一数据接口20进行数据传输,就需要加载第一数据接口20匹配的驱动。
S14、若控制芯片1通过第一数据接口20接收到了主设备发送的枚举命令,则证明第一数据接口20即为主设备连接的数据接口,随即进行步骤S16。若控制芯片1未通过第一数据接口20接收到该枚举命令,则证明第一数据接口不是主设备连接的数据接口,则执行步骤S15,继续遍历其他数据接口。
需要说明的是,通常若USB设备的数据接口连接有主设备,USB设备加载驱动后接收所述主设备通过该数据接口发送的枚举命令。因此,
S15、控制芯片1更新目标数据接口为除所述第一数据接口20外的其他数据接口并加载相应驱动,直至接收到枚举命令,将接收到枚举命令的数据接口确定为目标数据接口。
S16、控制芯片10通过目标数据接口向主设备发送设备形态信息,该信息携带了目标数据接口所匹配的驱动的信息,以便主设备根据该驱动的信息识别从设备。
需要说明的是,虽然从设备的数据接口与主设备的匹配关系是固定的,且数据接口与驱动的匹配关系也是固定的。但是,若用户不知晓主设备与数据接口匹配关系,或是数据接口的形态相同,用户从形态上无法区分各个数据接口,那么用户则可能使用不匹配的主设备连接了某个数据接口。这时,从设备的数据接口连接的主设备仍有可能是与该数据接口不匹配的主设备,从设备加载的驱动就不是这个主设备所匹配的驱动了,因此主设备还需要对从设备进行验证。具体地,可以通过驱动的信息对从设备进行验证,一旦从设备加载的驱动是与该主机匹配的驱动,则可以识别该从设备。
示例的,从设备的数据接口1用于连接PC,数据接口2用于连
接车载电脑,进而与数据接口1匹配的驱动就是PC所匹配的驱动1,与数据接口2匹配的驱动就是与车载电脑所匹配的驱动2。当PC连接数据接口1向从设备供电时,从设备加载驱动1,并向PC发送驱动1的信息,进而PC可以根据该信息识别该从设备。当车载电脑连接数据接口1向从设备供电时,从设备加载驱动1,并向车载电脑发送驱动1的信息,但是车载电脑根据该信息无法识别该从设备,同时会提示错误。
S17、控制芯片1在主设备识别从设备之后,接收主设备传输的数据。
由于主设备与从设备进行通信的前提是驱动必须匹配,这里主设备识别从设备,也就是说从设备的控制芯片1加载的驱动是与主设备相匹配的驱动,因此主设备可以与从设备进行数据传输,接收主设备传输的数据,随后还可以向主设备发送数据。
需要说明的是,从设备可以是图5所示的结构,同时包括保护电路3以及开关组件4,当然也可以只包括开关组件4或保护电路3,在此不做限定。
第二种:如图6所示,从设备还包括开关组件4。所述至少两个数据接口2通过所述保护电路3与所述控制芯片1连接,所述开关组件4与所述控制芯片的第一引脚11连接,所述至少两个数据接口中的一个数据接口连接所述控制芯片的一个第二引脚12,并且不同的数据接口连接不同的第二引脚12。
同样,控制芯片1接收到主设备输入的第一信号,只能确定从设备当前为上电状态,并不能确定主设备连接的是哪个数据接口,但可以根据主设备通过其连接的数据接口发送的指示确定主设备连接的是哪个数据接口。具体包括以下步骤:
S20、控制芯片1通过第二引脚12接收主设备触发的指示信号;该信号用于指示第二引脚12连接的第二数据接口21为主设备输入第一信号的数据接口。
具体实现中,指示信号可以是GPIO信号,如:第二数据接口
21与第二引脚12连接,一旦第二数据接口21连接主设备并向从设备供电,第二引脚12则检测到GPIO高电平信号,进而控制芯片1可以确定第二数据接口21为主设备输入第一电平信号的数据接口,即主设备当前连接的数据接口。
S21、控制芯片1确定第二数据接口21为目标数据接口;通过第一引脚11发送设置信号;设置信号用于指示开关组件4导通第二数据接口21与控制芯片1。
S22、开关组件4根据该设置信号导通第二数据接口21与控制芯片1。
S23、控制芯片1加载第二数据接口21(即目标数据接口)匹配的驱动,接收主设备通过第二数据接21口发送的枚举命令。
S24、控制芯片1向主设备发送设备形态信息,该信息携带第二数据接口21匹配的驱动的信息,以便主设备识别从设备。
S25、控制芯片在主设备识别从设备之后,接收主设备通过目标数据接口传输的数据。
如图7所示,所述从设备还包括提示组件5,用于提示当前传输数据的是哪个数据接口,如:目标数据接口。提示组件5可以是LED(Light Emitting Diode,发光二极管)灯。一种实现方式中,LED灯的数量与数据接口的数量相同,且一个数据接口对应一个LED灯,当通过某个数据接口传输数据时,点亮该数据接口对应的LED灯。另外,LED灯的数量也可以与数据接口的数量不相同,通过不同形式的闪烁指示不同的数据接口。另一种可能的实现方式中,提示组件5可以是扬声器,通过语音提示当前传输数据的是哪个数据接口。
需要说明的是,图6、图5所示的从设备均包括提示组件5,在此仅仅给出了基于图5所示的从设备的示意图。
对于提示组件5中的一个LED灯,若该LED灯对应的数据接口为所述目标数据接口,所述控制模块1则驱动该LED灯。具体地,该提示组件可以包括与数据接口数量相同的LED(Light Emitting
Diode,发光二极管)灯,控制芯片10驱动数据接口对应的LED灯来指示主、从设备当前通过哪个数据接口进行通信。或者,该提示组件可以是x个(与数据接口数量不相同)LED灯,通过不同形式的闪烁来指示当前传输数据的是哪个数据接口。
当然,提示模块的具体实现不局限于上述方式,还可以有其他的实现方式,但均用于提示当前传输数据的接口为所述目标数据接口。
本发明实施例还提供一种数据传输方法,应用于从设备(即所述第一设备),该从设备包括至少两个数据接口,如图8所示,所述方法包括以下步骤:
101、所述从设备通过目标数据接口接收主设备(即所述第二设备)输入的第一信号。
具体地,当只有一个主设备通过从设备外壳设置的数据接口向从设备输入所述第一信号时,从设备接收所述主设备输入的所述第一信号。
或,当有至少两个主设备向通过从设备外壳设置的数据接口向从设备输入第一信号时,从设备仅仅接收至少两个主设备中优先级最高的主设备输入的第一信号。
另外,这里的目标数据接口即从设备外壳设置的至少两个数据接口中与主设备匹配的数据接口,即主设备连接的数据接口。步骤101中,从设备接收主设备输入的第一信号(可以是高电平信号),只能确定从设备当前为上电状态,并不能确定到底哪个数据接口为目标数据接口。随后,从设备会确定目标数据接口。
102、所述从设备加载目标数据接口匹配的驱动。
具体实现中,从设备可以通过以下两种方式确定目标数据接口、加载目标数据接口匹配的驱动,包括:
第一种:从设备确定其外壳设置的至少两个数据接口中的任意一个数据接口为第一数据接口,并导通第一数据接口与从设备的控制芯片之间的通路。
从设备加载与第一数据接口匹配的驱动,若通过第一数据接口接收到了主设备发送的枚举命令,则证明第一数据接口为目标数据接口,即主设备连接的数据接口。
若从设备未接收到枚举命令,则更新第一数据接口为除第一数据接口外的其他数据接口并加载相应驱动,直至接收到主设备发送的枚举命令。
第二种:从设备接收主设备触发的指示信号;指示信号用于指示第二数据接口为主设备输入第一电平信号的数据接口,第二数据接口为传输指示信号的数据接口。
从设备还用于,确定第二数据接口为目标数据接口,并加载第二数据接口匹配的驱动。
103、所述从设备通过所述目标数据接口与所述主设备进行数据传输。
具体地,从设备通过目标数据接口与主设备进行数据传输具体包括,从设备通过目标数据接口向主设备发送设备形态信息,设备形态信息携带目标数据接口的驱动的信息,以便主设备识别从设备;主设备识别从设备之后,与从设备进行数据传输。
需要说明的是,从设备还可以在步骤103之后提示当前进行数据传输的数据接口为目标数据接口。
本发明实施例提供的数据传输方法及从设备,多个数据接口用于连接不同的主设备,从设备可以基于一个硬件逻辑控制电路实现不同接口间的切换。在主设备连接目标接口,向从设备供电后,主设备可以确定出主设备匹配的数据接口(即主设备连接的数据接口),并通过该数据接口与主设备进行数据传输,能够满足从设备多个USB接口的使用需求。
优选地,本发明实施例以两接口从设备(包括两个数据接口的从设备)为例,详细介绍从设备内部的电路。
如图9所示,从设备的两个数据接口(USB1和USB2)的D+/D-数据线通过一个开关组件4与从设备的控制芯片1的D+/D-连接。
开关组件4与控制芯片1的引脚11连接。USB1和USB2的VBUS线通过保护电路3、PMU(Power Management Unit,电源管理单元)与控制芯片连接。
其中,控制芯片包括控制软件(Control Software)、驱动1、驱动2以及硬件逻辑控制电路PHY。控制软件可以通过引脚101发送一个设置信号控制开关组件,决定导通哪一个数据接口。开关组件可以是模拟开关(Switch),控制芯片可以是BB(Base Band,基带),设置信号可以是GPIO信号。
需要说明的是,开关组件在从设备上电时有一个默认状态即软件不控制时开关的状态,包括导通或断开,由外接上/下拉电阻决定,在一套硬件设计中保持不变。另外,两个数据传输接口的VBUS通过保护电路实现隔离后连接PMU(Power Management Unit,电源管理单元),给控制芯片供电。保护电路可以确保两个数据接口VBUS不会连通,并且同一时刻只有一个数据接口的VBUS连接到控制芯片。
基于图9所示的从设备介绍本发明实施例提供的数据传输方法,如图10所示,所述方法包括以下步骤:
201、主设备连接从设备的数据接口,向从设备的控制芯片输入高电平信号,从设备启动。
需要说明的是,在此从设备并不确定主设备连接的是哪个数据接口,可以依次导通USB1和USB2;本实施例中,以先导通USB1为例,具体实现中可以将非易失性存储器中的NV_USB对应的值置为USB1。
202、控制芯片读取共享内存记录的数据接口信息RAM_USB,随后读取NV_USB。
其中的“共享内存状态”RAM_USB是一个特殊的内存变量,在从设备重启时不会丢失,只有从设备下电时才会丢失,记录了从设备默认要导通的数据接口的信息。NV_USB为非易失性存储器中的标志,在从设备重启后会丢失,从设备下电时不会丢失。因此,
从设备的PHY先读取RAM_USB后读取NV_USB,NV_USB的取值决定了哪个数据接口为“主数据接口”即优先级较高的数据接口。开关组件有一个默认状态,在上电初始化时决定导通USB 1还是USB 2,这个默认状态确定的数据接口与NV_USB记录的数据接口相同。
203、控制芯片进行USB开关和驱动判断。
具体地,RAM_USB的初始值为clear(即被清除),NV_USB为USB1,可见从设备是下电后再上电,根据NV_USB为USB1确定导通USB 1。具体地,可以向开关组件发送设置信号,指示导通USB 1与控制芯片。
204、开关组件拨动开关至USB 1,导通USB 1与控制芯片。
205、控制芯片加载驱动1,并等待主机的枚举命令。
另外,本实施例中USB1是与主设备1匹配的数据接口,驱动1是与主设备1匹配的驱动,因此当导通USB1时需要加载驱动1。同样,USB2是与这设备2匹配的数据接口,驱动2是与主设备2匹配的驱动,因此当导通USB2时需要加载驱动2。
若等待超时则进行步骤206;若未超时,则正常运行,可通过USB 1向主设备发送驱动1的信息,以便主设备识别从设备。
206、控制芯片修改RAM_USB为set,并重启设备。
随后,再次执行步骤201~203。具体地,读取到RAM_USB为set、NV_USB为USB1,证明共享内存被修改过,说明已经进行过流程201~205,导通过USB 1了且USB 1不是连接主设备的数据接口。接下来需要导通USB 2了。
207、开关组件拨动开关至USB 2,导通USB 2与控制芯片。
208、控制芯片加载驱动2,并等待主机的枚举命令,随后可以正常运行。
这里,所谓“正常运行”可以是控制芯片与主设备通过USB 2进行数据传输,但前提是控制芯片向主设备发送了驱动2的信息,并且主设备识别了驱动2。
结合以下几种可能场景,对控制芯片、开关组件的处理流程作以说明(以NV_USB取值为USB 1为例):
场景1:只有USB 1连接主设备1。执行上述流程201~205,等待枚举命令未超时,从设备通过USB 1与主设备1正常交互。
场景2:只有USB 2连接主设备2。执行上述流程流程201~209,主设备识别从设备后,通过USB 2与从设备正常交互。
场景3:USB 1和USB2同时连接主设备1和主设备2。由于NV_USB取值为USB 1,可以认为USB 1的优先级高于USB 2,因此保护电路2确保只有主设备1通过USB 1给从设备供电;处理流程与场景1类似,从设备加载驱动1,通过USB 1与主机正常交互。
场景4:USB 1先连接主设备1,USB2再连接主设备2。参考场景1和场景3的分析。从设备加载驱动1,通过USB 1与主设备1正常交互。
场景5:USB 2先连接主设备2,在从设备等待枚举命令超时之前,USB1再连接主设备1。参考场景1的分析。从设备加载驱动1,通过USB 1与主设备正常交互。
场景6:USB 2先连接主设备2,在从设备等待枚举命令超时之后,USB1再连接主设备1。从设备默认导通USB1,因此主设备通过USB 2给设备供电,从设备导通USB 1,从设备等待超时,随后导通USB 2,从设备通过USB 2与主设备2正常交互。随后USB1再连接主设备1,但由于保护电路2默认导通优先权较高的数据接口(可以是NV_USB的取值指示的数据接口),这里默认导通USB 1的VBUS与控制芯片,从设备的供电由主设备1通过USB 1进行。
如图11所示,是从设备内部可供实现的另一种电路结构。相比图9所示的电路结构,增加了数据接口主动指示控制芯片的功能。具体地,参考图11,USB 1与从设备的控制芯片1的一个引脚12连接,通过GPIO1来指示控制芯片10哪个数据接口连接主设备;USB 2与从设备的控制芯片10的另外一个引脚13连接,通过GPIO2来指示控制芯片哪个数据接口连接主设备。另外,还增加了保护电
路6,GPIO1、GPIO2采用VBUS的信号经过分压及保护电路6等处理后提供给控制芯片。处理流程可以有以下几种:
1.当USB 1(数据接口1)插入后,USB1的VBUS为高,此时GPIO1为高,控制芯片向开关组件发送设备信号指示拨通开关到USB1,同时加载驱动1。
2.当USB 2(数据接口2)插入后,USB2的VBUS为高,此时GPIO2为高,控制芯片向开关组件发送设备信号指示拨通开关到USB2,同时加载驱动2。
3.当USB 1、USB2同时插入后,此时GPIO1、GPIO2同时为高,控制芯片向开关组件发送设备信号指示拨通开关到USB1,同时加载驱动1。前提是,USB 1的优先级高于USB 2的优先级,即NV_USB为USB1。
如图12所示,是保护电路3的一个可供实施的原理图。以从设备包括两个数据接口(USB 1和USB 2)为例,具体地保护电路3包括两个晶体管组,分别于数据接口1、数据接口2连接。其中,晶体管可以是MOS管(Metal Oxide Semiconductor Field Effect Transistor,金属氧化物场效应管),分为N型MOS管和P型MOS管。N型MOS管接高电平导通,接低电平关断;P型MOS管接低电平导通,接高电平关断。参考图12,Q1~Q7均为MOS管。
以下对保护电路2的工作原理做以解释说明:
场景1:只有USB 2连接电源或主设备。V_BUS_IN2(即USB2的输入电压)为5V,控制N型MOS管Q7导通,从而使P型MOS管Q2、Q1导通,USB 2供电正常。
场景2:只有USB 1连接电源或主设备。V_BUS_IN1(即USB2的输入电压)为5V,控制N型MOS管Q5导通,从而使P型MOS管Q4、Q3导通,USB2供电正常。
场景3:USB 1和USB2同时连接电源或主设备。V_BUS_IN1控制N型MOS管Q5、Q6导通,P型MOS管Q4、Q3导通,USB1供电正常。同时,由于Q6导通,使得Q7截止,这样Q2、Q1截
止,这样虽然Q2、Q1上的电压等于V_BUS_IN1,但电压相同,所以Q1不导通,实现了USB 2、USB 1的隔离。
场景4:USB 1和USB 2同时连接电源或主设备,从设备工作后USB 2拔出。由于V_BUS_IN1为主通路,V_BUS_IN2路不导通,所以拔出无影响。
场景5:USB 1和USB 2同时连接电源或主设备,从设备工作后USB 1拔出。Q5、Q6截止,Q7导通,切换到USB 2口供电。
如此,在两个数据接口同时连接到主设备时,两个接口上的VBUS不会互相充电。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
- 一种第一设备,其特征在于,所述第一设备的外壳设置有至少两个数据接口,所述第一设备包括控制芯片,所述至少两个数据接口与所述控制芯片连接;所述控制芯片用于,通过目标数据接口接收第二设备输入的第一信号;所述控制芯片还用于,加载所述目标数据接口匹配的驱动,通过所述目标数据接口与所述第二设备进行数据传输;所述目标数据接口是所述至少两个数据接口中与所述第二设备匹配的数据接口。
- 根据权利要求1所述的第一设备,其特征在于,所述第一设备还包括保护电路,所述保护电路与所述至少两个数据接口连接且与所述控制芯片连接;所述保护电路用于,当接收到一个所述第二设备向所述第一设备输入的所述第一信号时,形成所述目标数据接口与所述控制芯片之间的通路向所述控制芯片输入所述第一信号。
- 根据权利要求1所述的第一设备,其特征在于,所述第一设备还包括保护电路,所述保护电路与所述至少两个数据接口连接且与所述控制芯片连接;所述保护电路用于,当在预设时间窗内接收到至少两个所述第二设备分别向所述第一设备输入的所述第一信号时,形成所述目标数据接口与所述控制芯片之间的通路向所述控制芯片输入所述主设备对应的所述第一信号,不向所述控制芯片输入所述至少两个第二设备中除所述第二设备外的其他第二设备对应的第一信号;所述至少两个第二设备中包括所述第二设备,且所述第二设备为所述至少两个第二设备中优先级最高的第二设备。
- 根据权利要求1-3任一项所述的第一设备,其特征在于,所述第一设备还包括开关组件,所述开关组件与所述至少两个数据接口连接,且与所述控制芯片的第一引脚连接;所述控制芯片用于,确定第一数据接口,通过所述第一引脚向所 述开关组件发送设置信号;所述设置信号用于指示所述开关组件导通第一数据接口与所述控制芯片之间的通路,所述第一数据接口是所述至少两个数据接口中的任意一个;所述开关组件用于,根据所述设置信号导通所述第一数据接口与所述控制芯片之间的通路;所述控制芯片还用于,加载与所述第一数据接口匹配的驱动,通过所述第一数据接口接收到所述第二设备发送的枚举命令。
- 根据权利要求4所述的第一设备,其特征在于,所述控制芯片还用于,若未通过所述第一数据接口接收到所述第二设备发送的所述枚举命令,则更新所述第一数据接口为除所述第一数据接口外的其他数据接口,并加载相应驱动,直至接收到所述枚举命令。
- 根据权利要求1-3任一项所述的第一设备,其特征在于,所述第一设备还包括开关组件;所述开关组件与所述至少两个数据接口连接,且与所述控制芯片的第一引脚连接,所述至少两个数据接口中的一个数据接口连接所述控制芯片的一个第二引脚,且不同的数据接口连接不同的第二引脚;所述控制芯片用于,通过所述第二引脚接收所述第二设备发送的第二信号;所述控制芯片还用于,通过所述第一引脚发送设置信号;所述设置信号用于指示所述开关组件导通第二数据接口与所述控制芯片;所述第二数据接口是所述第二引脚连接的数据接口;所述开关组件用于,根据所述设置信号导通所述第二数据接口与所述控制芯片;所述控制芯片还用于,加载与所述第二数据接口匹配的驱动。
- 根据权利要求1-6任一项所述的第一设备,其特征在于,还包括提示组件;所述提示组件用于,提示当前传输数据的接口为所述目标数据接口。
- 一种数据传输方法,应用于第一设备,其特征在于,所述第一设备的外壳设置有至少两个数据接口,包括:所述第一设备通过目标数据接口接收第二设备输入的第一信号;所述第一设备加载所述目标数据接口匹配的驱动,通过所述目标数据接口与所述第二设备进行数据传输;所述目标数据接口是所述至少两个数据接口中与所述第二设备匹配的数据接口。
- 根据权利要求8所述的方法,其特征在于,所述第一设备加载所述目标数据接口匹配的驱动具体包括:所述第一设备确定第一数据接口,并导通所述第一数据接口与所述控制芯片;所述第一数据接口是所述至少两个数据接口中的任意一个;所述第一设备加载与所述第一数据接口匹配的驱动,通过所述第一数据接口接收到所述第二设备发送的枚举命令。
- 根据权利要求9所述的方法,其特征在于,所述方法还包括:若所述第一设备未通过所述第一数据接口接收到所述第二设备发送所述枚举命令,则更新所述第一数据接口为除所述第一数据接口外的其他数据接口并加载相应驱动,直至接收到所述枚举命令。
- 根据权利要求8所述的方法,其特征在于,所述第一设备加载所述目标数据接口匹配的驱动具体包括:所述第一设备通过第二数据接口接收所述第二设备发送的第二信号;所述第一设备加载所述第二数据接口匹配的驱动。
- 根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:当在预设时间窗内接收到至少两个所述第二设备分别向所述第一设备输入的所述第一信号时,则通过所述目标数据接口与所述第二设备进行数据传输;所述至少两个第二设备包括所述第二设备,且所述第二设备为所述至少两个第二设备中优先级最高的第二设备。
- 根据权利要求8-12任一项所述的方法,其特征在于,所述 方法还包括:提示当前传输数据的数据接口为所述目标数据接口。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/110477 WO2018107491A1 (zh) | 2016-12-16 | 2016-12-16 | 一种数据传输方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701106A true CN108701106A (zh) | 2018-10-23 |
CN108701106B CN108701106B (zh) | 2020-03-10 |
Family
ID=62557692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680082761.3A Active CN108701106B (zh) | 2016-12-16 | 2016-12-16 | 一种数据传输方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108701106B (zh) |
WO (1) | WO2018107491A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297795A (zh) * | 2019-06-12 | 2019-10-01 | 深圳市三旺通信股份有限公司 | 基于以太网phy芯片实现单路串行数据传输系统及其方法 |
CN111177035A (zh) * | 2019-12-23 | 2020-05-19 | 闻泰通讯股份有限公司 | 外设处理装置、方法和电子设备 |
CN114996189A (zh) * | 2022-05-27 | 2022-09-02 | 联想(北京)信息技术有限公司 | 一种电路结构及电子设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131160B (zh) * | 2020-09-27 | 2023-06-23 | 京东科技信息技术有限公司 | 工作模式切换电路、工作模式切换方法和机器人 |
CN113064651B (zh) * | 2021-03-30 | 2023-01-24 | 重庆中科云从科技有限公司 | 应用于多级接口串联设备的初始化控制装置、方法和设备 |
CN114142885B (zh) * | 2021-11-24 | 2023-09-05 | 歌尔股份有限公司 | 一种异步收发系统 |
CN114340051B (zh) * | 2021-12-24 | 2023-10-24 | 郑州中科集成电路与系统应用研究院 | 一种基于高速传输接口的便携式网关 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130013841A1 (en) * | 2011-07-06 | 2013-01-10 | Gn Netcom A/S | Apparatus And Method of Universal Serial Bus, USB, Communication |
CN202694324U (zh) * | 2012-03-29 | 2013-01-23 | 深圳市宇恒互动科技开发有限公司 | 可独立升级的usb装置及usb系统 |
CN103294626A (zh) * | 2012-09-24 | 2013-09-11 | 天津思博科科技发展有限公司 | 一种针对uart采集终端的usb双模接口设备的设计 |
CN104021101A (zh) * | 2014-05-09 | 2014-09-03 | 深圳市汇川控制技术有限公司 | 基于lpc1768平台的usb接口系统及实现方法 |
-
2016
- 2016-12-16 WO PCT/CN2016/110477 patent/WO2018107491A1/zh active Application Filing
- 2016-12-16 CN CN201680082761.3A patent/CN108701106B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130013841A1 (en) * | 2011-07-06 | 2013-01-10 | Gn Netcom A/S | Apparatus And Method of Universal Serial Bus, USB, Communication |
CN202694324U (zh) * | 2012-03-29 | 2013-01-23 | 深圳市宇恒互动科技开发有限公司 | 可独立升级的usb装置及usb系统 |
CN103294626A (zh) * | 2012-09-24 | 2013-09-11 | 天津思博科科技发展有限公司 | 一种针对uart采集终端的usb双模接口设备的设计 |
CN104021101A (zh) * | 2014-05-09 | 2014-09-03 | 深圳市汇川控制技术有限公司 | 基于lpc1768平台的usb接口系统及实现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297795A (zh) * | 2019-06-12 | 2019-10-01 | 深圳市三旺通信股份有限公司 | 基于以太网phy芯片实现单路串行数据传输系统及其方法 |
CN110297795B (zh) * | 2019-06-12 | 2022-12-13 | 深圳市三旺通信股份有限公司 | 基于以太网phy芯片实现单路串行数据传输系统及其方法 |
CN111177035A (zh) * | 2019-12-23 | 2020-05-19 | 闻泰通讯股份有限公司 | 外设处理装置、方法和电子设备 |
CN111177035B (zh) * | 2019-12-23 | 2024-01-16 | 闻泰通讯股份有限公司 | 外设处理装置、方法和电子设备 |
CN114996189A (zh) * | 2022-05-27 | 2022-09-02 | 联想(北京)信息技术有限公司 | 一种电路结构及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2018107491A1 (zh) | 2018-06-21 |
CN108701106B (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701106A (zh) | 一种数据传输方法及设备 | |
TWI733752B (zh) | 用於旁波帶通訊之系統及方法、以及實體非暫時性計算機可讀媒體 | |
CN108666826B (zh) | 一种转接头、终端设备和转接头系统 | |
CN104081368B (zh) | 移动设备自动检测装置和方法 | |
US7293124B2 (en) | Storage device with parallel interface connector | |
US20040088449A1 (en) | USB unit control method and a USB unit controller | |
US20170060799A1 (en) | Systems and methods for enabling communication between an accessory charger adapter (aca) and an aca-agnostic universal serial bus controller | |
US10998737B2 (en) | Intelligent switch system | |
US10346336B2 (en) | Semiconductor device, method of controlling semiconductor device, and semiconductor system | |
US20170255585A1 (en) | Method and system for switching role of usb otg device and otg device thereof | |
US20090037622A1 (en) | Method and system for changing operation modes of an interface device | |
CN102315576A (zh) | 电缆内的电力分发 | |
CN108733609B (zh) | 双usb接口的切换电路、智能切换装置以及切换方法 | |
CN104809088A (zh) | 连接装置及其控制芯片与控制方法 | |
CN103473193A (zh) | 手持式电子装置与外围扩充装置 | |
US20150269110A1 (en) | Cable with multiple functions | |
TW201327126A (zh) | 自動偵測控制裝置及其自動偵測控制方法 | |
US20120096286A1 (en) | Charging management method, charging control circuit and the host apparatus having the same | |
CN102421010A (zh) | 兼容vga端口输入的软件调试系统及方法 | |
CN110188060A (zh) | 模式切换系统及应用其的模式切换方法 | |
US10481576B2 (en) | Method and device for implementing connection control | |
CN113132793A (zh) | 远场语音控制方法、智能电视、远场语音模块及连接线 | |
CN107707016B (zh) | 一种基于双电池充放电控制系统的可插拔式加固型计算机 | |
CN103218278B (zh) | 自动检测控制装置及其自动检测控制方法 | |
CN211375595U (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 |