热插拔技术(番外)

news2024/11/25 3:45:15

 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舒适地保持在其安全工作区之内。

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

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

相关文章

【机器学习】TinyML的介绍以及在运动健康领域的应用

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

前端基础篇-深入了解 Ajax 、Axios

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Ajax 概述 2.0 Axios 概述 3.0 综合案例 1.0 Ajax 概述 通过 Ajax 可以给服务器发送请求,并获取服务器响应的数据。异步交互是指,可以在不…

高效编写产品规格书的秘诀与注意事项

高效编写产品规格书的秘诀:学会利用简单的工具,写出效果最佳的产品规格书。比如,你可以使用HelpLook、Markdown编辑器、LaTeX、notion等。 在快节奏的商业环境中,产品规格书是企业向市场展示产品特性和优势的重要工具。一份清晰、…

Linux——进程通信(三)命名管道

前言 我们在之前学习了匿名管道与匿名管道的应用——进程池,但是匿名管道的通信,需要有血缘关系的进程(通过fork创建的进程们),如果我想让两个毫不相干的进程进行通信,可以采样命名管道的方式(…

如何在Windows系统使用VS Code制作游戏网页并实现无公网IP远程访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程,我们将通过VS Code实现远程开发MENJA小游戏,并通过cpolar内网穿透发布到公网,分…

提升Java编程安全性-代码加密混淆工具的重要性和应用

在Java编程领域中,保护代码安全性和知识产权至关重要。本文旨在探讨代码加密混淆工具在提升代码安全性和保护知识产权方面的重要性。我们将介绍几款流行的Java代码加密混淆工具,如ProGuard、DexGuard、Jscrambler、DashO和ipaguard,并分析它们…

【RabbitMQ】【Docker】基于docker-compose构建rabbitmq容器

本文通过docker-compose构建一个单体的rabbtimq容器。 1,docker、docker-compose环境 首先需要有docker和docker-compose环境,docker安装[1],docker-compose安装[2]。 通过下列命令确定docker、docker-compose是否安装成功。 [root192 ge…

单片机LED灯闪烁

延时函数计算&#xff08;相关代码生成&#xff09;&#xff1a; #include "reg52.h" #include <INTRINS.H> void Delay500ms() //11.0592MHz {unsigned char i, j, k;_nop_();_nop_();i 22;j 3;k 227;do{do{while (--k);} while (--j);} while (--i); }vo…

利用Xinstall,实现安装页面快速拉起App,推广效果倍增!

在移动互联网时代&#xff0c;App推广已成为广告主和开发者的重要任务。然而&#xff0c;面对激烈的市场竞争&#xff0c;如何提升推广效率、洞悉推广效果并衡量广告ROI&#xff0c;成为摆在他们面前的难题。今天&#xff0c;我们将聚焦一个关键环节——安装页面拉起App&#x…

Grid数据增强算法

算法原理 class Grid(object):def __init__(self, d1, d2, rotate1, ratio0.5, mode0, prob0.8):self.d1 d1self.d2 d2self.rotate rotateself.ratio ratioself.mode modeself.st_prob self.prob probdef set_prob(self, epoch, max_epoch):self.prob self.st_prob …

Debezium vs OGG vs Tapdata:如何实时同步 Oracle 数据到 Kafka 消息队列?

随着信息时代的蓬勃发展&#xff0c;企业对实时数据处理的需求逐渐成为推动业务创新和发展的重要驱动力。在这个快速变化的环境中&#xff0c;许多企业选择将 Oracle 数据库同步到 Kafka&#xff0c;以满足日益增长的实时数据处理需求。本文将深入探讨这一趋势的背后原因&#…

Java并发基石ReentrantLock:深入解读其原理与实现

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java的并发编程库中&#xff0c;ReentrantLock是一种非常重要的同步工具&#xff0c;它提供了一种比内置synchronized关键字更加…

基于ArcGIS等多技术融合提升环境、生态、水文、土地、农业、大气等领域科研技术应用

基于ArcGIS等多技术融合提升环境、生态、水文、土地、农业、大气等领域科研技术应用 原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4Mg&mid2247667012&idx5&snd2c5af65851b06ff7ee14a744c16009e&chksmfa771279cd009b6f8beff1c61c6b3b73087bf93e7d440…

顺序表的动态分配基本操作

#include <stdio.h> #include <stdlib.h>// 顺序表存储空间动态分配 #define InitSize 10 // 顺序表初始长度 typedef int ElemType; // int类型重命名为ElemType&#xff0c;方便后续调整typedef struct { // 定义结构体ElemType *data; // 用静…

“垃圾不落地,捡跑来助力”学雷锋志愿服务暨党支部党日活动

指导思想 紧紧围绕建设和谐社会主题&#xff0c;以创建文明为契机&#xff0c;学习雷锋精神&#xff0c;为人民服务为宗旨&#xff0c;大力开展志愿捡跑活动&#xff0c;激发大家积极参与志愿活动的热情&#xff0c;大力弘扬奉献、友爱、互助、进步的志愿服务精神。 活动启动 …

维度建模理论之事实表

事实表概述 事实表作为数据仓库维度建模的核心&#xff0c;紧紧围绕着业务过程来设计。其包含与该业务过程有关的维度引用&#xff08;维度表外键&#xff09;以及该业务过程的度量&#xff08;通常是可累加的数字类型字段&#xff09;。 事实表特点 事实表通常比较“细长”…

N 皇后00

题目链接 N 皇后 题目描述 注意点 1 < n < 9 解答思路 首先想到的是使用深度优先遍历回溯找到所有的情况&#xff0c;基本思路是&#xff1a;逐行确定Q在该行的位置&#xff0c;且每一行Q都是从第0列到第n - 1列全部考虑&#xff0c;在确定Q在任意一行的某一列时&am…

Java集合Collection之LinkedList

LinkeList LinkedList&#xff08;双向链表&#xff09;是一种常见的线性数据结构&#xff0c;但是并不会按线性的顺序存储数据。它由一系列节点组成&#xff0c;每个节点包含数据部分和一个指向下一个节点的引用。相比于数组&#xff0c;链表具有动态大小、插入和删除效率高的…

练习实践-TLS协议01-Wireshark对https数据的解密

参考来源&#xff1a; https://zhuanlan.zhihu.com/p/36669377 https://blog.csdn.net/u010726042/article/details/53408077 思路&#xff1a; wireshark抓到的https流量包经过了ssl加密&#xff0c;那么我们如何才能查看解密的数据呢&#xff1f;Firefox和Chrome浏览器都支…

Godot 学习笔记(2):信号深入讲解

文章目录 前言相关链接环境信号简单项目搭建默认的信号先在label里面预制接收函数添加信号 自定义无参数信号为了做区分&#xff0c;我们在label新增一个函数 自定义带参数信号Button代码label代码连接信号 自定义复杂参数信号自定义GodotObject类ButtonLabel连接信号 父传子Ca…