USB - Battery Charing

Getting to the bottom of USB Battery Charging (了解 USB 电池充电的真相)

如今,几乎所有带电池的产品都被期望支持 BC1.2 USB 充电标准。

Today, almost every product with a battery is expected to support the BC1.2 standard for USB charging.

这对消费者来说是个好消息。USB Type-C® Power Delivery 目前支持高达 240W 的充电功率,并且向下兼容。BC1.2 定义的充电端口可使便携式设备吸收更多电流,这意味着充电速度更快。BC1.2 还为未来的快速充电技术奠定了基础。不过,这也意味着使用 USB Type-C 插座并支持 Power Delivery 的流行 USB-C 充电器和笔记本电脑的制造商必须确保其产品支持 BC1.2,并通过 BC1.2 认证测试。

That’s good news for consumers. USB Type-C® Power Delivery currently supports charging at up to 240W and is also downward compatible. The BC1.2-defined charging port enables portable devices to absorb more current, which means quicker charging. BC1.2 also lays the foundation for future quick charge technologies. However, it also means that manufacturers of popular USB-C chargers and laptops that use a USB Type-C receptacle and support Power Delivery, must ensure their products support BC1.2 and pass the BC1.2 test for certification.

本文旨在介绍 BC1.2 认证的基本操作原理和测试项目,帮助制造商减少设计中遇到的问题,顺利通过测试。

This article is aimed at providing an understanding of the basic operational principles and test items for BC1.2 certification, to help manufacturers reduce the problems encountered in design, and pass tests smoothly.

1,Introduction to BC 1.2 (BC 1.2 介绍)

基于 USB 2.0 的 Vbus 电源可提供 500mA 的最大供电电流。但是,移动电话等便携设备的充电时间较长。

A Vbus power supply based on USB 2.0 can provide a maximum supply current of 500mA. However, a portable device such as a mobile phone can take a long time to recharge.

2010 年 10 月发布的 USB-IF 电池充电 1.2 规范要求便携式设备在连接 USB 主机或集线器充电时吸收最大电流 1500mA(相当于 USB 2.0 的三倍)。这样,设备就能在原来三分之一的时间内完成充电。

The USB-IF’s Battery Charging 1.2 specification, which was issued in October 2010, requires portable devices to absorb a maximum current of 1500mA (equivalent to three times that of USB 2.0) during charging when connecting to a USB host or a hub. This enables the device to be recharged in a third of the original time.

便携式设备和 USB 主机或集线器都需要支持 BC1.2,通过检测 USB D+ 和 D- 触点来确认是否支持BC 1.2。一旦检测完成并确认支持 BC1.2,Vbus 就会提供 1500mA 的充电电流。

The portable device and USB host or hub both need to support BC1.2, which detects the USB D+ and D- contacts. Once this is complete and support for BC1.2 is confirmed, Vbus provides 1500mA current for recharging.

2,Charging capacity comparison (充电能力比较)

支持 BC1.2 的手机的充电能力会有所不同,这取决于手机是通过标准 USB3 端口(SDP)连接到笔记本电脑,还是通过支持 BC1.2 的 USB3(CDP)连接到笔记本电脑?

The charging capacity of mobile phones supporting BC1.2 varies, depending on whether they connect to laptops via standard USB3 ports (SDP) or laptops with USB3 supporting BC1.2 (CDP)?

当手机连接到带有标准 USB3 端口(不支持 BC1.2)的笔记本电脑时,最大可吸收电流为 900mA。

When the mobile phone connects to a laptop with standard USB3 ports (not supporting BC1.2), the maximum absorbable current is 900mA.

  • 当手机已连接、未配置且未进入暂停状态时,最大可吸收电流为 100 mA。

  • 当手机已连接、已配置且未进入暂停状态时,最大可吸收电流为 900 mA(USB 3.2 为 900 mA,USB 2.0 为 500mA)。

  • 当手机已连接、已配置并进入暂停状态时,最大可吸收电流为 2.5 mA。

  • When the mobile phone is connected, unconfigured, and has not entered the Suspend state, the maximum absorbable current is 100 mA.

  • When the mobile phone is connected, configured, and has not entered the Suspend state, the maximum absorbable current is 900 mA (900 mA for USB 3.2, 500mA for USB 2.0).

  • When the mobile phone is connected, configured, and has entered the Suspend state, the maximum absorbable current is 2.5 mA.

根据规范,在未配置的情况下,如果便携式设备的电池处于 "死电 "或 "弱电 "状态,最大可吸收电流应为 100 mA。(弱电池状态意味着可以用最小的能量启动设备,而死机状态则意味着无法启动设备)。

According to the specification, without being configured, if the battery of a portable device is in the Dead or Weak state, the maximum absorbable current should be 100 mA. (a Weak battery state means the device can be started with the minimum of energy, while the Dead state means the device cannot be started)

SDP(标准下游端口)是指不支持 BC1.2 的标准端口。

SDP (Standard Downstream Port) refers to a standard port that does not support BC1.2

CDP(充电下游端口)是指支持 BC1.2 的标准端口。

CDP (Charging Downstream Port) refers to a standard port that supports BC1.2

不过,当手机连接到支持 BC1.2 的 USB3 笔记本电脑时,无需配置即可吸收 1.5 A 的最大电流。

However, when the mobile phone connects to the laptop with USB3 supporting BC1.2, it can absorb a maximum current of 1.5 A without being configured.

3,Common BC 1.2 types (常用BC 1.2 类型)

对于标准 USB 下游端口,Vbus 可提供 500mA (USB2.0)或 900mA (USB3.2)电流,而 BC1.2 充电端口可提供 1.5A 电流。BC1.2 充电端口还可分为支持 USB 数据的 CDP(充电下游端口)和用于充电的 DCP(专用充电端口)。

For standard USB downstream ports, Vbus can supply 500mA (USB2.0) or 900mA (USB 3.2), while a BC1.2 charging port can supply 1.5A. The BC1.2 charging port can also be divided into CDP (Charging Downstream Port) to support USB Data, and DCP (Dedicated Charging Port) for charging.

  • CDP(下游充电端口): 该 USB 端口具有更高的充电能力。它提供 USB 数据传输,还能为兼容 BC1.2 的设备提供最大 1.5 A 的电流。

  • DCP(专用充电端口): 该端口是一种不带 USB 数据传输功能的 CDP,可为 BC1.2 便携式设备提供 4.75V-5.5V 的电压和 1.5A 的充电电流。DCP 将在 D+ 和 D- 之间桥接一个电阻 R。

  • ACA(附件充电器适配器): ACA 有一个用于充电的充电器端口、一个用于便携设备的 OTG 端口和一个用于其他设备的附件端口。ACA 可使便携设备在充电的同时连接其他设备。

  • ACA-Dock: ACA-Dock 有一个上游端口(Micro-A 插头)和多个或没有下游端口。当连接到 ACA-Dock 上游端口时,便携式设备可吸收的最大电流为 1.5 A。ACA 和 ACA-Dock 的最大区别在于 ACA 支持 OTG 端口,可以作为 A 设备或 B 设备连接便携设备。

  • CDP (Charging Downstream Port): This USB Port has a higher charging capacity. It offers USB data transmission and is also capable of supplying a maximum current of 1.5 A to a BC1.2 compatible device.

  • DCP (Dedicated Charging Port): A CDP without USB data transmission, this port can supply a voltage of 4.75V-5.5V and a charging current of 1.5A to a BC1.2 portable device. A DCP will have a resistance R bridged between D+ and D-.

  • ACA (Accessory Charger Adaptor): ACA has one Charger Port for charging, one OTG Port for a portable device and one Accessory Port for other devices. ACA enables the portable device to connect to other devices while being recharged.

  • ACA-Dock: ACA-Dock has one Upstream Port (Micro-A plug) and more than one or no Downstream Ports. The portable device can absorb a maximum current of 1.5 A when connected to an ACA-Dock Upstream Port. The biggest difference between ACA and ACA-Dock is that ACA supports an OTG Port and can connect to a portable device as an A-Device or a B-Device.

4,SDP, CDP and DCP Comparison (充电对比表)

5,Five Steps to Check for BC1.2 Charging Support (检查 BC1.2 充电支持的五个步骤)

支持 BC1.2 的手机如何知道自己连接的是支持 BC1.2 的 SDP、CDP 还是 DCP?图 1(如下)展示了一个简单的流程,图 2 则提供了更详细的说明。

How can a mobile phone that supports BC1.2 know whether it is connected to an SDP, a CDP or a DCP supporting BC1.2? Figure 1 (below) illustrates a simple flow, while Figure 2 offers a more detailed description.

图1:Simple Steps to Check for BC1.2 Charging Support (检查是否支持 BC1.2 充电的简单步骤)

图2: Detailed Steps to Check for BC1.2 Charging Support (检查是否支持 BC1.2 充电的详细步骤)

5.1 VBUS Detect (VBUS检测):

手机连接到 USB 充电端口。当检测到 Vbus 电压大于内部有效电压阈值时,表示手机连接到了有效电路。

The mobile phone connects to a USB charging port. When it detects a Vbus voltage which is greater than the internal effective voltage threshold, it means that the mobile phone is connected to an effective circuit.

5.2 Data Contact Detect (DCD) (数据触点检测 ):

手机检测所连接的充电端口是否支持 BC1.2。手机在 D+ 上输出电流(IDP_SRC),然后检测 D- 上的电压值,以确认 D+/D- 引脚是否成功连接。由于不要求手机支持 DCD,因此采用了另一种机制:手机将在一段时间(TDCD_TIMEOUT)后进入步骤 3 进行检测。DCD 的优点是,手机可以在判断连接成功后立即进入步骤 3 进行检测,从而减少等待时间。

The mobile phone detects whether the connected charging port supports BC1.2. The phone outputs current on D+ (IDP_SRC) and then detects the voltage value on D- to confirm whether the D+/D- pins are successfully connected. As the mobile phone is not required to support DCD, another mechanism is used: the mobile phone will enter Step 3 for detection after a period of time (TDCD_TIMEOUT). The advantage of DCD is that the mobile phone can enter Step 3 for detection immediately after judging that connection is successful, thus reducing waiting time.

判断适配器是否完全接入手机USB座子。判断完VBUS接入后,随后即是判断数据信号的连接是否到位。当Attached时,手机端的D+的IDP_SRC(大概10uA)打开,因为D+端接了一个电阻RDP_DWN(20K左右)下地,所以D+会存在一定的小电压200mV,当电压小于参考值时,说明USB接入良好。所以在波形上看D+最前端存在一个非常小的电压起伏。

然而DCD的检测并不是必须要执行,如果没有执行DCD的检测,协议会在VBUS有效后的T DCD_TIMEOUT开始执行后面的步骤(后面的波形是没有执行DCD检测的情况)。

5.3 Primary Detection(主要检测):

手机会检测所连接的充电端口是否支持 BC1.2。也就是说,手机会检测所连接的是 SDP、CDP 还是 DCP。手机将在 D+ 上提供一个电压(VDP_SRC),然后比较 D- 上的 VDM 和 VDAT_REF。

The mobile phone detects whether the charging port connected supports BC1.2. That is to say, the mobile phone detects whether it is connected to an SDP, CDP or DCP. The mobile phone will supply a voltage (VDP_SRC) on D+ and then compare VDM and VDAT_REF on D-.

如果 VDM 大于 VDAT_REF,则可能连接的是 CDP 或 DCP,然后继续执行步骤 4。

如果 VDM 小于 VDAT_REF,则肯定连接的是 SDP,过程结束。

If VDM is greater than VDAT_REF, it may be connected to a CDP or a DCP, and proceed to Step 4 for

If VDM is less than VDAT_REF, it is definitely connected to an SDP and the process is complete.

5.4 Secondary Detection(二次检测):

二次检测确认与手机连接的 BC1.2 充电端口是否支持 USB 数据传输(DCP 或 CDP)。手机将在 D- 端提供一个电压(VDM_SRC),然后比较 D+ 端的 VDP 和 VDAT_REF。

Secondary detection confirms whether the BC1.2 charging port connected to the mobile phone support USB Data transmission (DCP or CDP). The mobile phone will supply a voltage (VDM_SRC) on D-, and then compare VDP and VDAT_REF on D+.

a,如果 VDP 大于 VDAT_REF,则连接到 DCP。

b,如果 VDP 小于 VDAT_REF,则连接至 CDP

a. If VDP is greater than VDAT_REF, it is connected to a DCP

b. If VDP is less than VDAT_REF, it is connected to a CDP

5.5 ACA Detection (ACA检测):

ACA 检测仅针对带有 Micro-AB 接口的便携式设备。便携式设备会检测是否连接到 ACA 充电端口,并确定设备类型。它主要通过检测 ID 引脚上的五个不同电阻来进行判断。

ACA Detection is conducted only for a portable device with a Micro-AB socket. The portable device detects whether it is connected to an ACA charging port and determines the device type. It mainly makes this determination by detecting the five different resistances on the ID pin.

6, How BC1.2 Mobile Phones Determine If They Are Connected via SDP, CDP or DCP 

[ BC1.2 移动电话如何确定连接的是 SDP、CDP 或 DCP ]

6.1 Case (I) BC1.2 mobile phone connects to SDP (no BC1.2 support)

[ 第一种情况,BC1.2 移动电话连接到 SDP(不支持 BC1.2) ]

a. 手机(便携设备)连接至 SDP 并检测到与 VBUS 的连接(VBUS > VOTG_SESS_VLD)。

b. DCD 检测超时

c. 移动电话在 D+ 上提供电压 VDP_SRC (0.5V - 0.7V),通过 SDP 上的 RDP_DWN (14.25 - 24.8kΩ)连接到地,然后比较 D- 上的 VDM 和 VDAT_REF。

    如果 VDM(0V)小于 VDAT_REF(0.25V - 0.4V),则表示它已连接到 SDP,过程完成。

a. The mobile phone (Portable Device) connects to SDP and detects connection to VBUS (VBUS > VOTG_SESS_VLD)

b. DCD detection timeout

c. The mobile phone supplies a voltage VDP_SRC (0.5V - 0.7V) on D+, connects to ground via RDP_DWN (14.25 - 24.8kΩ) on SDP, and then compares VDM and VDAT_REF on D-

At this time, if VDM =0 V. If VDM (0V) is less than VDAT_REF (0.25V - 0.4V), it means it is connected to SDP, and that the process is complete

6.2 Case (II) BC1.2 mobile phone connects to CDP 

[ 第二种情况,BC1.2 移动电话连接到 CDP ]

图4: Primary Detection, CDP and Secondary Detection, CDP

a. 手机连接到 CDP 并检测到 V BUS(V BUS > V OTG_SESS_VLD )连接

b. DCD 检测超时

c. 初级检测(图 4 - 左): 手机在 D+ 上提供电压 VDP_SRC (0.5V - 0.7V),并通过 CDP 上的 RDP_DWN (14.25 - 24.8kΩ) 与地连接

    i. CDP 检测 D+=VDP_SRC (0.5V-0.7V),然后启用 CDP 的 VDM_SRC (0.5V-0.7V)

    ii. 如果手机检测到 D-=VDM_SRC (0.5V-0.7V),大于 VDAT_REF (0.25V-0.4V),则连接至 CDP 或 DCP

d. 二次检测(图 4 - 右): 手机在 D- 上提供一个电压 VDM_SRC(0.5V-0.7V)。

    i. 此时,D+ ≈0 V,如果手机 DCP_DET 检测到 D+ 小于 VDAT_REF(0.25V-0.4V),则将其连接至 CDP。

    ii. 然后,手机禁用 VDP_SRC 和 VDM_SRC,并将 D+ 和 D- 保持在低电位。

a. The mobile phone connects to CDP and detects a V BUS (V BUS > V OTG_SESS_VLD ) connection

b. DCD detection timeout

c. Primary detection (Figure 4 – left): The mobile phone supplies a voltage VDP_SRC (0.5V - 0.7V) on D+, and connects to ground via RDP_DWN (14.25 - 24.8kΩ) on CDP

    i. CDP detects D+=VDP_SRC (0.5V-0.7V), and then enables VDM_SRC (0.5V-0.7V) of CDP

    ii. If the mobile phone detects D-=VDM_SRC (0.5V-0.7V), greater than VDAT_REF (0.25V-0.4V), it is connected to CDP or DCP

d. Secondary detection (Figure 4 – Right): The mobile phone supplies a voltage VDM_SRC (0.5V-0.7V) on D-

    i. At this time, D+ ≈0 V, if the mobile phone DCP_DET detects that D+ is less than VDAT_REF (0.25V-0.4V), it is connected to CDP

    ii. Then the mobile phone disables VDP_SRC and VDM_SRC, and keeps D+ and D- at low potential

6.3 Case (III) BC1.2 mobile phone connects to DCP 

[ 第三种情况,BC1.2 移动电话连接到 DCP ]

图5: Primary Detection, DCP and Secondary Detection, DCP

a. 手机连接到 DCP 并检测到 V BUS(V BUS > V OTG_SESS_VLD )连接

b. DCD 检测超时

c. 初级检测(图 5 - 左): 手机在 D+ 上提供电压 VDP_SRC (0.5V-0.7V),并通过 DCP 上的 RDCP_DAT (<200Ω) 连接到 D-

    i. 如果手机检测到 D- ≈ VDP_SRC (0.5V-0.7V) 大于 VDAT_REF (0.25V-0.4V),则连接至 CDP 或 DCP(RDCP_DAT 的最大压降为 200Ω x 175μA= 0.035V)

d. 二次检测(图 5 - 右): 手机在 D- 上提供电压 VDM_SRC (0.5V-0.7V),通过 DCP 上的 RDCP_DAT (<200Ω) 连接到 D-,并启用 IDP_SINK (25μA -175μA)

    i. 如果手机检测到 D+ ≈ VDM_SRC (0.5V-0.7V) 大于 VDAT_REF (0.25V-0.4V),则将其连接至 DCP(RDCP_DAT 的最大压降为 200Ω x 175μA= 0.035V)。

    ii. 然后,手机启用 VDP_SRC。

a. The mobile phone connects to DCP and detects to V BUS (V BUS > V OTG_SESS_VLD ) connection

b. DCD detect timeout

c. Primary Detect (Figure 5 – Left): The mobile phone supplies a voltage VDP_SRC (0.5V-0.7V) on D+, and connects to D- via RDCP_DAT (<200Ω) on DCP

    i. If the mobile phone detects D- ≈ VDP_SRC (0.5V-0.7V) greater than VDAT_REF (0.25V-0.4V), it is connected to CDP or DCP (maximum voltage drop of RDCP_DAT is 200Ω x 175μA= 0.035V)

d. Secondary Detect (Figure 5 –Right): The mobile phone supplies a voltage VDM_SRC (0.5V-0.7V) on D-, connects to D- via RDCP_DAT (<200Ω) on DCP and enables IDP_SINK (25μA -175μA)

    i. If the mobile phone detects D+ ≈ VDM_SRC (0.5V-0.7V) greater than VDAT_REF (0.25V-0.4V), it is connected to DCP (maximum voltage drop of RDCP_DAT is 200Ω x 175μA= 0.035V)

    ii. Then the mobile phone enables VDP_SRC.

总结,根据波形总结,在识别阶段,Primary Detect由D+发起,Secondary Detect由D-发起。SDP DCP CDP三者在波形上的区别,SDP在Primary Detect就被识别,所有永远只有一次位于D+的高电平。DCP由于D+ D-被电阻短接在一起,所以D+与D-永远保持一样的电平状态,两次都位于高电平状态。CDP则是看为二者的波形中和,D+只存在一次高电平,D-存在两次高电平。

7,BC 1.2 Test Items (BC 1.2测试项)

BC1.2 测试的主要目的是确认 BC1.2 通信的正确性和 Vbus 电源的质量。

The BC1.2 test is conducted mainly to confirm correct BC1.2 communication and Vbus power supply quality. 

7.1 CDP test items for certification (CDP 认证测试项目):

7.2 DCP test items for certification(DCP 认证测试项目):

8,Conclusion (结论)

USB Type-C Power Delivery 的快速充电支持既能满足现代效率需求,又能向下兼容便携式设备。BC1.2 规定的充电端口允许便携式设备消耗更多电流,从而加快充电速度。通过了解 BC1.2 的基本工作原理和测试项目,制造商可以最大限度地减少设计问题,生产出符合现代市场需求的产品。

USB Type-C Power Delivery's fast charging support meets modern needs of efficiency while also providing downwards compatibility with portable devices. Having a charging port defined by BC1.2 allows portable devices to draw more current to facilitate faster charging. By understanding the basic operating principles and test items surrounding BC1.2, manufacturers can minimize design problems and produce products that are in line with modern market demands.

9,References (参考)

  • Battery Charging Specification, Revision 1.2, March 15, 2012

  • USB Battery Charging 1.2 Compliance Plan, Revision 1.2, September 30, 2013

10, 详情请见文档及资料:

https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ApplicationNotes/ApplicationNotes/00001722C.pdf

Battery Charging v1.2 Spec and Adopters Agreement | USB-IF

11,TI 网站的介绍

What is USB BC 1.2? | Video | TI.com

可下载PPT和字幕。

参考:

1,Labs

Getting to the bottom of USB Battery Charging | GraniteRiverLabs

USB Battery Charging 1.2 測試介紹 | GraniteRiverLabs Taiwan

2,CSDN

简单聊一聊手机端口的识别协议-BC1.2-CSDN博客

3, Microchip

Microchip Lightning Support

4,Wiki

https://en.wikipedia.org/wiki/USB#USB_Battery_Charging

5,扩展阅读

Overview of USB Battery Charging Revision 1.2 and the Important Role of Charger Detectors | Analog Devices

Microchip Lightning Support

Battery Charging with USB - Developer Help

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解字符串函数<string.h>(上)

1. strlen函数的使用和模拟实现 size_t strlen(const char* str); 1.1 函数功能以及用法 字符串长度 strlen函数的功能是计算字符串的长度。在使用时&#xff0c;要求用户传入需要计算长度的字符串的起始位置&#xff0c;并返回字符串的长度。 #include <stdio.h> #…

基于SSM医院电子病历管理系统的设计与实现(源代码+数据库脚本+万字文档+PPT)

系统介绍 医院电子病历管理系统主要是借助计算机&#xff0c;通过对医院电子病历管理系统所需的信息管理&#xff0c;增加用户的选择&#xff0c;同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。医院电子病历管理系统 对用户带来了更多的便利&#xff0c…

一文读懂ZKFair PFP-CyberArmy的参与价值与潜力

3月2日&#xff0c;ZKFair PFP-CyberArmy 将在 Element 上正式开始Public Sale。

文件基础和文件fd

文章目录 预备知识C语言的文件接口系统调用文件fd 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站。 预备知识 我们平时说文件就是说文件里…

大模型量化技术原理-SmoothQuant

近年来&#xff0c;随着Transformer、MOE架构的提出&#xff0c;使得深度学习模型轻松突破上万亿规模参数&#xff0c;从而导致模型变得越来越大&#xff0c;因此&#xff0c;我们需要一些大模型压缩技术来降低模型部署的成本&#xff0c;并提升模型的推理性能。 模型压缩主要分…

强化学习(六)时序差分

时序差分&#xff08;TD&#xff09;是强化学习的核心&#xff0c;其是蒙特卡罗&#xff08;MC&#xff09;和动态规划&#xff08;DP&#xff09;的结合。 1、TD 预测 TD 和 MC 都是利用经验来解决预测问题。一种非平稳环境的一般访问蒙特卡罗方法是 V ( S t ) ← V ( S t …

Python GUI开发库之nicegui使用详解

概要 在 Python 中,创建图形用户界面(GUI)应用程序通常需要大量的代码和时间。然而,随着 Python 生态系统的不断发展,出现了一些简化 GUI 开发过程的工具和库。其中之一就是 NiceGUI 库。本文将深入探讨 NiceGUI 库的功能、用法以及如何利用它来创建漂亮而功能丰富的 GUI…

List 集合遍历过程中删除元素避坑指南。

文章目录 1. 遍历2. 遍历过程中删除元素2.1 for 简单循环正向遍历方式2.2 for 简单循环反向遍历方式2.3 foreach 方式遍历删除2.4 Iterator的remove()方法2.5 <font color green> removeIf() &#xff08;推荐&#xff09;<green>2.6 Strem 方式 作为一名后端开发…

nginx使用详解--动静分离

什么是动静分离&#xff1f; 为了提高网站的响应速度&#xff0c;减轻程序服务器&#xff08;Tomcat&#xff0c;Jboss等&#xff09;的负载&#xff0c;对于静态资源&#xff0c;如图片、js、css等文件&#xff0c;可以在反向代理服务器中进行缓存&#xff0c;这样浏览器在请…

如何利用HubSpot海外获客系统实现海外市场扩张?

在当今全球化的时代&#xff0c;企业面临着越来越激烈的竞争&#xff0c;而海外市场则被视为获取更多增长机会的重要途径之一。针对这一挑战&#xff0c;企业需要建立一个完整的海外获客系统&#xff0c;而HubSpot软件的应用则成为了关键。作为HubSpot的合作伙伴&#xff0c;我…

librtmp源码分析

阅读了librtmp的源码&#xff0c;简单记录下。 首先补充下AMF格式基本知识 1 AMF格式 AMF是Action Message Format(动作消息格式)的简写&#xff0c;它是一种二进制的数据格式。它的设计是为了把actionscript里面的数据(包括Object, Array, Boolean, Number等)序列化成二进制…

oracle11安装及使用

安装oracle11 官网下载地址 Oracle Database 11g Release 2 for Microsoft Windows (x64) 官网下载慢可访问我的资源 也可以网盘获取 链接&#xff1a;https://pan.baidu.com/s/1RDrGkqDA7tfKRnpJXUBMDw 提取码&#xff1a;z3na 上传安装包到服务器 在指定目录下创建文件…

adb命令

1. 常用命令&#xff1a; adb devices #查看连接设备adb -s cf27456f shell # 指定连接设备使用命令adb install test.apk # 安装应用adb install -r demo.apk #安装apk 到sd 卡&#xff1a;adb uninstall cn.com.test.mobile #卸载应用&#xff0c;需要指定包adb uninstall -…

Windows系统x86机器安装龙芯(loongarch64)3A5000虚拟机系统详细教程

本次介绍在window系统x86机器上安装loongarch64系统的详细教程。 1.安装环境准备。 首先&#xff0c;你得有台电脑。 配置别太差&#xff0c;至少4核8G内存&#xff0c;安装window10或者11都行&#xff08;为啥不能是Window7&#xff0c;你要用也不是不行&#xff0c;你先解决…

leetcode:860.柠檬水找零

题意&#xff1a;按照支付顺序&#xff0c;进行支付&#xff0c;能够正确找零。 解题思路&#xff1a;贪心策略&#xff1a;针对支付20的客人&#xff0c;优先选择消耗10而不是消耗5&#xff0c;因为5可以用来找零10或20. 代码实现&#xff1a;有三种情况&#xff08;代表三种…

String类的使用

String常用的构造方法 String的源码 内部是一个数组和hash值&#xff0c;涉及到常量池后续补充&#xff08;常量池&#xff1a;存储相同的字符时只会存储一租&#xff09; String的比较 equals()与&#xff1a;String里面为我们提供了许多方法&#xff0c;可直接调用&#xf…

数据结构之二叉树的精讲

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

Python实现链表:从基础到应用

一、引言 链表是一种常见的数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含数据和指向下一个节点的指针。链表在内存中的存储不是连续的&#xff0c;这使得它在插入和删除操作上具有较高的效率。本文将使用Python语言来实现一个简单的链表&#xff0c;并展示其…

卷积神经网络基本概念补充

卷积&#xff08;convolution&#xff09;、通道&#xff08;channel&#xff09; 卷积核大小一般为奇数&#xff0c;有中心像素点&#xff0c;便于定位卷积核。 步长&#xff08;stride&#xff09;、填充&#xff08;padding&#xff09; 卷积核移动的步长&#xff08;stride…

小白提示您:FaceTime诈骗持续高发,小伙伴们谨防诈骗!

前几天小白的iPhone突然接到了个FaceTime通话请求&#xff0c;说是某抖音账号需要续费啥的才能解锁某些功能。&#xff08;具体小白也记不太清了&#xff09; 这几天也有朋友说有个支付宝客服打FaceTime通话给他说快递出现了点问题&#xff0c;需要操作认证一下才能退款啥的。…