PCB设计实践(二十四)PCB设计时如何避免EMI
PCB设计中避免电磁干扰(EMI)是一项涉及电路架构、布局布线、材料选择及制造工艺的系统工程。本文从设计原理到工程实践,系统阐述EMI产生机制及综合抑制策略,覆盖高频信号控制、接地优化、屏蔽技术等核心维度,为高密度、高速PCB设计提供完整的EMI解决方案。
一、EMI产生机理与抑制原理
电磁干扰源于电流突变产生的电磁场耦合,主要包含传导干扰(30Hz-30MHz)和辐射干扰(30MHz-GHz以上)。其形成需三个要素:干扰源、耦合路径、敏感设备。抑制策略需从这三方面切入:
- 干扰源控制
降低高速信号上升时间(Tr),如使用Tr>1ns的驱动芯片可将fknee(最高EMI频率)限制在350MHz以下。开关电源选用软开关拓扑(如LLC)可将dv/dt降低60%以上。- 耦合路径阻断
传输线参数优化,差分对阻抗偏差控制在±5%以内,减少共模噪声。采用带状线替代微带线可降低辐射强度达10dB。- 敏感设备防护
高精度ADC前端增加共模扼流圈(CMC),抑制1MHz以上干扰信号达40dB。
二、分层堆叠设计与EMI抑制
层叠结构是EMI控制的物理基础,典型八层板推荐结构:
层序 | 功能 | 材质要求 |
---|---|---|
1 | 信号层 | 低粗糙度铜箔(Rz<2μm) |
2 | 地平面 | 1oz铜厚,完整无分割 |
3 | 信号层 | 玻纤效应补偿材料 |
4 | 电源平面 | 多区域分割,去耦电容集中 |
5 | 信号层 | 带防护带的敏感信号 |
6 | 电源平面 | 混合压合结构 |
7 | 地平面 | 多点过孔连接 |
8 | 信号层 | 表层铺地网格 |
关键设计原则:
- 相邻信号层走线正交布局,减小层间串扰
- 电源/地平面间距≤4mil,形成低阻抗供电网络
- 高速信号优先布在内层,利用地平面屏蔽辐射
三、布局优化策略
1. 功能分区
- 数字/模拟隔离:通过开槽分割地平面,间距>20mm,跨区信号采用磁珠或电容滤波
- 高频模块集中:WiFi/BT模块与CPU保持≥15mm间距,外围增加屏蔽罩安装焊盘
- 电源模块布局:DC-DC转换器靠近输入端,输入/输出环路面积<5cm²
2. 时钟电路处理
- 晶体振荡器外壳多点接地,周围布设接地过孔阵列(间距λ/10)
- 时钟线长度匹配误差<50mil,避免并行长度超过1000mil
- 时钟驱动器采用源端串联匹配(Rs=Z0-Zout)
四、走线关键技术与规范
1. 高速信号布线
- 阻抗控制:差分对采用边缘耦合结构,线宽/间距比=2:1,参考平面间距误差<5%
- 过孔优化:高速信号过孔反焊盘直径=2倍孔径,背钻残桩<8mil
- 蛇形绕线:振幅≤5W(W为线宽),间距≥3W,避免周期性结构引发谐振
2. 电源走线规范
- 主电源通道宽径比≥1A/mm,分支采用星形拓扑
- 去耦电容布局遵循"先小后大"原则:0402封装电容距引脚<100mil
- 电源平面分割避免形成狭长区域,防止腔体谐振
3. 特殊信号处理
- 射频信号:采用共面波导(CPW)结构,两侧接地带过孔间距<λ/8
- 复位信号:增加RC滤波(R=33Ω,C=10nF),走线远离时钟区域
- 接口信号:USB/HDMI等差分对长度偏差<5mil,距板边≥3H(H为介质厚度)
五、接地系统设计
1. 混合接地策略
- 低频电路(<1MHz):单点接地,星形拓扑
- 高频电路(>10MHz):多点接地,过孔间距<λ/20
- 混合信号系统:采用"Hybrid Ground"结构,数模地通过磁珠连接
2. 地平面优化
- 避免地平面分割,必要分割时跨分割线布设跨接电容(100nF/1μF并联)
- 地平面边缘缩进20H规则(H为板层间距),减少边缘辐射
- 关键IC下方设置局部地岛,通过过孔阵列与主地连接
3. 接地过孔阵列
- 过孔间距计算公式:
(f_max单位GHz,d单位mm)- BGA封装器件每四个信号过孔配一个地过孔
- 板边设置接地屏蔽过孔带,间距<λ/10
六、屏蔽与滤波技术
1. 电磁屏蔽
- 局部屏蔽:敏感模块采用0.2mm厚镀锡钢罩,接地点间距≤5mm
- 电缆屏蔽:同轴线外层编织网360°端接,转移阻抗<100mΩ/m
- 缝隙处理:屏蔽罩开窗长宽比<5:1,接触面导电衬垫压缩率30%
2. 滤波设计
- 电源入口滤波:π型滤波网络(10μF+磁珠+0.1μF),截止频率<1MHz
- 信号线滤波:
- 低频:RC滤波(R=50Ω,C=100pF)
- 高频:三端电容(接地引脚长度<1mm)
- 共模滤波:共模扼流圈阻抗>100Ω@100MHz,差模插损<0.5dB
七、先进材料与工艺
1. 基材选择
- 高频电路:Rogers RO4350B(εr=3.48,tanδ=0.0037@10GHz)
- 高速数字:MEGTRON6(Dk=3.7,Df=0.002@1GHz)
- 汽车电子:Isola FR408HR(Tg≥180℃,CAF电阻>500MΩ)
2. 铜箔处理
- 超低轮廓铜箔(HVLP):表面粗糙度Rz<2μm,降低趋肤效应损耗
- 表面涂覆:化学沉银(0.1-0.3μm)或ENIG(3-5μm Ni,0.05-0.1μm Au)
3. 制造工艺
- 激光直接成像(LDI):线宽精度±3μm,阻抗控制偏差<±5%
- 等离子体除胶渣:孔壁粗糙度Ra<8μm,提升高频信号完整性
八、仿真验证与测试
1. 前仿真阶段
- SI/PI分析:HyperLynx仿真确定走线拓扑,确保眼图张开度>60%
- EMI预测:CST Microwave Studio计算近场辐射,优化屏蔽方案
2. 后验证测试
- TDR测试:时域反射仪测量阻抗连续性,采样率>40GHz
- 近场扫描:探头分辨率<1mm,定位辐射超标点
- EMC认证:依据CISPR32标准,10m法暗室测试辐射发射限值
九、特殊场景EMI控制
1. 汽车电子
- CAN总线终端电阻选用汽车级厚膜电阻(-40~125℃温漂<±1%)
- 点火线圈驱动电路增加TVS阵列,箝位电压<40V
2. 医疗设备
- 生物电信号采集前端采用Guard Ring结构,漏电流<1pA
- 射频消融设备实现双屏蔽层设计,层间介质厚度≥2mm
3. 航空航天
- 板级三防涂层介电常数<3.0,厚度均匀性±5μm
- 关键信号线实施冗余布线,间距>50mil
通过系统化的EMI控制策略,结合先进设计工具与制造工艺,可有效实现PCB电磁兼容性设计。从GHz级5G基站到μV级医疗传感,科学的EMI管控技术持续推动电子设备向更高性能、更小体积、更低功耗方向演进。未来随着AI辅助设计、光子集成等技术的发展,PCB的EMI控制将进入智能化、多维化新阶段。
相关文章:
PCB设计实践(二十四)PCB设计时如何避免EMI
PCB设计中避免电磁干扰(EMI)是一项涉及电路架构、布局布线、材料选择及制造工艺的系统工程。本文从设计原理到工程实践,系统阐述EMI产生机制及综合抑制策略,覆盖高频信号控制、接地优化、屏蔽技术等核心维度,为高密度、…...
VRRP 协议
一、前言 最近被问到一个VRRP的网络协议,一开始我是蒙蔽的状态,至于什么是VRRP,我后面查了一下,因为对于网络这方面我也不是很精通,见谅! VRRP,全称叫虚拟路由冗余协议,是我孤陋寡闻…...
年度工作计划总结述职报告PPT模版一组分享
工作计划总结述职报告PPT模版:工作计划述职报告PPT模版https://pan.quark.cn/s/fba40a5e87da 第一套PPT模版是医院年度工作计划的封面页,有蓝橙配色、医院标题、年度工作计划的大字、英文副标题、汇报人信息和右上角的医院logo区域,右侧还有医…...
【容易坑】mybatis中使用if标签比较两个字符串是否相等
资料都来自于网络,这里只是记录一下,仅供参考 现象 上传参数确实为3,但是到了sql中还是2,很纳闷,确定不是上送参数的问题 问题解决 问题的关键点就在于为啥偏偏是2身上,仔细看一下sql语句,这个…...
AI与产品架构设计(7):实时数据驱动下的AI架构设计:从流数据到智能决策
实时数据驱动下的AI架构设计:从流数据到智能决策 一、引言:从静态智能到流式智能的革命性跨越 在AI演进的历程中,我们正经历着从"数据仓库时代"向"数据流时代"的范式迁移。传统AI系统依赖的离线批处理模式,…...
测试W5500的第4步_使用ioLibrary库创建UDP客户端和服务器端
从下载网络测试工具,经常会区分UDP客户端和UDP服务器端。其实这么区分,是不正确的。它区分,是因为担心使用的人不会配置,这是它这么设计的原因。 UDP(User Datagram Protocol,用户数据报协议)是一种简单的,无连接的传…...
六台升降台完整的限位保护逻辑
一、限位保护的核心逻辑 以下是实现限位保护功能的关键代码,集成在主控制程序中: // // 限位保护处理 - 集成在主程序中 // FOR i : 1 TO 6 DO// 读取限位状态(从变频器状态字获取)Lifts[i].UpperLimit : (Lifts[i].StatusWord …...
腾讯位置服务地点搜索开发指南
概述 提供多种搜索功能: 指定城市/区域搜索:如在北京搜索景点。新增高级参数:支持获取车站、机场、园区等较大范围地点的子点和出入口热度,辅助用户选择准确目的地。周边搜索:如,搜索颐和园附近半径500米内…...
101个α因子#12
(sign(delta(volume, 1)) * (-1 * delta(close, 1)))worldquant brain平台上调整后的语法: (sign(ts_delta(volume, 1)) * (-1 * ts_delta(close, 1)))这个alpha因子的逻辑可以分为以下几个步骤: 1. 计算成交量的变化方向:sign(ts_delta(vol…...
opencv_version_win32
很多人发了opencv的编译方法,很少见到启动和关闭了那些模块,现在发个WIN64 opencv编译后的信息。 执行opencv_version_win32.exe 因为显卡较老 2060 super, NVIDIA GPU arch: 75 80 86 87 89 90。至于更高的反本没有显卡因此不知道。 BLAS库使用效率较高…...
Flask 路由装饰器:从 URL 到视图函数的优雅映射
前置知识,关于Python装饰器的语法,链接:Python 装饰器:从“语法糖”到“代码神器”的深度解析 1、路由装饰器的功能:给 URL 贴 “功能标签” 在 Flask 开发中,你一定见过这样的代码: from fla…...
动态规划3、悟到核心
题目引入: #include <iostream> #include <queue> #include <vector> #include <tuple> #include <algorithm> #include <cstring> using namespace std;// dp[i]考虑前i家店能收获的最大价值 // 面对第i家店铺,你可…...
VLM-MPC:自动驾驶中模型预测控制器增强视觉-语言模型
《VLM-MPC: Model Predictive Controller Augmented Vision Language Model for Autonomous Driving》2024年8月发表,来自威斯康星大学的论文。 受视觉语言模型(VLM)的紧急推理能力及其提高自动驾驶系统可理解性的潜力的启发,本文…...
HTTP/HTTPS 协议浅解
文章目录 一、HTTP 协议(一)定义(二)特点(三)应用场景(四)优势(五)劣势 二、HTTPS 协议(一)定义(二)特点&…...
Ajax快速入门教程
输入java时,页面并没有刷新但是下面自动联想出了跟java有关的东西,像这种就叫异步交互 它不会妨碍你的输入,同时还能够同步进行对于java相关联想词的推送 发送异步请求需要借助工具axios 引入axios,可以直接在scripts中引入 get和…...
如何在Java中处理PDF文档(教程)
在开发文档管理系统、自动化工具或商业应用程序时,Java开发者常需处理PDF文档的编辑需求。无论是添加页面、调整内容尺寸、插入水印还是添加注释,选择一套可靠易用的Java PDF开发工具包至关重要。 JPedal(Java PDF开发工具包)的新…...
springcloud集成seata报错Error creating bean with name ‘globalTransactionScanner‘
1. pom文件引入依赖 <!-- seata --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId></dependency> 2. 报错 3. 在启动配置中添加一行配置: --add-opensjava.base/j…...
使用 OpenCV 实现哈哈镜效果:让图像“扭曲起来”!
在计算机视觉和图像处理领域,OpenCV 提供了非常强大的图像几何变换能力,不仅可以用于纠正图像,还能制造各种“有趣”的视觉效果。今天,我们就来实现一个经典的“哈哈镜”效果,让图像像在游乐园里一样被拉伸、压缩、扭曲…...
pikachu靶场 暴力破解
学习中参考的博客如下 pikachu靶场暴力破解专题-CSDN博客 1,基于表单的暴力破解 出现了一个登录页面 解题步骤:抓包,发到bp里,右键发到Intruder,因为有两个位置要爆破,所以选择集群炸弹攻击ÿ…...
鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
前言 本文基于Api13 经过前面两篇文章,我们获取到了密钥和证书请求文件以及最终的发布证书和发布证书Profile文件,可以说,所有的签名信息文件,我们都已经完成了,正所谓,万事俱备只欠东风,这篇文…...
基于R语言的贝叶斯网络模型实践技术应用:开启科研新视角
在现代科研领域,变量间的因果关系推断是生态学、环境科学、医学等多学科研究的核心问题。然而,传统的统计学方法往往只能揭示变量间的相关关系,而非因果关系。贝叶斯网络作为一种结合图论与统计学理论的新型模型,不仅能够统合多种…...
第五章 GPT模块配置
由于GPT配置需要和Irq和Mcu进行配合设置(GPT可以由芯片外设中的GTM和GPT12实现,这次是以GTM为实现)。 1 GTM外设时钟配置 首先需要对MCU组件进行配置,配置GTM的时钟,需要参照GTM的CMU时钟树。 下图时钟树的CLS0_CLK为MCU(McuClockSettingConfig_0中的 McuSTMFrequency )f…...
虚拟机NAT模式获取不到ip
虚拟机NAT模式获取不到ip 如图所示 解决方案: 先查看NetworkManager是否启动 systemctl status NetworkManager如果没启动就启动一遍 使用DHCP手动获取一遍ip sudo dhclient ens33成功得到ip 这是后遇到了另一个问题,ip释放后,不能自动…...
Docker的网络介绍
网络简单介绍 在介绍 Docker 的网络模式之前,先简单说下我们在使用 Vmware 虚拟机中的网络模式,形成对比,更好理解。 1、Vmware 中的网络模式 1.1、VMnet0(桥接模式) 虚拟机通过宿主机的物理网卡直接连接到外部网络…...
Nginx负载均衡配置详解
在Nginx中配置负载均衡主要通过 upstream 模块实现,结合反向代理将请求分发到多个后端服务器。以下是详细配置步骤和案例解析: 一、基础配置 1. 配置语法 http {upstream backend_servers {# 负载均衡策略server backend1.example.com;server backend2.example.com;server …...
关于 Web 漏洞原理与利用:4. 文件上传漏洞
定义:文件上传漏洞是指应用程序允许用户上传文件,但没有严格校验上传文件的类型、内容、路径等属性,导致攻击者可以上传并执行恶意代码。 绕过方式: 前端绕过 1. 前端限制的原理 前端限制上传文件类型的常见方式有三种…...
(6)python爬虫--selenium
文章目录 前言一、初识selenium二、安装selenium2.1 查看chrome版本并禁止chrome自动更新2.1.1 查看chrome版本2.1.2 禁止chrome更新自动更新 2.2 安装对应版本的驱动程序2.3安装selenium包 三、selenium关于浏览器的使用3.1 创建浏览器、设置、打开3.2 打开/关闭网页及浏览器3…...
MCU 上电不启动的常见原因分析与排查思路
在开发过程中,“MCU 上电不运行”是我们经常遇到的问题之一。但客户对此类问题的描述往往较为模糊,仅简单表示“产品不工作”或“怀疑 MCU 没有运行”,这给我们现场排查带来了较大的挑战。即便工程师到达现场,往往也无法迅速定位问…...
Spark Core 源码关键环节的深度解析
以下是对 Spark Core 源码关键环节的深度解析,包括核心组件启动与调度机制、Shuffle与调度系统、RDD高级机制。每个环节都细化到具体方法、逻辑、源码片段,附有流程图思路与速记口诀,便于记忆和理解。 一、核心组件启动与调度机制 1. RpcEnv…...
net Core》》包与库 LibMan、NPM
LibMan 资料 NPM 资料 在 Visual Studio 中使用 npm package.json 保存之后 vs会自动下载的。 注意:如果您没有看到 node_modules 文件夹,请确保在 Visual Studio 解决方案资源管理器中启用了“显示所有文件”选项 要卸载该库,您只需从 …...
数学建模,机器决策人建模
目录 数学建模 微分方程 动态系统建模 时间序列分析 概述 指数衰减 随机漂移 总结 曲线拟合 最优化方法 梯度下降法 概率建模(如贝叶斯建模、马尔可夫过程、MDP/POMDP) 等 贝叶斯建模 贝叶斯定理 优势 马尔可夫过程 马尔可夫过程的分类…...
FFmpeg中使用Android Content协议打开文件设备
引言 随着Android 10引入的Scoped Storage(分区存储)机制,传统的文件访问方式发生了重大变化。FFmpeg作为强大的多媒体处理工具,也在不断适应Android平台的演进。本文将介绍如何在FFmpeg 7.0版本中使用Android content协议直接访…...
SQL查询, 响应体临时字段报: Unknown column ‘data_json_map‘ in ‘field list‘
Overridepublic AjaxResult list(AgentPageReqVO pageReqVO, Integer pageNo, Integer pageSize) {// 1. 查询数据库获取代理列表List<AgentDO> list agentMapper.selectPage(pageReqVO).getList();// 如果结果为空,直接返回空分页结果if (CollectionUtils.i…...
OpenCv高阶(十四)——LBPH人脸识别
文章目录 前言一、LBPH原理1. LBP(局部二值模式)特征提取2. 图像分块处理3. 生成直方图4. 人脸识别(匹配阶段)5. LBPH的特点6. 变种与优化 二、LBPH人脸识别简单实现(一)LBPH人脸识别1、图像读取࿰…...
C#开发利器:SharpBoxesCore全解析
SharpBoxesCore 是一个基于 C# 的开源开发工具库,旨在为开发者提供一系列常用功能模块和辅助类,以提高开发效率、减少重复代码编写,并增强项目的可维护性和扩展性。该库集成了多种实用工具类和通用扩展方法,适用于桌面应用、Web 项…...
回表是数据库概念,还是mysql的概念?
主键索引没有列,根据耳机索引去查主键索引,又没有查表,为啥叫回表呢? “回表”这个词,其实算是数据库里的一个通用概念,不过它最常见的应用场景是在 MySQL 的 InnoDB 引擎里,所以很多人一提起回…...
49、c# 能⽤foreach 遍历访问的对象需满足什么条件?
在 C# 中,要使用 foreach 循环遍历一个对象,该对象必须满足以下条件之一: 1. 实现 IEnumerable 或 IEnumerable 接口 非泛型版本:System.Collections.IEnumerable public class MyCollection : IEnumerable {private int[] _da…...
DL00987-基于深度学习YOLOv11的红外鸟类目标检测含完整数据集
提升科研能力,精准识别红外鸟类目标! 完整代码数据集见文末 针对科研人员,尤其是研究生们,是否在鸟类目标检测中遇到过数据不够精准、处理困难等问题?现在,我们为你提供一款基于深度学习YOLOv11的红外鸟类…...
07 接口自动化-用例管理框架之pytest单元测试框架
文章目录 一、pytest用例管理框架(单元测试框架)二、pytest简介三、pytest的最基本的测试用例的规则四、运行方式1.主函数方式2.命令行方式3.通过pytest.ini的配置文件运行 五、pytest 默认执行测试用例的顺序六、跳过测试用例1.无条件跳过 pytest.mark.…...
Flutter 中 build 方法为何写在 StatefulWidget 的 State 类中
Flutter 中 build 方法为何写在 StatefulWidget 的 State 类中 在 Flutter 中,build 方法被设计在 StatefulWidget 的 State 类中而非 StatefulWidget 类本身,这种设计基于几个重要的架构原则和实际考量: 1. 核心设计原因 1.1 生命周期管理…...
多技术栈 iOS 项目的性能调试实战:从 Flutter 到 Unity(含 KeyMob 工具实测)
多技术栈 iOS 项目的性能调试实战:从 Flutter 到 Unity 随着移动端开发日趋多元化,iOS 项目中纯 Objective-C/Swift 已不再是唯一选择。越来越多团队采用 Flutter、React Native、Unity、WebView 混合等方案构建 App。这种“技术栈混合”带来灵活性的同…...
Base64加密解密
Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方式,常用于需要通过文本协议传输二进制数据的场景(如 URL、邮件)。以下是不同场景下生成 Base64 编码的方法: 一、编程语言实现 Python import base64# 字符串转Base…...
程序设计基础----排序(2)
1、冒泡排序 #include <stdio.h>#define N 1000 int arr[N];/* 对长度为n的数组arr执行冒泡排序 */ void bubbleSort(int arr[], int n);/* 打印长度为n的数组arr */ void printArray(int arr[], int n);void swap(int *xp, int *yp) {int temp *xp;*xp *yp;*yp temp…...
C++:vector容器
vector容器与array容器相似,但vector容器是动态的,可以自动扩容。 使用方法和一些注意如下: #include<iostream> #include<vector> using namespace std;int main() {vector<char> vec { a,b,c,d };vec[4] e;//不能以此…...
十四、Hive 视图 Lateral View
作者:IvanCodes 日期:2025年5月20日 专栏:Hive教程 在Hive中,我们经常需要以不同于原始表结构的方式查看或处理数据。为了简化复杂查询、提供数据抽象,以及处理复杂数据类型(如数组或Map)&#…...
Frp Dockr Mysql内网映射
用 FRP 远程暴露 Mac mini 上的 Docker-MySQL(含 Ubuntu frps 安装和 macOS 客户端配置) 一、环境说明 服务器(公网):Ubuntu 22.04 frps内网设备:macOS (Mac mini) frpc Docker MySQL目标:…...
PHP 扇形的面积(Area of a Circular Sector)
圆形扇区或圆形扇区是圆盘上由两个半径和一个圆弧围成的部分,其中较小的区域称为小扇区,较大的区域称为大扇区。让我们看看这个图,试着找出扇区: 在该图中,绿色阴影部分是扇形,“r”是半径,“th…...
物业后勤小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的物业后勤小程序源码,它为物业管理提供了高效便捷的解决方案。 该源码功能丰富,涵盖房屋认证、家人认证,保障社区居住安全;支持报事报修、装修申请,方便业主与物业沟通;还…...
git基础操作
当远程仓库迁移到一个新的组下面时,你需要在本地仓库中更新远程仓库的URL,以便与新的远程仓库关联。以下是详细步骤: 获取新的远程仓库URL: 首先,你需要从GitLab或相关平台获取新组下的仓库的新URL。通常,仓…...
鸿蒙HarmonyOS 【ArkTS组件】通用属性-背景设置
📑往期推文全新看点(附带最新鸿蒙全栈学习笔记) 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选? 分享一场鸿蒙开发面试经验记录(三面…...