EMC信号完整性落地实测1---走出玄学

无论我们从51单片机,STM32电路,运放,传感器,ADC采集还是可控硅晶闸管等等电源电路跨入到电子工程师的行业,我们通常会长时间处于低频的电子电路设计调试阶段,通常我们处理的是几百Hz或者几K Hz的信号通路。偶尔会有RS232,RS485,IIC,SPI或者CAN总线之类的通讯让我们的PCB经历几百K Hz的信号。这些其实涵盖了大部分的电子应用场景,我们在这个阶段更多的关注电路功能的实现,并没有也不太需要考虑信号完整性或者EMC的问题。

总有一天我们会在新的项目中发现我们遇到了一些瓶颈。有时候通讯会莫名其妙的通讯错误,有些PCB板子会莫名其妙的有很大的干扰,达到M级信号的板子按以前的布线习惯变得不再稳定可靠。这时,阻碍电子工程师进阶的EMC和信号完整性问题摆在了我们面前。如果你遇到了类似的问题,那么恭喜,说明你已经到了另一个新台阶了。

EMC和信号完整性是独立于电子电路功能设计的另一门学问了,我们可以找到很多这方面的资料,大部分会告诉我们理论知识和经验准则。比如,在高速信号的情况下,电容电阻都不再单纯的看做是电容和电阻了,甚至连路径上的过孔也会有影响。PCB布线不再是布通就可以了,还需要考虑信号流动的路径;布线和布线之间的间距以及下方是否铺地也要考虑了,甚至关键的信号布线长度都需要考虑等等。这些对于射频工程师来说都是需要掌握的基本技巧,对于其他领域的广大电子工程师来说,这些就是高手和普通选手之间的进阶知识了。

对于大多数工程师来说,EMC和信号完整性的一些经验法则,近乎玄学,我们知道要按照这条法则去做,但是并不直观的知道这样做和不这样做差别多大,没有直观的感受。因为这些法则的总结是靠非常昂贵的专业设备,在不计成本的实验中总结的,我们普通大众电子工程师是没有机会去做实验感受和吸收的,只能被动接受这样的理论指导,完全没有其他电子电路知识那样的体验。

我们通过LOTO虚拟示波器和它的EMC测试模块,对一些重要的EMC和信号完整性经验法则进行直观的落地实测,方便大家直观看到,这些法则的效果,打破玄学,加深理解。

我们动手的第一条法则:信号发射出去的驱动路径和回流到地构成的返回路径,围绕出来的环路面积越小越好。环路面积越大,造成的噪声耦合和EMI电磁干扰越严重。

如下图所示:

为了落地实测,我们简单做了一个实验板,原理图和PCB如下所示,有需要的同学可以直接跟我要源文件:

板子使用USB供电或者外接5V电源供电,一个电源开关,放了4个3.3V的有源运放,分别是80M,48M,11M,3.68M。当然你可以放自己想要观测的频率的晶振。这些晶振通过跳线选择一个晶振频率输出,沿着A出发,经过2号区域,到3号区域,然后经过4号区域返回到5号区域。在PCB右侧的跳线可以选择这个晶振信号的负载电阻是多大,从1M到200欧可以选择一个。这样我们可以直观看到,一个高速信号,频率是跳线选择的晶振频率,在PCB上驱动了一个跳线选择的负载电阻,形成了PCB丝印上的A->C的环路。我们也可以在两个跳线上通过跳线把沿着信号布线下面的一条地线连接通,那么信号的环路变成了A->B,比原来的A->C小了环路面积小了很多。我们看下实物:

我们选择48M晶振,然后使用负载100K,使用A->C环路,LOTO虚拟示波器OSCH02,以及E01模块,我们实测1区域的EMC信号完整性的情况,搭建场景如下:

我们在测试板的1号区域,测得EMI的频谱如下所示,可以看到有一个幅值非常大的48MHz的电磁辐射,幅值超过了0.15V:

我们可以以48M为中心频率,查看细节:

我们保持其他不变,通过接地跳线把信号的地回路改为A->B,同样在测试板的1号区域,测得EMI的频谱如下所示,可以看到48MHz的电磁辐射明显减小,幅值变为0.073V:

同理,我们测下3.68M晶振的也是类似的情况,如下图所示,规律也是环路面积大,EMI电磁干扰强度就大,不同的是,3.68M晶振的频谱图里会看到很多谐波分量,这是由于我们这个窗口的监测范围是125M,在这个范围内,可以显示3.68M的多次谐波。晶振本身是近似方波的信号,所以会有很多次谐波,只是之前测的48M的多次谐波超出了窗口观测范围没有看到而已。高次谐波并不是客观存在的,他是FFT的数学表达,我们在观测EMC的频谱时要注意这一点。

我们很直观的看到,同一个高频信号,在PCB电路板上不同的路径造成不同的环路面积的情况下,截然不同的EMI电磁干扰强度。我们不仅仅验证信号完整性布线准则的最小环路面积要求,也可以用LOTO示波器+E01电磁兼容扩展检测模块来直接测试我们已有的电路板的电磁兼容EMC问题。

EMC信号完整性落地实测1---走出玄学的更多相关文章

  1. PCB设计与信号完整性

    之前在设计板卡时,只是听过相关的概念,但是未真正去研究关于SI相关的知识.将之前看过的一些资料整理如下: (1)信号完整性分析 与SI有关的因素:反射,串扰,辐射.反射是由于传输路径上的阻抗不匹配导致 ...

  2. PCB板信号完整性分析的操作步骤及设置方法

    AD16的主要功能是画电路原理图和根据电路原理图设计PCB板.为了使设计的电路.画完的电路原理图,从电路原理上不存在错误,从电路逻辑上不存在混乱,AD16专门开发了电路原理图的仿真程序.这样可以把设计 ...

  3. 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT

    . 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT 拜占庭 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区Q ...

  4. ofo走出校园观察:市场定位导致产品错位?

    Ofo和摩拜单车虽然同样都是做单车共享,但实际上两者在最初的市场定位是有明显的差异的,因此提供的产品方案也存在巨大的差异. 市场定位不同,导致产品方案的巨大差异 摩拜单车一开始就定位于开放市场,充分的 ...

  5. 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]

    前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...

  6. 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)[转]

    前一段时间,讲了一系列开发经理.实施经理.服务经理的工具箱:开发经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三) ,实施经理的工具箱--走出软件作坊:三五个人十来条枪 如何成 ...

  7. 走出测试,走向CEO

    飞测说:大家好,我们又见面了,我是黑夜小怪.不巧,今晚加班回来路上,湿身了,淋了个落汤鸡,不过明天也许可以看海了,也就呵呵了,原本想回来后聊些技术的,现在突然想先聊聊我的一些想法,仅供交流. 走出测试 ...

  8. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  9. 走出MFC子类化的迷宫

    走出MFC子类化的迷宫 KEY WORDS:子类化 SUBCLASSWINDOW  MFC消息机制 许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习 ...

随机推荐

  1. python在json文件中提取IP和域名

    # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import re def openjson(path): f = open(pat ...

  2. 10年.NET老程序员推荐的7个开发类工具

    做.NET软件工作已经10年了,从程序员做 到高级程序员,再到技术主管,技术总监.见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio ...

  3. 中国软件杯---电力客户行为分析---图表联动echarts-demo(flask)

    中国软件杯---电力客户行为分析---图表联动echarts-demo(flask) 题目链接(可下载原始CSV数据集):http://www.cnsoftbei.com/plus/view.php? ...

  4. 什么是 FutureTask?使用 ExecutorService 启动任务?

    在 Java 并发程序中 FutureTask 表示一个可以取消的异步运算.它有启动和取消 运算.查询运算是否完成和取回运算结果等方法.只有当运算完成的时候结果才 能取回,如果运算尚未完成 get 方 ...

  5. 我对arguments.callee的理解

    基本理解: 你怎么看待一个函数呢?又如何看待一个函数对象呢?函数和Function之间的关系到底是什么?我觉得理解这些对理解arguments.callee有所帮助. 先说说auguments.cal ...

  6. java-规约-OOP

    public class OOP { /** * 避免通过一个类的对象引用访问此类的静态变量或者静态方法 * 直接通过类名去访问 */ // 错误使用例子: public static void ma ...

  7. springboot使用jar包方式启动,找不到resources目录中的配置文件(运行时)FileNotFoundException

    将springboot项目打包成jar包,使用 java -jar jar包进行启动,富文本框使用ckeditor+ckfinder: 因为ckfinder自定义配置文件了,上传图片时出现了异常 De ...

  8. java中如何获得src路径

    代码 解析: 类名.class.get类加载器().getResourceAsStream("文件名"); 案例代码: Demo.class.getClassLoader().ge ...

  9. vulnhub 靶机 Kioptrix Level 1渗透笔记

    靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-1-1,22/ kali ip 信息收集 先使用nmap收集目标的ip地址 nmap -sP 1 ...

  10. 论Hello World 有多少种输出方法:

    论Hello World 有多少种输出方法: C: printf("Hello Word!"); C++: cout<<"Hello Word!"; ...