CN106354676B - 通信方法和装置、控制器芯片 - Google Patents
通信方法和装置、控制器芯片 Download PDFInfo
- Publication number
- CN106354676B CN106354676B CN201610704189.1A CN201610704189A CN106354676B CN 106354676 B CN106354676 B CN 106354676B CN 201610704189 A CN201610704189 A CN 201610704189A CN 106354676 B CN106354676 B CN 106354676B
- Authority
- CN
- China
- Prior art keywords
- controller chip
- parameter
- instruction
- equipment
- register
- 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
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/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- 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/0016—Inter-integrated circuit (I2C)
-
- 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)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
本申请公开了一种通信方法和装置、控制器芯片。其中,该方法包括:第一控制器芯片接收第二控制器芯片发送的第一指令,其中,第一指令携带了第二控制器芯片作为电源的第一参数或者第二控制器芯片作为负载的第二参数;第一控制器芯片根据第一指令中携带的参数,与第一设备通信;第一控制器芯片向第二控制器芯片发送第二指令,其中,第二指令用于指示第二控制器芯片与第一设备进行电力传输。本申请解决了现有技术中由于主控制器芯片响应时间长造成的USB PD通信失败的技术问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种通信方法和装置、控制器芯片。
背景技术
主控制器芯片可以作为电源对USB Type C设备供电,又可以作为负载接收USBType C设备提供的电能。
USB PD通信协议规定了非常严格的通信时序,主控制器芯片是带有操作系统的非实时系统,以主控制器芯片作为电源为例对现有技术的通信方法进行说明。主控制器芯片与USB Type C控制器芯片通信,USB Type C控制器芯片与USB Type C设备通信,得到USBType C设备需要的电压等参数,USB Type C控制器芯片将电压等参数发送给主控制器芯片,主控制器芯片判断自身是否能够提供该电压,由于主控制器芯片是非实时系统,响应时间长,因此,这个通信过程无法满足USB PD通信协议规定的通信时序,因此,导致通信的失败。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种通信方法和装置、控制器芯片,以至少解决现有技术中由于主控制器芯片响应时间长造成的USB PD通信失败的技术问题。
根据本申请实施例的一个方面,提供了一种通信方法,包括:第一控制器芯片接收第二控制器芯片发送的第一指令,其中,所述第一指令携带了所述第二控制器芯片作为电源的第一参数或者所述第二控制器芯片作为负载的第二参数;所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信;所述第一控制器芯片向所述第二控制器芯片发送第二指令,其中,所述第二指令用于指示所述第二控制器芯片与所述第一设备进行电力传输。
进一步地,所述第一指令携带了所述第二参数,所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信包括:所述第一控制器芯片获取用于指示所述第一设备的供电能力的第三参数;所述第一控制器芯片判断所述第三参数与所述第二参数之间的大小关系是否满足第一预设条件;所述第一控制器芯片向所述第二控制器芯片发送第二指令包括:如果所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件,所述第一控制器芯片向所述第二控制器芯片发送所述第二指令。
进一步地,所述第一设备有多个,所述第一指令还携带了将所述第一控制器芯片中的寄存器进行初始化的信息,所述寄存器包括第一寄存器和第二寄存器,所述第二指令还用于指示所述第二控制器芯片读取所述第二寄存器的值,在所述第一控制器芯片获取用于指示所述第一设备的供电能力的第三参数之前,所述方法还包括:所述第一控制器芯片根据所述第一指令将所述第一寄存器的值初始化为所述第二参数,在所述第一控制器芯片判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件之后,所述方法还包括:所述第一控制器芯片将所述第二寄存器的值设置为所述第三参数。
进一步地,所述第一指令携带了所述第一参数,所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信包括:所述第一控制器芯片将所述第一参数发送给所述第一设备;所述第一控制器芯片接收所述第一设备发送的第四指令,其中,所述第四指令中携带了所述第一设备根据所述第一参数指定的电源能力参数。
进一步地,所述第一控制器芯片中包括第一寄存器和第二寄存器,在所述第一控制器芯片将所述第一参数发送给所述第一设备之前,所述方法还包括:所述第一控制器芯片将所述第一寄存器的值初始化为所述第一参数,在所述第一控制器芯片接收所述第一设备发送的第四指令之后,所述方法还包括:所述第一控制器芯片将所述第二寄存器的值设置为所述电源能力参数。
根据本申请实施例的另一方面,还提供了一种通信装置,包括:接收单元,用于接收第二控制器芯片发送的第一指令,其中,所述第一指令携带了所述第二控制器芯片作为电源的第一参数或者所述第二控制器芯片作为负载的第二参数;通信单元,用于根据所述第一指令中携带的参数,与第一设备通信;发送单元,用于向所述第二控制器芯片发送第二指令,其中,所述第二指令用于指示所述第二控制器芯片与所述第一设备进行电力传输。
进一步地,所述第一指令携带了所述第二参数,所述通信单元包括:获取子单元,用于获取用于指示所述第一设备的供电能力的第三参数;判断子单元,用于判断所述第三参数与所述第二参数之间的大小关系是否满足第一预设条件;所述发送单元包括:第一发送子单元,用于如果所述判断子单元判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件,向所述第二控制器芯片发送所述第二指令。
进一步地,所述第一设备有多个,所述第一指令还携带了将第一寄存器和第二寄存器进行初始化的信息,所述第二指令还用于指示所述第二控制器芯片读取所述第二寄存器的值,所述装置还包括:第一初始化单元,用于在所述获取子单元获取用于指示所述第一设备的供电能力的第三参数之前,根据所述第一指令将所述第一寄存器的值初始化为所述第二参数,第一设置单元,用于在所述判断子单元判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件之后,将所述第二寄存器的值设置为所述第三参数。
进一步地,所述第一指令携带了所述第一参数,所述通信单元包括:第二发送子单元,用于将所述第一参数发送给所述第一设备;接收子单元,用于接收所述第一设备发送的第四指令,其中,所述第四指令中携带了所述第一设备根据所述第一参数指定的电源能力参数。
进一步地,所述装置还包括:第二初始化单元,用于在所述第二发送子单元将所述第一参数发送给所述第一设备之前,将第一寄存器的值初始化为所述第一参数,第二设置单元,用于在所述接收子单元接收所述第一设备发送的第四指令之后,将第二寄存器的值设置为所述电源能力参数。
根据本申请实施例的另一方面,还提供了一种控制器芯片,包括:MCU,所述MCU用于实现通信流程和时序的控制;物理层,所述物理层与所述MCU和接口相连接,所述物理层用于进行通信;接口,所述接口与所述物理层相连接,所述物理层通过所述接口与其他控制器芯片进行通信。
进一步地,所述接口为I2C接口。
进一步地,所述接口传输数据的速度最低为100KHz。
为了实现上述目的,根据本发明的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的通信方法。
为了实现上述目的,根据本发明的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的通信方法。
在本发明实施例中,第二控制器芯片向第一控制器芯片发送第一指令,第一控制器芯片根据第一指令中携带的参数与第一设备通信,然后第一控制器芯片向第二控制器芯片发送第二指令,当第二控制器芯片接收到第二指令后,第二控制器芯片与第一设备进行电力传输,在这个过程中,由第一控制器芯片与第一设备通信,然后第一控制器芯片将通信结果发送给第二控制器芯片,第二控制器芯片响应时间长不会对第一控制器芯片与第一设备通信造成影响,能够满足USB PD通信协议规定的通信时序,因此,能够通信成功,达到了成功进行USB PD通信的技术效果,进而解决了现有技术中由于主控制器芯片响应时间长造成的USB PD通信失败的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的通信方法的流程图;
图2是根据本发明实施例的系统连接图;
图3是根据本发明实施例的主控制器芯片(1#)作为电源的消耗者的情况下的时序控制图;
图4是根据本发明实施例的主控制器芯片(1#)作为电源的提供者的情况下的时序控制图;
图5是根据本发明实施例的通信装置的示意图;
图6是根据本发明实施例的控制器芯片的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种通信方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的通信方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,第一控制器芯片接收第二控制器芯片发送的第一指令,其中,第一指令携带了第二控制器芯片作为电源的第一参数或者第二控制器芯片作为负载的第二参数。
步骤S104,第一控制器芯片根据第一指令中携带的参数,与第一设备通信。
步骤S106,第一控制器芯片向第二控制器芯片发送第二指令,其中,第二指令用于指示第二控制器芯片与第一设备进行电力传输。
第一控制器芯片可以是USB Type C控制器芯片。第二控制器芯片可以是主控制器芯片。第二控制器芯片既可以作为电源对外供电,又可以作为负载接收电能。第一设备可以是USB Type C设备。
当第二控制器芯片作为电源对外供电时,第一参数能够表明第二控制器芯片的供电能力,例如,第一参数可以是第二控制器芯片能够提供的电压、电流、功率等。
当第二控制器芯片作为负载时,第二参数能够表明第二控制器芯片能够承受的最大电压、最大功率等。
当第一控制器芯片接收第二控制器芯片发送的第一指令之后,第一控制器芯片与第一设备通信。例如,如果第一控制器芯片读取到第一参数,则认为需要将第二控制器芯片作为电源对外供电,此种情况下,第一控制器芯片根据第一参数与第一设备通信。如果第一控制器芯片读取到第二参数,则认为需要将第二控制器芯片作为负载接收电能,此种情况下,第一控制器芯片根据第二参数与第一设备通信。
当第一控制器芯片根据第一指令中携带的参数,与第一设备通信之后,第一控制器芯片向第二控制器芯片发送第二指令,第二控制器芯片接收第二指令之后,第二控制器芯片与第一设备进行电力传输,即,第二控制器芯片作为电源向第一设备供电或者第二控制器芯片作为负载接收第一设备提供的电能。
USB PD通信协议规定了非常严格的通信时序,第二控制器芯片是带有操作系统的非实时系统,以第二控制器芯片作为电源为例对现有技术的通信方法进行说明。第二控制器芯片与第一控制器芯片通信,第一控制器芯片与第一设备通信,得到第一设备需要的电压等参数,第一控制器芯片将电压等参数发送给第二控制器芯片,第二控制器芯片判断自身是否能够提供该电压,由于第二控制器芯片是非实时系统,响应时间长,因此,这个通信过程无法满足USB PD通信协议规定的通信时序,因此,导致通信的失败。
在本发明实施例中,第二控制器芯片向第一控制器芯片发送第一指令,第一控制器芯片根据第一指令中携带的参数与第一设备通信,然后第一控制器芯片向第二控制器芯片发送第二指令,当第二控制器芯片接收到第二指令后,第二控制器芯片与第一设备进行电力传输,在这个过程中,由第一控制器芯片与第一设备通信,然后第一控制器芯片将通信结果发送给第二控制器芯片,第二控制器芯片响应时间长不会对第一控制器芯片与第一设备通信造成影响,能够满足USB PD通信协议规定的通信时序,因此,能够通信成功,解决了现有技术中由于主控制器芯片响应时间长造成的USB PD通信失败,达到了成功进行USB PD通信的技术效果。
在第二控制器芯片作为负载、第一设备作为电源的情况下,第一指令中携带了第二控制器芯片作为负载的第二参数,第二参数能够表明第二控制器芯片能够承受的最大电压、最大功率等。第三参数是用于指示第一设备的供电能力的参数。第一控制器芯片获取第三参数,第一控制器芯片判断第三参数与第二参数之间的大小关系是否满足第一预设条件,如果第三参数与第二参数之间的大小关系满足第一预设条件,第一控制器芯片向第二控制器芯片发送第二指令。第二控制器芯片接收第二指令之后,第二控制器芯片作为负载接收第一设备提供的电能。
第一设备可以有多个,每个第一设备能够提供不同的电压、电流、功率等。第一设备也可以是一个,能够提供多组电压、电流、功率。这两种情况实质上是相同的,下面以第一设备有多个为例进行说明。遍历这多个第一设备,首先判断第一设备提供的电压(第三参数)是否超出第二控制器芯片作为负载能够承受的最大电压(第二参数),若超过,则将此第一设备排除掉,从剩下的第一设备中排除掉那些提供的功率(第三参数)小于第二控制器芯片作为负载需要的功率(第二参数)的第一设备,再从剩下的第一设备中选取电压最低的作为电源向第二控制器芯片供电。
可选地,在第二控制器芯片作为负载、第一设备作为电源的情况下,第一设备有多个,第一指令还携带了将第一控制器芯片中的寄存器进行初始化的信息,第一控制器芯片中的寄存器包括第一寄存器和第二寄存器,第一控制器芯片根据第一指令将第一寄存器的值初始化为第二参数,第一控制器芯片获取用于指示第一设备的供电能力的第三参数,第一控制器芯片判断第三参数与第二参数之间的大小关系是否满足第一预设条件,如果第三参数与第二参数之间的大小关系满足第一预设条件,第一控制器芯片将第二寄存器的值设置为第三参数,第一控制器芯片向第二控制器芯片发送第二指令。第二指令还用于指示第二控制器芯片读取第二寄存器的值,第二控制器芯片接收第二指令之后,读取第一控制器芯片中第二寄存器的值,得到第三参数,第二控制器芯片作为负载根据第三参数接收第一设备提供的电能。
当第一控制器芯片与多个第一设备进行通信之后,从中筛选出一个第一设备作为第二控制器芯片的电源,这时,第一控制器芯片将筛选出的第一设备的参数(第三参数)写入自身的寄存器中,然后第一控制器芯片向第二控制器芯片发送第二指令,第二控制器芯片接收第二指令后,读取第一控制器芯片的寄存器的值,得到第三参数,根据第三参数,第二控制器芯片作为负载接收第一设备提供的电能。
例如,一共有3个第一设备,分别为第一设备E1、第一设备E2、第一设备E3。第一控制器芯片与这3个第一设备通信后,选择第一设备E2作为第二控制器芯片的电源。第一设备E2提供的电压为5v、功率为3mw,那么将电压5v、功率3mw分别写入第一控制器芯片相应的寄存器中。然后第一控制器芯片向第二控制器芯片发送第二指令,第二控制器芯片接收第二指令后,读取第一控制器芯片的寄存器的值,得到电压5v、功率3mw(第三参数),第二控制器芯片作为负载接收第一设备提供的电能,其中,第一设备向第二控制器芯片提供的电压是5v、功率是3mw。
在第二控制器芯片作为电源、第一设备作为负载的情况下,第一指令携带了第一参数,第一控制器芯片将第一参数发送给第一设备;第一控制器芯片接收第一设备发送的第四指令,其中,第四指令中携带了第一设备根据第一参数指定的电源能力参数。
在第二控制器芯片作为电源、第一设备作为负载的情况下,第二控制器芯片能够提供多组不同的电压、功率。第一参数包括第二控制器芯片能够提供的多组电压、功率的值,第一控制器芯片将第一参数发送给第一设备,第一设备指定一组电源能力参数,第一设备向第一控制器芯片发送第四指令,第四指令中携带了第一设备指定的一组电源能力参数,第一控制器芯片接收第一设备发送的第四指令,将第四指令中携带的电源能力参数发送给第二控制器芯片,第二控制器芯片接收到这组第一设备指定的电源能力参数之后,按照这组电源能力参数向第一设备供电。
可选地,在第二控制器芯片作为电源、第一设备作为负载的情况下,第一控制器芯片中包括第一寄存器和第二寄存器,第一控制器芯片将第一寄存器的值初始化为第一参数,第一控制器芯片将第一参数发送给第一设备,第一设备指定一组电源能力参数,第一设备向第一控制器芯片发送第四指令,第四指令中携带了第一设备指定的一组电源能力参数,在第一控制器芯片接收第一设备发送的第四指令之后,第一控制器芯片将自身的第二寄存器的值设置为电源能力参数。第一控制器芯片向第二控制器芯片发送第二指令,第二控制器芯片接收第二指令之后,读取第一控制器芯片中寄存器的值,得到第一设备指定的那组电源能力参数,然后按照第一设备指定的那组电源能力参数向第一设备提供电能。
例如,在第二控制器芯片作为电源、第一设备作为负载的情况下,第二控制器芯片作为电源具有以下3组电源能力参数,第一组、电压3v,功率3mw;第二组、电压2v,功率3mw;第三组、电压5v,功率4mw。第一控制器芯片将自身第一寄存器的值初始化为3组电源能力参数。第一控制器芯片将3组电源能力参数发送给第一设备,假定第一设备指定了第一组电源能力参数,第一设备向第一控制器芯片发送第四指令,第四指令中携带了第一组电源能力参数,在第一控制器芯片接收第一设备发送的第四指令之后,第一控制器芯片将自身的第二寄存器的值设置为第一组电源能力参数。第一控制器芯片向第二控制器芯片发送第二指令,第二控制器芯片接收第二指令之后,读取第一控制器芯片中第二寄存器的值,得到第一组电源能力参数,然后按照第一组电源能力参数向第一设备提供电能,即,在第二控制器芯片作为电源、第一设备作为负载的情况下,第二控制器芯片输出的电压为3v,功率为3mw。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的通信方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的通信方法。
根据本发明实施例,还提供了一种USB Type C控制器芯片。本发明实施例提供的USB Type C控制器芯片包括三部分主要的功能,第一部分为USB Type C接口的USB PD通信的物理层,第二部分是芯片内部嵌入一个MCU来实现USB PD通信流程及时序控制,第三部分具有I2C Slave接口,通过该I2C接口可以实现主控芯片对该USB Type C控制器芯片的配置。
图2是根据本发明实施例的系统连接图,从图2中可以看到,USB Type C控制器应用系统包括主控制器1#和USB Type C控制器2#,在USB Type C设备3#与USB Type C控制器2#之间通过USB Type C的CC线进行USB PD通信,在USB Type C控制器2#与主控制器1#之间通过I2C进行通信。
在现有技术中,Google的控制器的应用需要一个额外的没有操作系统的嵌入式ARM处理器来完成USB PD通信,并要求I2C速度为1MHz,否则无法按照USB PD协议完成通信。而采用本发明实施例提供的方法后,I2C速度可以最低100KHz,使得对I2C速度的需求大大降低。
USB Type C控制器芯片(2#)提供一组空白寄存器(第一寄存器和第二寄存器)。主控制器芯片(1#)可以通过I2C操作寄存器与其内部的MCU进行通信,对USB Type C控制器芯片2#进行初始化设定,然后USB Type C控制器内嵌MCU根据初始化值完成USB PD通信协议,最后将结果告知主控制器芯片1#,主控制器芯片1#完成电源的控制和管理,从而避免了由于主控制器响应慢导致通信失败的问题。
下面对主控制器芯片(1#)作为电源的消耗者(负载)和主控制器芯片(1#)作为电源的提供者这两种情况分别进行说明。
一、主控制器芯片(1#)作为电源的消耗者。
在主控制器芯片(1#)作为电源的消耗者的情况下,时序控制图如图3所示。
USB C控制器芯片(2#)提供5个寄存器,这5个寄存器分别用于存储最大电压Vmax、最大功率Pmax、最小功率Pmin、请求电压Vr、请求功率Pr。
最大电压Vmax是电源消耗者能够承受的最大电压。最大功率Pmax是电源消耗者能够承受的最大功耗。最小功率Pmin是电源消耗者最小请求的功耗。请求电压Vr是USB TypeC控制器芯片向电源提供者(3#)请求的电压。请求功率Pr是USB Type C控制器芯片向电源提供者(3#)请求的功率。在主控制器芯片(1#)作为电源的消耗者的情况下,USB PD的通信过程包括下面步骤(1)至步骤(6)。
步骤(1)主控制芯片1#给USB Type C控制器芯片2#上电后,100毫秒内完成Vmax,Pmax,Pmin寄存器初始化,即,将最大电压Vmax、最大功率Pmax、最小功率Pmin分别写入对应的寄存器中。
步骤(2)USB Type C控制器2#通过USB PD通信得知USB Type C设备3#的电源能力。
步骤(3)USB Type C控制器2#遍历所有的USB Type C设备3#的电源能力,选择出合适的选项,选择原则如下:首先比较是否超过最大电压Vmax,如果超过则不选则该项,如果不超过,选择3#电源能力中可以达到最大功率Pmax的电源能力选项作为请求电源;如果没有可以达到最大功率Pmax时,选择最接近的电源能力选项作为最终的电源请求;如果有多个功率可选时,选择电压低的电源能力选项作为最终的电源请求;如果最终选择的功率小于Pmin时,最终的电源请求数据中配置Mismatch比特。
步骤(4)USB Type C控制器2#把最终选择的电压能力值写入寄存器Vr与Pr。
步骤(5)USB Type C控制器2#发起一个中断pin信号,通知主控制器芯片1#。
步骤(6)主控制器芯片1#读取Vr与Pr,然后驱动电源管理模块接收3#设备提供的电源。
二、主控制器芯片(1#)作为电源的提供者。
在主控制器芯片(1#)作为电源的提供者的情况下,时序控制图如图4所示。
USB C控制器芯片(2#)提供12个寄存器,其中,8个寄存器的来传递主控制器芯片1#作为电源提供者的能力,4个寄存器来传递电源消耗者(USB Types设备3#)的请求。在主控制器芯片(1#)作为电源的提供者的情况下,USB PD的通信过程包括下面步骤(1)至步骤(6)。
步骤(1)主控制芯片1#给USB Type C控制器芯片2#上电后,100毫秒内完成寄存器初始化。
步骤(2)第一阶段USB PD通信,USB Type C控制器2#通过USB PD通信将电源能力告知USB Type C设备3#,USB Type C设备3#据此选择合适电源请求。
步骤(3)USB Type C控制器2#将相应的电源请求写入寄存器。
步骤(4)USB Type C控制器2#发起一个中断信号,通知主控制器芯片1#。
步骤(5)要求主控制器芯片1#在15毫秒到400毫秒内读取电源请求,并驱动电源管理模块提供的电源给3#。
步骤(6)USB Type C控制器2#继续完成第二阶段的USB PD通信,告知USB Type C设备3#电源已提供。
根据本发明实施例,还提供了一种通信装置。该通信装置可以执行上述通信方法,上述通信方法也可以通过该通信装置实施。
图5是根据本发明实施例的通信装置的示意图。如图5所示,该装置包括接收单元10、通信单元20、发送单元30。
接收单元10,用于接收第二控制器芯片发送的第一指令,其中,第一指令携带了第二控制器芯片作为电源的第一参数或者第二控制器芯片作为负载的第二参数。
通信单元20,用于根据第一指令中携带的参数,与第一设备通信。
发送单元30,用于向第二控制器芯片发送第二指令,其中,第二指令用于指示第二控制器芯片与第一设备进行电力传输。
可选地,第一指令携带了第二参数,通信单元20包括获取子单元、判断子单元。获取子单元,用于获取用于指示第一设备的供电能力的第三参数。判断子单元,用于判断第三参数与第二参数之间的大小关系是否满足第一预设条件。发送单元30包括第一发送子单元。第一发送子单元,用于如果判断子单元判断出第三参数与第二参数之间的大小关系满足第一预设条件,向第二控制器芯片发送第二指令。
可选地,第一设备有多个,第一指令还携带了将第一寄存器和第二寄存器进行初始化的信息,第二指令还用于指示第二控制器芯片读取第二寄存器的值。装置还包括第一初始化单元、第一设置单元。第一初始化单元,用于在获取子单元获取用于指示第一设备的供电能力的第三参数之前,根据第一指令将第一寄存器的值初始化为第二参数。第一设置单元,用于在判断子单元判断出第三参数与第二参数之间的大小关系满足第一预设条件之后,将第二寄存器的值设置为第三参数。
可选地,第一指令携带了第一参数。通信单元20包括第二发送子单元、接收子单元。第二发送子单元,用于将第一参数发送给第一设备。接收子单元,用于接收第一设备发送的第四指令,其中,第四指令中携带了第一设备根据第一参数指定的电源能力参数。
可选地,装置还包括第二初始化单元、第二设置单元。第二初始化单元,用于在第二发送子单元将第一参数发送给第一设备之前,将第一寄存器的值初始化为第一参数。第二设置单元,用于在接收子单元接收第一设备发送的第四指令之后,将第二寄存器的值设置为电源能力参数。
根据本发明实施例,还提供了一种控制器芯片。该控制器芯片包括上述通信装置。
图6是根据本发明实施例的控制器芯片的示意图。如图6所示,该控制器芯片60包括MCU602、物理层604、接口606。
MCU602用于实现通信流程和时序的控制。物理层604与MCU602和接口606分别相连接,物理层604用于进行通信。接口606与物理层604相连接,物理层604通过接口606与其他控制器芯片进行通信。
在本发明实施例中,主控制器芯片向控制器芯片60发送第一指令,控制器芯片60根据第一指令中携带的参数与第一设备通信,然后控制器芯片60向主控制器芯片发送第二指令,当第二控制器芯片接收到第二指令后,第二控制器芯片与第一设备进行电力传输,在这个过程中,由控制器芯片60与第一设备通信,然后控制器芯片60将通信结果发送给第二控制器芯片,第二控制器芯片响应时间长不会对控制器芯片60与第一设备通信造成影响,能够满足USB PD通信协议规定的通信时序,因此,能够通信成功,解决了现有技术中由于主控制器芯片响应时间长造成的USB PD通信失败,达到了成功进行USB PD通信的技术效果。
可选地,接口606为I2C接口。
可选地,接口606传输数据的速度最低为100KHz。在现有技术中,Google的控制器的应用需要一个额外的没有操作系统的嵌入式ARM处理器来完成USB PD通信,并要求I2C速度为1MHz,否则无法按照USB PD协议完成通信。而采用本发明实施例提供的控制器芯片后,I2C速度可以最低100KHz,使得对I2C速度的需求大大降低。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种通信方法,其特征在于,包括:
第一控制器芯片接收第二控制器芯片发送的第一指令,其中,所述第一指令携带了所述第二控制器芯片作为电源的第一参数或者所述第二控制器芯片作为负载的第二参数;
所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信;
所述第一控制器芯片向所述第二控制器芯片发送第二指令,其中,所述第二指令用于指示所述第二控制器芯片与所述第一设备进行电力传输;
其中,所述第一参数表示所述第二控制器芯片的供电能力,所述第二参数表示所述第二控制器芯片能够承受的最大电压和最大功率;
其中,所述第一指令携带了所述第二参数,
所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信包括:
所述第一控制器芯片获取用于指示所述第一设备的供电能力的第三参数;
所述第一控制器芯片判断所述第三参数与所述第二参数之间的大小关系是否满足第一预设条件;
所述第一控制器芯片向所述第二控制器芯片发送第二指令包括:
如果所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件,所述第一控制器芯片向所述第二控制器芯片发送所述第二指令;
或者,所述第一指令携带了所述第一参数,
所述第一控制器芯片根据所述第一指令中携带的参数,与第一设备通信包括:
所述第一控制器芯片将所述第一参数发送给所述第一设备;
所述第一控制器芯片接收所述第一设备发送的第四指令,其中,所述第四指令中携带了所述第一设备根据所述第一参数指定的电源能力参数。
2.根据权利要求1所述的方法,其特征在于,所述第一设备有多个,所述第一指令还携带了将所述第一控制器芯片中的寄存器进行初始化的信息,所述寄存器包括第一寄存器和第二寄存器,所述第二指令还用于指示所述第二控制器芯片读取所述第二寄存器的值,
在所述第一控制器芯片获取用于指示所述第一设备的供电能力的第三参数之前,所述方法还包括:
所述第一控制器芯片根据所述第一指令将所述第一寄存器的值初始化为所述第二参数,
在所述第一控制器芯片判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件之后,所述方法还包括:
所述第一控制器芯片将所述第二寄存器的值设置为所述第三参数。
3.根据权利要求1所述的方法,其特征在于,所述第一控制器芯片中包括第一寄存器和第二寄存器,在所述第一控制器芯片将所述第一参数发送给所述第一设备之前,所述方法还包括:
所述第一控制器芯片将所述第一寄存器的值初始化为所述第一参数,
在所述第一控制器芯片接收所述第一设备发送的第四指令之后,所述方法还包括:
所述第一控制器芯片将所述第二寄存器的值设置为所述电源能力参数。
4.一种通信装置,其特征在于,包括:
接收单元,用于接收第二控制器芯片发送的第一指令,其中,所述第一指令携带了所述第二控制器芯片作为电源的第一参数或者所述第二控制器芯片作为负载的第二参数;
通信单元,用于根据所述第一指令中携带的参数,与第一设备通信;
发送单元,用于向所述第二控制器芯片发送第二指令,其中,所述第二指令用于指示所述第二控制器芯片与所述第一设备进行电力传输;
其中,所述第一参数表示所述第二控制器芯片的供电能力,所述第二参数表示所述第二控制器芯片能够承受的最大电压和最大功率;
其中,所述第一指令携带了所述第二参数,
所述通信单元包括:
获取子单元,用于获取用于指示所述第一设备的供电能力的第三参数;
判断子单元,用于判断所述第三参数与所述第二参数之间的大小关系是否满足第一预设条件;
所述发送单元包括:
第一发送子单元,用于如果所述判断子单元判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件,向所述第二控制器芯片发送所述第二指令;
或者,所述第一指令携带了所述第一参数,
所述通信单元包括:
第二发送子单元,用于将所述第一参数发送给所述第一设备;
接收子单元,用于接收所述第一设备发送的第四指令,其中,所述第四指令中携带了所述第一设备根据所述第一参数指定的电源能力参数。
5.根据权利要求4所述的装置,其特征在于,所述第一设备有多个,所述第一指令还携带了将第一寄存器和第二寄存器进行初始化的信息,所述第二指令还用于指示所述第二控制器芯片读取所述第二寄存器的值,
所述装置还包括:
第一初始化单元,用于在所述获取子单元获取用于指示所述第一设备的供电能力的第三参数之前,根据所述第一指令将所述第一寄存器的值初始化为所述第二参数,
第一设置单元,用于在所述判断子单元判断出所述第三参数与所述第二参数之间的大小关系满足所述第一预设条件之后,将所述第二寄存器的值设置为所述第三参数。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第二初始化单元,用于在所述第二发送子单元将所述第一参数发送给所述第一设备之前,将第一寄存器的值初始化为所述第一参数,
第二设置单元,用于在所述接收子单元接收所述第一设备发送的第四指令之后,将第二寄存器的值设置为所述电源能力参数。
7.一种控制器芯片,其特征在于,所述控制器芯片应用于上述权利要求1所述的通信方法,包括:
MCU,所述MCU用于实现通信流程和时序的控制;
物理层,所述物理层与所述MCU和接口相连接,所述物理层用于进行通信;
接口,所述接口与所述物理层相连接,所述物理层通过所述接口与其他控制器芯片进行通信。
8.根据权利要求7所述的控制器芯片,其特征在于,所述接口为I2C接口。
9.根据权利要求7所述的控制器芯片,其特征在于,所述接口传输数据的速度最低为100KHz。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求3中任意一项所述的通信方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求3中任意一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704189.1A CN106354676B (zh) | 2016-08-22 | 2016-08-22 | 通信方法和装置、控制器芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704189.1A CN106354676B (zh) | 2016-08-22 | 2016-08-22 | 通信方法和装置、控制器芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354676A CN106354676A (zh) | 2017-01-25 |
CN106354676B true CN106354676B (zh) | 2019-10-22 |
Family
ID=57845050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610704189.1A Active CN106354676B (zh) | 2016-08-22 | 2016-08-22 | 通信方法和装置、控制器芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354676B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202737491U (zh) * | 2012-05-24 | 2013-02-13 | 惠州市尚联达电子有限公司 | 一种自动调节匹配输出电压的移动电源 |
CN205489659U (zh) * | 2016-02-29 | 2016-08-17 | 深圳市工宇科技有限公司 | 具有type-c接口的移动电源 |
-
2016
- 2016-08-22 CN CN201610704189.1A patent/CN106354676B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202737491U (zh) * | 2012-05-24 | 2013-02-13 | 惠州市尚联达电子有限公司 | 一种自动调节匹配输出电压的移动电源 |
CN205489659U (zh) * | 2016-02-29 | 2016-08-17 | 深圳市工宇科技有限公司 | 具有type-c接口的移动电源 |
Also Published As
Publication number | Publication date |
---|---|
CN106354676A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106063076B (zh) | 电源适配器、终端和充电系统 | |
CN105896655B (zh) | 用于为电子设备充电的方法和电子设备 | |
CN101673101B (zh) | 一种在线编程的fpga可重构装置 | |
KR20120106742A (ko) | 자동 및 제어가능한 시스템 동작 | |
CN105896679B (zh) | 一种充电控制方法以及应用该方法的电子设备 | |
CN106537723B (zh) | 快速充电方法、移动终端和适配器 | |
CN107516919B (zh) | 一种充电方法及充电器 | |
CN105827023B (zh) | 一种终端间的无线充电方法及终端 | |
CN107529211B (zh) | 一种无线通信系统及方法 | |
CN108667094A (zh) | 通信方法、电源适配器和终端 | |
CN105762883B (zh) | 用于为电子设备充电的方法和电子设备 | |
CN109842428A (zh) | 一种WiFi芯片及自适应方法 | |
CN108399136A (zh) | 一种串行接口的控制方法、装置及主机 | |
CN109217419A (zh) | 快速充电系统及方法 | |
CN108647131A (zh) | 运行日志的输出系统 | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN106354676B (zh) | 通信方法和装置、控制器芯片 | |
CN108880006A (zh) | 无线充电设备供电电压的调整方法及无线充电发射、接收装置 | |
CN107919717A (zh) | 终端、充电装置以及充电系统 | |
CN105978970A (zh) | 选择控制模式的方法及装置 | |
CN107748669B (zh) | 一种软件升级装置 | |
CN105446912A (zh) | 一种cpu通过hsic总线接口控制wifi模块的方法及装置 | |
CN106055062B (zh) | 一种usb接口的充电管理方法以及电子设备 | |
CN106982156B (zh) | 优先级设置方法、装置、通信系统、设备及可读存储介质 | |
CN106488429A (zh) | 客户识别模块sim卡的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |