EMC信号完整性落地实测1---走出玄学
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---走出玄学的更多相关文章
- PCB设计与信号完整性
之前在设计板卡时,只是听过相关的概念,但是未真正去研究关于SI相关的知识.将之前看过的一些资料整理如下: (1)信号完整性分析 与SI有关的因素:反射,串扰,辐射.反射是由于传输路径上的阻抗不匹配导致 ...
- PCB板信号完整性分析的操作步骤及设置方法
AD16的主要功能是画电路原理图和根据电路原理图设计PCB板.为了使设计的电路.画完的电路原理图,从电路原理上不存在错误,从电路逻辑上不存在混乱,AD16专门开发了电路原理图的仿真程序.这样可以把设计 ...
- 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT
. 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT 拜占庭 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区Q ...
- ofo走出校园观察:市场定位导致产品错位?
Ofo和摩拜单车虽然同样都是做单车共享,但实际上两者在最初的市场定位是有明显的差异的,因此提供的产品方案也存在巨大的差异. 市场定位不同,导致产品方案的巨大差异 摩拜单车一开始就定位于开放市场,充分的 ...
- 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]
前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...
- 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)[转]
前一段时间,讲了一系列开发经理.实施经理.服务经理的工具箱:开发经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三) ,实施经理的工具箱--走出软件作坊:三五个人十来条枪 如何成 ...
- 走出测试,走向CEO
飞测说:大家好,我们又见面了,我是黑夜小怪.不巧,今晚加班回来路上,湿身了,淋了个落汤鸡,不过明天也许可以看海了,也就呵呵了,原本想回来后聊些技术的,现在突然想先聊聊我的一些想法,仅供交流. 走出测试 ...
- Sql Server查询性能优化之走出索引的误区
据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...
- 走出MFC子类化的迷宫
走出MFC子类化的迷宫 KEY WORDS:子类化 SUBCLASSWINDOW MFC消息机制 许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习 ...
随机推荐
- Django之 rest_framework (一基本组件)
目录 RESTFUL 序列化 视图三部曲 认证与权限组件 解析器 分页 RESTFUL 一.什么是RESTFUL REST与技术无关代表的是一种软件架构风格,REST是Representational ...
- 什么是CPI
请参考这篇博客,很全面的解释了CPI https://www.cnblogs.com/diegodu/p/9366639.html
- 程序语言与编程实践4-> 蓝桥杯C/C++备赛记录2 | 第二周学习训练
0323,又是一周星期三,按道理该总结了.这周前几天写题比较多,后面事情多了起来,就没怎么写了.主要方向是洛谷的基本语法熟悉,PTA平台数据结构的一些题目. 0323附上: 题目比较多,所以文章可能有 ...
- wordpress在线检测主题和插件
http://wpthemedetector.coderschool.cn/ http://www.wpthemedetector.com/ http://whatwpthemeisthat.com ...
- 盘点几种DIY加密狗的制作方法,适用于穿越机模拟器
前言 前几天笔者的加密狗在使用中突然坏掉了,现象是插电脑不识别,LED灯不亮. 网上很多模友也反映了同样的问题: http://bbs.5imx.com/forum.php?mod=viewthrea ...
- 【Mybatis】SQL语句的解析执行过程原理
sqlSession简单介绍 拿到SqlSessionFactory对象后,会调用SqlSessionFactory的openSesison方法,这个方法会创建一个Sql执行器(Executor),这 ...
- sleep 和 wait 的区别?
Sleep是休眠线程,wait是等待,sleep是thread的静态方法,wait则是object的方法. Sleep依旧持有锁,并在指定时间自动唤醒.wait则释放锁.
- 在 Spring中如何注入一个java集合?
Spring提供以下几种集合的配置元素: 类型用于注入一列值,允许有相同的值. 类型用于注入一组值,不允许有相同的值. 类型用于注入一组键值对,键和值都可以为任意类型. 类型用于注入一组键值对,键和值 ...
- Oracle入门基础(四)一一多行函数
SQL> --工资总额 SQL> select sum(sal) from emp; SUM(SAL) 29025 SQL> --人数 SQL> select count(*) ...
- sp-MVC-ideabaok
直接通过初始化器创建 或者通过创建maven工程在自己添加需要的东西 配置 dispatcher-servlet.xml 包括扫描加载包: <context:component-scan bas ...