CN116742763B - 快充协议芯片、由其执行的方法以及电子设备 - Google Patents
快充协议芯片、由其执行的方法以及电子设备 Download PDFInfo
- Publication number
- CN116742763B CN116742763B CN202311016308.0A CN202311016308A CN116742763B CN 116742763 B CN116742763 B CN 116742763B CN 202311016308 A CN202311016308 A CN 202311016308A CN 116742763 B CN116742763 B CN 116742763B
- Authority
- CN
- China
- Prior art keywords
- data
- target value
- parameters
- baud rate
- protocol chip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 34
- 230000006978 adaptation Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006854 communication Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/00032—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
- H02J7/00045—Authentication, i.e. circuits for checking compatibility between one component, e.g. a battery or a battery charger, and another component, e.g. a power source
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/00032—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
- H02J7/00034—Charger exchanging data with an electronic device, i.e. telephone, whose internal battery is under charge
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Communication Control (AREA)
Abstract
本申请提供了快充协议芯片、由其执行的方法以及电子设备。快充协议芯片包括数据接收端子、波特率自检测模块、波特率自适应模块、以及数据接收模块。数据接收端子被配置为接收基于快充协议的数据包。波特率自检测模块被配置为检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。波特率自适应模块被配置为基于来自波特率自检测模块的一个或多于一个参数的值,确定为了对数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值。数据接收模块被配置为基于来自波特率自适应模块的每比特的持续时间的目标值,对数据接收端子接收的数据进行解码。
Description
技术领域
本公开涉及充电领域,并且更具体地涉及一种快充协议芯片、由其执行的方法以及电子设备。
背景技术
现今的充电电源已经普遍支持各种通用串行总线(USB)快充协议。例如,超级充电协议(SCP)主要通过USB A/B/C三种类型的接口进行协议握手和对设备进行充放电。一般的电源管理主控芯片往往需要适配各种类型的快充设备(例如,手机、平板电脑、等等)所进行的SCP协议通信。SCP协议通过复用USB接口的数据正信号(D+,也被称为DP)和数据负信号(D-,也被称为DM)引脚,来实现终端与充电器之间的协议通信。该协议包含奇偶校验和循环冗余校验(CRC),用于验证终端与充电器之间传输的所有数据。物理层关于每个数据位的持续时间(或每比特的持续时间)即UI(unit interval)的时间标准是160μs,且接收容差最高为23%。
发明内容
本部分被提供以便以简化的形式介绍下面在具体实施方式部分中进一步描述的概念的选集。本部分并非旨在确定所要求保护的主题的必要特征,也并非旨在限制所要求保护的主题的范围。
本公开的目的之一是提供一种改进的快充协议芯片。特别地,本公开所要解决的技术问题之一是现有的快充充电器或充电电源在接收到的数据包的每比特的持续时间(UI)超过协议规定的标准容差时,会出现数据接收出错从而导致通信失败。本公开所要解决的另一技术问题是在现有的快充充电器或充电电源中,为了保证在UI的标准接收容差范围内能正确接收数据,需要使用高频时钟保证其计时步进精度,使得整个数据接收模块工作在高频时钟域,从而增大其动态功耗。
根据本公开的第一方面,提供了一种快充协议芯片。所述快充协议芯片包括:数据接收端子,波特率自检测模块,波特率自适应模块,以及数据接收模块。所述数据接收端子被配置为接收基于快充协议的数据包。所述波特率自检测模块被配置为检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。所述波特率自适应模块被配置为基于来自所述波特率自检测模块的所述一个或多于一个参数的值,确定为了对所述数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值。所述数据接收模块被配置为基于来自所述波特率自适应模块的所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码。
根据上述第一方面,即使接收到的数据包的UI超过协议规定的标准容差,快充协议芯片也能够使用自适应调整的UI来对数据包进行解码,从而提高数据接收的正确率。
在本公开的一个实施例中,所述波特率自适应模块被实现为中断处理子模块和处理器。所述中断处理子模块被配置为响应于所述一个或多于一个参数的值被所述波特率自检测模块检测,向所述快充协议芯片中包含的所述处理器发出中断请求。所述处理器被配置为响应于所述中断请求,从所述波特率自检测模块读取所述一个或多于一个参数的值,并执行程序指令以基于所述一个或多于一个参数的值确定所述每比特的持续时间的目标值。
在本公开的一个实施例中,所述波特率自适应模块被实现为波特率自适应电路,其被配置为基于所述一个或多于一个参数的值确定所述每比特的持续时间的目标值。
在本公开的一个实施例中,所述波特率自检测模块被配置为使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值。所述第一频率低于预定参考时钟的频率。所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使所述数据接收模块能够以高于预定概率的概率成功解码所接收的数据。所述数据接收模块被配置为使用所述第一时钟工作。
在本公开的一个实施例中,所述数据接收模块被配置为针对初始接收的数据使用所述预定参考时钟工作,以及针对后续接收的数据使用所述第一时钟工作。
在本公开的一个实施例中,所述第一频率选自100 KHz至200 KHz的范围。
在本公开的一个实施例中,所述每比特的持续时间的目标值被确定为等于下述之一:所述一个参数的值;所述一个参数的值与预定因子的乘积;以及所述多于一个参数的值中的至少一部分的加权平均值。
在本公开的一个实施例中,所述波特率自适应模块被配置为基于所述一个或多于一个参数的值、以及在上一次操作循环中确定的每比特的持续时间的目标值,确定用于当前操作循环的每比特的持续时间的目标值。
在本公开的一个实施例中,用于当前操作循环的每比特的持续时间的目标值被确定为等于以下两者的加权平均值:在上一次操作循环中确定的每比特的持续时间的目标值;以及所述一个或多于一个参数的值中的至少一部分。
在本公开的一个实施例中,所述数据包包括下述中的一个或多个:ping包;以及普通数据包。
在本公开的一个实施例中,所述一个或多于一个参数包括以下参数中的一个或多个:所述ping包的时间长度;所述普通数据包的每比特的持续时间的最大值;以及所述普通数据包的每比特的持续时间的最小值。
在本公开的一个实施例中,所述数据接收端子是下述中的一者:通用串行总线A型(USB-A)接口的数据正信号(DP)引脚和数据负信号(DM)引脚;通用串行总线B型(USB-B)接口的DP引脚和DM引脚;以及通用串行总线C型(USB-C)接口的DP引脚和DM引脚。
在本公开的一个实施例中,所述快充协议是以下协议之一:超级充电协议(SCP);以及融合快充协议(UFCS)。
根据本公开的第二方面,提供了一种电子设备,其包括根据上述第一方面所述的快充协议芯片。
在本公开的一个实施例中,所述电子设备是下述之一:充电器;充电电源;以及可充电的终端设备。
根据本公开的第三方面,提供了一种由快充协议芯片执行的方法。所述方法包括:由所述快充协议芯片的数据接收端子接收基于快充协议的数据包。所述方法还包括:检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。所述方法还包括:基于所述一个或多于一个参数的值,确定为了对所述数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值。所述方法还包括:基于所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码。
在本公开的一个实施例中,使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值。所述第一频率低于预定参考时钟的频率。所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使数据解码步骤能够以高于预定概率的概率成功解码所接收的数据。基于所述每比特的持续时间的目标值,使用所述第一时钟对所述数据接收端子接收的数据进行解码。
在本公开的一个实施例中,针对初始接收的数据使用所述预定参考时钟对所述初始接收的数据进行解码,并且针对后续接收的数据使用所述第一时钟对所述后续接收的数据进行解码。
在本公开的一个实施例中,所述第一频率选自100 KHz至200 KHz的范围。
在本公开的一个实施例中,所述每比特的持续时间的目标值被确定为等于下述之一:所述一个参数的值;所述一个参数的值与预定因子的乘积;以及所述多于一个参数的值中的至少一部分的加权平均值。
在本公开的一个实施例中,基于所述一个或多于一个参数的值、以及在上一次操作循环中确定的每比特的持续时间的目标值,确定用于当前操作循环的每比特的持续时间的目标值。
在本公开的一个实施例中,用于当前操作循环的每比特的持续时间的目标值被确定为等于以下两者的加权平均值:在上一次操作循环中确定的每比特的持续时间的目标值;以及所述一个或多于一个参数的值中的至少一部分。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例的附图作简单介绍。明显地,以下附图中的结构示意图不一定按比例绘制,而是以简化形式呈现各特征。而且,以下附图仅仅涉及本公开的一些实施例,而并非对本公开进行限制。
图1是用于说明UI变化对数据接收的影响的图;
图2是示出根据本公开的实施例的快充协议芯片的框图;
图3是示出根据SCP协议进行的示例性通信过程的时序图;
图4是示出图2的快充协议芯片的一种示例性实现方案的框图;
图5是示出图2的快充协议芯片的另一种示例性实现方案的框图;
图6是示出根据本公开的实施例的电子设备的框图;
图7是示出根据本公开的实施例的由快充协议芯片执行的方法的流程图;以及
图8是示出根据本公开的实施例的由快充协议芯片执行的方法的流程图。
具体实施方式
为了解释的目的,在下面的描述中阐述了一些细节以便提供所公开的实施例的彻底理解。然而,对于本领域技术人员来说明显的是,可以在没有这些具体细节的情况下或者利用等效配置来实现所述实施例。
在现有的快充充电器或充电电源中,为了保证在SCP协议规定的每比特的持续时间(UI)的标准接收容差范围内能正确接收数据,需要使用高频(例如,2 MHz或更高频率)的时钟以保证其计时步进精度,使得整个数据接收(RX)模块工作在高频时钟域。这会增大数字接收控制器部分的动态功耗。另外,某些被充电的设备在特定工作条件(例如,电池电压较低,或环境温度变化)下会使其发出的数据包的UI超出或逼近协议规定的标准容差。这会加大快充充电器或充电电源的快充协议芯片(或包含快充协议芯片的电源管理芯片)数据接收出错的概率从而导致通信失败。例如,图1示出一个示例性的示例以说明UI变化对数据接收的影响。在图1中,假设被充电的设备由于电池电压较低而导致发出的数据包的UI为190μs,而快充充电器或充电电源仍然采用160μs的UI来对该数据包进行解码。那么,原本是“111100110…”的数据包将被快充充电器或充电电源解读为“11111001110…”,从而导致数据接收出错。
本公开提供了一种改进的快充协议芯片、由其执行的方法以及电子设备。在下文中,将参考附图,对本公开的实施例进行详细描述。
图2是示出根据本公开的实施例的快充协议芯片的框图。如图所示,快充协议芯片20包括:数据接收端子21,波特率自检测模块22,波特率自适应模块23,以及数据接收模块24。
数据接收端子21被配置为接收基于快充协议的数据包。作为示例性示例,快充协议可以是以下协议之一:超级充电协议(SCP);以及融合快充协议(UFCS)。应注意的是,本公开并不限于这些示例,并且本公开的原理可以适用于任何对UI有规定或要求的快充协议。所接收的基于快充协议的数据包可以包括下述中的一个或多个:ping包;以及普通数据包。术语ping是指因特网包探索器(packet Internet groper)。
作为示例性示例,数据接收端子可以是下述中的一者:通用串行总线A型(USB-A)接口的数据正信号(DP)引脚和数据负信号(DM)引脚;通用串行总线B型(USB-B)接口的DP引脚和DM引脚;以及通用串行总线C型(USB-C)接口的DP引脚和DM引脚。
波特率自检测模块22被配置为检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。波特率是指单位时间内传送的码元符号的个数。在每个码元符号代表一个二进制数字时,波特率与比特率相等。每比特的持续时间(或比特数据的持续时间)也被称为UI(unit interval),其等于1除以比特率所得的商。
作为第一示例,所述一个或多于一个参数可以是ping包的时间长度,此时被检测的数据包是ping包。例如,在SCP协议中,一个ping包由16比特组成。因此,通过将ping包的时间长度除以16,可以得到每比特的持续时间。因此,ping包的时间长度能够反映每比特的持续时间的大小。
作为第二示例,所述一个或多于一个参数可以是普通数据包的每比特的持续时间的最大值,此时被检测的数据包是普通数据包。作为第三示例,所述一个或多于一个参数可以是普通数据包的每比特的持续时间的最小值,此时被检测的数据包是普通数据包。对于第二示例和第三示例,波特率自检测模块22可以通过检测普通数据包中与单个0或1对应的低电平脉冲或高电平脉冲的持续时间,来获得相应比特的持续时间,从而得到每比特的持续时间的最大值/最小值。
在上述第一、第二和第三示例中,所检测的参数的值可以存储在例如寄存器中。在第一示例中,该寄存器可以被称为例如T_PING寄存器。在第二示例中,该寄存器可以被称为例如UI_MAX寄存器。在第三示例中,该寄存器可以被称为例如UI_MIN寄存器。
作为第四示例,所述一个或多于一个参数可以包括上面提到的三个参数中的两个或更多个。应注意的是,即使当前数据包的接收出错,由于关于UI的检测结果仍然是有参考价值的,所以波特率自检测模块22可以依旧正常工作从而提供有效的统计数据参考。
波特率自适应模块23被配置为基于来自波特率自检测模块22的所述一个或多于一个参数的值,确定为了对数据接收端子21接收的数据进行解码所需要采用的每比特的持续时间的目标值。
在上述第一示例中,所述一个或多于一个参数是ping包的时间长度。也就是说,所述一个参数是ping包的时间长度。在这种情况下,每比特的持续时间的目标值可以被确定为等于ping包的时间长度的值与预定因子的乘积。该预定因子可以等于ping包所包含的比特数的倒数。对于SCP协议的示例,该预定因子是1/16。假设每比特的持续时间的目标值可以被表示为T(UI)。那么,对于SCP协议的该示例,其对应的自适应策略可以被表示为:T(UI)= T_PING/16。
在上述第二示例中,所述一个或多于一个参数是普通数据包的每比特的持续时间的最大值。也就是说,所述一个参数是普通数据包的每比特的持续时间的最大值。在这种情况下,每比特的持续时间的目标值可以被确定为等于所述一个参数的值。其对应的自适应策略可以被表示为:T(UI) = UI_MAX。
在上述第三示例中,所述一个或多于一个参数是普通数据包的每比特的持续时间的最小值。也就是说,所述一个参数是普通数据包的每比特的持续时间的最小值。在这种情况下,每比特的持续时间的目标值可以被确定为等于所述一个参数的值。其对应的自适应策略可以被表示为:T(UI) = UI_MIN。
在上述第四示例中,所述一个或多于一个参数包括上面提到的三个参数中的两个或更多个。也就是说,所述多于一个参数是上面提到的三个参数中的两个或更多个。在这种情况下,每比特的持续时间的目标值可以被确定为等于所述多于一个参数的值中的至少一部分的加权平均值。作为示例性的示例,可以使用以下自适应策略中的任何一个:
T(UI) = (T_PING + UI_MAX + UI_MIN)/18;
T(UI) = (UI_MAX + UI_MIN)/2;
T(UI) = (T_PING/16 + UI_MAX)/2;
T(UI) = (T_PING/16 + UI_MIN)/2。
可选地,波特率自适应模块23可以被配置为基于所述一个或多于一个参数的值、以及在上一次操作循环中确定的每比特的持续时间的目标值,确定用于当前操作循环的每比特的持续时间的目标值。例如,用于当前操作循环的每比特的持续时间的目标值可以被确定为等于以下两者的加权平均值:在上一次操作循环中确定的每比特的持续时间的目标值;以及所述一个或多于一个参数的值中的至少一部分。作为示例性的示例,可以使用以下自适应策略中的任何一个:
T(UI) = (2*T(UI) + UI_MAX + UI_MIN)/4;
T(UI) = (2*T(UI) +T_PING/8)/4;
T(UI) = (T(UI) + UI_MAX)/2;
T(UI) = (T(UI) + UI_MIN)/2;
T(UI) = (2*T(UI) + UI_MAX + UI_MIN + T_PING/8)/6;
T(UI) = (T(UI) + UI_MAX + T_PING/8)/4;
T(UI) = (T(UI) + UI_MIN + T_PING/8)/4。
在上面的等式中,等式右边的T(UI)是在上一次操作循环中确定的每比特的持续时间的目标值,等式左边的T(UI)是用于当前操作循环的每比特的持续时间的目标值。由于通过多次迭代来进行逼近拟合,所以可以得到更准确的UI的目标值。
数据接收模块24被配置为基于来自波特率自适应模块23的所述每比特的持续时间的目标值,对数据接收端子21接收的数据进行解码。这里,被解码的数据接收端子21接收的数据可以指数据接收端子21接收的数据包。例如,在数据接收模块24最初开始工作时,可以使用默认的每比特的持续时间(例如,协议规定的UI)来对数据接收端子21接收的数据进行解码。一旦波特率自适应模块23确定了每比特的持续时间的目标值时,数据接收模块24就可以使用该目标值来对接下来需要解码的数据进行解码。随后,每当波特率自适应模块23更新每比特的持续时间的目标值时,数据接收模块24就可以使用该更新的目标值来对接下来需要解码的数据进行解码。这样,数据接收模块24所采用的UI目标值可以基本上同步地得到更新。在进行解码时,数据接收模块24可以以UI的目标值作为采样窗口来对接收到的数据进行采样(例如,取位于该采样窗口中部的时间点作为采样点)。
作为第一选项,波特率自检测模块22可以被配置为使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值。在这种情况下,第一时钟作为计时时钟(或计数时钟),所检测的一个或多于一个参数的值可以被表示为具有第一频率的时钟脉冲的个数。相应地,波特率自适应模块23确定的每比特的持续时间的目标值也可以被表示为具有第一频率的时钟脉冲的个数。进而,数据接收模块24可以被配置为使用所述第一时钟工作。也就是说,基于来自波特率自适应模块23的所述每比特的持续时间的目标值,使用所述第一时钟对数据接收端子21接收的数据进行解码。
第一频率低于预定参考时钟的频率。所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使数据接收模块24能够以高于预定概率(例如90%)的概率成功解码所接收的数据。预定参考时钟的频率可以是例如2 MHz或更高频率,其是现有的数据接收模块为了确保在标准接收容差范围内能正确接收数据而通常使用的时钟频率。
数据接收模块24可以始终使用所述第一时钟工作。在对初始接收的数据进行解码时,由于此时UI的目标值尚未通过检测方式确定,所以此时可以基于协议规定的UI来对初始接收的数据进行解码。由于使用所述第一时钟工作,所以协议规定的UI被表示为具有第一频率的时钟脉冲的个数。在对后续接收的数据进行解码时,由于UI的目标值已通过检测方式确定,所以此时可以基于UI的目标值(其被表示为具有第一频率的时钟脉冲的个数)来对后续接收的数据进行解码。
可替代地,数据接收模块24可以被配置为针对初始接收的数据使用所述预定参考时钟工作,以及针对后续接收的数据使用所述第一时钟工作。在对初始接收的数据进行解码时,由于此时UI的目标值尚未通过检测方式确定,所以此时可以基于协议规定的UI来对初始接收的数据进行解码。由于使用所述预定参考时钟工作,所以协议规定的UI被表示为具有预定参考时钟的频率的时钟脉冲的个数。在对后续接收的数据进行解码时,由于UI的目标值已通过检测方式确定,所以此时可以基于UI的目标值(其被表示为具有第一频率的时钟脉冲的个数)来对后续接收的数据进行解码。与数据接收模块24始终使用所述第一时钟工作的方案相比,该方案由于针对初始接收的数据使用所述预定参考时钟工作,所以能够提高对初始接收数据的解码成功概率。
对于第一选项,由于数据接收模块使用频率低于预定参考时钟的第一时钟工作,所以能够降低数据接收模块的动态功耗。作为示例性示例,第一频率选自100 KHz至200KHz的范围。在现有方案通常采用的预定参考时钟的频率为2 MHz的情况下,该示例性示例可以使数据接收模块的动态功耗下降到现有方案的1%左右。
作为第二选项,波特率自检测模块22可以被配置为使用所述预定参考时钟,检测所述一个或多于一个参数的值。在这种情况下,预定参考时钟作为计时时钟(或计数时钟),所检测的一个或多于一个参数的值可以被表示为具有预定参考时钟的频率的时钟脉冲的个数。相应地,波特率自适应模块23确定的每比特的持续时间的目标值也可以被表示为具有预定参考时钟的频率的时钟脉冲的个数。进而,数据接收模块24可以被配置为使用预定参考时钟工作。也就是说,基于来自波特率自适应模块23的所述每比特的持续时间的目标值,使用预定参考时钟对数据接收端子21接收的数据进行解码。
在上述快充协议芯片20中,不论是第一选项还是第二选项,由于采用了比特率自检测模块22和比特率自适应模块23,即使接收到的数据包的UI超过协议规定的标准容差,快充协议芯片也能够使用自适应调整的UI来对数据包进行解码,从而提高数据接收的正确率,保证充放电进程顺利进行。
为了促进理解,现在将结合图3描述本公开的一个示例性实施例。图3是示出根据SCP协议进行的示例性通信过程的时序图。如图3所示,首先,主设备向从设备发送ping包。接着,从设备向主设备发送ping包作为回应。接着,主设备发送若干个翻转沿之间的持续时间为tB/4的脉冲(tB表示每比特的持续时间UI),表示传输开始。接着,主设备发送长度为8比特的字节0和长度为1比特的奇偶校验。接着,主设备又发送若干个翻转沿之间的持续时间为tB/4的脉冲,作为同步信号。接着,主设备发送长度为8比特的循环冗余校验CRC和长度为1比特的奇偶校验。接着,主设备又发送若干个翻转沿之间的持续时间为tB/4的脉冲,表示传输结束。最后,主设备向从设备发送ping包。应注意的是,在图3中为了简洁起见,仅示出一个字节(字节0)的传输。在有多个字节需要传输时,在各个字节的传输之间将间隔有若干个翻转沿之间的持续时间为tB/4的脉冲。在主设备发送的两个ping包之间的数据可以被称为一帧数据。
假设现有的数据接收模块使用标准的2MHz高频时钟对输入的数据信号进行接收解码。在本公开的该示例性实施例中,对于初始接收的第一帧数据,数据接收模块使用2MHz高频时钟工作。SCP协议规定的标准UI为160μs且接收容差最大为23%,因此UI的范围约为144μs~176μs。数据接收模块需要识别tB/4即UI/4的时间长度才能检测到数据包传输的启动。标准UI(160μs)的1/4对应的高频时钟脉冲的个数为40μs/0.5μs=80。在设置UI/4时间参数时,可以设置下限来提供冗余。例如,可以将UI/4设置为75以保证最低144μs也能正常接收。相应地,在对第一帧数据进行解码时,数据接收模块可以以75*4=300个高频时钟脉冲的长度作为采样窗口来对接收的数据进行采样。
在该示例性实施例中,波特率自检测模块使用200KHz的低频时钟工作。在数据接收模块正常接收第一帧数据时同步检测能够反映UI长度的参数。例如,可以使用200KHz的低频时钟脉冲,对第一帧数据所对应的ping包和数据包的相应参数进行计数。
在第一帧数据检测完毕后,波特率自适应模块可以根据波特率自检测模块的检测值确定UI的目标值。假设在200 KHz的低频时钟下所确定的UI的目标值为32。那么,UI/4的设置值将被更新为8。数据接收模块的工作频率从原来的高频时钟的2MHz被调整为低频时钟的200KHz,以便接收后续的数据。
这样,初始工作在2 MHz的数据接收模块能够被直接降频到200KHz,使整体的动态功耗降为约等于初始的1.25%。在该示例性实施例中,与每一帧数据对应的UI目标值都利用上一帧数据对应的UI目标值进行实时调整。即使发送方的UI发生较大容差的变化从而导致CRC校验出错,但是通过波特率自检测模块和波特率自适应模块可以根据实际的检测值对UI进行自适应调整。这样,在降低数据接收模块的动态功耗的同时能够保证接收数据的可靠性。
图4是示出图2的快充协议芯片的一种示例性实现方案的框图。如图3所示,快充协议芯片40包括数据接收端子21,波特率自检测模块22,中断处理子模块431,处理器432,以及数据接收模块24。因此,在该示例性实现方案中,图2的波特率自适应模块23被实现为中断处理子模块431和处理器432。处理器432的示例包括但不限于微控制单元(MCU)、数字信号处理器(DSP)、等等。
中断处理子模块431被配置为响应于所述一个或多于一个参数的值被波特率自检测模块22检测,向快充协议芯片40中包含的处理器432发出中断请求。该中断请求可以例如根据固件的初始化配置来产生。处理器432被配置为响应于中断请求,从波特率自检测模块22读取所述一个或多于一个参数的值,并执行程序指令以基于所述一个或多于一个参数的值确定每比特的持续时间的目标值。因此,该实现方案属于软件自适应方案。在处理器432的内核的带宽足够的情况下,可以采用该软件自适应方案。
图5是示出图2的快充协议芯片的另一种示例性实现方案的框图。如图5所示,快充协议芯片50包括数据接收端子21,波特率自检测模块22,波特率自适应电路53,以及数据接收模块24。因此,在该示例性实现方案中,图2的波特率自适应模块23被实现为波特率自适应电路53,其被配置为基于所述一个或多于一个参数的值确定每比特的持续时间的目标值。因此,该实现方案属于硬件电路自适应方案。该方案在快充协议芯片的处理器内核的带宽较为紧张的情况下依旧能够使得数据接收模块采用自适应调整的UI进行数据解码从而保证数据接收的正确率。
图6是示出根据本公开的实施例的电子设备的框图。如图所示,电子设备60包括上面描述的快充协议芯片20。应注意的是,快充协议芯片20并不限于仅被包含在充电器或充电电源中。作为另一示例性场景,与可充电的终端设备相连的充电电源诸如充电宝在充电电压不稳定的情况下,也可能会导致所发出的数据包的UI超出或逼近协议规定的标准容差。这会导致可充电的终端设备的数据接收出错。因此,快充协议芯片20也可以被包含在可充电的终端设备中。因此,电子设备60的示例包括但不限于:充电器,充电电源,可充电的终端设备,等等。可充电的终端设备的示例包括但不限于:移动电话,蜂窝电话,智能电话,平板电脑,个人数字助理(PDA),音乐存储和回放装置,便携式计算机,图像捕获设备(例如数码相机),游戏终端设备,可穿戴设备,等等。电子设备60的其它组成部分对于本领域技术人员而言可以是熟知的,因此在此省略其详细描述。
由于电子设备60包括快充协议芯片20,所以即使其接收到的数据包的UI超过协议规定的标准容差,电子设备也能够使用自适应调整的UI来对数据包进行解码,从而提高数据接收的正确率。另外,在快充协议芯片20的数据接收模块使用上述第一时钟工作的情况下,能够降低数据接收模块的动态功耗并进而降低电子设备的动态功耗。
图7是示出根据本公开的实施例的由快充协议芯片执行的方法的流程图。在步骤702,由快充协议芯片的数据接收端子接收基于快充协议的数据包。如前所述,所述数据包可以包括下述中的一个或多个:ping包;以及普通数据包。在步骤704,检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。如前所述,所述一个或多于一个参数可以包括以下参数中的一个或多个:所述ping包的时间长度;所述普通数据包的每比特的持续时间的最大值;以及所述普通数据包的每比特的持续时间的最小值。在步骤706,基于所述一个或多于一个参数的值,确定为了对所述数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值。例如,如前所述,每比特的持续时间的目标值可以被确定为等于下述之一:所述一个参数的值;所述一个参数的值与预定因子的乘积;以及所述多于一个参数的值中的至少一部分的加权平均值。在步骤708,基于所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码。由于检测每比特的持续时间并自适应地确定其目标值用于数据解码,所以即使接收到的数据包的UI超过协议规定的标准容差,快充协议芯片也能够使用自适应调整的UI来对数据包进行解码,从而提高数据接收的正确率。
可选地,在步骤704,可以使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值。所述第一频率低于预定参考时钟的频率。所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使数据解码步骤能够以高于预定概率的概率成功解码所接收的数据。在步骤708,基于所述每比特的持续时间的目标值,使用所述第一时钟对所述数据接收端子接收的数据进行解码。由于数据解码步骤使用频率低于预定参考时钟的第一时钟执行,所以能够降低数据解码步骤的动态功耗。作为示例性示例,第一频率选自100KHz至200 KHz的范围。在现有方案通常采用的预定参考时钟的频率为2 MHz的情况下,该示例性示例可以使数据解码步骤的动态功耗下降到现有方案的1%左右。
数据解码步骤可以始终使用所述第一时钟执行。可替代地,可以针对初始接收的数据使用所述预定参考时钟对所述初始接收的数据进行解码,并且针对后续接收的数据使用所述第一时钟对所述后续接收的数据进行解码。与数据解码步骤始终使用所述第一时钟工作的方案相比,该方案由于针对初始接收的数据使用所述预定参考时钟执行,所以能够提高对初始接收数据的解码成功概率。
图8是示出根据本公开的实施例的由快充协议芯片执行的方法的流程图。如图8所示,该方法包括步骤702、704、806和708。在步骤702,由快充协议芯片的数据接收端子接收基于快充协议的数据包。在步骤704,检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值。在步骤806,基于所述一个或多于一个参数的值、以及在上一次操作循环中确定的每比特的持续时间的目标值,确定用于当前操作循环的每比特的持续时间的目标值。例如,用于当前操作循环的每比特的持续时间的目标值可以被确定为等于以下两者的加权平均值:在上一次操作循环中确定的每比特的持续时间的目标值;以及所述一个或多于一个参数的值中的至少一部分。在步骤708,基于所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码。
利用图8的方法可以获得与图7的方法相同的效果。而且,由于在图8的方法中通过迭代来进行逼近拟合,所以可以得到更准确的UI的目标值以用于数据解码。
在本公开中,术语“芯片”可以指(或包含)集成电路、微处理器、片上***、微控制器、数字信号处理器(DSP)、微控制单元(MCU)、等等,其可以被集成到外部设备中、或者可以由用户***外部设备或从外部设备移除。本公开中对“一个实施例”、“实施例”等的提及表示所描述的实施例可以包括特定特征、结构或特性,但是并非每个实施例都必须包括该特定特征、结构或特性。而且,这样的短语不一定指代同一个实施例。另外,当结合一个实施例描述特定特征、结构或特性时,结合其它实施例实现这样的特征、结构或特性是在本领域技术人员的知识内,无论是否被明确描述。应注意的是,附图中两个连续示出的框(或步骤)实际上可以基本并行地执行,或者这些框(或步骤)有时也可以按相反的顺序执行,这取决于所涉及的功能而定。
应理解的是,尽管术语“第一”、“第二”等可以在本文中使用以描述各种元素,但是这些元素不应受这些术语的限制。这些术语仅用于将一个元素与另一元素区别开。例如,第一元素可以被称作第二元素,并且类似地,第二元素可以被称作第一元素,而不脱离本公开的范围。在本公开中,术语“和/或”包括相关联的所列术语中的一个或多个的任一个和所有组合。还应理解的是,术语“包括”、“具有”、和/或“包含”在本文中使用时,指的是所陈述的特征、元素和/或组件的存在,而并不排除一个或多个其它特征、元素、组件和/或其组合的存在或附加。本文中使用的术语“连接”涵盖两个元素之间的直接和/或间接连接。
本公开包括本文中明确地或者以其任何一般化形式公开的任何新颖特征或特征组合。当结合附图阅读时,基于上述描述,对本公开的上述示例性实施例的各种修改和适配对于本领域技术人员来说将会变得明显。然而,任何和所有修改和适配仍将落入本公开的非限制性和示例性实施例的范围内。
Claims (15)
1.一种快充协议芯片,包括:
数据接收端子,其被配置为接收基于快充协议的数据包;
波特率自检测模块,其被配置为检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值;
波特率自适应模块,其被配置为基于来自所述波特率自检测模块的所述一个或多于一个参数的值,确定为了对所述数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值;以及
数据接收模块,其被配置为基于来自所述波特率自适应模块的所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码;
其中,所述波特率自检测模块被配置为使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值,所述第一频率低于预定参考时钟的频率,所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使所述数据接收模块能够以高于预定概率的概率成功解码所接收的数据;以及
其中,所述数据接收模块被配置为使用所述第一时钟工作。
2. 根据权利要求1所述的快充协议芯片,其中,所述波特率自适应模块被实现为:
中断处理子模块,其被配置为响应于所述一个或多于一个参数的值被所述波特率自检测模块检测,向所述快充协议芯片中包含的处理器发出中断请求;以及
所述处理器,其被配置为响应于所述中断请求,从所述波特率自检测模块读取所述一个或多于一个参数的值,并执行程序指令以基于所述一个或多于一个参数的值确定所述每比特的持续时间的目标值。
3.根据权利要求1所述的快充协议芯片,其中,所述波特率自适应模块被实现为波特率自适应电路,其被配置为基于所述一个或多于一个参数的值确定所述每比特的持续时间的目标值。
4.根据权利要求1所述的快充协议芯片,其中,所述数据接收模块被配置为针对初始接收的数据使用所述预定参考时钟工作,以及针对后续接收的数据使用所述第一时钟工作。
5. 根据权利要求1所述的快充协议芯片,其中,所述第一频率选自100 KHz至200 KHz的范围。
6.根据权利要求1所述的快充协议芯片,其中,所述每比特的持续时间的目标值被确定为等于下述之一:
所述一个参数的值;
所述一个参数的值与预定因子的乘积;以及
所述多于一个参数的值中的至少一部分的加权平均值。
7.根据权利要求1所述的快充协议芯片,其中,所述波特率自适应模块被配置为基于所述一个或多于一个参数的值、以及在上一次操作循环中确定的每比特的持续时间的目标值,确定用于当前操作循环的每比特的持续时间的目标值。
8. 根据权利要求7所述的快充协议芯片,其中,用于当前操作循环的每比特的持续时间的目标值被确定为等于以下两者的加权平均值:
在上一次操作循环中确定的每比特的持续时间的目标值;以及
所述一个或多于一个参数的值中的至少一部分。
9. 根据权利要求1所述的快充协议芯片,其中,所述数据包包括下述中的一个或多个:
ping包;以及
普通数据包。
10.根据权利要求9所述的快充协议芯片,其中,所述一个或多于一个参数包括以下参数中的一个或多个:
所述ping包的时间长度;
所述普通数据包的每比特的持续时间的最大值;以及
所述普通数据包的每比特的持续时间的最小值。
11.根据权利要求1所述的快充协议芯片,其中,所述数据接收端子是下述中的一者:
通用串行总线A型USB-A接口的数据正信号DP引脚和数据负信号DM引脚;
通用串行总线B型USB-B接口的DP引脚和DM引脚;以及
通用串行总线C型USB-C接口的DP引脚和DM引脚。
12. 根据权利要求1所述的快充协议芯片,其中,所述快充协议是以下协议之一:
超级充电协议SCP;以及
融合快充协议UFCS。
13.一种电子设备,包括根据权利要求1至12中任一项所述的快充协议芯片。
14.根据权利要求13所述的电子设备,其中,所述电子设备是下述之一:
充电器;
充电电源;以及
可充电的终端设备。
15.一种由快充协议芯片执行的方法,包括:
由所述快充协议芯片的数据接收端子接收基于快充协议的数据包;
检测能够反映所述数据包的每比特的持续时间的一个或多于一个参数的值;
基于所述一个或多于一个参数的值,确定为了对所述数据接收端子接收的数据进行解码所需要采用的每比特的持续时间的目标值;以及
基于所述每比特的持续时间的目标值,对所述数据接收端子接收的数据进行解码;
其中,使用具有第一频率的第一时钟,检测所述一个或多于一个参数的值,所述第一频率低于预定参考时钟的频率,所述预定参考时钟是满足以下条件的时钟:在其被使用的情况下,其使数据解码步骤能够以高于预定概率的概率成功解码所接收的数据;以及
其中,基于所述每比特的持续时间的目标值,使用所述第一时钟对所述数据接收端子接收的数据进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016308.0A CN116742763B (zh) | 2023-08-14 | 2023-08-14 | 快充协议芯片、由其执行的方法以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016308.0A CN116742763B (zh) | 2023-08-14 | 2023-08-14 | 快充协议芯片、由其执行的方法以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116742763A CN116742763A (zh) | 2023-09-12 |
CN116742763B true CN116742763B (zh) | 2023-11-17 |
Family
ID=87911804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311016308.0A Active CN116742763B (zh) | 2023-08-14 | 2023-08-14 | 快充协议芯片、由其执行的方法以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116742763B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468047A (zh) * | 2014-12-15 | 2015-03-25 | 四川九洲空管科技有限责任公司 | 一种自适应接口传输方法和装置 |
CN107566088A (zh) * | 2017-09-07 | 2018-01-09 | 维沃移动通信有限公司 | 一种波特率的调整方法及充电适配器 |
CN115412469A (zh) * | 2022-11-01 | 2022-11-29 | 深圳市航顺芯片技术研发有限公司 | 容差检测方法、计算机设备及可读存储介质 |
-
2023
- 2023-08-14 CN CN202311016308.0A patent/CN116742763B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468047A (zh) * | 2014-12-15 | 2015-03-25 | 四川九洲空管科技有限责任公司 | 一种自适应接口传输方法和装置 |
CN107566088A (zh) * | 2017-09-07 | 2018-01-09 | 维沃移动通信有限公司 | 一种波特率的调整方法及充电适配器 |
CN115412469A (zh) * | 2022-11-01 | 2022-11-29 | 深圳市航顺芯片技术研发有限公司 | 容差检测方法、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116742763A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010327B2 (en) | I3C point to point | |
CN110488959B (zh) | Usb功率传输源装置的功率节约模式 | |
US20170255588A1 (en) | Multiprotocol i3c common command codes | |
US20130103966A1 (en) | Method and terminal for selecting internal circuit according to usb interface status | |
US20190146944A1 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
WO2016205142A1 (en) | Test for 50 nanosecond spike filter | |
US20080177918A1 (en) | Method and apparatus for controlling timing of state transition of serial data line in 12c controller | |
US20170104607A1 (en) | Methods to avoid i2c void message in i3c | |
US20190171609A1 (en) | Non-destructive outside device alerts for multi-lane i3c | |
CN111818632B (zh) | 一种设备同步的方法、装置、设备及存储介质 | |
US20140143588A1 (en) | Instant Communication Error Indication From Slave | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
EP2865163A1 (en) | Providing a serial protocol for a bidirectional serial interconnect | |
CN115687226A (zh) | i2c总线通信方法、装置及可读存储介质 | |
CN116742763B (zh) | 快充协议芯片、由其执行的方法以及电子设备 | |
CN116760508B (zh) | 一种波特率设置方法及*** | |
US20210173808A1 (en) | Early parity error detection on an i3c bus | |
CN116909977A (zh) | 一种多机通信方法及*** | |
CN110635854A (zh) | 一种传输协议自适应解码***及方法 | |
TWI437821B (zh) | 用以調校傳輸介面之驅動電流的方法以及相關裝置 | |
US20180357121A1 (en) | Error correction calculation upon serial bus abort | |
TWI271978B (en) | System for providing a calibrated clock and methods thereof | |
CN210201839U (zh) | 一种传输协议自适应解码*** | |
CN106330357B (zh) | 一种serdes的传输校验方法、节点与*** | |
US20070294595A1 (en) | Detecting Errors In Transmitted Data |
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 |