• 新能源汽车电池管理系统(BMS)

    在现代电池应用的广阔领域中,电池管理系统(Battery Management System,简称 BMS)发挥着至关重要的作用。从电动汽车到便携式电子设备,从大规模储能电站到各类工业应用,BMS 的身影无处不在,它全方位地呵护着电池的健康,确保电池系统高效、安全且稳定地运行。下面,我们将深入剖析电池管理系统的各个方面。 一、BMS 的定义 电池管理系统是一种用于监控、管理和保护电池系统的电子装置。它通过实时采集电池的各项参数,如电压、电流、温度等,并依据这些参数进行精确的分析和计算,进而对电池系统实施有效的控制和管理。其核心目标在于确保电池在各种复杂的工作条件下,始终处于最佳的工作状态,最大限度地发挥电池的性能优势,同时有效延长电池的使用寿命,保障电池使用过程中的安全性。简单来说,BMS 就是电池系统的 “智慧大脑”,负责协调电池系统内各个部分的工作,使其发挥出最佳效能。 二、BMS 的功能 (一)电池状态监测 电压监测:精确监测电池组中每一个单体电池的电压,以及整个电池组的总电压。通过对电压的实时监测,BMS 能够判断电池的充电状态(SOC)、健康状态(SOH)等关键信息。例如,当单体电池电压过高或过低时,可能意味着电池存在过充、过放或其他故障问题,BMS 会及时发出警报并采取相应措施。 电流监测:准确测量电池充放电过程中的电流大小和方向。电流数据对于计算电池的充放电量、评估电池的功率输出能力以及监测电池的工作状态至关重要。通过监测电流,BMS 可以实时掌握电池的能量流动情况,防止过大的充放电电流对电池造成损害。 温度监测:实时监测电池的温度分布,由于电池在充放电过程中会产生热量,温度过高或过低都会对电池的性能和寿命产生严重影响。BMS 通过在电池组中布置多个温度传感器,精确感知各个部位的温度变化,一旦发现温度异常,便会启动散热或加热装置,将电池温度控制在适宜的范围内。 (二)电池保护 过充保护:当电池充电达到满电状态时,BMS 会及时切断充电电路,防止电池过充。过充可能导致电池内部压力升高、电解液分解、甚至引发起火爆炸等严重安全事故。BMS 通过监测电池电压和充电电流等参数,精确判断电池的充电状态,一旦检测到过充迹象,立即采取保护措施,确保电池安全。 过放保护:在电池放电过程中,BMS 会实时监测电池电压,当电压降至设定的最低保护值时,BMS 会自动切断放电电路,避免电池过度放电。过度放电会导致电池容量永久性损失,缩短电池使用寿命,BMS 的过放保护功能能够有效防止这种情况发生。 过流保护:当电池充放电电流超过允许的最大值时,BMS 会迅速切断电路,以防止过大的电流对电池造成热失控、电极材料损坏等问题。过流保护功能能够在瞬间响应,保护电池免受异常电流的冲击。 过热保护:如前文所述,电池温度过高会严重影响其性能和安全性。当 BMS 监测到电池温度超过安全阈值时,会立即启动散热风扇、水冷系统等散热装置,或者降低充放电电流,减少电池产热,确保电池温度在安全范围内。 (三)电池均衡管理 在电池组中,由于单体电池在制造工艺、材料特性等方面存在细微差异,长时间使用后,各单体电池之间会出现容量、电压等不一致的情况,即所谓的 “不均衡” 现象。这种不均衡会导致部分电池过度充放电,从而加速整个电池组的老化和性能衰退。BMS 的均衡管理功能旨在通过主动或被动的方式,使电池组中各个单体电池的电量保持一致,提高电池组的整体性能和使用寿命。 主动均衡:主动均衡是指通过能量转移的方式,将电量较高的单体电池中的能量转移到电量较低的单体电池中,使各单体电池的电量趋于一致。常见的主动均衡方法包括电容均衡、电感均衡和 DC - DC 变换器均衡等。主动均衡能够快速、有效地实现电池均衡,尤其适用于对电池性能要求较高的应用场景。 被动均衡:被动均衡则是通过在单体电池上并联电阻等耗能元件,当某个单体电池电压高于其他电池时,通过电阻将多余的能量以发热的形式消耗掉,从而实现电池均衡。被动均衡方法简单、成本较低,但存在能量浪费的问题,均衡速度相对较慢。 (四)电池状态估计 剩余电量(SOC)估计:准确估计电池的剩余电量对于用户合理使用电池设备至关重要。BMS 通过多种算法,如安时积分法、开路电压法、卡尔曼滤波法等,综合考虑电池的电压、电流、温度等参数,对电池的剩余电量进行精确估算。SOC 估计的准确性直接影响用户对设备续航能力的判断,BMS 会不断优化算法,提高 SOC 估计的精度。 健康状态(SOH)估计:SOH 反映了电池的老化程度和性能衰退情况。BMS 通过监测电池的内阻变化、容量衰减等指标,结合数学模型和算法,对电池的 SOH 进行评估。准确的 SOH 估计有助于用户及时了解电池的健康状况,提前做好电池更换或维护计划,避免因电池故障导致设备无法正常使用。 三、BMS 的组成部分 (一)硬件部分 主控单元(MCU):作为 BMS 的核心处理器,主控单元负责接收来自各个传感器的数据,进行数据处理和分析,并根据预设的算法和策略,发出相应的控制指令。它具备强大的运算能力和数据处理速度,能够快速响应电池系统的各种变化,确保 BMS 的高效运行。 电压采样电路:用于采集电池单体和电池组的电压信号。电压采样电路需要具备高精度、高可靠性和良好的抗干扰能力,以确保采集到的电压数据准确无误。通常采用专用的电压采样芯片或模块,通过分压、滤波等处理后,将电压信号传输给主控单元。 电流采样电路:负责测量电池充放电电流。电流采样电路一般采用霍尔电流传感器、分流器等元件,将电流信号转换为电压信号,经过放大、滤波等处理后,输入到主控单元进行分析和计算。准确的电流测量对于电池状态监测和保护功能的实现至关重要。 温度采样电路:通过温度传感器(如热敏电阻、热电偶等)采集电池的温度信息。温度采样电路将温度传感器输出的信号进行调理和转换,使其符合主控单元的输入要求。由于电池组不同部位的温度可能存在差异,通常需要在多个关键位置布置温度传感器,以全面监测电池的温度分布。 通信接口电路:BMS 需要与外部设备(如整车控制器、充电设备、上位机等)进行数据通信,以实现信息交互和协同控制。常见的通信接口包括 CAN 总线、LIN 总线、RS485 等。通信接口电路负责将主控单元的数据进行编码和转换,通过相应的通信协议与外部设备进行数据传输。 保护电路:包括过压保护、过流保护、欠压保护等电路,用于保护 BMS 硬件本身以及电池系统免受异常电压、电流的损害。当检测到异常情况时,保护电路会迅速动作,切断相关电路,防止硬件损坏和安全事故发生。 (二)软件部分 数据采集与处理程序:负责控制硬件电路实时采集电池的电压、电流、温度等数据,并对采集到的数据进行滤波、校准、存储等处理。数据采集与处理程序需要具备高效、准确的特点,确保数据的可靠性和及时性。 电池状态估计算法:如前文所述,包括 SOC、SOH 等估计算法。这些算法是 BMS 软件的核心部分,通过对采集到的数据进行分析和计算,精确估计电池的状态。算法的优劣直接影响 BMS 的性能和精度,研发人员不断优化和改进算法,以提高电池状态估计的准确性。 保护控制策略程序:根据电池的状态信息,依据预设的保护规则和策略,生成相应的控制指令,实现过充、过放、过流、过热等保护功能。保护控制策略程序需要具备快速响应、可靠性高的特点,确保在异常情况下能够及时有效地保护电池系统。 均衡控制程序:负责实现电池均衡管理功能,根据电池的不均衡情况,控制主动或被动均衡电路的工作,使电池组中各单体电池的电量趋于一致。均衡控制程序需要根据不同的均衡方式和电池特性,采用合适的控制算法,提高均衡效率和效果。 通信协议栈程序:实现与外部设备通信所需的各种通信协议,如 CAN 通信协议、LIN 通信协议等。通信协议栈程序负责数据的打包、解包、发送和接收,确保 BMS 与外部设备之间的数据通信稳定、可靠。 四、BMS 的工作原理 BMS 的工作过程可以简单概括为数据采集、数据分析与处理、控制决策与执行三个主要环节。 数据采集:电压采样电路、电流采样电路和温度采样电路实时采集电池的电压、电流和温度等参数,并将这些模拟信号转换为数字信号,传输给主控单元。 数据分析与处理:主控单元接收到传感器采集的数据后,首先对数据进行滤波处理,去除噪声干扰,然后根据预设的算法和模型,对电池的状态进行分析和计算,如估算 SOC、SOH 等。同时,主控单元还会将当前电池的状态数据与预设的安全阈值进行比较,判断电池是否处于正常工作状态。 控制决策与执行:当主控单元判断电池出现异常情况(如过充、过放、过流、过热等)时,会根据预设的保护控制策略,立即发出相应的控制指令,通过驱动电路控制保护电路动作,切断充放电回路,或者启动散热、均衡等装置,对电池进行保护和管理。在正常工作情况下,BMS 也会根据电池的状态信息,对充电设备或负载进行合理的控制,优化电池的充放电过程,提高电池的使用效率和寿命。 五、BMS 的技术发展趋势 (一)高精度的电池状态估计技术 随着对电池性能要求的不断提高,研发更加精确的电池状态估计技术成为 BMS 的重要发展趋势。未来,BMS 将结合更多的传感器数据和先进的算法,如机器学习、深度学习算法等,对电池的 SOC、SOH 等状态进行更准确的估计,为用户提供更可靠的电池信息。 (二)高效的电池均衡技术 为了进一步提高电池组的性能和寿命,开发更高效、快速且节能的电池均衡技术是关键。新型的主动均衡技术,如基于无线能量传输的均衡技术、多端口 DC - DC 变换器均衡技术等,将逐渐得到应用和推广,以实现电池组中各单体电池的精准均衡。 (三)高可靠性和安全性设计 在电动汽车、储能电站等对安全性要求极高的应用场景中,BMS 的可靠性和安全性至关重要。未来,BMS 将采用冗余设计、故障诊断与容错控制等技术,提高系统的可靠性和安全性,降低电池系统发生故障的风险。同时,加强对电池系统的热管理和安全防护设计,确保在极端情况下电池系统的安全运行。 (四)智能化与网络化发展 随着物联网、大数据、云计算等技术的发展,BMS 将向智能化和网络化方向迈进。通过与互联网连接,BMS 可以实现远程监控、诊断和管理,用户可以随时随地通过手机、电脑等终端设备获取电池的状态信息,并对电池进行远程控制。同时,BMS 还可以将大量的电池运行数据上传至云端,通过大数据分析挖掘潜在的价值,为电池的优化设计、维护管理提供依据。 六、BMS 在不同领域的应用 (一)电动汽车领域 在电动汽车中,BMS 是确保车辆安全、高效运行的核心部件之一。它不仅能够实时监测电池的状态,保护电池免受过度充放电和过热等损害,还能通过优化电池的充放电过程,提高电池的使用效率和续航里程。此外,BMS 还与整车控制器进行通信,协调车辆的动力输出和能量回收等功能,提升电动汽车的整体性能。 (二)储能领域 在储能系统中,无论是电网储能、可再生能源储能还是家庭储能,BMS 都起着至关重要的作用。它能够对储能电池进行有效的管理和保护,确保电池在频繁的充放电循环中保持良好的性能和寿命。同时,BMS 还可以根据电网的需求和储能电池的状态,实现储能系统的优化调度和控制,提高储能系统的经济性和可靠性。 (三)便携式电子设备领域 对于智能手机、平板电脑、笔记本电脑等便携式电子设备,BMS 虽然相对简单,但同样不可或缺。它可以监测电池的状态,提供准确的电量显示,防止电池过充过放,延长电池的使用寿命,为用户提供更好的使用体验。 综上所述,电池管理系统作为电池系统的核心组成部分,在保障电池安全、提高电池性能和延长电池寿命等方面发挥着不可替代的作用。随着新能源技术的不断发展和应用领域的不断拓展,BMS 的技术水平也在不断提升,其功能将更加完善,性能将更加卓越,为推动新能源产业的发展和实现能源的可持续利用提供有力支持。

    前天 49浏览
  • RF术语与概念-4:驻波比VSWR

    引言:驻波比是无源/有源元器件中的一个重要参数,用来表征器件的前后阻抗匹配程度,广泛引用在多工器、天线等​器件中,本节简述驻波比​。

    03-07 91浏览
  • 芯片制造:MOSFET的一个工艺流程

    芯片制造工艺流程包括光刻、刻蚀、扩散、薄膜、离子注入、化学机械研磨、清洗等等,在前面的文章我们简要的介绍了各个工艺流程的细节,这篇文章大致讲解这些工艺流程是如何按顺序整合在一起并且制造出一个MOSFET的。 1.我们首先拥有一个硅纯度高达99.9999999%的衬底。 2.在硅晶衬底上生长一层氧化薄膜。 3.均匀的旋涂上光刻胶。 3.通过光掩膜进行光刻,把光掩膜板上的图案转移到光刻胶上 4.感光区域的光刻胶显影之后被清洗掉。 5.通过刻蚀把没有被覆盖光刻胶的氧化薄膜刻蚀掉,这样把光刻图案转移到晶圆上了。 6.清洗去掉多余的光刻胶。 7.再长一层较薄的氧化膜。之后再通过上面的光刻和刻蚀,只保留栅极区域的氧化膜。 8.在上面生长一层多晶硅 9.和第7步一样通过光刻和刻蚀,只保留栅氧化层上面的多晶硅。 10.在进行光刻清洗覆盖住氧化层和栅极,这样就对整片晶圆进行离子注入,就有了源极和漏极。 11,在晶圆上面生长一层绝缘薄膜。 12.通过光刻和刻蚀把源极、栅极和漏极的接触孔刻蚀出来。 13.再在刻蚀的地方进行金属的沉积,这样就有了源极、栅极和漏极的导电金属线了。 最后通过各种工艺的组合就制造出来一个完整的MOSFET。 ------------------------------------------------------------------------ 其实芯片的底层就是大量的晶体管组成的。 MOSFET制造图源极、栅极、漏极各种晶体管组成逻辑门逻辑门组成运算器 最后组成只有一个指甲大小的芯片 金刚石/GaN 异质外延与键合技术研究进展 吴海平 安康 许光宇 张亚琛 李利军 张永康 李鸿 张旭芳 刘峰斌 李成明 (北方工业大学 机械与材料工程学院 北京科技大学 新材料技术研究院) 摘要: 氮化镓(GaN)功率器件具有功率高、小型化的优势,但散热问题已经成为限制其高功率输出的新问题。金刚石具有块体材料最高的热导率,是GaN 功率器件的理想散热材料,将金刚石与GaN 功率器件集成,可以降低器件运行温度,提高功率密度,推进器件小型化发展。但是由于金刚石与GaN 存在大的热膨胀失配和晶格失配,以及金刚石的高硬度和稳定的化学性质,其与GaN 集成存在很多问题,无法发挥金刚石的超高热导率优势。针对金刚石与GaN 的集成已经进行了研究与探索,主要包括GaN 功率器件的器件层散热和衬底层散热。器件层散热主要有金刚石钝化散热技术,其在GaN 器件层中异质外延金刚石散热层;衬底层散热主要有键合技术、异质外延技术,其中键合技术通常需要在金刚石和GaN 表面沉积键合层或形成封端,包括表面活化键合技术、亲水键合技术、原子扩散键合技术和水解辅助固化键合技术等;异质外延技术通常需要在外延表面沉积缓冲层,包括金刚石异质外延GaN 技术和GaN 底面异质外延金刚石技术。详细介绍了GaN 材料的优势和应用领域及面临的挑战,对上述集成技术的研究现状和优缺点进行了归纳,展望了金刚石与GaN 功率器件集成技术的未来发展方向。 1.引言 GaN 作为第三代半导体材料的典型代表,与Si、Ge、GaAs、InP 等第一、二代半导体材料相比,在禁带宽度、击穿场强、电子迁移率、热导率、最高工作温度等关键性能上更具优势[1]。使用GaN 材料制造的GaN 功率器件拥有高转换效率、低导通损耗、高工作频率、大带宽以及高功率密度[2],广泛应用于通信、雷达、卫星、电力电子等领域[3-4]。 随着系统小型化的发展,需要进一步提高GaN 功率器件的功率密度,但是GaN 功率器件工作时,本身会产生一定的功率耗散,而这部分功率耗散将会在器件内部,尤其是在导电沟道处产生大量热量使得器件结温有明显升高,晶格振动散射大大加强使得漂移区内的电子迁移率降低,器件导通电阻出现明显上升,这种现象被称作“自热效应”。姜守高等[5]发现GaN 基HEMT 器件在200℃存储300 小时后,其饱和电流降低9.05%,最大跨导降低5.3%,因此散热问题越来越重要[6-7]。如何实现有效的散热以减弱自热效应的影响,成为高功率密度GaN 功率器件保持高可靠性和长寿命的挑战[8-13]。 目前GaN 材料通常使用外延法制备[14],衬底使用Si、SiC、Al2O3、AlN、GaN 等材料[15-17],其热导率如表1 所示,无法发挥GaN 器件高频率、高功率密度的优势[18-23]。金刚石是块体材料中热导率最高的材料,单晶金刚石在室温下的导热系数高达2400 W·m-1·K-1[24],多晶金刚石热导率也达到了2000 W·m-1·K-1 [25],远高于其他常用GaN 衬底材料的热导率,是理想的散热材料[26]。将高热导率的金刚石与GaN 功率器件集成,凭借金刚石的超高热导率,热源产生的热量会迅速地横向扩散在基板内,提升了热源与外界的有效换热面积,从而可以极大地提升系统的换热能力,大幅度提高GaN 功率器件的散热效果,降低器件沟道温度,从而提高GaN 功率器件的工作功率密度[27]。本文对近年来金刚石与GaN 集成技术的发展进行了介绍,详细阐述了各种技术的设计方案、工艺流程、优缺点及应用范围,并对未来金刚石与GaN 功率器件集成技术的发展方向进行了分析和展望。 2.金刚石/GaN 集成技术研究现状 目前金刚石与GaN 功率器件的集成通常从两方面进行,一是GaN 顶部的器件层散热,主要应用金刚石钝化散热技术,金刚石钝化散热是直接在器件顶部沉积金刚石,提高热点顶部的热扩散,同时起到增大换热面积的作用;二是GaN 底部金刚石衬底散热,主要有GaN 底部异质外延金刚石、金刚石表面异质外延GaN 和键合技术[28-30]。 2018 年,美国Akash Systems 公司[31]开发出金刚石基GaN,用于卫星功率放大器,相比SiC 基GaN,其工作温度从232℃降低到152℃,功率密度提升3.6 倍以上。2019年,搭载该金刚石基GaN 功率器件的卫星已成功发射,得益于金刚石的高导热率,GaN 的高功率高频率优势得以发挥,卫星的数据传输速率达到了14 Gbps。2019 年,日本富士通公司[32]报道了一种金刚石-GaN-金刚石的双层金刚石散热结构,如图1 所示,结合了金刚石钝化散热技术与金刚石衬底散热技术,经测试,该结构具有优异的散热性能,热点温度较无金刚石的结构下降了77%。 2.1 金刚石/GaN 键合技术 金刚石/GaN 键合技术的技术路线通常是将GaN 外延层的原始衬底通过机械研磨,化学蚀刻等方法去除,然后在GaN 暴露的底面通过磁控溅射、金属有机化学气相沉积(MOCVD)等方法沉积中间层,之后与金刚石结合。该技术存在的难点是对金刚石的表面粗糙度、弯曲度要求极高,还存在键合强度低,键合层热阻高等问题。目前金刚石表面加工方法主要有机械抛光、化学抛光、等离子体辅助抛光、激光抛光等[33-34],例如Yamamura等[35]使用等离子体辅助抛光获得了粗糙度Sq 0.13 nm 的单晶金刚石片,杨志亮等[36]使用机械研磨抛光,得到了粗糙度0.27 nm、弯曲度13.84 μm 的3 英寸多晶金刚石片,但是成本都比较高。根据键合层处理方法与材料的不同,目前常用的键合技术有表面活化键合、亲水键合、原子扩散键合、水解辅助固化键合等。 2.1.1 金刚石/GaN 表面活化键合技术 表面活化键合通常使用Si、SiC 等能与金刚石形成稳定化学键的非金属材料作为键合层,基本流程如图2 所示,首先通过粘片工艺将GaN 固定到载片上,之后去除原始衬底,在待键合面沉积键合层或使用离子束活化待键合表面,最后将键合表面贴合并加压完成键合。由于需要保持待键合表面活性,避免氧化或污染,沉积键合层或离子束活化表面步骤与键合步骤需要在高真空度环境(~5×10-6 Pa)中进行,对设备条件要求很高。 由于键合层通常是非晶态材料,热导率较低,Cheng 等[37]为了探究键合层厚度对界面热导的影响,制备了不同键合层厚度的金刚石/GaN 结构,分别为13 nm 和4.2 nm,并使用时域热反射技术测量界面热导,分别为53 MW·m-2·K-1 和92 MW·m-2·K-1,可以看出,键合层厚度与热导率有强相关性,减小键合层厚度对整体热阻的控制十分重要。 为了减小键合层厚度或使键合层转变成晶态材料,有研究人员使用高温退火的方式,使键合层发生扩散、化学反应等。Kagawa 等[38-39] 使用Si作为中间层, 制备了AlGaN/GaN/3C-SiC/金刚石结构,在800℃退火后,形成欧姆接触,键合结构稳定,得到完整GaN HEMT 器件。如图3 所示,在1100℃退火后,键合层中Si和C 原子发生再结晶生成SiC,厚度从退火前的15.5 nm 减小到7.4 nm,且在高温退火过程中键合层拉应力也有所减小。在VGS=2 V,VDS=20 V 时,相比于Si 和SiC 衬底,使用金刚石衬底的器件最高温度分别降低57%和43%,器件电性能也有所提高。Liang等[40]报道了仅通过Ar 离子束照射金刚石和GaN 表面,不使用其它材料作为键合层的方法制备了金刚石/GaN 结构,其中有5.3 nm 厚的非晶碳中间层。在700℃、1000℃退火后非晶碳中间层厚度分别减小到2.3 nm和1.5 nm,在其中观察到晶格条纹,部分转化为金刚石。这些研究都表明通过优化退火工艺可以减小甚至完全去除键合层,且键合结构稳定。 为了进一步减小键合层厚度,Matsumae 等[41]优化工艺,使用Ar 离子束照射Si靶,在金刚石上沉积1 nm 厚的Si 层,GaN 表面使用Ar 离子束轰击活化,在4.4 MPa 的压力下与GaN 成功键合,键合层厚度仅1.5 nm,剪切强度4.5 MPa,如图4 所示。推测界面热阻小于10 m2·K·GW-1。相比Liang 等[40]的工艺,这个工艺没有高温退火的过程,减小了对GaN层的损伤。 金刚石表面粗糙度控制对键合成功率也十分重要,但是由于金刚石的高硬度、高化学 惰性,将其加工到0.5 nm 以下成本很高,有研究人员发现在沉积键合层的过程中,可以降低金刚石键合面粗糙度。Kobayashi 等[42]使用射频磁控溅射在金刚石键合面沉积15 nm SiC层,使金刚石键合面粗糙度由0.768 nm 降低到0.365 nm,而后在表面活化键合设备中室温键合,成功制备了金刚石/GaN 结构,键合面积85%,键合层厚度11 nm,其中3.7 nm 为缺陷金刚石层,7 nm 为非晶SiC 层。在1000℃退火后,由于硅与碳原子反应生成SiC,SiC层厚度略有增加,非晶SiC 层在退火工艺之后变成多晶。结果表明,SiC 层的沉积可以降低金刚石表面的粗糙度,并有利于多晶金刚石与异种材料的室温结合,通过退火工艺,还可以将低热导率的非晶SiC 转变成高热导率的多晶SiC。 目前的研究大多处于小尺寸探索阶段,针对大面积键合的工艺优化和实验验证,廖龙忠等[43]使用纳米级氧化硅作为键合层,使用优化的键合工艺,成功实现了4 英寸金刚石与GaN 的键合,如图5 所示。所制备的金刚石/GaN 器件热阻较转移前降低了39.5%,在6.5 W总耗散功率下其结温降低了33.77℃,电气性能经测试也有提高。实现了大尺寸金刚石与GaN 的键合,验证了大尺寸键合的可行性,为产业化提供了依据。 2.1.2 金刚石/GaN 亲水键合技术 亲水键合是在金刚石和GaN 表面生成OH端,通过OH 端之间的反应实现金刚石与GaN 的键合,目前已广泛应用于金刚石与Si、SiO2、InP,InGaP,Ga2O3 等材料的键合[44-47]。Matsumae 等[48]使用NH4OH/H2O2混合溶液在70℃下处理金刚石,使用HCl 溶液在70℃下处理GaN,在金刚石和GaN 表面成功生成了OH 端,后将金刚石与GaN 在1 MPa 的压力下200℃处理2 小时,成功得到金刚石/GaN 结构,如图6 所示。剪切强度8.19 MPa,有3nm 由sp2-C、Ga 和O 组成的键合层。亲水键合的方法相对于表面活化键合,步骤简单,对设备要求低,但是OH 端反应产物包括大量高温水分子,在大尺寸键合过程中可能无法及时逸出,影响键合效果,且据Sumiya 等[49]报道,高温水蒸气会对GaN 产生不利影响。 2.1.3 金刚石/GaN 原子扩散键合技术 原子扩散键合技术使用Au、Mo、Ag、Cu 等金属材料作为键合层,利用金属原子在温度和压力下的扩散实现键合,已经应用于金刚石与Si、GaN 与Si 的键合[50-51]。Wang 等[52]在单晶金刚石、多晶金刚石和GaN 上沉积5 nm Mo 层和11 nm Au 层,在室温下加载2000N 的载荷完成键合,制作了单晶金刚石/GaN 和多晶金刚石/GaN 两个样品。单晶金刚石与GaN 完全键合,在680 N 的拉力下,样品从Au-Au 键合层断裂。多晶金刚石键合面积98.5%,经过45℃到125℃的1000 次热循环后,键合面积降低到73%,如图7 所示。使用原子扩散键合成功制备了金刚石/GaN 结构,但是由于金属材料与金刚石和GaN 之间热膨胀系数失配很大,导致其热稳定性较差,且并未报道金属键合层厚度、热导率以及金属层对GaN器件电气性能的影响。 2.1.4 金刚石/GaN 水解辅助固化键合技术 水解辅助固化键合是一种利用中间层发生化学反应来进行键合的方法。Gerrer 等[53]在Si 基AlN/AlGaN/GaN上黏贴一块650 μm 厚的蓝宝石,而后放入HNO3/HF 混合溶液中去除Si 层,后在去离子水中将AlN/AlGaN/GaN 的AlN 面与金刚石接触,旋转去除接触面多余的水,放入真空炉中在200℃完成键合,去除蓝宝石片后得到金刚石/AlGaN/GaN 结构。在键合过程中,键合层是通过AlN 与水在40℃以上温度反应形成的,生成物为Al(OH)3和AlO(OH),键合层厚度30 nm,如图8 所示。整个工艺流程都是在液体中进行的,工艺简单,对金刚石粗糙度要求较低,但是键合层材料导热率极低,且厚度难以控制,导致其热阻高,据Fatimah 等[54]报道Al 的氢氧化合物可以在高温下分解成热导率更高的Al2O3,后续可以开发其它高热导率的键合层材料或通过高温退火等方法提高键合层热导率。 2.2 金刚石异质外延GaN 技术 另一种金刚石衬底散热技术是异质外延技术,由于金刚石是立方晶体结构,不同于GaN 的纤锌矿晶体结构,GaN 和金刚石之间存在很大的晶格失配和热膨胀系数失配,如表1 所示,给异质外延技术带来了许多难题,如何有效控制应力以及生长的晶体质量都是其中的关键问题。按照外延层的区别可以分为GaN 异质外延金刚石技术和金刚石异质外延GaN 技术。GaN 异质外延金刚石技术,是在去除GaN 原衬底及部分缓冲层后,先在GaN背面沉积一层介电层用于保护GaN,而后再沉积金刚石层;金刚石异质外延GaN 技术,是在金刚石上直接使用分子束外延(MBE)、MOCVD 等方法沉积GaN 层。目前研究使用较多的异质外延技术是GaN 异质外延金刚石技术。 GaN 异质外延金刚石技术相比键合技术,界面结合强度高,成本较低,但是也存在一些问题,如异质外延金刚石的形核层质量差、热导率低,金刚石的生长环境通常都是高温、高氢等离子体密度,GaN 在高温冷却到室温的过程中会发生翘曲甚至破裂,在氢等离子体环境中会发生严重的刻蚀、分解[55-59]。因此需要在GaN 表面先制备一层保护层,缓解热应力,同时保护GaN 不受刻蚀。技术基本流程如图9 所示。 Field 等[60]研究了保护层对金刚石/GaN 结构的影响,比较了具有SiC 保护层和没有保护层的两种样品的形貌特征和热导率。从结果来看,没有保护层的样品结合面粗糙,GaN被刻蚀,结合强度低,界面热阻高(107±44 m2·K·GW-1),具有SiC 保护层的样品结合面平整光滑,有较低的界面热阻(30±5 m2·K·GW-1),认为是SiC 保护层与金刚石有更强的结合力,相比于直接在AlGaN 上沉积金刚石,SiC 与金刚石之间形成了更多的碳化物键,有助于界面的声子传热,改善了热传输。 由于保护层的材料和厚度都对热阻有很大影响,很多研究人员对此展开了研究。Yates等[61]研究了没有保护层、具有5 nm 厚SiN 保护层、具有5 nm 厚AlN 保护层的金刚石/GaN结构的界面热阻,在没有保护层和具有5 nm 厚AlN 保护层的样品中,发现GaN 被刻蚀,导致界面粗糙,使样品的界面热阻增加,界面热阻分别为41.4 +14.0/-12.3 m2·K·GW-1、18.2+1.5/-3.6 m2·K·GW-1,而且在没有保护层的样品中,金刚石与GaN 之间发生了分层。在具有5 nm 厚SiN 保护层的样品中,金刚石与GaN 结合界面清晰,平整光滑,GaN 层完整,没有受到刻蚀,界面热阻最低,为9.5 +3.8/-1.7 m2·K·GW-1。 金刚石异质外延工艺对所制备金刚石层的质量有很大影响,金刚石形核层由于晶粒较小,晶界多,导致其热导率低,如何提高金刚石形核层热导率也是一个问题。Malakoutian等[62]使用快速形核的方法,减小形核层厚度,降低界面热阻。他们使用MOCVD 法在GaN表面沉积5 nm Si3N4 作保护层,而后使用聚合物辅助浸晶技术,使氧终端金刚石颗粒呈-50mv zeta 电位,Si3N4 层表面呈+50 mv zeta 电位,由于金刚石颗粒与Si3N4 层表面巨大的电位差,可以实现金刚石颗粒的高密度播种,最终播种密度大于1012 cm-2。而后放入微波等离子体化学气相沉积(MPCVD)装置中,金刚石在低温度(~700℃)、低功率(600 W)、低腔压(20 Torr)、高甲烷浓度(5%)中10分钟快速形核,形核层厚度仅25-30 nm。形完成后迅速提高功率(1800 W)和腔压(70 Torr),降低甲烷浓度,金刚石生长完成后在氢等离子体环境中缓慢冷却至室温。他们使用这种方法成功制备了金刚石/GaN 结构,如图10 所示。其中保护层的厚度由最初的5 nm 降至仅1 nm,其中1 nm 的Si3N4 层被氢等离子体刻蚀,还有3 nm 转化为热导率更高的SiC,极大地降低了界面热阻(3.1±0.7 m2·K·GW-1)。 对于异质外延金刚石的形核层质量差、热导率低的问题,Smith 等[63]也提出了一种混合金刚石晶粒播种的方法,他们使用MOCVD 分别制备了Si 基GaN 和Si 基AlN 两个样品,在两个样品上使用静电喷雾法分两步播种微米金刚石(2±1 μm)和纳米金刚石(3.3±0.6nm),然后使用微波等离子体增强化学气相沉积法(MWCVD)生长了厚金刚石层。发现在Si 基GaN 上金刚石和GaN 大部分在冷却时分层,未分层的样品在结合面也有大的间隙或裂纹,而在Si 基AlN 上金刚石和AlN 结合良好,热面热阻低(1.47±0.35 m2·K·GW-1),远小于仅使用纳米金刚石引晶生长的界面热阻(67±58 m2·K·GW-1)。这种方法制备的金刚石形核层大部分为微米金刚石,纳米金刚石填充了微米金刚石之间的空隙,大幅减小了金刚石形核层热阻,但是没有使用该方法制备GaN/AlN/金刚石结构样品。 金刚石在GaN 上异质外延的过程中,通常是在700~1000℃的高温环境中[64],由于金刚石与GaN 材料之间存在大的热膨胀系数失配,在金刚石生长完成冷却下来后,在金刚石与GaN 之间会存在1 GPa 左右的应力。Jia 等[65]针对热应力的问题,提出了一种GaN 两侧生长金刚石的方法,首先在GaN 上层沉积2 μm 厚Si 层,然后在Si 层上低温、高甲烷浓度沉积低质量牺牲层金刚石,GaN 下层先去除原衬底、沉积SiN 保护层,再沉积高质量金刚石作为散热层。如图11 所示,制备了金刚石-GaN-金刚石结构,牺牲层金刚石和散热层金刚石共同分担了GaN 收缩带来的应力,在经过退火、去除Si 层和牺牲层金刚石后,GaN/金刚石结构的GaN 层有0.5 GPa 的张应力,GaN转移过程产生的应力得到有效缓解。 2.3 GaN 异质外延金刚石技术 2.3.1 金刚石钝化层散热技术 金刚石钝化散热技术,是一种利用金刚石薄膜替换原有源区的传统钝化层SiNx 的技术,使用金刚石包覆器件层,可以显著提高器件的性能。相比其他技术,这项技术的优势在于金刚石层与热源接近,散热效率更高,但是存在金刚石层生长工艺与GaN 器件层工艺的兼容性问题。 金刚石钝化层通常使用异质外延的方法制备,如MPCVD、HFCVD 等,这些方法都需要高温、富氢等离子体的条件,GaN 会发生严重的刻蚀、分解,为了解决这个问题,通常在GaN 器件层上沉积保护层用于保护GaN,且由于金刚石和GaN 之间大的热膨胀失配,需要在低温环境中沉积金刚石钝化层,减小应力。例如Yaita 等[66]在沉积金刚石钝化层之前,先沉积40 nm 厚SiNx 层,然后在700℃的温度下沉积了2.5 μm 厚金刚石钝化层,由于沉积温度较低,金刚石层热导率仅为200 W·m-1·K-1,但是GaN 器件的热阻也从12.7mm·K·W-1 降低到7.4 mm·K·W-1,降幅达到了41.7%。国内南京电子器件研究所Guo 等[67]进一步优化工艺,采用栅前金刚石的方法,使用三步金刚石刻蚀技术和20 nm SiN 保护层,成功在GaN HEMTs 器件的顶端制备了500 nm 厚的金刚石钝化散热层,其结构示意图如图12 所示。经测试,金刚石/GaN HEMTs 的热阻比传统SiN/GaN HEMTs 低21.4%,截止频率为34.6 GHz,比SiN/GaN HEMTs 提高了1.8%,尤其是电流电压(VGS=1 V)和小信号增益(10 GHz)分别提高了27.9%和36.7%。金刚石钝化散热技术具有很好的应用前景,但是制备过程需要高精度的加工工艺,同时,由于金刚石膜沉积温度低,导致其晶体质量不高,无法发挥金刚石导热率高的优势,在实际应用中还需要进一步研究和改进。 2.3.2 金刚石衬底外延技术 随着金刚石制备技术不断发展和完善,金刚石衬底异质外延GaN 技术也被用于改善散热需求,和金刚石衬底异质外延GaN 技术一样,也存在热膨胀系数失配和晶格失配的问题,会使GaN 外延层发生剥离或破裂,需要使用额外的缓冲层缓解失配。同时金刚石衬底质量对GaN 外延层质量也有很大影响,现在常用(111)单晶金刚石作为衬底,但是成本昂贵[68-71]。Pantle 等[72]研究了单晶金刚石取向和缓冲层对GaN 质量的影响,在(111)单晶金刚石、(001)单晶金刚石和具有AlN 缓冲层的(001)单晶金刚石上使用MBE 工艺选择性沉积了GaN 纳米线,GaN 纳米线结构如图13所示,在(111)金刚石上生长的GaN 纳米线具有一致的形貌,在(001)金刚石上生长的GaN 纳米线有多重形核和聚结。在具有AlN 缓冲层的(001)金刚石上生长的GaN纳米线有最一致的形貌,表面光滑,生长偏转角度小,且缺陷最少。Xu 等[73]在多晶金刚石上使用MOCVD 工艺生长了GaN 薄膜,发现在具有2.5 nm h-BN 插入层和1000℃低温AlN 层时GaN 层晶体质量最好,相比没有h-BN 插入层的GaN 层,其表面光滑,(002)摇摆曲线的半峰全宽从4.67°降低到1.98°。 Ahmed 等[74-75]结合了GaN 异质外延金刚石技术和金刚石异质外延GaN 技术,工艺步骤如图14 所示,在GaN 表面使用PECVD沉积一层SiNx 保护层,而后使用纳米金刚石颗粒和光刻工艺相结合的方法,经过纳米金刚石加光刻胶旋涂、UV 曝光、显影、干燥和刻蚀过程,在SiNx 保护层上选择性的沉积多晶金刚石层,刻蚀掉未被金刚石覆盖的SiNx 保护层部分,暴露出GaN 层,之后在暴露的GaN 和金刚石上层使用优化的MOCVD 工艺横向外延过生长GaN 层,再生长GaN 层质量比原始GaN有更好的结晶度和更低的缺陷密度,但是由于金刚石与GaN 热膨胀系数失配较大,以及多晶金刚石的粗糙表面(RMS>30 nm),在金刚石与GaN 之间出现了图15 所示的孔隙和空洞,进一步降低金刚石表面粗糙度也许可以获得完全结合的界面。 3.总结与展望 本文对近年来金刚石和GaN 集成技术的研究现状进行了详细的综述。GaN 功率器件的高功率密度优势受制于其衬底材料的低导热率而无法完全发挥,使用高导热率的金刚石作为器件的钝化层和衬底层,可以大幅度降低器件热点温度,提高器件功率密度。对于各种金刚石与GaN 的集成技术,优缺点以及可能的改进方法可以总结为以下几点: (1)键合技术的优势在于键合温度普遍较低,键合后金刚石与GaN 之间热应力小,对GaN 层的热损伤小,缺点在于键合层质量、厚度难以控制导致键合层热阻高,且大尺寸、低粗糙度、低弯曲度的金刚石获取成本高,可以从键合后处理工艺以及键合设备开发入手,还需要优化金刚石精密抛光工艺,探索新型金刚石表面处理技术; (2)GaN 异质外延金刚石技术优势在于金刚石与GaN 结合强度高,结合均匀性好,但是由于金刚石与GaN 之间的热膨胀失配和晶格失配,冷却后金刚石与GaN 之间热应力大,可能导致分层或外延层开裂,还存在保护层、金刚石形核层热阻高的问题,可以从金刚石低温沉积以及提高形核层晶粒尺寸、减小形核层厚度入手,同时探索新型保护层材料和保护层制备工艺; (3)金刚石异质外延GaN 技术优势在于可以使用大尺寸高导热率金刚石作为散热层衬底,但是也存在热膨胀失配和晶格失配的问题,同时缓冲层热阻高,可以从开发新型缓冲层或多层缓冲层入手,以减小热应力和缓解晶格失配。 总的来说,目前的金刚石与GaN 集成技术已经大大提升了GaN 的实际应用功率密度,但是仍有许多问题亟需解决。目前的研究大多是对器件层或衬底层单独的研究,将其高效的结合起来,金刚石用于GaN 功率器件的三维散热,将大幅度降低器件温度,有望在未来完全发挥GaN 的高功率密度高频率优势。

    03-03 79浏览
  • CMOS应用有多广泛?

    CMOS是非常重要的组件,那么就目前而言,CMOS的发展现状究竟如何呢?如果大家对CMOS的研究较多,就会发现CMOS在很多领域内都有所应用。为增进大家对CMOS的认识,本文将和大家一起看看CMOS工艺在射频范畴的设计研究。...

    02-26 134浏览
  • 用FPGA实现Aurora 8B/10B接口(1)—— 什么是Aurora 8B/10B协议?

    1、概述\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;Aurora 8B/10B协议是一个用于在点对点串行链路间

    02-07 240浏览
  • 射频和微波电路讲解——RF术语与概念5:S参数

    引言:在高速和射频领域,S参数是一个极其重要的参数,S参数即反射和传输系数,用于衡量高速(RF)器件和传输线之间的阻抗匹配情况。在链路仿真、器件性能评估、设计优化方面使用非常广泛,本节简述S参数相关知识。

    02-07 185浏览
  • 详解Linux内核

    一文读懂 Linux 内核:开发者必备的技术指南

    01-14 250浏览
  • 详解linux中mmap的底层原理及应用

    一、mmap在linux系统哪里? 二、什么是mmap? 通过上图我们可以知道mmap是操作硬件设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址上读写数据。 但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样一种机制——内存映射,把设备地址映射到进程虚拟地址,mmap就是实现内存映射的接口。 操作设备还有很多方法,如ioctl、ioremap等。 mmap的好处就是,mmap把设备内存映射到虚拟内存,则用户操作虚拟内存相当于在直接操作设备,省去了用户空间到内核空间的复制过程,相对IO操作来说,增加了数据的吞吐量。 三、什么是内存映射? 既然mmap是实现内存映射的接口,那么内存映射是什么呢?如下图所示: 每个进程都有独立的进程地址空间,通过页表和MMU,可以将虚拟地址转换为物理地址,每个进程都有独立的页表数据,这就可以解释为什么两个不同进程相同的虚拟地址却对应着不同的物理地址。 四、mmap在文件内存映射上的应用 在unix/linux平台上读写文件,一般有两种方式。分别为open系统调用函数和mmap内存映射。 1.open系统调用 首先open文件,接着使用read系统调用函数来读取文件。于是内核将文件的内容从磁盘上读取到内核页高速缓存中(主存RAM中),再从内核高速缓存读取到用户进程的地址空间。这么做需要在内核和用户空间之间做多次数据拷贝。而且当多个进程同时读取一个文件时,那么每个进程在自己的页表中都有这个文件的副本并且都对应到物理内存中各自的副本,这样便造成了物理内存的浪费。如下图所示: 2.mmap内存映射 mmap是一种内存映射的方法,就是将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。如下图所示: 五、linux内存描述符 了解了内存映射的概念后,那么内核是怎么管理这些地址空间的呢?任何复杂的理论最终也是通过各种数据结构体现出来的,而这里使用的数据结构就是进程描述符。从内核角度看,进程是分配系统资源(CPU、内存)的载体,为了管理进程,内核必须对每个进程所做的事情进行清楚的描述,这就是进程描述符。内核用task_struct结构体来表示进程,并且维护一个该结构体链表来管理所有进程。该结构体包含一些进程状态、调度信息等上千个成员,我们这里主要关注进程描述符里面的内存描述符(struct mm_struct mm)。内存管理如下图所示: 现在已经知道了内存映射是把设备地址映射到进程空间地址(注意:并不是所有内存映射都是映射到进程地址空间的,ioremap是映射到内核虚拟空间的,mmap是映射到进程虚拟地址上的),实质上是分配了一个vm_area_struct结构体加入到进程的地址空间,也就是说,把设备地址映射到这个结构体,具体到映射的过程就是驱动程序要做的事情了。vm_area_struct结构中包含区域起始和终止地址以及其他相关信息,同时也包含一个vm_ops指针,其内部可引出所有针对这个区域可以使用的系统调用函数。这样,进程对某一虚拟内存区域的任何操作需要用到的信息,都可以从vm_area_struct中获得。并且如上图所示vm_area_struct结构通常是用链表的形式保存以方便进程快速的访问。 六、mmap内存映射原理 1.内存映射的步骤 用open系统调用打开文件,并返回文件描述符fd; 用mmap建立内存映射,并返回映射首地址指针start; 对映射文件进行各种操作,可以用指针偏移的方式进行读写; 用munmap关闭内存映射; 用close系统调用关闭文件描述符fd。 2.mmap内存映射的实现过程,总的来说可以分为三个阶段 (一)进程启动映射过程,并在虚拟地址空间中为映射创建虚拟映射区域 进程在用户空间调用库函数mmap,原型为:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); 在当前进程的虚拟地址空间中,寻找一段空闲的满足要求的连续的虚拟地址; 为此虚拟区域分配一个vm_area_struct结构体,接着对这个结构体的各个字段进行初始化; 将新建的虚拟区域结构体(vm_area_struct)插入到进程的虚拟地址区域链表或树中。 (二)调用内核空间的mmap函数(不同于用户空间的mmap函数),实现文件物理地址和进程虚拟地址的一一映射关系 为映射分配了新的虚拟地址区域后,通过待映射的文件指针,在文件描述符表中找到对应的文件描述符,通过文件描述符,链接到内核“已打开文件集”中该文件的文件结构体(struct file),每个文件结构体维护着和这个已打开文件相关的各项信息。 通过该文件的文件结构体,链接到file_operations模块,调用内核函数mmap,其原型为:int mmap(struct file *filp, struct vm_area_struct *vma),非用户空间的mmap函数; 内核mmap函数通过虚拟文件系统inode模块定位到文件磁盘物理地址; 通过remap_pfn_range函数建立页表,即实现了文件地址和虚拟地址区域的映射关系。此时,这片虚拟地址并没有任何数据关联到主存中。(本质上,用户进程的虚拟地址映射到磁盘文件中间还是需要经过物理内存的,也就是说进程操作虚拟地址会对应到物理地址上,物理内存再与磁盘交互数据) (三)进程发起对这片映射空间的访问,引发缺页异常,实现文件内容到物理内存的拷贝 注:前两个阶段仅在于创建虚拟区域并完成地址映射,但是并没有将任何文件数据拷贝至主存,真正的文件读取是当进程发起读或写操作时。 进程的读或写操作访问虚拟地址空间这一段地址映射,通过查询页表,发现这一段地址并不在物理页面上。因为目前只建立了地址映射,真正的硬盘数据还没有拷贝到内存中,因此引发缺页异常。 缺页异常进行一系列判断,确定无非法操作后,内核发起请求调页过程。 调页过程先在交换缓存空间(swap cache)中寻找需要访问的内存页,如果没有则调用nopage函数把所缺的页从磁盘装入到主存中。 之后进程即可对这片主存进行读或写的操作,如果写操作改变了其内容,一定时间后系统会自动回写脏页面到对应的磁盘地址,也即完成了写入文件的过程。 修改过的脏页面并不会立即更新回文件中,而是有一段时间的延迟,可以调用msync()来强制同步,这样所写的内容就能立即保存到文件里了。 3.mmap和常规文件读写的区别 简单介绍一下常规文件系统操作(调用read/fread等函数),函数的调用过程是: 进程发起读写文件请求; 内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息,从而找到此文件的inode; inode在address_space上查找要请求的文件页是否已经缓存在内核页缓存中。如果存在,则直接返回这片文件页的内容; 如果不存在,则通过inode定位到文件磁盘地址,将数据从磁盘复制到内核页缓存。之后再次发起读页面的过程,进而将内核页缓存中的数据发给用户进程。 总结来说,常规文件操作为了提高读写效率和保护磁盘,使用了内核页缓存机制。这样造成读文件时需要先将文件页从磁盘拷贝到内核页缓存中,由于内核页缓存处在内核空间,不能被用户进程直接寻址,所以还需要将内核页缓存中的数据页再次拷贝到用户进程对应的物理内存中。这样,通过了两次数据拷贝过程,才能完成进程对文件内容的获取任务。写操作也是一样,待写入的buffer在内核空间是不能直接访问的,必须要先拷贝至内核空间对应的主存,再写回磁盘中(系统回延迟写脏页面),也是需要两次数据拷贝。 而使用mmap操作文件时,创建新的虚拟内存区域和建立文件磁盘地址和虚拟内存区域映射这两步没有任何文件拷贝操作。而之后访问数据时发现内存中并无数据而发起的缺页异常过程,可以通过已经建立好的映射关系,只使用一次数据拷贝,就从磁盘中将数据传入用户进程的内存中,供进程使用。 总而言之,常规文件操作需要从磁盘到内核页缓存再到用户进程物理内存的两次数据拷贝。而mmap操作文件,只需要从磁盘到用户进程物理内存的一次数据拷贝过程。说白了,mmap的关键点是实现了用户空间到内核空间的数据直接交互而省去了空间不同数据不通的繁琐过程,因此mmap效率更高。 七、mmap函数说明 头文件 #include 创建内存映射mmap void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 参数说明: addr: 入参,如果这个地址为null那么内核将自己为你指定一个地址,如果不为null,将使用这个地址作为映射区的起始地址 length:映射区的大小(<=文件的大小) prot: 访问属性,一般用PROT_READ、PROT_WRITE、PROT_READ|PROT_WRITE flags:这个参数是确定映射的更新是否对映射相同区域的其他进程可见,以及是否对基础文件进行更新 MAP_SHARED:共享此映射,映射的更新对映射相同区域的其他进程可见 MAP_PRIVATE: 创建写时专用拷贝映射,映射的更新对映射的其他进程不可见,相同的文件,并且不会传递到基 础文件。 我们一般用MAP_SHARED,这两个权限是限制内存的,而不限制文件 fd:被映射的文件句柄 offset:默认为0,表示映射文件全部。偏移未知,需要时4K的整数倍。 返回值:成功:被映射的首地址 失败:MAP_FAILED (void *)-1 释放内存映射 int munmap(void *addr, size_t length); 参数说明: addr: 被映射的首地址 length: 映射的长度 返回值:0:成功 -1:失败 八、mmap的基础使用 #include #include #include #include #include #include int main(int argc, const char *argv[]){ char *p = NULL; int fd = -1; // 打开文件 fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (-1 == fd) { printf("文件打开失败...\n"); return -1; } // 因为我们文件不能是一个0大小的文件,所以我们需要修改文件的大小 // 有两种方式:leek,write,或者ftruncate都可以 /* // 改变一个文件的读写指针 lseek(fd, 1023, SEEK_END); // 写入一个结束符\0 write(fd, "\0", 1); */ // 我们还是用这种,比较方便,直接就修改了,和上面效果一样 ftruncate(fd, 1024); // 创建一个内存映射,让内和指定一个映射地址,大小为1024,可读可写,共享,映射到这个fd上 p = mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { printf("mmap failed\n"); close(fd); return -1; } // 拿到地址之后我们就可以像操作普通地址一样写数据,读数据了,例如memcpy,strcpy等等 memcpy(p, "hello world", sizeof("hello world")); // 读数据 printf("p = %s\n",p); // 最后释放这个映射 if (munmap(p, 1024) == -1) { printf("munmap failed\n"); close(fd); return -1; } close(fd); return 0;} gcc mmap.c 进行编译得到可执行文件a.out./a.out 可以得到执行结果p = hello world 然后看当前文件夹下会出现一个temp的文件 我们直接用cat命令进行输出: 我们会发现其实是和程序输出的一样的,到这里,基本使用就结束了。 九、mmap的使用注意事项 1.能使用创建出来的新文件进行映射吗? 答案:能,但是需要修改文件的大小,如果不修改则会出现总线错误,程序如下: #include #include #include #include #include #include int main(int argc, const char *argv[]){ char *p = NULL; int fd = -1; // 打开文件 fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (-1 == fd) { printf("文件打开失败...\n"); return -1; } // 因为我们文件不能是一个0大小的文件,所以我们需要修改文件的大小 // 有两种方式:leek,write,或者ftruncate都可以 /* // 改变一个文件的读写指针 lseek(fd, 1023, SEEK_END); // 写入一个结束符\0 write(fd, "\0", 1); */ // 我们还是用这种,比较方便,直接就修改了,和上面效果一样 // TODO ftruncate(fd, 1024); // 主要修改了这行,我们不进行文件大小调整,那么文件大小就是0 // 创建一个内存映射,让内和指定一个映射地址,大小为1024,可读可写,共享,映射到这个fd上 p = mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { printf("mmap failed\n"); close(fd); return -1; } // 拿到地址之后我们就可以像操作普通地址一样写数据,读数据了,例如memcpy,strcpy等等 memcpy(p, "hello world", sizeof("hello world")); // 读数据 printf("p = %s\n",p); // 最后释放这个映射 if (munmap(p, 1024) == -1) { printf("munmap failed\n"); close(fd); return -1; } close(fd); return 0;} 和基础使用例子一样,只是注释了修改文件大小的逻辑ftruncate(fd, 1024),这样新创建的文件大小就是0, 我们编译运行,如下图:Bus error 所以结论就是:创建映射区的文件大小为0,而指定的大小非零的时候会出现总线错误 2.创建映射区的文件大小为0,实际指定映射区的大小为0 得到的结果:无效的参数 3.如果打开文件时flag为O_RDONLY,mmap时PROT参数为PROT_READ|PROT_WRITE会怎样? 得到的结果:无效的参数 4.如果打开文件时flag为O_RDONLY(新文件不行,需要一个有文件大小的文件),mmap时PROT参数为PROT_READ会怎样? 得到的结果:在写数据的时候段错误 5.如果打开文件时flag为O_WRONLY(新文件不行,需要一个有文件大小的文件),mmap时PROT参数为PROT_WRITE会怎样? 得到的结果:没有权限,mmap在创建的时候需要读权限,mmap的读写权限应该小于等于文件的打开权限,文件至少必须要有读权限。(前提是MAP_SHARED 模式下) 6.文件描述符fd,在mmap创建映射区完成即可关闭,后续访问文件,用地址访问。 7.如果offset是1000会怎么样? 得到的结果:无效的参数,必须是4K的整数倍(这个跟MMU有关,MMU映射的最小单位就是4K) 8.对mmap越界操作会怎样? 得到的结果:段错误,mmap映射以页为单位,就是说得到的空间的大小是4096的倍数,举个例子就是你申请了10个字节,但系统会给你申请4096,因为不够一页(4k),如果你申请4097,那么会给你申请两个页,所以才会发现你申请10个空间却能写如20个或者4096以下的字节数也不会崩溃的原因。 9.对mmap++是否还能munmap成功 得到的结果:不能,无效的参数,首地址变了,munmap必须释放申请的地址 十、mmap父子进程间通信 #include #include #include #include #include #include #include #include #include // 全局变量 var int var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 fd = open("temp", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } // truncate文件大小 ftruncate(fd, 4); // 创建映射区 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;} 结果: 结果发现p指向的地址的内容改掉了,而var没有被改掉(对于父子进程共享的东西是读共享,写复制) 十一、mmap无血缘关系的进程间通信 写进程,循环写这个结构体大小的数据到共享内存 #include #include #include #include #include #include #include #include #include struct student{ int id; char name[256]; int age; }; int main(int argc, const char *argv[]){ int fd; struct student stu = {0, "zhangsan", 18}; struct student *p; fd = open("temp", O_RDWR|O_CREAT|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } ftruncate(fd, sizeof(stu)); p = mmap(NULL, sizeof(stu), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } close(fd); while (1) { // 循环写 memcpy(p, &stu, sizeof(stu)); stu.id++; sleep(3); } if (-1 == munmap(p, sizeof(stu))) { perror("munmap error"); exit(1); } return 0; } 读进程,循环从共享内存中读 #include #include #include #include #include #include #include #include #include struct student{ int id; char name[256]; int age; }; int main(int argc, const char *argv[]){ int fd; struct student stu = {0, "zhangsan", 18}; struct student *p; fd = open("temp", O_RDONLY, 0644); if (fd < 0) { perror("open error"); exit(1); } p = mmap(NULL, sizeof(stu), PROT_READ, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } close(fd); while (1) { // 循环读 printf("stu.id = %d, stu.name = %s, stu.age = %d\n", p->id, p->name, p->age); sleep(3); } if (-1 == munmap(p, sizeof(stu))) { perror("munmap error"); exit(1); } return 0; } 一个读端一个写端执行结果如下: 一个写端多个读端执行结果如下: 多个写端一个读端: 十二、匿名映射 前面我们每次使用共享内存时,都会创建一个文件,这样会造成垃圾文件,接下来我们使用unlink把创建的文件删除掉,创建完就删除这个文件:unlink(文件名) #include #include #include #include #include #include #include #include #include // 全局变量 varint var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 fd = open("temp", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } // TODO 添加了这句删除文件 ret = unlink("temp"); if (ret == -1) { perror("unlink error"); exit(1); } // truncate文件大小 ftruncate(fd, 4); // 创建映射区 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;} 这样执行完成之后,那个临时文件就没了 又要open,又要unlink的好麻烦,有没有更方便的方法。答案是有的。可以直接使用匿名映射来代替,其实linux系统给我们提供了创建匿名映射区的方法,无需依赖一个文件即可创建映射区,同样需要借助标志位flags来指定。 使用MAP_ANONYMOUS(或MAP_ANON),如: int *p = mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); 需要注意的是,MAP_ANONYMOUS和MAP_ANON这两个宏是linux操作系统中特有的,类UNIX系统中无该宏定义,可以使用如下两步来完成匿名映射区的建立 fd = open("/dev/zero", O_RDWR);p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, fd, 0); linux匿名映射的例子如下:只能用于有血缘关系的进程间通信 #include #include #include #include #include #include #include #include #include // 全局变量 var int var = 100; int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; // 创建映射区-----TODO 匿名映射,大小随便指定,权限随便指定,fd用-1 p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0; } 类unix的例子 #include #include #include #include #include #include #include #include #include // 全局变量 varint var = 100;int main(int argc, const char *argv[]){ int *p; pid_t pid; int ret = 0; int fd; // 打开一个文件 TODO /dev/zero fd = open("/dev/zero", O_RDWR|O_TRUNC, 0644); if (fd < 0) { perror("open error"); exit(1); } if (ret == -1) { perror("unlink error"); exit(1); } // 创建映射区 flags 加 MAP_ANONYMOUS p = (int *)mmap(NULL, 4, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, fd, 0); if (p == MAP_FAILED) { perror("mmap error"); exit(1); } // 关闭fd,mmap创建成功后就可以关闭了,因为直接使用地址了,不需要fd了 close(fd); // fork一个进程 pid = fork(); if (pid == 0) // 子进程 { *p = 2000; var = 1000; printf("child *p = %d, var = %d\n", *p, var); }else{ // 父进程 sleep(1); // 休眠一秒,让子进程先执行 printf("parent *p = %d, var = %d\n", *p, var); wait(NULL); // 回收子进程 // 释放共享内存 if (munmap(p, 4) == -1) { perror("munmap error"); exit(1); } } return 0;}

    01-09 227浏览
  • 机房的防雷接地系统设计

    本期我们来通过一个实例,详细了解机房如何做防雷接地? 一、为什么要做防雷接地? 计算机和网络越来越深入人们生活和工作中,同时也预示着数字化、信息化时代的来临。这些微电子网络设备的普遍应用,使得防雷的问题显得越来越重要。由于微电子设备具有高密度、高速度、低电压、和低功耗等特性,这就使其对各种诸如雷电过电压、电力系统操作过电压、静电放电、电磁辐射等电磁干扰非常敏感。如果防护措施不力,随时随地可能遭受重大损失。 二、机房防雷的必要性 雷击可以产生不同的破坏形式,国际电工委员会已将雷电灾害称为“电子时代的一大公害”,雷击、感应雷击、电源尖波等瞬间过电压已成为破坏电子设备的罪魁祸首。从大量的通信设备雷击事例中分析,专家们认为:由雷电感应和雷电波侵入造成的雷电电磁脉冲(LEMP)是机房设备损坏的主要原因。为此采取的防范原则是“整体防御、综合治理、多重保护”。力争将其产生的危害降低到最低点。 三、机房防雷接地系统设计 一、防雷设计 防雷接地系统是弱电精密设备及机房保护的重要子系统,主要保障设备的高可靠性,防止雷电的危害。中心机房是一个设备价值非常高的场所,一旦发生雷击事故,将会造成难以估量的经济损失和社会影响,根据GB50057《建筑物防雷设计规范》和IEC61024-1-1标准的有关规定,中心机房的防雷等级应定为二类标准设计。 目前大楼总配电室根据建筑物防雷设计规范,提供了第一级防雷,因此,在本工程网络中心机房市电配电柜前配置第二、三级复合防雷器。 防雷器采用独立模块,并应具有失效告警指示,当某个模块被雷击失效时可单独更换该模块,而不需要更换整个防雷器。 二三级复合防雷器的主要参数指标:单相通流量为:≥40KA(8/20μs),响应时间:≤25ns 二、接地系统设计 国家标准GB50174《计算机机房设计规范》中计算机机房应具有以下四种地:计算机系统的直流地、交流工作地、交流保护地和防雷保护地。 各接地系统电阻如下: Ø计算机系统设备直流地接地电阻不大于1Ω。 Ø交流保护地的接地电阻应不大于4Ω; Ø防雷保护地的接地电阻应不大于10Ω; Ø交流工作地的接地电阻应不大于4Ω; 1、机房室内等电位连接 在机房内设立一环形接地汇流排,机房内的设备及机壳采用S型的等电位连接形式,连接到接地汇流排上,用50*0.5铜铂带敷设在活动地板支架下,纵横组成1200*1200网格状,在机房一周敷设30*3(40*4)的铜带,铜带配有专用接地端子,用编织软铜线机房内所有金属材质的材料都做接地,接入大楼的保护地上。 工程中的所有接地线(包括设备、SPD、线槽等)、金属线槽搭接跨接线均应做到短、平、直,接地电阻要求小于或等于1欧姆。 2、机房屏蔽设计 整个机房屏蔽采用彩钢板进行六面体屏蔽,屏蔽板之前采用无缝焊接,墙身屏蔽体每边跟接地汇流排接地不少于2处。 3、机房接地装置设计 由于机房接地电阻要求较高,在该大楼附近另外增加人工接地装置,在地网槽内打入15根镀锌角钢,并用扁钢焊接起来,并采用降阻剂回填。机房静电接地采用50mm²多股铜芯线穿管引入。 接地装置的接地电阻要求小于或等于1欧姆。 四、机房地网制作方法 一、标准接地网的制作 在距建筑物1.5~3.0m处,以6m*3m矩形框线为中心,开挖宽度为0.8m、深0.6~0.8m的土沟,两长边中间贯通,采用长2.5m的L5(5*50*50)镀锌角钢,在沟底的每个交点处垂直打入一根,共计6-20根,作为垂直接地极; 然后采用4号(4*40)镀锌扁钢将六根角钢焊接连通,作为水平接地极;再用4号镀锌扁钢焊在地网框架的中间部位,引出至机房外墙角,离地高0.3m,作为PE接地端;最后从该接地端引出16-50平方毫米以上护套地线,沿墙边穿墙进入室内,连至机房内等电位接地汇集排。 二、利用大楼钢筋做地网 新建或翻建机房时,可利用入地混凝土立柱子内的钢筋作接地装置。在立柱内选取至少4根主筋(对角或对称的钢筋),用氧焊接通后再焊在两根伸出柱面的M12以上铜螺纹管上,作为接地端,引线至机房,与等电位接地汇流排连通,等电位接地排可设在防静电地板下面。 五、如何做机房防雷接地? 所谓接地,即把电路中的某一金属壳与大地边接在一起,形成电气回路。目的是为了让电流易于流如入大地,对人及设备形成保护。 接地的方法: 直流地悬浮法即直流地不接大地,与地严格绝缘; 直流地接地法,把计算机等设备中数字电路等的电位点地和网络。 无论采用何种形式,均须有接地母线,接地地杖,在此特别强调建议采用接地埋接地网络板,能更好的引导至大地,接地时应注意如下问题: Ø尽量不要在机房内把直流地和交流工作地短路或混接; Ø不允许交流线路与直流地线平行敷设,以防止干扰或短接; Ø直流地线网应装接在地板下,便于边接,即可减小接地电阻,便于泄流。 1、接地铜排 室内机房接地采用30*5(宽*厚,单位mm)规格之铜片,围绕机房墙壁一周离地面10cm高,且与室外接地体母线相连接。在铜片每隔50 cm钻一小孔,以利于分布在机房各区域的设备进行接地。 2、接地铜板 接地铜板采用宽60mm(厚10mm)之L型铜板固定于楼板,此铜墙铁壁板作为所有应与机房接地之设施的总接地。 3、地网 机房有架设高架地板,则应以2.5mm之多芯裸铜线缠绵高架地板柱做地网。 六、机房防雷接地工程实例 一、项目情况 某数据中心机房位于大楼三层,面积约1000m²。 本工程配电采用TN-S系统,独立设置接地线(PE)。采用大楼联合接地系统,并且要求接地小于1欧姆。 机房内设有功能性接地和保护性接地,共用一组接地装置。 1、保护接地,防雷保护接地延引大楼的接地。 2、机房内做M网型结构均压等电位网格。机房室内等电位做法在机房地板下沿机柜一周敷设等电位铜带30×3mm²(均压环),铜带用ZR-BVR6mm2与各机房动力配电柜PE排相连,并设置100*0.3mm²铜箔等电位网格。机房动力设备的地线、动力设备的外壳、不带电的金属管道、金属线槽外壳、计算机设备外壳、防静电地板支架、吊顶龙骨、等均须用ZR-BVR6mm2与等电位铜排网络就近可靠相连。机房内设置等电位端子箱,机房内等电位端子箱采用ZR-BVR50mm²的电缆与大楼综合接地端可靠连接。机房等电位接地示意图如图1-1所示。 二、防雷设计思路 一个完整的防雷方案包括防直接部分和防感应雷击两部分,中心机房所在的建筑物已具备防直接雷击防护措施,因此本方案只对机房电子设备的配电系统采取相应的防感应雷击措施。 工程计算机交流配电系统采用三级防雷: 第一级在大楼低压配电室内加装防雷器,实现第一级防雷(由大楼实现)。 第二级在UPS输入配电柜内加装B级防雷器,实现第二级防雷。 第三级在机房UPS输出列头配电柜内加装C级防雷器,实现第三级防雷。 机房防雷设计示意图如图2-1所示: 三、防雷设计思路 由于网络集成系统防护点多、面广,因此,为了保护建筑物和建筑物内各向电子网络设备不受雷电损害或使雷击损害降低到最低程度,应从整体防雷的角度来进行防雷方案的设计。现在都采取综合防雷,综合防雷设计方案应包括两个方面:直击雷的防护和感应雷的防护,缺少任何一方面都是不完整的,有缺陷的和有潜在危险的。 1、直击雷的防护 如果无直击雷防护,按IEC1312的估算几乎所有雷电流都流经进出建筑物的导体型线路(如电源线、信号线等)侵入设备,这样的损害就非常之严重,因此做好直接雷击防护是做感应雷击防护的前提;直击雷防护按照国标GB50057《建筑物防雷设计规范》设计和施工,主要使用避雷针、网、线、带及良好的接地系统,其目的是保护建筑外部不受雷击的破坏,给建筑物内的人或设备提供一个相对安全的环境。 2、电源系统的防护 统计数据资料表明,微电子网络系统80%以上的雷害事故都是因为与系统相连的电源线路上感应的雷电冲击过电压造成的。因此,做好电源线的防护是整体防雷中不容忽视的一环。 3、信号系统的防护 尽管在电源和通信线路等外接引入线路上安装了防雷保护装置,由于雷击发生在网络线(如双绞线)感应到过电压,仍然会影响网络的正常运行,甚至彻底破坏网络系统。雷击时产生巨大的瞬变磁场,在1公里范围内的金属线路,如网络金属连线等都会感应到极强的感应雷击; 另外,当电源线或通信线路传输过来雷击电压时,或建筑物的地线系统在泻放雷击时,所产生强大的瞬变电流,对于网络传输线路来说,所感应的过电压已经足以一次性破坏网络。即使不是特别高的过电压,不能够一次性破坏设备,但是每一次的过电压冲击都加速了网络设备的老化,影响数据的传输和存储,甚至死机,直至彻底损坏。所以网络信号线的防雷对于网络集成系统的整体防雷来说,是非常重要的环节。 4、等电位连接 集成网络系统主干交换机所在的中心机房应设置均压环,将机房内所有金属物体,包括电缆屏蔽层、金属管道、金属门窗、设备外壳以及所有进出大楼的金属管道等金属构件进行电气连接,并接至均压环上,以均衡电位。 5、接地 机房采用联合接地可有效的解决地电位升高的影响,合格的地网是有效防雷的关键。机房的联合地网通常由机房建筑物基础(含地桩)、环形接地(体)装置、工作(电力变压器)地网等组成。对于敏感的数据通讯设备的防雷,接地系统的良好与否,直接关系到防雷的效果和质量。如果地网不合要求,应改善地网条件,适当扩大地网面积和改善地网结构,使雷电流尽快地泄放,缩短雷电流引起的高过电压的保持时间,以达到防雷要求。 四、电源防雷 电源系统防雷采用三级防雷的方式。对机房配电箱的防雷应采取不少于二级保护(细保护),既在机房的主配电箱的输入一套安装二级防雷器,在机房配电箱输出端每一路安装三级防雷器。即在配电柜中总开关前端安装二级防雷器,这样既节省空间,又起到了美观、易维护的作用,并分别在市电配电柜、UPS配电柜各自的总开关前端安装三级防雷器,以保护机房内的设备。 五、接地系统 本机房有四种接地形式,即:计算机专用直流逻辑地、交流工作地、安全保护地、防雷保护地。 1、计算机机房接地系统 在机房活动地板下方安装铜排网,将机房所有计算机系统非带电壳体接入铜排网并由此引入大地。机房接地系统采用专用接地系统,专用接地系统由大楼提供,接地电阻≤1Ω。 2、机房内等电位接地具体做法: 用3mm×30mm的铜带,在机房活动地板下交叉排成方格,其交叉点与活动地板支撑的位置交错排列,交点处压接在一起,并在铜带下用垫绝缘子固定。在机房离墙400mm的距离沿墙采用3mm×30mm紫铜条造成一个M型或S型的地网,紫铜条间的接驳位用10mm镙母压接后烧铜焊,通过35mm2铜缆引下线驳接建筑物的联合接地体,这样就形成一个法拉第笼式接地系统,并保证接地电阻不大于1Ω。 机房等电位连接:将天花龙骨、墙身龙骨、活动地板支架、非计算机系统的管、金属的门、窗等均做等电位连接,并分别取多点通过16m m2的地线接入机房接地铜排网。 3、交流工作地 在电力系统中运行需要的接地(配电柜中性点接地),应不大于4欧姆。与变压器或发电机直接接地的中性点连接的中性线称零线;将零线上的一点或多点与地再次做电气连接称重复接地。交流工作地是中性点可靠地接地。当中性点不接地时,若一相碰地而人又触及另一相时,人体所受到的接触电压将超过相电压,而当中性点接地时,且中性点的接地电阻很小,则人体受到电压相当于相电压;同时若中性点不接地时,由于中性点对地的杂散抗阻很大,因此接地电流很小;相应的保护设备不能迅速切断电源,对人及设备产生危害;反之则行。 4、安全保护地 安全保护地是指机房内所有机器设备的外壳以及电动机、空调机等辅助设备的机体(外壳)与地之间做良好的接地,应不大于4欧姆。当机房内各类电器设备的绝缘体损坏时,将会对设备和操作及维修人员的安全构成威胁。所以应使设备的外壳可靠接地。 5、防雷保护地 即机房的防雷系统的接地,一般以水平连线和垂直接地桩埋设地下,主要是把雷电电流由受雷装置引到接地装置,应不大于10欧姆。 防雷装置可分为三个基本部分:即接闪器、引下线和接地装置,接闪器即接受雷电电流的金属导体。本方案只将加装防雷器的引下线与动力配电柜内的接地铜排连接。要求接地电阻≤4Ω。 六、防雷设计方案 1、直击雷的防护 机房所在大楼已有避雷针、避雷带等外部防雷设施,不再作外部防雷补充设计。如之前无直击雷防护,需在机房顶层做避雷带或是避雷网,若机房在空旷地带,视情况还需安装避雷针,避雷针、避雷带必须做好引下线,接入地网。 2、电源系统的防雷 (1)、对于网络集成系统的电源线防护,首先,进入系统总配电房的电源进线,应采用金属铠装电缆敷设,电缆铠装层的两端应良好接地;如果电缆没有铠装层,则就将电缆穿钢管埋地,钢管两端接地,埋地的长度应不小于15米。由总配电房至各大楼的配电箱以及机房楼层配电箱的电力线路,均应采用金属铠装电缆进行敷设。这样可以大大减少电源线感应过电压的可能性。 (2)、在电源线路上安装电源防雷器,是必不可少的防护措施。根据IEC防雷规范中有关防雷分区的要求,将电源系统分为三级保护。 ① 可在系统总配电房的配电变压器低压侧安装流通容量80KA~100KA的一级电源防雷箱。 ② 在各大楼的总配电箱安装通流容量为60KA~80KA的二级电源防雷箱; ③ 在机房的重要设备(如交换机、服务器、UPS等)的电源进线处安装通流容量20~40KA的三级电源防雷器; ④ 在机房控制中心硬盘刻录机及电视墙设备电源处用插座式防雷器。 所有防雷器均应良好接地。选用防雷器要注意接口的形式和接地的可靠性,重要场所应设置专用的接地线,切不可将防雷接地线与避雷针接地线并接,且要尽量远离、分开入地。 3、信号系统的防雷 (1)、网络传输线主要使用的是光纤和双绞线。其中光纤不需要特别的防雷措施,但若室外的光纤是架空的,那么需要将光纤的金属部分接地。而双绞线屏蔽效果较差,因此感应雷击的可能性比较大,应将此类信号线敷设在屏蔽线槽中,屏蔽线槽应良好接地;也可穿金属管敷设,金属管应全线保持电气上的连通,并且金属管两端应良好接地。 (2)、在信号线路上安装信号防雷器,对防感应雷是一种行之有效的办法。对于网络集成系统,可在网络信号线进入到广域网路由器之前安装专用信号防雷器;在系统主干交换机、主服务器以及各分交换机、服务器的信号线入口处分别安装RJ45接口的信号防雷器(如RJ45-E100)。信号防雷器的选型应综合考虑工作电压、传输速率、接口形式等。避雷器主要串接在线路的两端设备的接口处。 ① 服务器输入端口处安装单口 RJ45 端口信号避雷器,以保护服务器。 ② 24口网络交换机串联 24 口的RJ45 端口信号避雷器,避免因雷击感应或电磁场干扰沿双绞线窜入而毁坏设备。 ③ 在DDN专线接收设备上安装单口RJ11端口信号避雷器,保护DDN 专线上的设备。 ④ 在卫星接收设备前端安装同轴端口天馈线避雷器,以保护接收设备。 (3)、对于监控系统机房的防雷保护 ① 在硬盘录像机的视频线出线端加装视频信号防雷器或采用机架式视频信号防雷箱,12口全保护,安装方便。 ② 在矩阵与视频分割器的控制线进入端加装控制信号防雷器(DB-RS485/422)。 ③ 机房电话线采用音频信号防雷器,串接在电话机前端电话线处,安装方便,易维护。 ④ 在报警器前端信号线接入处装控制信号防雷器,对报警器信号线做有效的防雷保护。 注意:所有防雷器均应良好接地,选用防雷器要注意接口的形式和接地的可靠性,重要场所应设置专用的接地线,切不可将防雷接地线与避雷针接地线并接,且要尽量远离、分开入地。 4、机房等电位连接 在机房防静电地板下,沿着地面上布置40*3紫铜排,形成闭合环接地汇流母排。将配电箱金属外壳、电源地、避雷器地、机柜外壳、金属屏蔽线槽、门窗等穿过各防雷区交界的金属部件和系统设备的外壳,以及对防静电地板下的隔离架进行多点等电位接地就进至汇流排。并采用等电位连接线4-10mm2铜芯线螺栓紧固的线夹作为连接材料。同时在机房找出建筑物主钢筋,经测试确与避雷带连接良好,用14mm镀锌圆钢通过铜铁转换接头将接地汇流母排与之连接起来。形成等电位。采用联合接地网,目的是消除各地网之间的电位差,保证设备不因雷电的反击而损坏。 5、接地网制作设计 接地是避雷技术非常重要的环节之一,无论是直击雷或感应雷,最终都是把雷电流引入大地。因此,对于敏感的数据(信号)通信设备而言,没有合理而良好的接地系统是不能可靠避雷的。因此,对接地电阻>1Ω 的大楼地网,需按照规范要求整改,以提高机房接地系统的可靠性。根据具体情况,通过沿机房大楼建立不同形式的接地网(包括水平接地体、垂直接地体)来扩大接地网的有效面积和改善地网的结构。 采用共用接地装置时,共用接地电阻值不应大于1Ω; 采用专用接地装置时,其接地电阻值不应大于4Ω。 基本要求如下: 1 )在大楼周围做接地网,用较少的材料和较低的安装成本,完成最有效的接地装置; 2)接地电阻值要求 R ≤1Ω ; 3)接地体应离机房所在主建筑物 3~5m 左右设置; 4)水平和垂直接地体应埋入地下0.8m 左右,垂直接地体长 2.5m ,每隔 3~5m 设置一个垂直接接地体,垂直接地体采用 50×50×5mm 的热镀锌角钢,水平接地体则选 50×5mm 的热镀锌扁钢; 5)在地网焊接时,焊接面积应≥6 倍接触点,且焊点做防腐蚀防锈处理; 6)各地网应在地面下0.6~0.8m 处与多根建筑立柱钢筋焊接,并作防腐蚀、防锈处理; 7)土壤导电性能差时采用敷设降阻剂法,使接地电阻≤1Ω ; 8)回填土必须是导电状态较好的新粘土; 9)与大楼基础地网多点焊接,并预留接地测试点。 以上是一种传统的廉价实用的接地方式,根据实际情况,接地网材料也可以选用新型技术接地装置,如免维护电解离子接地系统、低电阻接地模块、长效铜包钢接地棒等等。   五、机房防雷接地注意事项 1、考虑到雷电或其他电信设备的干扰,计算机房不宜设置在大楼的顶层或靠外墙侧,特殊情况限制的,应设置屏蔽层防止雷电干扰。对于特别重要的计算机系统,应考虑设置独立的屏蔽机房。建筑物(包括计算机机房)内设备及管线接地安装应按照相关规范执行,做好等电位联结; 2、防止雷电危害还应防雷击引起的电磁脉冲,计算机房的配电箱应设置SPD(防电磁浪涌)保护装置,防止机房供电电源由于雷击电磁脉冲而造成断电。另外,对于重要的系统主机,其通讯电缆也应设置SPD保护装置,由于通讯电缆数量一般比较多,因此通讯线的保护设置应根据具体实际情况合理设置; 3、电气接地系统宜采用TN-S接地系统,PE线与相线分开,机房电源接入处应做重复接地; 4、机房接地一般分为交流工作接地、直流工作接地、安全工作接地、防雷保护接地。根据《建筑物防雷设计规范》的要求,防雷设计采用共用接地系统时,各接地系统宜共用一组接地装置。信息系统的所有外露导电物(各种箱体、壳体、机架等金属组件)应建立一等电位联结网络。 因此,电气防雷设计应在计算机房设置专用的等电位联结排,通过引下线与大楼总等电位联结排连接。根据共用接地系统的层层等电位原则,采用结构主钢筋作为引下线,更适用于共用接地系统。另外强调,大楼接地系统的接地电阻不应大于1Ω。 

    01-09 106浏览
  • 什么是天线调谐开关?

    引言:天线调谐开关也叫孔径调谐开关,关于什么是孔径调谐,会在后续其余章节讲到。随着消费场景的天线越做越小巧,天线尺寸缩小将导致天线效率降低,更容易受天线周围介质变化的影响,介质变化引起的瞬态响应会造成天线频率响应漂移。

    01-08 150浏览
正在努力加载更多...
广告