热插拔技术(番外)

 5、总线热插拔及系统解决方案

    在实际运用中,总线上插入板卡时,由于新插入板卡电容的充电以及上电过程中一些低阻抗通道的存在,会产生极大的浪涌电流,拉低总线电平,对总线上其他设备产生干扰,影响总线上其他设备的正常运行。同时插拔时也对总线接口带来静电问题。

    所以,对总线进行热插拔时,必须采取一些措施对子卡上电进行控制,限制浪涌电流,同时也要提供一定的静电泄放通道。下面对几种总线热插拔技术进行讨论。

    (1)I2C总线热插拔

    I2C总线是Philips公司推出的串行总线标准,由数据线SDA和时钟线SCL构成,可发送和接收数据。I2C总线上扩展的外围器件及外设接口通过总线寻址,是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。运用举例如图所示。

图片

    I2C总线运用举例

    由图中可以看出,I2C总线上外挂了许多设备,当我们插入或者拔出某一个I2C设备时,不应该对其他设备造成影响,具体表现为:

  •     1、不能产生浪涌电流,影响总线信号。

  •     2、要有静电防护能力,消除插拔产生的静电影响。

    I2C总线上设备要支持热插拔,最常用的方法是采用支持I2C热插拔的总线缓冲驱动器,Philips公司的PCA9510A——PCA9514A都支持I2C总线热插拔,总体原理差不多,具体性能上有点差异, PCA9511A,在系统中的运用如图所示。

图片

PCA9511A运用实例

PCA9511A实现I2C热插拔的原理分析如下:

    如上图所示,PCA9511A的2、7引脚接从设备,3、6引脚接主设备。当系统上电过程中,SDA和SCL都保持高阻状态,并且由于2(ENABLE)引脚处于低电平状态,所以SDAIN与SDAOUT之间是断开的,SCLIN和SCLOUT之间也一样是断开的。当上电过程完成后,ENABLE管脚由低电平变为高电平了,进入初始化状态,内部的预充电功能开始执行,当初始化进入尾声的时候,停止命令和总线空闲状态检测功能开始执行,ENABLE有效的时间足够长后,所有的SDA和SCL管脚都进入了高电平状态,这时候如果在SDAIN和SCLIN总线上检测到停止命令或者检测到空闲信号,则SCLIN和SCLOUT连接,同样的SDAIN和SDAOUT也连接,并且IN信号和OUT信号之间通过双向缓冲器对内部电容和外部电容进行隔离。经过以上处理过程,基本上消除了I2C热插拔时总线的浪涌电流。

    同时,PCA9511A具有一定的静电放电保护,其中人体模型大于 2000V,机器模型大于150V,充电器件模型大于1000V。所以PCA9511A一定程度上解决了热插拔过程中的静电泄放问题。

I2C总线热插拔案例

现象描述:

    多槽设备,子卡和背板设备MCU均为LPC2103,子卡与背板设备之间通过I2C总线通信,示意图如下所示。

图片

 I2C总线连接示意图

    当某个槽位空闲而其他槽位子卡在位工作时,空闲槽位插入子卡,则正常工作的槽位将通讯失败,经查,是由于插入子卡的瞬间,由于浪涌大电流拉死了背板I2C总线,导致I2C总线上其他正在运行的设备无法正常工作。

    原因及解决办法:较早设计的设备,没有进行I2C热插拔设计,导致热插拔I2C总线上某个设备时对其他设备产生干扰,影响正常工作。

设计I2C总线板卡,需进行热插拔设计。

    (2)74LVT16245在总线热插拔中应用

    图中为通过总线连接到一起的板卡,Card1工作时,将接口总线被驱动为高电平(CMOS的上管导通),此时插入Card2,由于Card2的Vcc上电需要一定的时间,导致使能信号和输入端信号都为低电平,因此Card将驱动输出端口为低电平(CMOS的下管导通),从而在Card1和Card2之间出现了一条低阻抗的电流通路,两个接口器件都存在被损坏的可能。

    子卡与背板之间通过总线通信的,比如PCI总线、telecomBus总线、UART总线等,一般采用逻辑器件来进行热插拔处理,74LVT16245就是我们最常用的芯片。

    74LVT16245对总线热插拔的解决方法是使接口器件在Vcc上电完成之前,输出端口保持高阻而不对任何输入信号作出响应,这种解决方法称为上电三态(PU3S :Power up 3 state),上电三态的内部结构如图所示。

     PU3S内部包含一个如上图所示的结构,PU3S输出低电平时,器件输出端呈现高阻状态,只有在PU3S输出高电平时,输出端才能对输入端的信号做出正确的响应。PU3S结构中,R1和R2构成分压电路,使M1管只有在Vcc的电平超过阈值后才能导通,因此在Vcc上电的过程中,节点2保持为高电平,驱动PU3S输出低电平,Vcc上电完成后,M1导通,节点2变为低电平,驱动PU3S输出高电平,器件输出端开始正常工作。

    74LVT16245是一款高性能16位三态缓冲总线收发器,工作电压为3.3V,74LVT16245有输出使能管脚,能够控制总线之间的有效隔离,还有一个方向控制管脚,可以控制输入和输出的方向,具体方向控制见下图。

图片

74LVT16245方向控制图

    (3) CompactPCI总线热插拔

    PCI和PCI-X总线是多点并行互联总线,多台设备共享一条总线。CompactPCI结合PCI的电气特性和Eurocard的机械封装特性,除了具有PCI总线的高性能外,还支持热插拔功能。为了使系统能够支持热插拔,CompactPCI协议在硬件和软件方面都做了特殊规定。

    硬件方面,主要从连接器的角度进行了设计,CompactPCI的连接器分为长针、中针和短针,如图所示。

图片

CompactPCI的连接器示意图

    这样的设计使得CompactPCI模块在插入和拔出时各引脚按一定的顺序与系统底板进行连接和断开。

    长针:电源、地引脚。用于插槽放电和Vo引脚预充电。

    中针:PCI总线信号引脚。当模块上电以后,这些信号应该保持三态。为了减小对PCI信号的影响,在插入过程中,应预充电到1V左右。

    短针:IDSEL、BD_SEL#引脚。用于模块插入/拔出的确认信号,当这个信号有效时(低电平),表示整个模块已完全插入系统中。

    软件方面,需要在驱动程序级、服务程序级以及在应用程序级上有足够的附加软件来支持。

    CompactPCI热插拔技术规范将热插拔划分为3个过程:物理连接、硬件连接和软件连接。

    物理连接过程是一个机械连接过程,插入CompactPCI模块时,首先通过板卡两侧的静电条放电,电源、地线引脚首先接通,该模块的预充电电路对PCI信号线进行预加电,使这些信号线在与系统连接前维持在1.0V左右,从而使其与系统总线连接时产生的瞬态电流最小,最大限度的减小对总线的瞬态干扰,达到保护总线信号的目的,然后是中针引脚(pCI信号线)与系统总线接通,最后是短针引脚接通,同时向系统发出一个使能信号,系统由此知道有一模块已经插入系统,即开始对它进行初始化。当模块拔出时,上述事件的发生顺序正好相反。

    硬件连接过程指模块与背板CompactPCI总线的电气连接/断开,包括上电复位、上电检测,模块自身的初始化以及加载配置空间数据等。

    软件连接指软件层同系统的连接,对于模块的插入,这一过程包括分配系统资源(如内存空间分配)、加载驱动程序和其他相关软件。对于模块的拔出,这一过程包括释放系统资源、关闭驱动程序和相应的软件。

    应用举例:CompactPCI热插拔设计的核心就是电源管理,按照一定的速率为模块上电和断电,同时为PCI总线信号提供1V左右的预充电电压。下图系统中采用PCI91054作为PCI接口芯片,利用电源管理芯片LTC1644对CompactPCI的电源节能型管理,同时也为PCI总线信号提供预充电。应用连接图如图所示。

图片

    CompactPCI热插拔设计图

    lTC1644是一块专门用于热插拔的电源管理芯片。对于热插拔模块来说,除了PCI9054和LTC1644从CompactPCI的接口处取电以外,其他模块都只能从LTC1644的输出端取电。它支持对CompactPCI总线上的5V、3.3V、12V、-12V电源进线控制,同时对5V和3.3V输出电压提供过载和短路的双重保护。

    PCI9054支持CompactPCI热插拔规范,利用ENUM#和LEDon/LEDin管脚以及相关寄存器实现热插拔功能。

(4)ATCA

    AdvancedTCA®是一种用于在中心局电信环境的新型模块化计算构架,由P CIIndustrial Computer Manufacturers Group开发。在PICMG®3.0规范其中定义了背板、连接器和可插拨板卡的电气和机械特性。系统电源由电信装置中常用的–48V双电池馈电方式来提供,而且,ATCA™中的许多相关规范都取自已制定的电信标准。功率要求每一块可插拨板卡或前端电路板都是专为能够在一个运行系统中进行带电插拨而设计的。允许每块前端电路板吸取高达200W的功率,从而将最大负载电流置于4A至5A的范围内。与这些类型的系统中常见的一样,非常希望进行以板卡为中心的涌入限制以及电流和电压监视,以便清除输入电源馈电并最大限度地减少电源背板干扰。

图片

    电路解决方案图,是一种专为具备对最大可用功率的处理能力而设计的完整电路。LTC4252A所设定的精确电流限值旨在提供至少5.5A的电流(在所有的条件下)、一个针对200W功率的舒适裕度、并能够在7A电流以下关断,以便在出现有害过载时使熔断器保持完好。该电路兼具过压(OV)和欠压(UV)监视功能。UV门限被设定在–37V接通时和在–33.3V关断,在“或”二极管之后进行测量。OV在–74.7V时关断,并在–73.2V时重新接通(“或”二极管之后进行测量)。

    这确保了在–43V至–72V的满量程内以及至–75V的输入浪涌和至–100V的瞬变条件下的正常操作(与ATCA规范一致)。

    一旦检测到有板卡插入,则LTC4252A将暂停运行达230ms的时间以便允许触点颤动,然后采用一个斜坡电流电路来对负载进行软启动。涌入电流将逐渐增加,直到MOSFET完全导通为止。利用三个截然不同的响应级来处理由SENSE引脚和8mΩ分流电阻器进行检测的电流过载。如果检测到一个小且在7A或更大的持续过载,则TIMER引脚将在延迟5.7ms之后关断。如果过载超过7.5A,则LTC4252A将调低MOSFET电压并把电流维持在该数值上。同样,在经过了一个5.7ms的延迟之后,电路关断。如果过载很严重,则一个坚固且非常快速的放大器将迅速地对MOSFET的栅极电压进行校正,使其降至器件的门限附近。LTC4252A的电流限制电路随后开始起作用,并在5.7ms的TIMER延迟周期中将过载维持于7.5A。LTC4252A还对MOSFET两端的压降进行监视,并可在电压应力增加时将TIMER延迟降至小至1.8ms。这便能够在出现硬故障的情况下使MOSFET舒适地保持在其安全工作区之内。

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

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

相关文章

力扣530 二叉搜索树的最小绝对差 Java版本

文章目录 题目描述解题思路代码 题目描述 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1…

南京大学AI考研,宣布改考408!

官网还没通知 附上南大与同层次学校近四年的分数线对比,整体很难 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 如果确定要冲南大的话建议提早调整自己的复习路线&…

基于python的变配电室运行状态评估与预警系统flask-django-nodejs-php

近年来,随着我国工业化、城镇化步伐的不断加快,城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心,在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段,如有一日遭遇突发情…

基于springboot+vue的疫情信息管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Python条件语句深度解析:从基础到应用的全面指南

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! ​ 目录 📘 一、引言 📝 二、…

比较10个数值的最大值(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int arr[10] { 0 };int i 1;int n 1;int t 0;int max 0;//提示用户&#xff1b;printf("请输入10个整数&…

开启feignPOM找不到spring-cloud-starter-openfeign

spring cloud 开启feign的时候需要再POM中引入 <dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId><version>2.0.2.RELEASE</versi…

Verilog基础:always结构和initial结构

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 always和initial是Verilog中的核心&#xff0c;它们被称为结构(construct)&#xff0c;用于组织语句的执行方式。下面将分别对这两者进行阐述。 always结构 图1是…

6.如何判断数据库搜索是否走索引?

判断是否使用索引搜索 索引在数据库中是一个不可或缺的存在&#xff0c;想让你的查询结果快准狠&#xff0c;还是需要索引的来帮忙&#xff0c;那么在mongo中如何判断搜索是不是走索引呢&#xff1f;通常使用执行计划&#xff08;解释计划、Explain Plan&#xff09;来查看查询…

苍穹外卖-day13:vue基础回顾+进阶

vue基础回顾进阶 课程内容 VUE 基础回顾路由 Vue-Router状态管理 vuexTypeScript 1. VUE 基础回顾 1.1 基于脚手架创建前端工程 1.1.1 环境要求 要想基于脚手架创建前端工程&#xff0c;需要具备如下环境要求&#xff1a; ​ node.js 前端项目的运行环境 学习web阶段已安…

2024普通人如何创业!2024年普通人创业五大热门项目 !五个适合穷人创业项目低成本生意! 2024最适合创业的五大行业! 2024适合上班族的创业

1、减肥减脂 贾玲1年瘦100斤狠狠刺激了减肥人群。用户群体体量极大&#xff0c;瑜伽、减肥、健身都可以切入&#xff0c;可以分享减肥的经历、运动跟练、饮食食谱等。有的一个春节期间就涨粉5000&#xff0c;变现嫁接到高客单的陪练全案。 2、卖随身WiFi 现在网络是共需&#…

Elasticsearch实战:索引阻塞 —— 数据保护的终极武器

文章目录 1、索引阻塞的种类2、什么时候使用阻塞&#xff1f;场景1&#xff1a;进行系统维护场景。场景2&#xff1a;保护数据不被随意更改场景。场景3&#xff1a;优化资源使用的场景。场景4&#xff1a;遵守安全规则场景。 3、添加索引阻塞API4、解除设置 API5、小结6、参考 …

如何在SpringCloud2023中快速集成注册中心

你好&#xff0c;这里是codetrend专栏“SpringCloud2023实战”。欢迎点击关注查看往期文章。 注册中心在前文提到有很多选型&#xff0c;在这里以Spring Cloud Zookeeper为例说明注册中心的集成和使用。 选择Spring Cloud Zookeeper作为注册中心原因如下&#xff1a; 依赖更少…

【3DsMax】UVW展开——以制作牙膏盒为例

效果 步骤 1. 从网上下载牙膏盒贴图&#xff0c;我下载的贴图地址为&#xff08;牙膏盒贴图链接&#xff09; 2. 打开3DsMax&#xff0c;创建一个长方体&#xff0c;设置长宽高分别为180、45、40毫米 打开材质编辑器&#xff0c;点击漫反射后的按钮 双击“位图” 将材质赋予长…

【每日八股】Java基础经典面试题4

前言&#xff1a;哈喽大家好&#xff0c;我是黑洞晓威&#xff0c;25届毕业生&#xff0c;正在为即将到来的秋招做准备。本篇将记录学习过程中经常出现的知识点以及自己学习薄弱的地方进行总结&#x1f970;。 本篇文章记录的Java基础面试题&#xff0c;如果你也在复习的话不妨…

重装系统后鼠标识别不了咋办

不知道大家在重装系统时,有没有遇到过系统重装完成后,鼠标不能使用的情况。在这种情况下,我们要怎么操作电脑解决这个问题呢?今天就跟大家分享重装系统后鼠标识别不了咋办。 一、主板没有设置兼容usb 在重装系统时,如果主板没有设置兼容usb,就会出现鼠标使用不了的现象。…

流畅的 Python 第二版(GPT 重译)(十一)

第二十章&#xff1a;并发执行器 抨击线程的人通常是系统程序员&#xff0c;他们心中有着典型应用程序员终其一生都不会遇到的用例。[…] 在 99%的用例中&#xff0c;应用程序员可能会遇到的情况是&#xff0c;生成一堆独立线程并将结果收集到队列中的简单模式就是他们需要了解…

【Linux】线程预备知识{远程拷贝/重入函数与volatile关键字/认识SIGCHILD信号/普通信号/实时信号}

文章目录 0.远程拷贝1.重入函数与volatile关键字2.认识SIGCHILD信号3.普通信号/实时信号 0.远程拷贝 打包资源&#xff1a;tar czf code.tgz *远程传输&#xff1a;scp code.tgz usr服务器ip:/home/usr/路径解压&#xff1a;tar xzf code.tgz 1.重入函数与volatile关键字 先看…

深度解析 Android 系统属性

目录 Android系统属性 1.属性在哪里&#xff1f; 2.属性长什么样&#xff1f; 3.如何读写属性&#xff1a; 4.属性的作用 属性文件生成过程 如何添加系统属性 1.添加系统属性到 /system/build.prop 2.添加系统属性到 /vendor/build.prop 3.添加系统属性到 /product/b…

cdn尝试(减少打包体积)

如果是vue-cli创造的工程&#xff0c;在build后面加上 --report&#xff0c;就会在dist文件夹下出现report.html用于分析打包后个文件的体积 也可以使用插件&#xff1a; webpack使用webpack-bundle-analyzer进行分析&#xff1b; vite使用rollup-plugin-visualizer进行分析…