EMC学习笔记(二十一)降低EMI的PCB设计指南(一)

降低EMI的PCB设计指南(一)

  • 1.概述
  • 2.射频
  • 3.连接器与过孔元件
  • 4.静态引脚和动态引脚和输入
  • 5.基本回路
  • 6.差模与共模

tips:资料主要来自网络,仅供学习使用。

1.概述

印刷电路板(PCB)的一般布局准则,基本上都有相对的文件进行了总结,但都比较模糊。一些准则专门适用于微控制器;然而,这些准则是通用的,实际上适用于所有现代CMOS集成电路。后面我们会系统的了解到应用于低噪声、无屏蔽环境中的大多数已知和已发表的布局技术。

随着时间的推移,随着集成电路器件的速度和密度的增加,将需要各种方法来隔离和减少噪声。

在这里插入图片描述

2.射频

要讨论的设计准则涉及来自微型计算机的射频噪声。这种噪声是在设备内部产生的,并以许多不同的可能方式耦合出来。噪声始终存在于所有输出端、输入端、电源和接地端。潜在地,微型计算机上的每一个引脚都可能是一个问题。
在这里插入图片描述

最大的问题是集成电路(IC)输入/输出(1/0)引脚的噪声。因为PCB上与它们连接的迹线覆盖的区域形成了一个大的天线。这些引脚还连接到内部和外部电缆。IC内时钟切换产生的噪声在静态输出上表现为“小故障”。毛刺是由输出引脚和时钟驱动器的公共阻抗引起的,也就是说,提供每个电源和地的共享引脚。大多数设备的同步性质导致所有的电流开关事件发生在同一时间,使一个大的噪声尖峰包含射频能量。

第二个最重要的噪声源是电源系统,它包括电压调节和在调节器和微型计算机上的旁路电容器。这些电路是系统中所有射频能量的来源,因为它们为IC内部的时钟电路提供开关所需的电流。

第三个噪声源是振荡器电路,振荡器在轨到轨之间摆动。除了基频之外,由于输出缓冲器是数字的它对正弦波进行平方,因此在输出端还会引入谐波。此外,任何由内部操作(如时钟缓冲器)引起的噪声都会出现在输出端。如果晶体和它的槽形电路与PCB上的其他元件和迹线之间保持适当的分离,并且回路区域保持较小,则该噪声源不应该有任何问题。但它已被证明,如果集成电路或无源组件,如主VBatt系列电感器,放置在靠近晶体,晶体的谐波可以耦合和传播。

3.连接器与过孔元件

在这里插入图片描述

表面贴装器件(SMD)在处理射频能量方面比引线器件更好,因为它减少了电感和更接近可用的元件位置。后者是可能的,因为减少了物理尺寸的SMD器件。这对于两层电路板设计至关重要,需要噪声控制元件发挥最大效能。一般来说,引线电容器在80 MHz左右都能自谐振(变得比电容更感性)。由于需要控制80 MHz以上的噪声,因此如果设计仅使用通孔组件,则应提出严重的问题。

4.静态引脚和动态引脚和输入

在这里插入图片描述

如前所述,在某种程度上,所有线路都有来自处理器的噪声。来自一个引脚的总噪声取决于微型计算机提供给它的噪声量和它在系统中的功能。例如,一个输出引脚具有来自微机电源轨的噪声和来自相邻引脚和基板的电容耦合噪声。如果引脚的功能是系统时钟,那也是噪声。即使引脚在一个或零的水平上是静态的,一个人仍然要与来自芯片内部的噪音作斗争。

在输入模式的I/0引脚的情况下,未使用的输出晶体管的电容将噪声从两个电源轨传输到引脚。噪声量是基于任何连接到引脚的阻抗。阻抗越高,微型计算机发出的噪声就越多。这就是为什么未使用的输入应连接到最低阻抗轨:接地,如果可能的话,通过直接短路。

关于开关输出信号,基本上,只需要担心以大于50kHz的速率进行边沿转换的信号(见图)。如果一个引脚的状态变化率小于每100条指令一次,这是可以接受的,因为开关的贡献可以忽略不计。如果引脚切换,并切换回下一条指令,并保持100条指令的静态,它也是可以接受的,因为它包含相同数量的能量,如在前面的例子。

在这里插入图片描述

5.基本回路

从微型计算机发送到另一个芯片的每一个边缘转变都是一个电流脉冲。电流脉冲进入接收设备,通过该设备的接地引脚退出,然后通过接地迹线返回到微型计算机的接地引脚(见图)。脉冲并不从接收设备的接地线离开并返回到电池,而是以环路的形式返回到它发出的地方。循环无处不在。任何噪声电压及其相关的电流通过阻抗最低的路径返回到产生噪声的地方。这是一个非常强大的概念因为它允许您通过控制返回路径的形状和阻抗来减轻噪声传播。

环路可以是一个信号及其返回路径,电源和地之间的旁路环路,以及微机内部的有源器件,振荡器晶体及其驱动器,以及从电源或电压调节器到旁路电容器的环路。其他更困难的循环实际上是环境场循环。例如,晶体本身辐射的能量可以耦合到附近的导线。然后,导线中含有试图回到晶体回路的噪声。 这可能涉及到一个非常长的和曲折的路径,它作为另一个天线从晶体噪声。

在这里插入图片描述

环路和偶极子是天线。它们的辐射效率增加到所需频率的1/4波长(^)。在几何上,这意味着,在环的情况下环的布局面积越大,辐射越强,直到环的一个或两个腿达到1/4波长。在偶极子中,天线的长度越长,辐射越多,直到天线的长度为1/4。
At 1 MHz, 1/4 λ = 75 m. At 300 MHz, 1/4 λ = 25 cm, or about 10 inches。

6.差模与共模

差模噪声是信号沿迹线传输到接收设备,然后沿返回路径返回的噪声(见图)。两根电线之间有个电压差。这是每一个信号为了完成它的工作而必须发出的噪声类型。确保在频率含量(上升和下降时间)和电流幅度方面,没有比完成工作所需的更多噪声。

在共模中,电压同时沿信号线和返回线向下传播。信号和它的返回之间没有差别。电压是由信号和回路共同的阻抗引起的。在大多数不使用外部存储器的基于微型计算机的系统中,公共阻抗噪声是最常见的噪声源。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/673091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++重新入门-C++变量作用域

目录 1.C变量定义 2.C作用域 3.局部变量 4.全局变量 5.块作用域变量 6.初始化局部变量和全局变量 1.C变量定义 一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为…

Acwing---835. Trie字符串统计

Trie字符串统计 1.题目2.基本思想3.代码实现 1.题目 维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。 共有 N个操作,所有输入的字符串总长度不超过 1 0 5 10^5 105…

2024/2/7 图的基础知识

图的存储 B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;mp[n][n]用来存邻接矩阵&#xff0c;二维vector用来存每个点连的点 完整代码&#xff1a; #include <bits/stdc.h> #define int long long const int N 1e5 10; int n, m; …

【算法】【数据结构】算法与数据结构的关系

程序算法数据结构语言工具和环境 但在算法学习过程中&#xff0c;我认识到算法和数据结构是密不可分的&#xff0c;脱离数据结构谈论算法是空架子。 算法&#xff1a;解决问题的步骤和方法。对数据进行操作和处理的方法。 数据结构&#xff1a;用来存储数据的方式。 数据结构和…

【教程】Linux使用git自动备份和使用支持文件恢复的rm命令

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 首先非常不幸地告诉你&#xff1a;Linux 系统的标准 rm 命令不支持文件恢复功能。一旦使用 rm 删除了文件或目录&#xff0c;它们就会从文件系统中永久删除&#xff0c;除非你使用专门的文件恢复工具尝试…

2.7作业

分别通过select、多进程、多线程实现一个并发服务器 select #include <myhead.h> #define PORT 8888 #define IP "192.168.250.100" int main(int argc, const char *argv[]) {//1、创建用于接受连接的套接字int sfd socket(AF_INET, SOCK_STR…

C++ || 模板初阶 | 函数模板 | 类模板

泛型编程 泛型编程&#xff0c;编写与类型无关的通用代码&#xff0c;是代码复用的一种手段。模板是泛型编程的基础。 可以理解为活字印刷术类似的方式。 函数模板 函数模板概念 函数模板&#xff0c;代表一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用…

Centos7.9安装SQLserver2017数据库

Centos7.9安装SQLserver2017数据库 一、安装前准备 挂载系统盘 安装依赖 yum install libatomic* -y 二、yum方式安装 # 配置 yum 源 wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repoyum clean all yum…

c++恶魔轮盘(投票)

在此投票关于这个游戏的功能 2的传送门&#xff1a;点我

洛谷:P1219 [USACO1.5] 八皇后 Checker Challenge(dfs深度优先遍历求解)

题目描述 一个如下的 6666 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线&#xff08;包括两条主对角线的所有平行线&#xff09;上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 52 4 6 1 3 5 来描述&am…

Bagging的随机森林;Boosting的AdaBoost和GBDT

集成学习应用实践 import numpy as np import os %matplotlib inline import matplotlib import matplotlib.pyplot as plt plt.rcParams[axes.labelsize] 14 plt.rcParams[xtick.labelsize] 12 plt.rcParams[ytick.labelsize] 12 import warnings warnings.filterwarnin…

【保姆级教程|YOLOv8改进】【7】多尺度空洞注意力(MSDA),DilateFormer实现暴力涨点

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

websocket具体实践

websocket具体实践 参考&#xff1a; 如何使用websocket WebSocket客户端连接不上和掉线的问题以及解决方案 继6月份对websocket一顿了解之后&#xff0c;我们的项目也要上websocket了&#xff0c;虽然这部分不是我做&#xff0c;但是借此机会&#xff0c;我也想要尝试一下&am…

Golang gorm 结构体定义使用

一、定义一个用户注册的结构体 条件&#xff1a;1、用户名和密码不能为空&#xff0c;用户名长度大于2小于12 密码长度大于6小于12 type UserRegisterForm struct {UserName string json:"username" form:"username" query:"username" bindin…

vue3:28— Vue 2 对 Vue 3 的所有非兼容性改变。(vue3学习笔记终)

非兼容性改变 | Vue 3 迁移指南 过渡类名v-enter 修改为 v-enter-from、过渡类名 v-leave 修改为 v-leave-from 。keyCode 作为 v-on 修饰符的支持。v-model 指令在组件上的使用已经被重新设计&#xff0c;替换掉了v-bind.sync.v-if 和 v-for 在同一个元素身上使用时的优先级发…

VS无法使用万能头文件#include <bits/stdc++.h> 的解决办法

第一步在vs中打出可以使用的头文件 如#include<cmath> 点击F12转到文档 上面窗口右键找到打开所在文件夹 创建一个名字为bits的文件夹 里面创建一个text文件 // C includes used for precompiling -*- C -*-// Copyright (C) 2003-2015 Free Software Foundation, In…

【开源】JAVA+Vue.js实现开放实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…

TryHackMe-Vulnerability Capstone练习

本文相关的TryHackMe实验房间链接&#xff1a;TryHackMe | Vulnerability Capstone 先nmap扫一下 接下来我们访问一下 接下来我们searchsploit找一下漏洞 searchsploit Fuel CMS 执行漏洞exp&#xff08;此处使用TryHackMe中的box&#xff09; 如果使用本地机需要下载exp&am…

5.Swift常量

Swift 常量 在 Swift 中&#xff0c;除了可以声明变量&#xff08;使用 var 关键字&#xff09;&#xff0c;还可以声明常量&#xff08;使用 let 关键字&#xff09;。常量在赋值后就不能再修改其值&#xff0c;适合用于存储不会改变的数据。以下是关于 Swift 常量的一些重要…

没有事情做 随手写的小程序

Qt 代码包 在百度网盘里 链接: https://pan.baidu.com/s/17yjeAkzi18upfqfD7KxXOQ?pwd6666 dialog.h : #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <mythread.h>QT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclas…