Chapter 18 Current-Programmed Control 峰值电流模控制

Chapter 18 Current-Programmed Control 峰值电流模控制

对于PWM converter, 其输出电压由占空比d控制. 我们将直接控制占空比d称为电压模控制, 因为输出电压和占空比成正比.还有一种广泛应用的控制方法是控制开关管峰值电流的. 我们称为电流模控制.

这一章介绍峰值电流模控制占空比duty ratio. 也叫current-programmed mode (CPM) 或者 peak current mode (PCM) control. CPM不直接控制duty ratio d(t), 而是通过限制开关管的峰值电流. 控制信号是电流ic(t), 占空比duty ratio d(t)包括电感电流和输出电压取决于ic(t). ic(t)的来源是输出电压和基准Vref经过误差放大器后产生的error信号. 这样可以regulate输出电压了.

一个简单的峰值电流控制电路如上图所示. 每个周期的clock上升沿会Set RS latch, 让上管开启. 电感电流等于上升中的上管电流, 对于上管电流is(t) 还会加入斜坡补偿(取决于电感值和conveter电压). 当is(t)达到控制电流ic(t), Reset RS Latch, 导致上管关闭, 下管开启, 电感电流下降, 直到下次Clock的上升沿的到来.在实际电路中ic和is会乘以Rf, 用电压进行比较.

为了稳定输出电压, 还会加入负反馈环路. 输出电压v(t)和基准电压vref进行比较/放大, 产生error信号. 这个error信号通过补偿网络, 输出为ic(t)*Rf. 为了设计这个负反馈系统, 我们需要建模小信号系统, 了解控制信号ic(t)和输入电压vg(t)如何影响输出电压v(t). 后面可推导出ic到输出电压v(t)为一阶单极点系统.

峰值电流模的优点是更简单的小信号模型, 一阶近似下control-to-output传输函数 v(s)/ic(s)为单极点系统, 比v(s)/d(s)少一个极点. 实际上, v(s)/ic(s)的另外一个极点被推远到开关频率附近. 诚然峰值电流模需要电流采样, 但在实际电路中, 出于保护管的目的也会加入电流采样, 防止管子过流烧毁.

峰值电流模控制还能减小或者消除full-bridge or push-pull isolated 中变压器饱和问题. 如果采用峰值电流模控制, 就不能加dc block 电容了, 否则会导致系统不稳定. 在工业界, full-bridge or push-pull 常用峰值电流模控制.

峰值电流模控制的缺点是控制容易受到is(t)或者ic(t)的噪声干扰, 这将影响controller的运行. 为了消除上管开启时的spike current (下级二极管储存的电荷导致), 可以对采样电流进行滤波. 另外在采样管子开启前加入blanking时间, 在blanking期间, RS latch的Reset功能disabled, 确保不会误关断上管. 但是blanking会限制最大占空比.

18.1小节介绍一阶近似模型, 可以给我们很好的insight. 考虑到斜波补偿和更准确的模型在18.3介绍. CPM传输函数在18.4小节介绍, 18.5小节介绍仿真. 输出电压控制环路在18.6小节, 考虑sampled-data modeling techniques, 更准确模型在18.7介绍. 18.9小节介绍average current mode (ACM) 平均电流控制. 平均电流控制的好处是直接控制输入或者输出电流, 在某些应用场景例如电池恒流充电, LED驱动有用. 另外平均电流控制抗噪声干扰性更强, 而且无需斜坡补偿.

18.1 A Simple First-Order Model

对于峰值电流模, duty cycle 占空比d既取决于ic(t), 又取决于converter的电压和电流, 如下图所示.

一阶小信号近似, 认为电感电流 iL(t)= 峰值控制电流 ic(t), 忽略电感电流纹波,和斜坡补偿.

因此可得buck, boost, buck-boost小信号模型

注意, 第二级为RC单极点系统.

control-to-output 即从ic到输出电压v的传输函数(输入vg=0)为:
G v c ( s ) = v ( s ) i c ( s ) ∣ v g = 0 = f 2 ( r 2 ∥ R ∥ 1 s C ) G_{vc}(s)=\frac{v(s)}{i_{c}(s)}\bigg|_{v_g=0}=f_{2}(r_{2}\parallel R\parallel \frac{1}{sC}) Gvc(s)=ic(s)v(s) vg=0=f2(r2RsC1)
可以看到只有1/sC这一个极点. 电感引入的极点消失了, DC Gain直接取决于负载电阻. 对于buck-boost有右零点, 这点与duty-cycle-controlled电压模控制一样.

总体而言, 相比于duty-cycle-controlled电压模控制, 峰值电流模改变了(减少了一个)传输函数的极点和DC Gain, 零点没改变.

line-to-output 即从vg到输出电压v的传输函数(控制电流信号ic=0)为:
G v g ( s ) = v ( s ) v g ( s ) ∣ i c = 0 = g 2 ( r 2 ∥ R ∥ 1 s C ) G_{vg}(s)=\frac{v(s)}{v_{g}(s)}\bigg|_{i_c=0}=g_{2}(r_{2}\parallel R\parallel \frac{1}{sC}) Gvg(s)=vg(s)v(s) ic=0=g2(r2RsC1)
同样, 相比duty-cycle-controlled的电压模, 电感引入的极点消失了.

输出阻抗:
Z o u t ( s ) = r 2 ∥ R ∥ 1 s C Z_{out}(s)=r_{2}\parallel R\parallel \frac{1}{sC} Zout(s)=r2RsC1

18.1.2 Averaged Switch Modeling

我们也可以把switch替换成平均模型推导小信号传输函数.

switch为power source/sink, diode为current source(值为ic)

对于buck, 其小信号模型为

control-to-output 传输函数
G v c ( s ) = v ( s ) i c ( s ) ∣ v g = 0 = ( R ∥ 1 s C ) G_{vc}(s)=\frac{v(s)}{i_{c}(s)}\bigg|_{v_g=0}=(R\parallel \frac{1}{sC}) Gvc(s)=ic(s)v(s) vg=0=(RsC1)
line-to-output 传输函数为零, 电感电流只取决于ic, 不取决于输入电压vg.
G v g ( s ) = v ( s ) v g ( s ) ∣ i c = 0 = 0 G_{vg}(s)=\frac{v(s)}{v_{g}(s)}\bigg|_{i_c=0}=0 Gvg(s)=vg(s)v(s) ic=0=0
更准确的小信号模型会在18.3小节介绍, 证明Gvg不为零, 但其值很小.

Boost小信号模型如下

18.2 Oscillation for D > 0.5

当duty cycle > 0.5时, 峰值电流控制不稳定. 为了解决这个问题, 会在采样电流处加入斜坡补偿, 同时增加其抗噪声干扰性.

常规工作在CCM的电感电流波形如图所示:

电感电流小信号干扰在n个周期后为
i L ( n T s ) = i L ( 0 ) ( − D D ′ ) n i_{L}(nT_{s})=i_{L}(0)(-\frac{D}{D'})^{n} iL(nTs)=iL(0)(DD)n
为了保证电感电流稳定性, 上式需要收敛, D/D’<1, 即D< 0.5.

为了解决duty ratio D>0.5下的稳定性问题, 可以在采样上管电流中加入斜坡补偿. 让上管提前关闭, 控制峰值电感电流.

斜坡补偿电路如下所示:

加入斜坡补偿 ia(t), 这样上管就在iL=ic-ia(t)处提前关闭. 这样iL(nTs)就能收敛了.

一个常见的ma的取值:
m a = 1 2 m 2 m_{a}=\frac{1}{2}m_{2} ma=21m2
这是为了满足all duty cycle (0<D<1)下稳定, ma的最小值.

ma=1/2*m2 取值另外一个好处能让buck的line-to-output transfer function即Gvg(s)=0.

另外一个常见的ma的取值:
m a = m 2 m_{a}=m_{2} ma=m2
这样对于任何iL(0), iL(Ts)=0. 系统switching一次, 就remove任何error, 这种控制也被称为deadbeat control, or finite settling time.

斜坡补偿电路的一个重要好处是, 能增强峰值电流模控制的抗噪能力. 否则ic(t)有一点变化, 对于duty cycle的影响是巨大的. 当版图或者controller的ground给duty cycle d(t)引入相当大的噪声时, 我们需要加入斜坡补偿电路, 让其值大于电感ripple, 弱化ic(t)对duty cycle的影响, 确保系统稳定.

18.3 A More Accurate Model

峰值电流模的一阶近似认为iL(t)=ic(t), 揭示了低频表现, 但还不够精准. 考虑到斜坡补偿更准确的模型如下图所示:

duty cycle占空比的表达式为

如下图所示:

其Fm, Fg, Fv的表达式为

因此Buck更准确峰值电流模小信号模型为

Boost更准确峰值电流模小信号模型为

18.4 Current-Programmed Transfer Functions

我们以18.3更准确峰值电流模小信号模型为基础, 来推导buck, boost, buck–boost的control-to-output and line-to-output 传输函数

输出电压小信号v与占空比d和输入电压vg的传输函数:

相似的, 电感电流小信号iL和占空比d和输入电压vg的传输函数:

因此我们可得下图

闭环 control-to-output 传输函数Gvc_cpm为:

整理得

相似的, 闭环 line-to-output 传输函数Gvg_cpm为:

整理可得

18.4.1 Discussion

对于D<0.5, 且没有斜坡补偿Ma=0, CPM Gain Fm很大, 电感电流纹波可以忽略.0=iL-ic. 因此电感电流约等于控制信号电流ic.

如果斜坡补偿很大, CPM退化成duty-cycle control(电压模)

18.4.2 Current-Programmed Transfer Functions of the CCM Buck Converter

对于buck 小信号模型

输出电压v(s) control-to-output传输函数, Gvd(s) and line-to-output 传输函数 Gvg(s) 分别为:
G v d ( s ) = V D 1 d e n ( s ) G_{vd}(s)=\frac{V}{D}\frac{1}{den(s)} Gvd(s)=DVden(s)1

G v g ( s ) = D 1 d e n ( s ) G_{vg}(s)=D\frac{1}{den(s)} Gvg(s)=Dden(s)1

d e n ( s ) = 1 + s L R + s 2 L C den(s)=1+s\frac{L}{R}+s^{2}LC den(s)=1+sRL+s2LC

电感电流inductor current 传输函数. 其中Gid=iL(t)/d(t), Gig=iL(t)/Vg(t)
G i d = V D R 1 + s R C d e n ( s ) G_{id}=\frac{V}{DR}\frac{1+sRC}{den(s)} Gid=DRVden(s)1+sRC

G i g = D R 1 + s R C d e n ( s ) G_{ig}=\frac{D}{R}\frac{1+sRC}{den(s)} Gig=RDden(s)1+sRC

在没有斜坡补偿, 并且忽略电感电流纹波下 control-to-output transfer function

line-to-output transfer function

考虑斜坡补偿的电感电流纹波

control-to-output transfer function
G v c ( s ) = G c 0 1 + s Q c ω c + ( s ω c ) 2 G_{vc}(s)=\frac{G_{c0}}{1+\frac{s}{Q_{c}\omega_{c}}+(\frac{s}{\omega_c})^2} Gvc(s)=1+Qcωcs+(ωcs)2Gc0

上式中Gc0, wc和Qc都是duty-cycle control的系数再乘以current-programmed control的影响因子.

当Fm很大时, 低频极点为:

高频极点为:

高频极点在开关频率fs附近甚至更高, 因此可以忽略不计.

current-programmed line-to-output transfer function整理为

可以看到, 当Fm->0, Gg0=D 退化到duty-cycle control. 当Fm->无穷大, Gg0=0

18.4.3 Results for Basic Converters

buck, boost, and buck–boost converters采用电流模, Control-to-output and line-to-output传输函数的一阶近似模型和更准确模型总结如下表. 电压模的传函也列举在内, 可以看到电流模的Gc0, Qc和Gg0是基于电压模的系数再乘以电流模影响因子.

CPM Buck Simple Model vs More accurate model

CPM Boost Simple Model vs More accurate model

CPM Buck-Boost Simple Model vs More accurate model

三种converter的Gvg-cpm和Cvc-cmp都有两个极点, 而且是low Q, 因此low-Q近似可以应用来找到低频极点. 对于line-to-output电流模传函, boost和buck-boost有两个极点和一个零点和可观的低频增益. buck电流模line-to-output的低频增益很低.

18.5 Simulation of CPM Controlled Converters

对于buck电路, 电流模vs电压模Gvc和Gvd control-to-output传输函数的Gain和Phase

可以看到电压模Gvd有两个pole, 而电流模只有一个pole, phase长期保持在-90deg. 因此电流模更容易设计出宽带宽 large cross-over frequency的voltage feedback loop. 在电流模中常用Proportional-integral (PI) 补偿. PI补偿有一个低频(0Hz)极点和一个转折零点fz, 通常在实际应用中会加上一个高频滤波极点fp.

对于buck电路, 电流模vs电压模Gvg line-to-output传输函数的Gain和Phase

可以看到电流模的Gvg很小, 意味着电流模抑制 input voltage disturbances很高.

buck 电流模/电压模的输出阻抗如下图所示

对于buck电压模, 输出阻抗主要由LCR决定, 低频取决于电感winding电阻, 在resonant frequency达到峰值, 在更高频由1/(sC)决定.

对于buck电流模, 输出阻抗由load resistance和CPM输出阻抗决定. CPM引入lossless damping, 因此电感不影响输出阻抗, 电感就像恒流源current source. 可以看到CPM极大增加了converter的低频阻抗. 在高频, 电压模和电流模类似.

18.6 Voltage Feedback Loop Around a Current-Programmed Converter

在峰值电流模式CPM中通常会包含输出电压Vout反馈环路, 目的是regulate输出电压. 如Chapter 9讨论, 输出电压v被采样,和基准电压Vref经过EA进行放大/比较, 这个error signal误差信号在电压模中作为pulse-width modulator (PWM比较器)的输入, 直接控制占空比d. 在电流模CPM中, 这个误差信号vc会除以Rf, 作为电流模控制信号ic(t).

带输出电压负反馈环路的CPM如下图所示

Gcv是Chapter 9中介绍的补偿器, 用来补偿电压loop gain. 因此Voltage Loop Gain为
T v = H G c v ( s ) 1 R f G v c ( s ) T_{v}=HG_{cv}(s)\frac{1}{R_{f}}G_{vc}(s) Tv=HGcv(s)Rf1Gvc(s)
closed-loop input admittance:

18.6.2 Design Example

Vref=3V, V=Vref/H=8V, D=0.67, IL=V/R=0.8A

Gvc表现出单极点系统, 因此Gcv可以设计成proportional-integral (PI)补偿, 来获取电压环路的宽带宽(large crossover frequency). PI补偿有一个低频(0Hz)极点和一个转折零点.

假设fzv<fcv<fhf, 如下图所示.

Magnitude以-20dB/dec的速度穿过crossover frequency, 因此Loop Gain为

因此可得设计的Gcm为

为了获得电压环路宽带宽, 我们设计fcv=40KHz=fs/5, 其中Rf=1ohm, fp1来自Gvc=201Hz, H=0.375即voltage sensing gain, 因此Gcm=67.1

考虑fp1<<fcv,电压环路 Phase Margin为

Phase Margin=59deg

18.7 High-Frequency Dynamics of Current-Programmed Converters

18.7小节讨论了CPM的高频响应, 采用sampled-data modeling 技术. sample-data建模显示: 当ma很小时,在1/2 开关频率处control-to-current frequency response exhibits peaking, 会导致系统不稳定, 因此需要加入斜坡补偿.

18.8 Discontinuous Conduction Mode

对于电流模的DCM小信号, switch的电流的电压波形满足power soruce, diode替换成power sink, 这样可以建模小信号. 然后通过 perturbation and linearization可得Buck, Boost和Buck-Boost在DCM下的小信号模型.

电流模的buck, boost, buck-boost在DCM下的传输函数展现为单极点系统, 第二个极点和右半平面零点(RHP)靠近开关频率fs或者在fs以外, 这是由于在DCM时电感值L偏小.

DCM下buck-boost的电流电压波形如下:

替换掉switch和diode

相似的, 可得电流模CPM下 buck, boost, buck-boost在DCM的基本特性:

在DCM下, 电感电流在初始t(0)和周期结束t(Ts)时均为零. 因此电流模CPM展现表现为稳定, 即使没有斜坡补偿, boost和buck-boost也在全占空比下稳定. 但对于buck, 当电压转换比M=V/Vg>2/3时, dc输出是非线性的,在驱动线性阻抗, 存在两个兼并点(equilibrium points). 解决这个问题, 可以加入斜坡补偿ma>0.086m2或者加入输出电压反馈.

最终可得电流模CPM下 buck, boost, buck-boost在DCM下的小信号模型, 如下图所示:

和电压模DCM的表达式类似, 我们可以做一阶近似, 即把电感省略掉, 可得下图

因此control-to-output transfer function 传输函数 Gvc(s), 为单极点系统
G v c ( s ) = v i c = G c 0 1 + s ω p G_{vc}(s)=\frac{v}{i_c}=\frac{G_{c0}}{1+\frac{s}{\omega_{p}}} Gvc(s)=icv=1+ωpsGc0

其中
G c 0 = f 2 ( R ∥ r 2 ) G_{c0}=f_{2}(R\parallel r_{2}) Gc0=f2(Rr2)

ω p = 1 ( R ∥ r 2 ) C \omega_{p}=\frac{1}{(R\parallel r_{2})C} ωp=(Rr2)C1

line-to-output transfer function 传输函数 Gvg(s), 为单极点系统
G v g ( s ) = v v g = G g 0 1 + s ω p G_{vg}(s)=\frac{v}{v_g}=\frac{G_{g0}}{1+\frac{s}{\omega_{p}}} Gvg(s)=vgv=1+ωpsGg0

其中
G g 0 = g 2 ( R ∥ r 2 ) G_{g0}=g_{2}(R\parallel r_{2}) Gg0=g2(Rr2)

各项表达式如下表所示:

18.9 Average Current-Mode Control

Average current-mode (ACM) 平均电流模控制也是一种流行的电流控制方法, 如下图所示

上管电流采样信号Rf*i 和控制信号vc=Rf *ic 进行比较. error信号通过compensator Gci(s), 产生Vm 传给pulse-width modulator. PWM产生的duty cycle, d和Vm绝对值成正比.

18.9.1 System Model and Transfer Functions

我们需要设计Gci(s), current loop compensator, ACM环路如下:

ACM电流loop gain和闭环control-to-current传输函数Gic(s)如下式

和CPM control (peak current mode) 峰值电路模相比, 平均电流模有几个优点:

  1. 直接控制平均电流, 在某些场景例如电池充电charger场景, LED (light emitting diodes) driver驱动, low harmonic rectifiers, and grid-tied inverters 就需要得到平均电流
  2. 电流采样带低频滤波和Gci, 意味着对噪声和开关串扰更不敏感.
  3. 无需斜坡补偿就能在所有占空比下稳定.

ACM限制电流控制信号vc限制了平均电流而不是峰值电流, 就像其他duty-cycle controlled的变换器, 还是需要额外的检测电路来限制峰值电流.

在许多应用中, 需要sense和regualte输出电压, 带输出电压regulation环路的ACM架构如下

带输出电压regulation环路的ACM小信号模型如下

输出电压小信号模型:

control-to-output传输函数:

输出电压 control loop可以简化为下图:

因此输出电压Loop Gain为
T v = H G c v G v c T_v=HG_{cv}G_{vc} Tv=HGcvGvc

Gvc如上式所示, Gcv需要design设计

18.9.2 Design Example: ACM Controlled Boost Converter

考虑设计Boost Converter: Vg=170V, Pout=2kW, V=400V, fs=100KHz.

需要设计Gci, 让current loop crossover frequency fci=10KHz. 然后设计Gcv让outer voltage control loop 的 crossover frequency fcv=1kHz

未补偿的电流环路 loop gain Tiu, with Gci=1 是下式
T i u = R f V M G i d ( s ) T_{iu}=\frac{R_f}{V_M}G_{id}(s) Tiu=VMRfGid(s)
duty-cycle to inductor current 传输函数 Gid(s)是

因此我们可以用一个PI compensator 作为 ACM current loop 补偿网络, 其传输函数为, PI补偿有0Hz极点, Wz处零点和Wp处高频极点. 加入高频极点Wp来减小高频开关纹波, low-pass filter采样电流. A typical ACM current loop 补偿网路传输函数如下:

其bode plot如下

需要设计crossover frequency fz<fci<fp

对于compensator设计, fz越小, phase margin越大, 但是低于fci的增益越小. fp越大, phase margin越大, 但开关频率处的抑制变小. 可设计fz=fci/2.5=4KHz, fp=2.5*fci=25KHz. Phase Margin=46 deg.

下一步是设计电压环补偿网路Gcv, 得到fcv的crossover frequency

在低于fci频率时, Gvc可以近似为

我们设计fcv << fci. 由于Gvc在crossover frequency fcv=1KHz前表现出单极点系. 我们可以用简单的PI补偿.

可设计fzv=fcv/3=333Hz, phase margin = 72 deg.

两部设计思路很明确简单: inner current loop快,先设计. outer voltage loop慢, 再设计. 对于ACM的电流环和电压环, PI compensation足够了.

18.10 Summary of Key Points

  1. 在峰值电流模控制CPM中, 峰值电流is(t)跟随控制信号ic(t). 这种常用的控制方法有明显的优点: 更简单的control-to-output传输函数(极点少一个), 对于buck, line-to-output 传输函数极大减小.
  2. 最基本的峰值电流模控制在D>0.5时不稳定, 需要加入斜坡补偿. 加入的斜坡ma>0.5m2后, 系统在所有duty cycle (0<D<1)下都稳定
  3. 峰值电流模CPM可近似建模为iL(t)=ic(t). 将diode/switch建模为一个current source,其值为ic, 或者power sink or source (取决于topology). 通过Perturbation and linearization可得小信号模型. 当然也可以用Chapter 7的方法直接小信号化简.
  4. 峰值电流模近似建模显示line-to-output and control-to-output的传输函数少了一个极点, 但是CPM不会改变传输函数的零点. DC gain开始和负载有关.
  5. Chapter 18.3更准确的模型展示了平均电感电流iL(t)和ic(t)的区别. 模型揭示了buck line-to-output传输函数 Gvg非零. Chapter 18.4通过分析多环路反馈系统, 推导了系统传输函数.
  6. 更准确的模型预计crossover frequency fc通常在开关频率fs附近. 当斜坡补偿ma=1/2*m2时, buck line-to-output传输函数Gvg为零.
  7. Chapter18.5展示平均化CPM模型可以用SPICE仿真, 如Chapter 14所示
  8. 带峰值电流模CPM控制的系统通常会带outer电压反馈环路, 目的是regulate输出电压. 由于CPM的control-to-output传输函数只有单极点,较简单, 因此电压环路可以设计为宽带宽, 只需要简单的PI补偿, 如Chapter 18.6展示.
  9. Chapter 18.8展示了峰值电流模工作在DCM的建模. 平均transistor波形可建模为power sink, diode建模为power source. 利用Perturbation and linearization 可得小信号模型.
  10. Chapter 18.7讨论了CPM的高频响应, 采用sampled-data modeling 技术. sample-data建模显示: 当ma很小时,在1/2 开关频率处control-to-current frequency response exhibits peaking, 会导致系统不稳定, 因此需要加入斜坡补偿.
  11. Average current-mode (ACM) 平均电流模是另外一种常见的控制技术. 其采样平均电流来控制占空比duty cycle. ACM有更强的noise抗干扰性, 在所有duty cycle下表现出稳定性, 同时具有相对简单的dynamics(极点少). 通过建造inner current control loops, ACM常用于需要直接控制conveter平均输入和输出电流的场景, 例如battery chargers, drivers for light emitting diodes, 和 grid-tied rectifiers and inverters.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UML2.0在系统设计中的实际使用情况

目前我在系统分析设计过程中主要使用UML2.0来表达&#xff0c;使用StarUML软件做实际设计&#xff0c;操作起来基本很顺手&#xff0c;下面整理一下自己的使用情况。 1. UML2.0之十三张图 UML2.0一共13张图&#xff0c;可以分为两大类&#xff1a;结构图-静态图&#xff0c;行…

【轻松一刻】中国茶叶探索奇妙之旅

文章目录 茶多酚 茶叶大类 龙井茶 泡茶方法 茶叶保存 参考资料 茶多酚 茶多酚是形成茶叶色香味的主要成份之一&#xff0c;也是茶叶中有保健功能的主要成份之一。茶多酚的副产品咖啡因&#xff0c;又称为咖啡碱&#xff0c;能兴奋大脑皮层&#xff0c;所以喝茶有提神作用…

代码随想录-算法训练营day04【两两交换链表中的节点、删除链表的倒数第N个节点、链表相交、环形链表II】

专栏笔记&#xff1a;https://blog.csdn.net/weixin_44949135/category_10335122.html 第二章 链表part02● day 1 任务以及具体安排&#xff1a;https://docs.qq.com/doc/DUG9UR2ZUc3BjRUdY ● day 2 任务以及具体安排&#xff1a;https://docs.qq.com/doc/DUGRwWXNOVEpyaVpG…

【原创】springboot+vue校园座位预约管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Vivado功耗基础之功耗评估器XPE使用详述

目录 一、前言 二、XPE环境配置 2.1 XLSM下载 2.2 EXCEL启用宏 2.3 打开XLSM 三、XPE操作 3.1 单元格颜色含义 3.2 Settings表格 3.3 片上功耗表格 3.4 电源供电表格 3.5 总结表格 3.6 工具栏 四、参考资料 一、前言 XPE(Xilinx Power Estimator)是一个在工程的预…

【C++航海王:追寻罗杰的编程之路】C++的类型转换

目录 1 -> C语言中的类型转换 2 -> 为什么C需要四种类型转换 3 -> C强制类型转换 3.1 -> static_cast 3.2 -> reinterpret_cast 3.3 -> const_cast 3.4 -> dynamic_cast 4 -> RTTI 1 -> C语言中的类型转换 在C语言中&#xff0c;如果赋值运…

八股面试速成—Java语法部分

暑期实习面试在即&#xff0c;这几天八股和算法轮扁我>_ 八股部分打算先找学习视屏跟着画下思维导图&#xff0c;然后看详细的面试知识点&#xff0c;最后刷题 其中导图包含的是常考的题&#xff0c;按照思维导图形式整理&#xff0c;会在复盘后更新 细节研究侧重补全&a…

15.5 二叉排序树原理及建树实战

二叉树模拟网站&#xff1a;Binary Search Tree Visualization (usfca.edu) 图 代码&#xff1a; #include <stdio.h> #include <stdlib.h> typedef int KeyType; typedef struct BSTNode{KeyType key;struct BSTNode *lchild, *rchild; }BSTNode, *BiTree; int …

[报错解决]源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

目录 报错信息解决办法 spring整合mvc时&#xff0c;遇到的404报错&#xff0c;梳理mvc知识供参考供 报错信息 解决办法 Controller RequestMapping("user") public class UserController {//spring整合webmvc// 请求地址 http://localhost:7070/user/quickRequest…

【游戏分析】非游戏领空追字符串来源

通过NPC名称找NPC数组 扫描 NPC名字 ASIC型 发现全部都有后缀 那么采用 字节集的方式去扫描 也是扫不到 说明:不是ASIC型字符串 扫描 NPC名字 Unicode型 没有结果 那么转换成字节集去扫描 终于发现结果了 把结果挨个修改字符串 发现 其中两个是可以用的 22和23 …

SAR教程系列7——在cadence中用Spectrum工具FFT仿真ADC的ENOB、SNR等动态性能指标

首先在仿真之前&#xff0c;你得有一个ADC。然后是思考如何仿真的问题&#xff0c;如何加激励&#xff0c;如何使用相关工具查看仿真结果。假定你有一个可以仿真的ADC&#xff0c;大致经过下列步骤可以得到ADC的相关动态性能指标。 第一步&#xff1a;在ADC后面接一个理想的DA…

实战解析:接口限流的一次简单实践

1.写这篇文章的来由 有一段时间里&#xff0c;博客总是三天两头被打&#xff0c;其中就遇到了恶意刷接口的手段&#xff0c;对方明显使用的代码IP&#xff0c;由于博客并没有做这方面的措施&#xff0c;加上被大量盗刷的接口刚好是数据量最大的一篇文章数据&#xff0c;所以不…

MySql下载安装及使用

1.MySql下载 下载页 解压到想要安装的目录 2.配置系统环境 以管理员身份运行cmd命令行&#xff1a;输入mysql 回车&#xff0c;输出以下内容&#xff0c;表示mysql安装好了 3.初始化mysql(不设置无密码)&#xff0c;执行以下命令 mysqld --initialize-insecure执行这个命…

web学习笔记(五十三)身份认证

目录 1.Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 如何选择 Web 开发模式 2. 身份认证 2.1 Session 认证机制 3. 在 Express 中使用 Session 认证 3.1 安装express-session 中间件 3.2 配置 express-ses…

课程16 吸收·色散·散射(视频P55-P60)

吸收 色散 散射 吸收、色散、散射并称为分子光学&#xff1b;在一介质中&#xff0c;光的强度随传播距离而减少的现象&#xff0c;称为介质对光的吸收&#xff1b;介质的不均匀性将导致光的散射&#xff0c;散射到各个方向。光在介质中的传播速度小于真空光速&#xff0c;最终…

dcm文件数据学习

simpleITK读取数据 import SimpleITK as sitk import numpy as np import matplotlib.pyplot as plt base_path "/Users/yxk/Desktop/test/" image sitk.ReadImage(base_path"000000.dcm") # type(image) <class SimpleITK.SimpleITK.Image> imag…

789. 数的范围 (二分学习)左端大右,右端小左

题目链接https://www.acwing.com/file_system/file/content/whole/index/content/4317/ 当求左端点时&#xff0c;条件是a【mid】大于等于x&#xff0c;并把右端点缩小。 当求右端点时&#xff0c;条件是a【mid】小于等于x&#xff0c;并把左端点扩大。 1.确定一个区间&…

机器人力觉控制(力源)原理及力矩传感器性能分析

机器人力控原理及其性能分析 在机器人的操作任务中&#xff0c;处理机器人和环境之间的物理接触是非常重要的。由于机器人系统的复杂性和不确定性&#xff0c;纯运动控制往往是不够的&#xff0c;因为即使是最精确的模型也无法完全准确地预测所有可能的情况。 当机器人在与环境…

Qt5.15以上版本在线安装步骤,可选择更多早期版本

以ubuntu系统为例&#xff1a; 1、先去下载在线安装程序&#xff1a; https://download.qt.io/official_releases/online_installers/ 选择合适的版本&#xff0c;这里是在x64机器的ubuntu虚拟机里安装QT&#xff0c;所以选择如下版本&#xff1a; 或者直接在终端执行如下命令…

56.合并区间

这个C代码实现了一个名为Solution的类&#xff0c;其中有一个公共成员函数merge&#xff0c;该函数接收一个二维整数向量&#xff08;表示一系列闭区间&#xff09;&#xff0c;并返回一个新的二维整数向量&#xff0c;其中包含所有已合并的不重叠区间。 // 定义一个名为Solut…