开关电源基础05:基本开关电源电感器设计(2)

news2024/9/24 11:26:42

说在开头:关于第五届索尔维会议(2)

索尔维会议的第四天休会,第五天开始自由讨论,大家都想站起来发言,会场一片混乱。大会主席洛伦兹不断拍桌子,让大家保持安静,可现场还是太乱,德语、法语、英语吵成一片,埃伦费斯特一看,就在黑板上写了一行大字:上帝真的使人们的语言混乱了。看到这些字,大家都老实了,挨个发言吧。洛伦兹点名玻尔先发言,玻尔就就阐述了观测的意义:对于电子来说,你不观测它的时候,讨论它存不存在是没有意义的;物理学不是要找出自然是什么,而是对于自然,我们能说什么。对于这么毁三观的发言,在场的老派物理学家们都觉得不爽,因为玻尔把物理学的意义都给改了,还牵扯到了哲学问题。

这时,爱因斯坦终于发言了,薛定谔和德布罗意可算是松了口气。爱因斯坦是思维实验大师,一抬手就设计了一个思想实验:假如板子上有一个小孔,一个电子飞过去,那么这个电子穿越小孔的时候将发生衍射现象。那么我们现在有两个理论可以解释这一现象:1,假如用德布罗意和薛定谔的说法:这个电子其实是个波,就像是一片云彩穿过了小孔发生衍射;2,如果用哥本哈根的说法:的确有个电子,而波函数是它的“分布几率”,电子本身不扩散到空中,而是它的概率波。爱因斯坦承认,第二种理论比第一种更加完备,因为理论二包含了理论一。尽管如此,爱因斯坦说他不得不反对第二个理论:电子穿越过小孔之后,按照波函数的计算,它达到屏幕上任何一点的概率都不一样,但都不为0;那么电子在没打中屏幕之前,任何一点都有被打中的可能,当电子自己决定打中A点,此时事情突变:A点的概率就变成了100%,而其它点的概率就突然变成了0;这个消息也传的太快了点吧,别的点怎么知道电子已经打中了A点了呢?而且别的点不管离A点多远,都能瞬时知道;难道不需要传递消息的时间么?这是违反狭义相对论的,依我看哪,电子通过小孔后,有无数条路径可走,但电子只是概率性的走了其中一条,我们不知道电子是怎么选择路径的,也不知道什么因素控制着电子选择路径,而量子论给出的计算只能算到概率(隐变量的概念);从这个角度来看,量子论是不完备的,只是个阶段性的成果,还远不是世界的本来面目哪。

玻尔和他的爱酱们一脸懵逼,爱因斯坦他他他在说啥?但他们觉得要把“波函数坍缩”说清楚:波函数只是一个抽象的概率波,不是真实飘荡在空间中的波,所以它在A点坍缩时,不需要把消息传递给其它各点;也就是说,其它各点的波函数不需要接收到A的消息,就能就在同一时刻把概率集中到A点了,不管它们离A点有多远。

爱因斯坦自然对这种解释不满意,因为他坚信“上帝不掷骰子”,而玻尔反击“别指挥上帝该怎么做”,两边的主将上场了,玻尔这群哥本哈根学派各个都不是吃素的,团战能力更不是爱因斯坦这边的散兵游勇所能比。边上的吃瓜群众也很激动:毕竟这是当今最高水平的物理学讨论,而且说到底这群吃瓜群众的态度,才能决定最后双方辩论的输赢。

虽然在物理学上他们争锋相对,但平时生活里还是友好相处的,爱因斯坦和玻尔是好朋友,他们俩经常一边散步一边聊天,海森堡和泡利有时就在后边跟着,听听两位大咖聊些啥,偶尔憋不住了还顺便插个嘴。薛定谔和玻恩的物理学观点完全对立,但他们俩非常投缘,特别爱聊第一次世界大战时候在战场的经历。

索尔维会议开了6天,大家都在不断讨论量子论的问题;到最后爱因斯坦、薛定谔和德布罗意还是不认可哥本哈根学派的说法,但是围观的吃瓜党慢慢都开始倾向于哥本哈根学派了,大家对玻尔他们理论的认同感更强,量子物理的哥本哈根解释得到了广泛的传播。大家都知道了量子是反直觉的,很多宏观思想在微观世界是不好使的,在事实面前不得不接受。就连爱因斯坦的好友埃伦费斯特都一屁股坐到了玻尔那边,还替爱因斯坦惋惜:你看看你现在的状态,就跟当年反对相对论的那帮人差不多嘛,你怎么就没有接受新鲜事物的勇气了呢?

爱因斯坦就是不认账,他总觉得量子论是不完备的;他在苦苦思索,玻尔的漏洞在哪里呢?这一想就又过去了好几年。(参考自:吴京平-无中生有的世界)

二,电感器选择

电感器的选择是开关电源设计中最重要的一步,上一章节关于电流纹波率r的确定以及电感峰值电流的计算,其很重要的目的就是计算出合适的电感器。

1,电感器尺寸

电感器的尺寸很大程度上决定了整个开关电源的面积,我们上面提到了电感器尺寸取决于电感器磁芯处理能量的大小,但是具体与我们所知道的哪些参数相关呢?

1.1 电感量与电感器尺寸

电感器的尺寸主要决定于磁芯体积的大小,从电感量公式L= μr*N²*Ae/le分析,理论上对于同一个磁芯(磁导率μr、磁芯横截面积Ae和磁路长度le已确定),只要增加绕线匝数,就能获得所希望得到的任何电感量,与电感器尺寸没有必然的关系;但在实际应用中电感量和电感器的尺寸还是相关的。

我们通过在电流纹波率r章节的分析,当r值越小那么电感器所需的能量处理就越大,电感尺寸就越大;同时考虑r = ΔI/Idc,ΔI = (ΔV*Δt)/L,当其它所有条件(输入电压Vin、输出电压Vo,开关频率f,输出负载电流Io等)不变时,r值越小就需要电感值L越大;由此可以判断:在给定工况的电源拓扑中,采用电感器的电感值越大,那么其电感器尺寸也一定越大

——如果负载电流增加,那么电感器将需要具有更大的能量处理能力,更大尺寸的电感器,但此时却需要更小的电感值;因为Idc增加后,为了保证r值最优,需要同比增加ΔI,所以需要减小电感值LΔI = (ΔV*Δt)/L。我们回忆一下平时接触的BUCK开关电源设计,负载电流在5A以内的电感器感值可能在5uH~20uH级别,负载电流增大至30A时电感器感值在几百nH级别。

1.2 开关频率与电感器尺寸

我们在《电源变换器基础》中就讲到过开关频率的增加,可以使整个开关电源的面积减小。

如果保持其它参数不变,只是增加开关频率,那我们可以看到电感公式中:ΔI = (ΔV*Δt)/L,Δt随开关频率线性减小,即:开关频率f增加一倍,那么Δt将减小一半。而且由于Idc不变,而ΔI减小一半,所以r由原来的0.4变成了0.2;为了恢复r最优值0.4,则必须将电感值L减半,来保证ΔI不变。

根据电感能量储存公式:E = 1/2*L*I²pk,L减半而Ipk不变,那么E也减半,可得电感器尺寸减半。所以我们得到一个结论:电感器尺寸与开关频率成正比,电感器电流应力与开关频率无关

——在实际开关电源中频率与电感值并非完全的比例关系,因为“死区时间”占用了部分开关时间,Δt不会随开关频率增加而完全的比例减小;但这不影响定性分析

1.3 负载电流与电感器尺寸

若负载电流Io加倍(其它条件不变:输入电压、输出电压、开关频率),那么r值将减半,因为ΔI = (ΔV*Δt)/L并没有发生变化。为了使r值达到最优的0.4,ΔI也必须加倍,而此时伏秒积ΔV*Δt不变(开关频率),唯一的方法是将电感值L减半。

——所以可以得到一个结论:电感器的电感值L与负载电流成反比

由于电感值L减半,所以ΔI = (ΔV*Δt)/L增加一倍,而Io也加倍,所以Ipk = Io+ΔI也增加了1倍;我们根据电感能量储存公式:E = 1/2*L*I²pk,L减半而Ipk加倍,可得E也加倍。

——所以又可以得到一个结论:电感器的尺寸与负载电流成正比

2,如何选择电感器

一般电感器厂家是不会提供E = 1/2*L*I²pk的参数,而会提供一个或多个额定电流供我们选择(具体可以参考《电感器原理》中关于电感器参数的分析):

1. 额定电流标成最大直流电流Idc,最大温升电流;

——举个栗子:表示电感器温升达到40℃时的电流大小,与电感器铜线绕组的电阻相关,表示电感器本身热耗已达极限。

2. 最大饱和电流Isat,饱和电流;

——举个栗子:表示电感器电感量下降20%时的电流大小,与电感器磁芯饱和程度相关,表示磁芯的储能已接近极限。

一般来说电感器的Idc和Isat相等时是最优的,因为从本质来说Idc体现的是绕组铜线的粗细,而Isat体现的时磁芯体积的大小

1. 如果Idc > Isat,那么说明铜线过粗是有浪费的,

2. 相反若Idc < Isat,则说明磁芯体积过大有浪费;

3. 所以对于电感器来说Idc = Isat的情况下是性价比最高的;但考虑磁芯的成本远大于铜线的成本,所以允许铜线可以更粗一点,即Idc > Isat。

对于我们应用来说:电感器额定电流值需要考虑Idc Isat中较小的那个,其它的额定值可以忽略

2.1 电感器电流额定值的应用

我们前面分析的都是开关电源在稳态工作中的电感需求,但在实际工作中开关电源会碰到很多异常的情况,举个栗子:开关电源开启瞬间,输入电源电压变化,负载电流突变(输出短路),此时由于开关电源要尽力维持输出电压的稳定,占空比可能会瞬时增加至最大值,导致在导通阶段的伏秒积(Von*Ton)增加,可能达到设定的电流极限值,此时电感器有可能达到饱和状态。再举个栗子:在3A应用中(5A限流)选择额定值为3A的电感器,那么在输出短路时,电流会瞬间达到极限。

那么我们要如何考虑电感器磁饱和的问题呢?电感器的最大电流要如何选择。一般情况下,低压开关电源的磁饱和并不会带来太大的问题,我们之所以不希望看到磁饱和,是因为磁饱和后可能导致开关管的损坏,我们只要保证电感器短暂磁饱和后开关管不会被损坏。接着上面的栗子,当饱和电流为3A的电感器输出短路时,电流增大到5A,此时只要开关管通流大于5A,保证在超过5A时足够快的关闭,从而不会导致开关管损坏。

那怎样才能足够快呢(除了修炼《葵花宝典》这种途径之外)?哪些因素能影响开关管迅速关闭,从而避免受电感器磁饱和的影响?

1. 任何限流电路都需要一定的响应时间,电源拓扑对输出电压的响应需要通过:信号采样、比较、放大、电平转换以及驱动器驱动开关管,这整个回路是有固定延时的;

2. 如果使用控驱动芯片(非内置开关管),那么开关管与驱动器之间有一定的距离,走线会有延时,而且其寄生电感会抑制电流突变,导致产生额外延时;

3. BJT甚至大功率MOS管都有较大的内部寄生电容(Cgd,Cgs),需要充放电,必然也会产生延时

——如之前所述,这也是设置“死区时间”的原因;有兴趣的同学可以再回顾下《MOS管特性和应用》。

4. 很多控制器会设置过流时间门限,避免噪声干扰导致的误触发,导致环路不稳定,但这段时间也会对延时响应产生很大的影响,如下图所示;

5. 在输入高压应用中,根据公式:ΔI = (ΔV*Δt)/L,可得饱和电感的电流上升率会非常大,电流会远远超出设定的电流限制阈值;所以在大电压应用中一般选择一个足够大的磁芯,避免在电流限制阈值处达到饱和

6. 而大多数低压应用中,仅根据最大工作负载电流选择电感器(最好留有裕量),因此忽略的设定的电流极限,一般情况下没有问题

2.2 电感器电流限制容限

按照开关电源中选择电感器的标准步骤,首先按照电流纹波率为0.4来确定电感值,这是开关电源整体设计的最优值;

1. 如果电感器工作时的峰值电流接近于电源控制器设定的电流限制,则需要保证电感值足够大(ΔI小),对于大多数低压开关电源来说,避免计算的工作峰值电流Ipk超过其电流限制(电流限制最小值ICLIM_MIN,忽略最大值),否则开关管的损耗会增加;所以基本设计标准是:计算电感器峰值电流Ipk总小于电流限制最小值

——电源控制器的电流限制分为:电流限制最小值ICLIM_MIN和电流限制最大值ICLIM_MAX。

2. 电感器感值是有典型容限的,一般为±20%,所以根据r计算的电感值L最小是L*0.8,此时ΔI增加25%,为了保证Ipk不超过电流限制最小值,实际选择的电感器感值必须比计算的电感值L高20%,以保证电感器个体差异导致的电感值变化,不会低于计算的电感值L;

3. 同时在峰值电流Ipk和电流限制最小值之间至少还需留出20%的裕量,这主要考虑负载突变时以便电源能快速做出响应。

一般来说在高压应用(Vin>40V)时,用电流限制最小值(ICLIM_MIN)来选择电感值,而用电流限制最大值(ICLIM_MAX)来决定电感器尺寸。

2.3 L x I和负载所方法快速选择电感器

我们上面已经了解了电感器感值和电流的计算原则,那么接下来将结合计算出来的电感器感值和电流,如何来快速选择电感器;

根据电感方程ΔI = (ΔV*Δt)/L可推导出伏秒积公式:L*ΔI = ΔV*Δt,而ΔI = Idc*r,Et =ΔV*Δt,可得:(L *Idc)=Et/r = 伏秒积/电流纹波率。我们知道了伏秒积,确定了电流纹波率r后,就能计算出L*Idc的值,然后如果知道了Idc,就能计算出L。具体电感值推算过程及结果如下图所示。

L*I看做是每安培电感值,只是电感值与电流的关系成反比,即:如果电流增加则电感值同比减小。如果2A应用中使用100uH电感,那么1A应用中使用200uH,4A应用中使用50uH。如下图所示。

举个栗子:假设BUCK开关电源输入电压为10~15V,输出电压为5V,最大负载电流为10A,开关频率为500KHz,求推荐电感值。

1. 对于降压拓扑,需要从Vinmax(15V)开始设计电感器;

2. 由降压拓扑直流传递函数:D = Vo/Vin = 5V/15V=0.33;

3. 开关周期T = 1/f = 2us;

4. 关断时间Toff = T*(1-D) = 1.34us;

5. 伏秒积为Et = Vo*Toff = 5V*1.34us = 6.7usV;

6. 假设r = 0.4,那么L*I =Et/r = 6.7/0.4 = 16.75 uH.A;

7. 最大负载电流为10A,即Idc = Io = 10A;

8. 因此L = 16.75uH.A/10A = 1.675uH;

9. 电感器额定电流必须大于Idc*(1+r/2)=12A

10. 所以,我们可以选择1.675 uH *1.2 = 2uH左右(电感器感值预留20%裕量),额定电流12A*1.2 = 15A左右(电感器电流预留20%裕量,最大负载电流的1.5倍)的电感器。

再举个栗子:假设BOOST开关电源输入电压为4~6V,输出电压为12V,最大负载电流为3A,开关频率为500KHz,求推荐电感值。

1. 对于升压拓扑,需要从Vinmin(4V)开始设计电感器;

2. 由升压拓扑直流传递函数:D = (Vo-Vin)/Vin = (12V-4V)/12V=0.667;

3. 开关周期T = 1/f = 2us;

4. 导通时间Ton = T*D = 1.334us;

5. 伏秒积(按导通时间计算)为Et = Vin*Ton = 4V*1.334us = 5.336usV;

6. 假设r = 0.4,那么L*I = Et/r = 5.336/0.4 = 13.34 uH.A;

7. 最大负载电流为3A,即Idc = Io/(1-D) = 3A/(1-0.667) = 9 A;

8. 因此L = 13.34uH.A/9A = 1.48uH;

9. 电感器额定电流必须大于Idc*(1+r/2)=10.8 A

10. 所以,我们可以选择1.48 uH *1.2 = 1.78uH左右(电感器感值预留20%裕量),额定电流10.8A*1.2 = 13A左右(电感器电流预留20%裕量)的电感器。

——我们可以看到BOOST拓扑开关电源的电感器电流要远大于负载电流,所以在同等条件下相比于BUCK的电感器尺寸要更大

写在最后

本章我们从电感电流切入引出电流纹波率r,同时由电流纹波率r打通了开关电源拓扑中的所有电应力(电压、电流)参数的关联关系,从而由输入、输出电源电压/电流,确定了电感器的所有参数。磁性元件设计是开关电源设计的重点和关键所在,我们推导出了电感器选型的基本参数,但实际磁性元件的考虑还有更多:包括损耗(磁芯损耗、铜线绕组损耗)和其它极性应力的考虑;后续在不同章节中展开分析。

本章部分相关内容和图片参考自:Sanjaya Maniktala -《精通开关电源设计》。下一章《基本开关电源电感能量传输原理》。

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

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

相关文章

MATLAB实现人脸识别

本篇博文基于MATLAB实现人脸识别&#xff0c;基于几何特征的算法&#xff0c;对人脸从图像采集、预处理、到特征点定位提取&#xff0c;校验通过&#xff1b;主要利用YCbCr肤色模型&#xff0c;通过连通分量提取算法定位人脸&#xff1b;对RGB图像通过形态学图像处理算法选定区…

设置适合自己使用习惯的idea开发工具

一、配置方面 设置软件开启时候的最大内存128m够了&#xff0c;设置最大运行内存为8G&#xff0c;电脑配置好的一定要改&#xff0c;能极大的提升流畅性&#xff01; 二、好用的插件 1.MyBatisLogFormat是一款用于将控制台中打印出的sql、参数拼装成完整sql语句的idea插件 …

头部企业走入无人区,国产数智化厂商挑大梁

本文转自数智前线 文&#xff5c;石兆 编&#xff5c;游勇 央国企数智化与信创化双重需求叠加&#xff0c;国产厂商挑大梁&#xff0c;助力企业升级数智化底座&#xff0c;实现价值化国产替代。 4月&#xff0c;在北京用友产业园的数智剧院里&#xff0c;近千位来自30个行业…

Maven 私服 Nexus 3.44 搭建

文章目录 1. 安装 Nexus2. Nexus 程序2.1. 启动 nexus 程序&#xff0c;添加运行参数 start2.2. 查看 nexus 程序运行状态&#xff0c;添加运行参数 status2.3. 停止 nexus 程序&#xff0c;添加运行参数 stop 3. 浏览器访问 Nexus GUI3.1. 默认端口3.2. 自定义端口3.3. 初次登…

安全从业人员职业发展和规划

文章来源于owasp&#xff0c;分享嘉宾t0data。 1、为什么做这次分享&#xff1f; 2、人生周期三模型 3、职业生涯阶段划分 4、通用职业发展路径 5、当前安全行业前景如何&#xff1f; 6、安全就业行情如何&#xff1f; 7、安全行业就业市场岗位划分 8、什么是相对比较好的履历…

如何系统全面的自学自动化测试?明确后我直接拿到了20K

玩自动化测试多年的老司机带你上车全面系统学习自动化测试&#xff0c;并且还能教你如何学习才能在今年拿到一份不错的offer。 说到系统全面&#xff0c;就是以目前绝大部分公司招聘要求的知识内容为基准&#xff0c;毕竟我们学习自动化测试都是为了高薪工作&#xff0c;《史记…

【异步电机系列】电机参数离线辨识(含源码实现)

【一、闲话 很久没有认真更新自己的博客了&#xff01;正好这段时间在学习异步电机控制&#xff0c;所以把过程中的一些东西写下来&#xff0c;当是回顾也是备忘。本来想是把整个过程的问题和收获都记录下来的&#xff08;包括硬件设计、mcu控制、算法等&#xff09;&#xff0…

FFT变换后得到什么?

FFT FFT 快速傅里叶变换&#xff0c;是利用计算机计算DFT的高效、快速计算的方法的统称。 将信号从时域变换到频域范围内。 matlab中的fft 语法&#xff1a; Y fft(X) Y fft(X,n) Y fft(X,n,dim)说明 Y fft(X) 用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (D…

ApiPost简单使用

目录 环境与变量 设置与使用 随机参数变量 内置Mock字段随机参数 自定义随机参数 全局参数 使用手册 apipost可支持一键压测和自动化接口测试 环境与变量 设置与使用 设置 环境变量可设置环境名称、变量名称、变量初始值、URL&#xff1a; 可以在请求变量或者接口 URL…

《精英的傲慢:好的社会该如何定义成功》笔记与摘录二

目录 ​编辑 笔记与摘录 1、阶层跃升的话语 2、优绩至上理念的核心 3、优绩为什么重要 4、不平等是制度的失败&#xff0c;还是你的失败&#xff1f; 5、一种思考什么样的社会是公正的社会的方法 6、赚很多钱意味着什么 7、当市场价值被看作社会贡献的代表后 8、当市…

FS7M0880YDTU专为离线SMPS设计,VN7040AJTR和VN7016AJTR器件是用于汽车转向指示器

FS7M0880YDTU 是专门为离线SMPS设计的&#xff0c;具有最小的外部组件。该Power Switch(FPS)器件由高压功率SenseFET和电流模式PWM控制器IC组成。PWM控制器包括集成固定振荡器、欠压锁出、前缘消隐块、优化栅极通/关断驱动器、热关断保护、过压保护、用于环路补偿的温度补偿精密…

开源项目九死一生,但很多程序员坚持开源??

大家好&#xff0c;欢迎来到停止重构的频道。 本期我们讨论一个开放问题。 为什么流行的开源项目只是凤毛麟角&#xff0c;且很多有名的开源项目都是背靠大公司的。 但是&#xff0c;为什么还有很多个人开发者愿意开源项目呢&#xff1f; 欢迎大家把自己的想法或开源项目发…

实现一个简单的前端脚手架

核心要点 前端脚手架概念实现前端脚手架 什么是前端脚手架&#xff1f; 随着前端工程化的概念越来越深入人心&#xff0c;脚手架应运而生。简单来说&#xff0c;「前端脚手架」就是指通过选择几个选项快速搭建项目基础代码的工具 前端脚手架可帮我们做什么&#xff1f; 可…

fine tune openAI model ( 微调chatgpt)

了解如何为自己的应用程序定制模型。 介绍 微调可以从API提供的模型中获得更多信息&#xff1a; 比 prompt 设计更高质量的结果能够在超过 prompt 范围的示例上进行训练更短的 prompt 节省了token更低的延迟请求 微调包括以下步骤&#xff1a; 准备并上传训练数据训练一个…

【异常解决】vim编辑文件时提示 Found a swap file by the name “.start.sh.swp“的解决方案

vim编辑文件时提示 Found a swap file by the name ".start.sh.swp"的解决方案 一、问题描述二、原因说明三、解决方案3.1 方案1 删除即可3.2 方案2 禁止生成swp文件 一、问题描述 vim编辑文件时提示 Found a swap file by the name “.start.sh.swp”&#xff0c;如…

周杰伦、张韶涵巡演重磅回归,联诚发LED屏幕燃爆全场!

灯光点亮&#xff0c;音乐响起&#xff0c;所有粉丝随着节奏开始疯狂摇摆呐喊。2023年&#xff0c;随着演出市场全面复苏&#xff0c;各大活动演出随处可见&#xff0c;众多歌手也重新回归舞台&#xff0c;开启世界巡回演唱会活动&#xff0c;周杰伦、张韶涵等重磅明星纷纷进行…

6 接口、多态、断言、项目【Go语言教程】

6 接口、多态、断言、项目【Go语言教程】 1 接口 1.1 概念 Golang 中 多态特性主要是通过接口来体现的。 interface 类型可以定义一组方法&#xff0c;但是这些不需要实现。并且 interface 不能包含任何变量。到某个自定义类型(比如结构体 Phone)要使用的时候,在根据具体情况…

Jupyter Notebook为什么适合数据分析?

Jupyter Notebook 是一个 Web 应用程序&#xff0c;便于创建和共享文学化程序文档&#xff0c;支持实时代码、数学方程、可视化和 Markdown&#xff0c;其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前&#xff0c;数据挖掘领域中最热门的比赛 Kaggle 里的资…

数据结构与算法基础(王卓)(37):选择排序(简单选择、堆排序)

目录 简单选择排序 堆排序 堆的调整&#xff1a; 大根堆 小根堆 整个堆调整的完整工序如下&#xff1a; 根据按照操作对程序注解标注&#xff1a;&#xff08;看过了注解就知道程序他每一步是怎么操作的了&#xff09; 堆的建立 问题 简单选择排序 #include<iostre…

Feign踩坑源码分析--@FeignClient注入容器

一. EnableFeignClients 1.1.类介绍 从上面注释可以看出是扫描声明了FeignClient接口的类&#xff0c;还引入了 FeignClientsRegistrar类&#xff0c;从字面意思可以看出是进行了 FeignClient 客户端类的注册。 1.2.FeignClientsRegistrar 详解 最主要的一个方法&#xff1a;re…