热插拔技术--以ADM1177为例说明
综述
ADM1177是一款热插拔控制器,并且还支持电压电流采集(12bitADC)和传输(IIC).本文着重说明热插拔技术,所以仅说明ADM热插拔处理过程,对于ADC和IIC部分不予说明,请读者自行研究。
热插拔的应用背景
服务器、 网络交换机、 冗余存储磁盘阵列(RAID), 以及其它形式的通信基础设施等高可用性系统, 需要在整个使用生命周期内具有接近零的停机率。 如果这种系统的一个部件发生了故障或是需要升级,它必须在不中断系统其余部分的情况下进行替换, 在系统维持运转的情况下, 发生故障的电路板或模块将被移除, 同时替换部件被插入。这个过程被称为热插拔(hot swapping)(当模块与系统软件有相互作用时, 也被称为hot plugging1)。 为了实现安全的热插拔, 通常使用带交错引脚的连接器来保证地与电源的建立先于其它连接, 另外, 为了能够容易的从带电背板上安全的移除和插入模块, 每块印制板(PCB)或热插拔模块都带有热插拔控制器2。 在工作状态下, 控制器还可提供持续的短路保护和过流保护。
热插拔事件
考虑一块背板及一组可移除模块的系统。 每个模块必须能在不影响任意相邻模块正常工作的条件下被移除和替换。 当没有控制器时, 每个模块可能会对电源线造成较大的负载电容, 通常在毫法量级。 首次插入一个模块时, 其未充电的电容需要所有可用的电流来对其进行充电。 如果不对这个浪涌电流加以限制, 这个很大的初始电流将会降低端电压, 导致主背板上的电压大幅下降, 使系统中的多个邻近模块复位, 并破坏模块的连接器。这个问题可通过热插拔控制器(图1) 来解决, 热插拔控制器能合理控制浪涌电流, 确保安全上电间隔。 上电后, 热插拔控制器还能持续监控电源电流, 在正常工作过程中避免短路和过流。
下面以ADM1177为例说明热插拔控制器工作原理。
ADM1177工作原理图
ADM1177热插拔控制器包括三个主要元件: 用作电源控制主开关的N沟道MOSFET、 测量电流的检测电阻, 以及热插拔控制器。 热插拔控制器用于实现控制MOSFET导通电流的环路, 其中包含一个电流检测放大器。
热插拔控制器内部的电流检测放大器用于监控外部检测电阻上的电压降。 这个小电压(通常为0~100 mV)必须被放大到可用的水平。 ADM1177中放大器的增益为10, 那么, 举例来说, 某个给定电流产生的100 mV电压降将被放大到1V。 这个电压将与固定或可变的基准电压进行比较。 如果使用1V的基准源, 那么在检测电阻上产生100 mV(±3%)以上电压的电流将导致比较器指示过流。 因此, 最大电流触发点主要取决于检测电阻、 放大器增益, 以及基准电压; 检测电阻值决定了最大电流。 定时器电路用于设定过流持续时间。
ADM1177具有软启动功能, 其中过流基准电压线性上升, 而不是突然开启, 这使得负载电流也以类似方式跟着变化。 这可通过从内部电流源往外部电容(SS引脚)注入电流, 令比较器的基准输入从0 V到1 V线性升高而实现。 外部SS电容决定了上升的速度。 如果需要, SS引脚也可以直接使用电压驱动, 以设定最大电流限。
ADM1177典型应用电路
ADM1177热插拔工作过程
这部分是该控制器工作的核心,下面进行详细描述。
ADM1177通过调节处在电源和负载之间FET的栅极电流来使得脉冲电流维持在一个固定最大值,这样就避免了因为热插拔导致的浪涌电流对连接对象、FET自身的损害。
在真正热插拔处理前,ADM1177有一些处理操作,包括将GATE一直拉低、等待供电电压满足要求、检测供电正常后还会有一段时间延迟,这些工作从物理过程上是为了保持热插拔完全插上,从电气过程上为了内部电路供电正常,能够开始正常的工作,这在实际使用中很必要。
Vlim/Rsense是一个关键阈值,手册里叫linear current limit,刚开始容易被绕进去了,反正就是门限值。ADM1177会用一个变化电流(从小到大)给FET的栅极充电,充电会出现三种情况:
一、如果充的过程中, 一直到不了Vlim/Rsense这个阈值,那正常充,FET到了一定阈值,该打开就打开。
二、充的过程中这个门限值达到了,ADM1177会调节让电流保持在限制值
三、充的过程中一下子就超过了门限。一个电流源就会开始给接在TIMER引脚的电容充电。
如果电容充满前(TIMER引脚达到1.3V)电流回落低于阈值,ADM1177继续给GATE充使得其达到一个更高的电压,从而使导通电阻最小,同时TIMER引脚电压下拉回落。
如果电容充满后电流仍未回落,将会报错,热插拔过程会被放弃,GATE引脚马上拉低以关闭FET.
这里ADM1177的手册是写得很不好理解的,尤其第一次刚看手册的时候会被绕进去。在电气参数中来看更容易理解这个过程,下面结合参数重新说明一下过程:
当给Vsense没有达到92mV时,给FET栅极该怎么充就怎么充;
当Vsense达到92mv时,开始给TIMER引脚电容充电(因为是用恒定电流源充电,所以有点等效为计时)计时,如果计时结束电流都超过电流没超过97mv(假设按最小值处理),该怎么充怎么充;
如果计时结束Vsense超过了97mv,没超过115mv,FET工作在线性放大区,ADM1177会调节使FET的栅极电流位置在某一个阈值(97/Rsense–103/Rsense之间);
如果计时未结束Vsense就超过了115mv,ADM1177直接通过下拉电流将GATE拉低,关闭FET.
在进一步思考上述操作和热插拔过程的结合。把热插拔过程说的通俗一点,
对于热插拔过程中产生的低于92mv/Rsense的浪涌电流,不影响,FET该怎么接通就怎么接通;
对于热插拔过程中产生的大于92mv/Rsense,低于115mv/Rsense的浪涌电流,线性调整,保持一定恒定值给FET充电,之后该怎么接通怎么接通,有点抑制但是不直接关断的抑制;
对于热插拔过程中大于115mv/Rsense的浪涌电流,对后级负载危害太大了,赶紧关闭FET.
ADM1177欠压锁存
低于2.8V,不工作;高于2.8V,开始初始定时工作周期(initial timing cycle)。
ADM1177的ON引脚
在ON引脚低于1.3V,GATE拉低,FET关闭;TIMER引脚会因为该引脚拉低复位;低到高的变化会开启热插拔处理过程; 推荐10K上拉电阻接到VCC;
也可以用分压网络来来实现欠压检测;也可以用一个RC网络来解决initial timing cycle部不足的问题。
ADM1177的TIMER功能
比较器阈值:1.3V和0.2V
四个电流源:上拉:5uA和60uA 下拉:2uA和100uA
以上这些值加上外部电容决定了初始定时的周期,过流检测的限制时间和重新一次热插拔的间隔时间。
ADM1177的热插拔过程中的GATE和TIMER
在一次热插拔过程中,最开始以12.5uA给GATE上拉,如果Vsense电压值超过92mv,TIMER脚以60uA给电容充电,如果Vsense电压值超过97mv(假设按最小值设计),通过调整Vsense在Vlim范围内调整GATE充电电容;
在定时时间内Vsense电压值回落到92mv之内,TIMER引脚充电从60uA上拉编程100uA下拉,ADM1177正常打开FET;如果在定时时间内Vsense电压值不能回落到92mv之内,GATE会被1.5-7mA之间的一个电流下拉,只有重置ON才能重新一次热插拔;
如果Vsense电压值直接超过115mv,立即关闭FET.
上述部分其实就是上述的热插拔分析过程,在此又啰嗦了一遍。手册中来回叙述,着见其重要性。
ADM1177的INITIAL TIMING CYCLE
复位时:GATE被25mA电流下拉,TIMER被100uA电流下拉,复位之后进入 initial timing cycle阶段。
initial cycle delay:
T2:5uA上拉TIMER引脚电容,直到Vtimerh
T3:100uA下拉TIMER引脚电容,直到直到Vtimerl
之后进入FET开通阶段:
T4:GATE引脚开始充电
T5:FET门限电压达到,FET开始导通
中间有一段Vsense的调整时间,FET的栅极电压也不增加
T6:FET完全导通
ADM1177的重插拔
ADM1177-1:通过TIMER引脚延时来实现自动重插拔
所有的ADM1177:过流故障后,TIMER用60uA上拉电流给电容充电,当充电至1.3V,限制时间达到后将GATE拉低。对于ADM1177-1,会用2uA下拉电流将TIMER引脚拉低,当TIMER引脚达到0.2V以下后,就可以重新开始重插拔。
ADM1177软重启
SS引脚在Vsense到达mv前保持拉低状态;之后一个电流源给SS电容线性充电至1V。栅极线性放大器的参考电压依据这个软启动电压,这个参考电压也可以用外部电压直接给定。
热插拔技术--以ADM1177为例说明相关推荐
- 理解热插拔技术:热插拔保护电路设计过程实例
服务器.网络交换机.冗余存储磁盘阵列(RAID),以及其它形式的通信基础设施等高可用性系统,需要在整个使用生命周期内具有接 近零的停机率.如果这种系统的一个部件发生了故障或是需要升级,它必须在不中断系 ...
- 热插拔技术详解(下)
3.热插拔导致的静电问题及其防治 (1)静电产生 物质都是由分子构成,分子是由原子构成,原子由带负电荷的电子和带正电荷的质子构成.在正常状况下,一个原子的质子数与电子数量相同,正负平衡,所以对外表现出 ...
- 《2022微隔离技术与安全用例研究报告》发布
从近几年的网络攻击形势看,内网的攻击逐渐增多.然而,目前绝大部分组织的安全防御思路仍然停留在边界防御阶段,相比之下对内网的安全防护 关注则较少,针对内网横向移动的防护不够"坚固", ...
- 根据自动装配原理在Springboot项目中自定义starter,并实现热插拔技术,自定义@enable
根据自动装配原理在Springboot项目中自定义starter,并实现热插拔技术 自定义starter 简单步骤 使用测试 优化(热插拔技术) 自定义starter 简单步骤 创建项目,并引入aut ...
- C#中LINQ技术的简单小例
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespac ...
- Java技术回顾之JNDI--实例
一.JNDI在Java EE中的应用 JNDI 技术是Java EE规范中的一个重要"幕后"角色,它为Java EE容器.组件提供者和应用程序之间提供了桥梁作用:Java EE容器 ...
- 智能科学与技术毕业设计题目100例
文章目录 0 简介 1 如何选题 2 最新智科毕设选题 3 最后 0 简介 学长搜集分享最新的智能科学与工程业专业毕设选题,难度适中,适合作为毕业设计,大家参考. 学长整理的题目标准: 相对容易 工作 ...
- [架构之路-205]- 常见的需求分析技术:用户故事User Story(用户需求)、用例User Case(系统需求、产品需求)、场景Senario(内部执行流程)区别
"用户故事和用例是一样的吗?" 人们经常会问这个问题,关于敏捷团队应该实践使用故事还是用例的争论已经持续多年了. 用户故事和用例是一回事吗? 如果不是,哪一个更好?你应该使用哪一个 ...
- RAID技术详细解答之一:入门基础篇
本文所要讲解的RAID技术起初主要应用于服务器高端市场,但是随着个人用户市场的成熟和发展,正不断向低端市场靠拢,从而为用户提供了一种既可以提升硬盘速度,又能够确保数据安全性的良好的解决方案.IDE 磁 ...
最新文章
- 用js实现分享到随页面滚动而滑动效果
- MySQL 数据库 练习题
- cta策略 有哪些_【投资理财】基本面拐点已至,当前环境适合配置哪些策略?...
- linux中一条命令将文件转换为UTF-8格式-解决乱码
- 清华大学 现代软件工程 - 实战经验分享
- sql server累计求和函数_窗口函数 以及 储存过程 create procedure
- 利用DB Link搞定Oracle两个数据库间的表同步
- PowerShell全自动分配CPU
- jdk环境变量的配置与练习
- 【IScroll深入学习】解决IScroll疑难杂症
- 第十次课:Python函数(一)
- 实验一 线性表的顺序存储与实现_线性表的存储结构(java)
- cass小插件集合_CASS插件合集 - 下载 - 搜珍网
- EyouCMS文章图片懒加载
- android 设置壁纸上下显示不全,默认锁屏壁纸及锁屏壁纸被拉伸显示不全的问题...
- 用 C#.NET 编写的一个完整字谜游戏
- Jave虚拟机划分的三个代: 年轻代、年老代和持久代
- 关于0X000000该内存不能为read或者written的解决方法
- springboot项目脚手架
- watir是如何定位元素的
热门文章
- 各种数据库的分类和比较
- linux logger 监控,shell-logger的使用
- List、List<Object>、List<?>
- 论文阅读|两人零和马尔可夫博弈的在线极大极小Q网络学习《Online Minimax Q Network Learning for TZMGs》
- 【Win10错误】从0x80190001错误码恢复
- [Ubuntu]vim中文乱码
- 关于gcc :multiple definition of
- AD 入门2 一步步学PCB画板
- 问卷设计及问卷调查中的问题与技巧
- VTK 学习----VTK对象绘制-点(vtkPoints、vtkSphereSource)、线(vtkLine、vtkLineSource)