草庐IT

硬件系统工程师宝典(15)-----PCB上的EMC设计,“拿捏了”

电子工程学习圈 2023-04-12 原文

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们说到PCB常用的多层板叠层结构,综合成本、性能、需求考虑选择不同的叠层结构。今天我们来看看为提高EMC性能,在PCB设计上能有哪些处理。

滤波在EMI处理中的应用

做过EMC设计的都知道,滤波是必不可少的最常用的手段,常见的措施有加去耦电容、三端电容、磁珠、电源滤波、接口滤波,电容类去耦滤波要靠近滤波区域放置。在滤波设计时,基本都是衰减高频噪声,在高频时,元器件会有不同的高频特性,如下图所示:

编辑

电阻、电容、电感、导线的高低频特性

在滤波电路的EMC设计中,低通滤波器用来衰减高频噪声,滤波电路的典型结构如下图所示:

编辑

低通滤波电路的结构形式

图a为电感滤波器,适用于高频时源阻抗和负载阻抗较小的场合。

图b为电容滤波器,适用于高频时源阻抗和负载阻抗较大的场合。

图c和图d所示为L形滤波器,图c适用于高频时源阻抗小、负载阻抗较大的场合,图d适用于高频时源阻抗较大、负载阻抗较小的场合。

图e为π形滤波器,适用于高频时源阻抗和负载阻抗较大的场合。

图f为T形滤波器,适用于高频时源阻抗和负载阻抗都比较小的场合。

滤波电路在布局、布线时要注意:

1.确保滤波电路的地是一个低阻抗的地,不同功能电路之间不能存在共地阻抗

2.滤波电路的输入/输出不能互相交叉走线,需要隔离。

3.滤波电路的走线路径要短,要尽量减小滤波电容的等效串联电感和等效串联电阻

4.接口滤波电路应该尽量靠近接口的接插件放置。

EMC中地的分割与汇接

在PCB单板中,噪声波动大的地称为“动态地”,纹波小的地称为“静态地”。静态地和动态地一般要做隔离。分地处理可以根据不同电源电压、数字和模拟信号、高速和低速信号、大电流和小电流来分别设置地线。这样可以防止不相容电路的回流信号叠加,防止共地线阻抗耦合。

例如数字地和模拟地,数字信号变化速度快,所以在数字地上引起的噪声会很大,而模拟信号需要一个干净的地参考工作,因此模拟地和数字地混在一起,噪声就会影响模拟信号。模拟地和数字地一般会分开处理,然后通过细的走线连接在一起,或单点连接。

常用的单点连接方式有PCB走线、0欧姆电阻、磁珠和小电容等。当然数字地和模拟地分开处理只是针对一般情况,如果数字地的噪声干扰幅度在允许的阈值范围内就可以合在一起。

EMC中的屏蔽与隔离

屏蔽根据原理不同可以分为电屏蔽、磁屏蔽和电磁屏蔽:

1.电屏蔽的实质是减小两个设备(或电路、组件、元件)间电场感应的影响。原理是将干扰源被良导体制成的屏蔽体导入地,因此电屏蔽需要保证接地良好及屏蔽体是良导体。

2.磁屏蔽的原理是由屏蔽体对干扰磁场提供低磁阻的磁通路,对干扰磁场进行分流。因此要选择钢、铁盒坡莫合金等高磁导率的材料设计壳体。

3.电磁屏蔽的原理是通过金属屏蔽体可以反射、吸收电磁波来屏蔽辐射干扰源。辐射的频率和屏蔽体的孔缝尺寸相关,设计电磁屏蔽时需要考虑。

在PCB设计时,对于敏感电路、强辐射电路等需要设计一个屏蔽腔,在屏蔽腔壁紧贴的部位要加上接地过孔,要求如下:

1.要有两排以上的过孔;

2.两排过孔要互相错开;

3.同一排的过孔间距要小于λ/20;

4.PCB与屏蔽腔焊接部位禁止有绿油;

5.处理射频信号,射频信号线在顶层穿过屏蔽壁时,要在屏蔽腔的相应位置开一个槽门,门高大于0.5mm,门宽要保证安装后信号线和屏蔽体间的距离大于1mm,如下图所示

编辑

屏蔽壁槽门

一些电磁计算软件如HFSS、Feco、EADS/EMC2000、Flowmerics/FLOWEMC和Ansys/Multiphysics等,可以帮助设计人员设计出符合EMC的结构,软件可对电子设备通过孔、缝等结构的电磁场辐射泄漏进行仿真,主要涉及器件、印制板建模及腔体结构建模等。


另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~

链接可在往期文章中找(在文章的最后有链接)~

模拟电路设计的九个级别,你是模电几段?

有关硬件系统工程师宝典(15)-----PCB上的EMC设计,“拿捏了”的更多相关文章

  1. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  2. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  3. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  7. ruby-on-rails - Ruby - 如何从 ruby​​ 上的 .pfx 文件中提取公钥、rsa 私钥和 CA key - 2

    我有一个.pfx格式的证书,我需要使用ruby​​提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o

  8. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  9. 带有 attr_accessor 的类上的 Ruby instance_eval - 2

    我了解instance_eval和class_eval之间的基本区别。我在玩弄时发现的是一些涉及attr_accessor的奇怪东西。这是一个例子:A=Class.newA.class_eval{attr_accessor:x}a=A.newa.x="x"a.x=>"x"#...expectedA.instance_eval{attr_accessor:y}A.y="y"=>NoMethodError:undefinedmethod`y='forA:Classa.y="y"=>"y"#WHATTT?这是怎么回事:instance_eval没有访问我们的A类(对象)然后它实际上将它添加到

  10. ruby-on-rails - rails 上的 ruby : radio buttons for collection select - 2

    我有一个集合选择:此方法的单选按钮是什么?谢谢 最佳答案 Rails3中没有这样的助手。在Rails4中,它是collection_radio_buttons. 关于ruby-on-rails-rails上的ruby:radiobuttonsforcollectionselect,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18525986/

随机推荐