你应该知道的关于PCB布线的31条建议
1、走线长度应包含过孔和封装焊盘的长度。
2、布线角度优选135°角出线方式,任意角度出线会导致制版出现工艺问题。

图1 PCB布线的角度
3、布线避免直角或者锐角布线,导致转角位置线宽变化,阻抗变化,造成信号反射,如图2所示。

图2 走线的锐角与直角布线
4、布线应从焊盘的长方向出线,避免从宽方向或者焊盘四角出线,布线的拐角离焊盘位置6mil以上为宜,如图3所示

图3 PCB沿焊盘长边出线
5、如图4所示,相邻焊盘是同网络的,不能直接相连,需要先连接出焊盘之后再进行连接,直接连接容易在手工焊接时连锡。

图4 相同网络焊盘走线链接方式
6、对于小CHIP器件,要注意布线的对称性,保持2端布线线宽一致,如一个管脚铺铜,另一管脚也尽量铺铜处理,减少元件贴片后器件漂移旋转,如图5所示。

图5 CHIP类焊盘的正确出线
7、对于有包地要求的信号,须保证包地的完整性,尽量保证在包地线上进行打GND孔处理,2个GND孔间距不能过远,尽量保持在50-150mil左右,如图6所示。

图6 PCB的包地走线
8、走线应有完整且连续的参考层平面,避免高速信号跨区,建议高速信号距离参考平面的边沿至少有 40mil,如图7所示。

图7 走线的夸分割
9、由于表贴器件焊盘会导致阻抗降低,为减小阻抗突变的影响,建议在表贴焊盘的正下方按焊盘大小挖去一层参考层。常用的表贴器件有:电容、ESD、共模抑制电感、连接器等等,如图8所示。
10、如图9所示,信号线与其回路构成的环路面积要尽可能小。环路面积小,对外辐射小,接收外界的干扰也小。

图8 标贴器件焊盘的挖空处理

图9 布线的环路面积的缩小
11、如图10,布线不允许出现STUB,布线尽量减小残桩长度,建议残桩长度为零。并且避免过孔残桩效应,尤其是残桩长度超过 12mil 时,建议通过仿真来评估过孔残桩对信号完整性的影响,如图11所示。

图10 Stub走线及布线残桩

图11 过孔的残桩
12、尽量避免走线在不同层形成自环。在多层板设计中容易出现此类问题,自环将引起辐射干扰。如图12所示。

图12 PCB布线的自环
13、建议不要在高速信号上放置测试点。
14、对于会产生干扰或者敏感的信号(如射频信号),须规划屏蔽罩,屏蔽罩宽度常规为40mil(一般保持30mil以上,可与客户生产厂家确认),屏蔽罩上尽量多打GND过孔,增加其焊接效果。如图13所示。

图13 敏感模块的屏蔽罩处理
15、同一网络的布线宽度应保持一致,线宽的变化会造成线路特性阻抗的不均匀,当传输的速度较高时会产生反射。在某些条件下,如接插件引出线,BGA封装的引出线类似的结构时,因间距过小可能无法避免线宽的变化,应该尽量减少中间不一致部分的有效长度,如图14所示。

图14 走线线宽的突变
16、IC管脚出线的线宽要小于或者等于焊盘宽度,出线宽度不能比焊盘宽度大,部分信号因载流等要求,线宽较宽的,布线可先保持与管脚宽度一致,布线引出焊盘后6-10mil左右再把线宽加粗处理,如图15所示。

图15 走线不宜超出焊盘宽度
17、布线必须连接到焊盘、过孔中心。
18、有高压信号,须保证其爬电间距,具体参数如16所示。

图16 爬电间距与电气间隙表
19、设计中包含多片DDR或者其他存储器芯片的,须向客户确认布线拓扑结构,确认是否有参考文档。
20、金手指区域需要开整窗处理,多层板设计时,金手指下方所有层的铜应作挖空处理,挖空铜皮的距离板框一般3mm以上,如图17所示。

图17 金手指的开窗与挖空
21、布线应提前规划好瓶颈位置的通道情况,合理规划好通道最窄处的布线能力。

图18 PCB布线通道
22、耦合电容尽量靠近连接器放置。
23、串接电阻应靠近发送端器件放置,端接电阻靠近末端放置,如eMMC时钟信号上的串接电阻,推荐放在靠近 CPU 侧(400mil以内)。
24、建议在IC(如eMMC 颗粒、FLASH颗粒等)的地焊盘各打1个地通孔,有效缩短回流路径, 如图19所示。

图19 GND焊盘的过孔打孔
25、建议ESD器件的每个地焊盘都打一个地通孔,且通孔要尽量靠近焊盘,如图20所示。

图20 ESD器件GND焊盘的打孔
26、避免在时钟器件(如晶体、晶振、时钟发生器、时钟分发器)、开关电源、磁类器件、插件过孔等周边布线。
27、走线换层,且换层前后参考层为地平面时,需要在信号过孔旁边放一个伴随过孔,以保证回流路径的连续性。对于差分信号,信号过孔、回流过孔均应对称放置,如图21(a)所示;对于单端信号,建议在信号过孔旁边放置一个回流过孔以降低过孔之间的串扰,如图21(b)所示。

图21(a)差分换层过孔示意图

图21(b)单端信号换层过孔示意图
28、连接器的地铜皮距离信号 PAD至少要大等于3倍线宽,如图22所示。

图22 GND铜皮与连接器PAD的间距要求
29、在BGA区域平面断开处用走线连接,或者进行削盘处理,以免破坏平面完整性,如图23所示。

图23 BGA区域平面铜皮的处理
30、PCB布线需要包地处理时,推荐包地方式如下,如图24所示,L 为包地线地过孔间隔; D 为包地线距离信号线之间的间距,建议≥4*W。
31、有些重要的高速单端信号,比如时钟信号、复位信号等(如 emmc_clk、emmc_datastrobe、RGMII_CLK 等等)建议包地。包地线每隔 500mil 至少要打一个地孔,如图25所示。

图24 PCB的包地布线

图25 重要信号线的包地处理
声明:本文凡亿教育原创文章,转载请注明来源!
相关文章:
你应该知道的关于PCB布线的31条建议
1、走线长度应包含过孔和封装焊盘的长度。 2、布线角度优选135角出线方式,任意角度出线会导致制版出现工艺问题。 图1 PCB布线的角度 3、布线避免直角或者锐角布线,导致转角位置线宽变化,阻抗变化,造成信号反射,如图2…...
matlab中dir的各种使用方法(包括递归遍历子文件夹)
遍历文件夹1下的所有文件夹和文件(不会递归遍历): listdir(’ D:\文件夹1’);遍历文件夹1及其所有子文件夹下的所有文件夹和文件(会递归遍历): listdir(’ D:\文件夹1\** );遍历文件夹1下的所有csv文件&…...
软件测试/测试开发丨Selenium环境安装与使用
Selenium 官方网站: www.selenium.dev/ 简介: 用于web浏览器测试的工具;支持的浏览器包括IE,Firefox,Safari,Chrome,Edge等;使用简单,可使用Java,Python等…...
WPF实战学习笔记15-使用Memo类的GetAll接口
使用Memo类的GetAll接口 总体参照上节即可 创建MemoService接口 新建文件Mytodo/Service/IMemoService.cs using MyToDo.Share.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace M…...
算法与数据结构-二分查找
文章目录 什么是二分查找二分查找的时间复杂度二分查找的代码实现简单实现:不重复有序数组查找目标值变体实现:查找第一个值等于给定值的元素变体实现:查找最后一个值等于给定值的元素变体实现:查找最后一个小于给定值的元素变体实…...
【软件测试】什么是selenium
1.seleniumJava环境搭建 前置条件: Java最低版本要求为8,浏览器使用chrome浏览器 1.1下载chrome浏览器 https://www.google.cn/chrome/ 1.2查看浏览器版本 点击关于Google chrome. 记住版本的前三个数. 1.3下载浏览器驱动 http://chromedriver.chromium.org/downloads 下载…...
redis线程模型
文章目录 一、redis单线程模型1.1 为什么redis命令处理是单线程,而不采用多线程1.2 单线程的局限及redis的优化方式 二、redis单线程为什么这么快2.1 采用的机制2.2 优化的措施 三、redis的IO多线程模型3.1 redis 为什么引入IO多线程模型3.2 配置io-threads-do-read…...
【idea工具】idea工具,build的时候提示:程序包 com.xxx.xx不存在的错误
idea工具,build的时候提示:程序包 com.xxx.xx不存在的错误,如下图,折腾了好一会, 做了如下操作还是不行,idea工具编译的时候,还是提示 程序包不存在。 a. idea中,重新导入项目,也还…...
线性代数——特征值和特征向量
系列文章目录 线性代数——行列式线性代数——矩阵线性代数——向量线性代数——线性方程组线性代数——特征值和特征向量线性代数——二次型 文章目录 系列文章目录版权声明补充知识求和公式的性质常用希腊字符读音 特征值和特征向量相似矩阵相似对角化实对称矩阵 版权声明 …...
运筹系列83:使用分枝定界求解tsp问题
1. 辅助函数 Node算子用来存储搜索树的状态。其中level等于path的长度,path是当前节点已经访问过的vertex清单,bound则是当前的lb。 这里的bound函数是一种启发式方法,等于当前路径的总长度,再加上往后走两步的最小值。 struct …...
linux 指令 第3期
cat cat 指令: 首先我们知道一个文件内容属性 我们对文件操作就有两个方面:对文件内容和属性的操作 扩展:echo 指令 直接打印echo后面跟的字符串 看: 这其实是把它打印到了显示器上,我们也可以改变一下它的打印位置…...
测试用例实战
测试用例实战 三角形判断 三角形测试用例设计 测试用例编写 先做正向数据,再做反向数据。 只要有一条边长为0,那就是不符合要求,不需要再进行判断,重复。 四边形 四边形测试用例...
Unity XML1——XML基本语法
一、XML 概述 全称:可拓展标记语言(EXtensible Markup Language) XML 是国际通用的,它是被设计来用于传输和存储数据的一种文本特殊格式,文件后缀一般为 .xml 我们在游戏中可以把游戏数据按照 XML 的格式标…...
了解Unity编辑器之组件篇Playables和Rendering(十)
Playables 一、Playable Director:是一种用于控制和管理剧情、动画和音频的工具。它作为一个中央控制器,可以管理播放动画剧情、视频剧情和音频剧情,以及它们之间的时间、顺序和交互。 Playable Director组件具有以下作用: 剧情控…...
python的包管理器pip安装经常失败的解决办法:修改pip镜像源
pip 常用的国内镜像源: https://pypi.tuna.tsinghua.edu.cn/simple/ // 清华 http://mirrors.aliyun.com/pypi/simple/ // 阿里云 https://pypi.mirrors.ustc.edu.cn/simple/ // 中国科技大学 http://pypi.hustunique.com/ // 华中理…...
忘记安卓图案/密码锁如何解锁?
如何解锁Android手机图案锁?如何删除忘记的密码?Android 手机锁定后如何重置?这是许多智能手机用户在网上提出的几个问题。为了回答这些问题,我们想出了一些简单有效的方法来解锁任何设备而不丢失数据。 忘记手机密码可能会令人恐…...
Bash编程
目录: bash编程语法bash脚本编写 1.bash编程语法 Bash 编程基础 变量引号数组控制语句函数 Bash 变量 语法: Variable_namevalue Bash 变量定义的规则 变量名区分大小写,a和A为两个不同的变量。变量名可以使用大小写字母混编的形式进行…...
vue指令-v-model修饰符
vue指令-v-model修饰符 1、目标2、语法 1、目标 让v-modelv-mode拥有更强大的功能 2、语法 v-model.修饰符“Vue数据变量” .number 以parseFloat转成数字类型 .trime 去除首位空白字符 .lazy 在change时触发而非input时示例1 <template><div id"app"&g…...
【论文精读CVPR_2023】3D-Aware Face Swapping
【论文精读CVPR_2023】3D-Aware Face Swapping 前言Abstract1. Introduction2. Related WorkFace Swapping.3D-Aware Generative Models.GAN Inversion.3. Method3.1. Overview3.2. Inferring 3D Prior from 2D Images3.3. Face Swapping via Latent Code Manipulation3.4. Joi…...
flutter开发实战-自定义相机camera功能
flutter开发实战-自定义相机camera功能。 Flutter 本质上只是一个 UI 框架,运行在宿主平台之上,Flutter 本身是无法提供一些系统能力,比如使用蓝牙、相机、GPS等,因此要在 Flutter 中调用这些能力就必须和原生平台进行通信。 实现…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
篇章二 论坛系统——系统设计
目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...
