【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解

前言:本文进行布线铺铜实战及详解布线铺铜的细节

在本专栏中【立创EDA-PCB设计基础】前面完成了布线铺铜前的设计规则的设置,接下来进行布线

布局原则是模块化布局(优先布局好确定位置的器件,例如排针、接口、主控芯片)

布线原则是先从复杂的地方开始布线(也就是先从线比较多的地方开始布线,一般是先从主控芯片开始布线(线比较多))

目录

1.主控MCU芯片布线

1.晶振部分布线

2.滤波电容布线

3.排针布线

4.LED走线

2.供电模块布线

1.电源区域放置铺铜

2.差分对步线

3.检查剩余信号线

4.电源和GND布线

1.5v电源布线

2.3v3电源布线

3.GND铺铜


本文布线铺铜后的效果-3D效果

本文布线铺铜后的效果-顶层图

 本文布线铺铜后的效果-底层图

 

 布线注意点汇总如下:

1.先顶层走线,当顶层走不了了切换到底层走线(底层最后会铺特别大的一个GND网络的铜皮,原因在于GND网络是我们的最后电源电流的回流路径,电流分散出去最后会汇总到GND,也就是GND上的电流其实也是很大的)。也就是在顶层的GND通过过孔来连入底层,即在顶层时就不考虑导线连接GND了,如下所示

2.进行引脚连接时,可以将其引脚飞线单独打开,便于观察

3.走线尽量横平竖直,尽量选择45度斜角去走线(出现钝角135度),不允许出现直角和锐角

4.焊盘上走线时,走线宽度不能超过焊盘本身的宽度,走线宽度最大和焊盘一样宽

5.对于如下竖型焊盘要如下接触更多焊盘走线,不可侧边走线(其实就是直角了、接触面也少)

6.顶层导线在万不得已的情况下才走底层(底层是备选方案)

7.拐角斜线尽量不要太大也不要太小

8.布线时,左击可暂时确定布线

9.电流部分的过流和过孔要匹配,所以在GND过孔周围再打上一些过孔用来过流/回流,可以再打1/2个(具体多少电流需要计算好,与原理图设计/硬件有关),如下

10.差分信号线长度差应小于等于10mil

11.底层和顶层切换处的夹角可以是90度

12.例如顶层导线有90度夹角,可以做一个圆弧90度过度

圆弧90度过度,选择属性中的移除回路为否

13.在工程设计中,上方栏有图页、网络、元件、对象选项,可以更加方便使用。可以用来检查剩下的未布线的飞线等

1.主控MCU芯片布线

打开实时DRC检测,布线时动态提醒错误

设置单路布线快捷键W,便于后面快捷布线,点击应用,确认,设置完成

按住W,点击焊盘,就会出现红色的线(铜皮)

查看右侧属性栏,首先将单位更换为mil,然后将常见设置中的起始布线宽度设置为跟随规则(也就是本专栏中此文上一篇对布线前的设计规则的设置),然后将起始打孔尺寸也设置为跟随规则,然后布线模式选择为阻挡(常用,就是布线若距离过小会出现白色框提示,会放置不了被阻挡),然后移除回路选择是

1.晶振部分布线

首先开始晶振部分的布线

按住Shift + S ,可以看到颜色变了,红色更凸显,将丝印隐藏

可以看到里面有线头,将其整理一下,删除多余线头 

在过滤中将元件取消掉,点击元件内的导线就不会选中元件了 

对于晶振部分还要做一个包地处理。就是在晶振周围外部走一圈GND的信号线(12mil,是它普通信号线宽的两倍)。还在包地上放置过孔处理

包地处理的原因:因为晶振是产生脉冲信号的,对于我们这个板子来说8M是很大的速率了,为了防止其它信号来影响晶振的8M的脉冲,会给带来一些纹波等影响,利用包地的方法来隔绝掉外界对晶振的干扰。同时经过包地的方法,去掉它晶振对外面电路的影响,

对于晶振部分还要做一个多层禁止铺铜区域的处理。晶振区域顶层和底层或者多层都不能进行铺铜(最后会整体板子铺铜,空的地方都会铺上GND的铜皮,需要将晶振与地平面隔离开,这样子地平面上的干扰就不会传到晶振的信号线,晶振信号线也不好将干扰通过地平面传播出去)

点击放置--禁止区域--多边形

 选择图层--多层,禁止选项--铺铜 

可以围绕着包底进行绘制区域 ,要将两个信号线完全包里面

另一个晶振的禁止区域绘制

以上,晶振部分(8M和32.768khz)走线就结束了

2.滤波电容布线

接下来对VDDA和VCC_3V3的滤波电容进行布线,如下四个绿框内为滤波电容布线,需要注意的是焊盘走线出去的要接触面要大,不可侧边引出走线,GND直接通过过孔切换到底层。

3.排针布线

接下来对排针部分引脚进行布线,显示排针块的引脚飞线

排针电源和GND先不连,将其飞线隐藏

可以看到目前还有四个引脚没有连接(被其它导线挡住了),下一步进行一些调整

其中右侧排针中顶层被挡着的线,打过孔切换到底层走线 

注意:排针上的焊盘是通孔焊盘 (本身就具有过孔的属性、内壁有铜皮)。其它的贴片焊盘是在顶层,只能和顶层的走线进行连接

左排针经过调整,目前除电源和GND引脚只剩一个12NRST没有走线, 进行打过孔切换到底层走线。

对于NRST引脚, 进行打过孔切换到底层走线

 使用切换到顶层和切换到底层的快捷键,可以快速切层自动打孔。也可以使用打孔时自动切层功能来快捷打孔切层

4.LED走线

然后将四个led进行走线 (led记得接GND,下图1没加,图2补充),主控MUC走线完成。

2.供电模块布线

电源部分的线宽要大一点以便足够大的电流通过(放置铺铜区域的方式走线可以让载流很大)

使用铺铜代替走线,相比于走线有较大的线宽。铺铜就是直接放一个区域的铜皮

1.电源区域放置铺铜

在设计规则中设置,铺铜单层焊盘和多层焊盘的连接方式为直连(直流与发散的区别见下文)。点击应用,确定。

然后开始放置铺铜区域,选择多边形铺铜 

 绘制完轮廓后,点击确认

然后进行铺铜区域的调整,调整完的话,点击铺铜区域点击右键,点击重建所选即可重新铺铜该区域,区域完铺铜成。

铺铜单层焊盘和多层焊盘的连接方式为直连(也叫全连接)与发散(也叫十字连接)的区别:

下图为直连方式铺铜的效果

下面看一下发散方式铺铜的效果:

首先在设计规则中修改连接方式为发散,修改变大发散线宽会使得十字连接线宽变大

 右键点击铺铜区域,点击重建所选,发散方式效果如下 

区别就是:

1.直连是将焊盘也铺上了铜皮,而发散方式是与焊盘十字连接。

2.手工焊接选择发散方式铺铜,机器焊接选址直连方式铺铜(因为:直连方式铺铜散热会很好,不利于热焊盘融化锡,然后锡粘贴元器件)

但是,小块的直连铺铜也不影响手工焊接(因为本身面积小,散热也不会太夸张)

多边形铺铜区域绘制时,尽量多点几下,会多出几个调节点,便于区域形状的绘制。

绘制铺铜区域时,以包裹性思维去绘制。

然后将电源模块GND打过孔切换到底层

然后电源部分的导线连接,如下部分,导线线宽要大一些(电流也不小的)

 需要注意:电流部分的过流和过孔要匹配,所以在GND过孔周围再打上一些过孔用来过流/回流,可以再打1/2个(具体多少电流需要计算好,与原理图设计/硬件有关)

2.差分对步线

然后打开电源模块的飞线,检测还有无需要连接的地方,可以知道下一步需要连接D+ D-差分信号

在本专栏前面文章中我们已经将该D+ D-设置为了差分对了,接下来进行差分对布线

在设计里的差分对管理器中可以查看设置的差分对

该差分对位DPA 

点击布线中的差分对布线, 在差分对信号线就会自动有两个线走出来,保证两条线的长度保持一致,

差分信号对顶层切换到低层再切换到顶层进行连接。 

若两条差分信号的长度不一,可点击等长调节来调整

补充:放置铺铜区域与放置填充区域的区别。

如下,进行放置填充区域

如下左侧为填充区域方式铺铜,左侧为放置铺铜区域铺铜

放置填充区域和放置铺铜区域都是进行铺铜

区别:

放置填充区域不会自动避让不是同一网络的焊盘

放置铺铜区域会自动避让不是同一网络的焊盘

例如如下,放置填充区域不会自动避让不是同一网络的$1n2040

例如如下,放置铺铜区域会自动避让不是同一网络的$1n2040

3.检查剩余信号线

全选,然后显示全部飞线

然后去掉电源VCC和GND飞线,可以看到信号线只剩一个没有连接

整理完毕,目前信号线已全部连接

顶层图如下

底层图如下 

4.电源和GND布线

1.5v电源布线

首先全选,将所有飞线打开,单独取消GND的飞线,如下图目前显示的是电源的飞线

选中例如5V电源,高亮显示,点击5V电源,右键选中高亮网络显示

那么接下来先连接5v的网络,如下所示,使用30mil的线宽引出过滤后的5v到排针

2.3v3电源布线

3.3v电源是从C17电容滤波后出来的

电源3v3布线完成

顶层图如下

底层图如下

 

补充:修正垂直90度时,加了圆弧90度过度的线进行修复时,选择属性中的移除回路为否,不会影响修复 

3.GND铺铜

1.首先进行底层铺铜

切换到底层

点击放置--铺铜区域--矩形

矩形全选板子 

默认点击确认 

底层铺铜效果如下。可以看到刚刚禁止的晶振部分没有铺铜 ,会自动避让底层的3v3等电源走线

2.顶层铺铜

切换到顶层

放置矩形铺铜区域,默认选项,点击确认

顶层铺铜效果如下

可以看到左侧工程设计中的飞线数量(GND)没有了 ,证明所有网络都连接好了

以上,布线全部结束。下一步进行DRC检测,详见本专栏中基础文章的下一篇。

铺铜设置相关补充:

1.调整板框与铺铜边界的距离,以及调整铺铜区域与避让网络之间的间距,可以通过如下设计规则中的网络间距等进行调整

2.铺铜区域的填充样式中,还有网格45度和90度, 网格状的铺铜适用于电脑的主板上比较多,韧性比较好,承受压力性强,不易弯曲折断,对PCB有一定韧性要求的情况下可以用网格状填充。一般我们都是用全填充

默认是不保留孤岛,就是移除没有用到的铜皮区域,没有与外界进行连接

如下中间部分就有一个孤岛

移除孤岛如下所示

补充:

在工程设计中,上方栏有图页、网络、元件、对象选项

点击网络,可以方便找到对应的网络 。里面的飞线也可以进行显示或隐藏某个网络的飞线。可以用来检查剩下的未布线的飞线

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

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

相关文章

k8s-基础知识(Pod,Deployment,ReplicaSet)

k8s职责 自动化容器部署和复制随时扩展或收缩容器容器分组group,并且提供容器间的负载均衡实时监控,即时故障发现,自动替换 k8s概念及架构 pod pod是容器的容器,可以包含多个container pod是k8s最小可部署单元,容器…

基于python和定向爬虫的商品比价系统实现

目录 前言 一、系统设计 1. 系统需求分析 2. 系统设计思路 二、系统实现 1. 爬虫部分 2. 比价部分 3. 完整系统代码 三、系统优化 1. 多线程爬取 2. 引入数据库 四、总结 前言 商品比价系统是一种可以帮助用户快速找到最优价格商品的系统。本文将介绍如何使用pyth…

查询文件hash值

查询文件hash值 1 Windows 查询文件hash值1.1 certutil -hashfile 文件名 2 Linux 环境查询文件hash值2.1 sha256sum 文件名2.2 md5sum 文件名 1 Windows 查询文件hash值 在某些环境要对比两个文件是否完全一致 1.1 certutil -hashfile 文件名 certutil -hashfile C:\Users\…

【C++ 自写String】

CString.hpp #include <iostream> #include <string.h>#pragma warning(disable:4996) using namespace std;class CString { private:int len;char* data;public:CString():data(nullptr),len(0) {cout << "0空构造\n";}CString(const char* _da…

计算机服务器中了mallox勒索病毒解密方案计划,勒索病毒解密措施

计算机技术的不断应用与发展&#xff0c;为企业的生产运营提供了有利条件&#xff0c;但网络安全威胁无处不在。近期&#xff0c;广西某生物制药企业的计算机服务器遭到了mallox勒索病毒攻击&#xff0c;导致企业的计算机所有重要数据被加密&#xff0c;严重影响企业的生产运营…

【jetson笔记】torchaudio报错

原因是因为pip安装的包与jetson不兼容导致 自己安装或者cmake编译也会报错 需要拉取官方配置好的docker镜像 拉取docker镜像 具体容器可以看官网&#xff0c;按照自己需求拉取即可 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 如果其他包不需要只需要torc…

2024区块链应用最趋势,RWA实物资产化

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 实物资产通证化&#xff0…

Conda python运行的包和环境管理 入门

Conda系列&#xff1a; 翻译: Anaconda 与 miniconda的区别Miniconda介绍以及安装 Conda 是一个功能强大的命令行工具&#xff0c;用于在 Windows、macOS 和 Linux 上运行的包和环境管理。 本 conda 入门指南介绍了启动和使用 conda 创建环境和安装包的基础知识。 1. 准备…

解决Android Studio gradle下载超时和缓慢问题(win10)

解决超时问题 一般配置阿里云代理就可以解决。 具体配置方法&#xff0c;参考&#xff1a;https://blog.csdn.net/zhangjin1120/article/details/121739782 解决下载缓慢问题 直接去腾讯云镜像下载&#xff1a; https://mirrors.cloud.tencent.com/gradle/ 下载好了之后&…

Spring 的 IOC 和 AOP

题目 Spring 的 IOC 和 AOP 推荐解析 IOC 是什么&#xff1f; IoC&#xff08;Inversion of Control&#xff09; 控制反转&#xff0c;是一种常见的设计思想&#xff0c;主要就是将手动创建对象的控制权&#xff0c;交给 Spring 框架来管理。 为什么需要存在一个容器&…

SpringCloud Alibaba Sentinel 与 SpringCloud Gateway 的限流有什么差别?(三种限流算法原理分析)

目录 一、Sentinel 与 Gateway 的限流有什么差别&#xff1f; 1.1、前置知识 - 四种常见的限流算法 1.1.1、Tips 1.1.2、计数器算法 1&#xff09;固定窗口计数器算法 2&#xff09;滑动窗口计数器算法 1.1.3、令牌桶算法 1.1.4、漏桶算法 1.2、解决问题 一、Sentinel…

Qt Designer教程

文章目录 创建一个 ui 文件选择控件Qt Designer基本控件介绍1、Layouts1.1、Layouts 布局1.2、参数配置 2、Spacers2.1、 Spacers 弹簧介绍2.2、 参数设置 3、Buttons 按键3.1、 Buttons 按键分类 4、Item Views&#xff08;Model-Based&#xff09; 项目视图(基于模型)4.1、 B…

12.for 条件循环语句 (3)

for 循环语句 允许脚本一次性读取多个信息&#xff0c;然后逐一对信息进行操作处理。当要处理的数据有范围时&#xff0c;使用for循环语句。 使用 for 循环语句从列表文件中读取多个用户名&#xff0c;然后为其逐一创建用户账户并设 置密码。首先创建用户名称的列表文件users.…

android studio从空白开始

对我来说&#xff0c;真正的第一步是清理电脑C盘。从剩余8G清理到25G&#xff0c;把原来看不顺眼又不敢删的文件夹和软件全删了&#xff0c;删爽了的后果就是&#xff0c;用两天的时间在把一些环境配置慢慢装回来&#xff0c;node.js&#xff0c;jdk&#xff0c;npm。努力把它们…

密码学中的承诺原语(Commitment Scheme)

1背景介绍 让我们考虑以下情况&#xff1a;Alice在佳士得&#xff08;Christies&#xff09;购买Banksy的最后一件杰作&#xff0c;在这之前&#xff0c;她会确保艺术品在售出后不会被销毁。 佳士得选择了维克里封闭竞标的拍卖方式&#xff0c;这是一种相当常见的做法&#x…

Vue+Element(el-upload+el-form的使用)+springboot

目录 1、编写模板 2、发请求调接口 3、后端返回数据 1.编写实体类 2.Controller类 3、interface接口&#xff08;Service层接口&#xff09; 4.Service&#xff08;接口实现&#xff09; 5、interface接口&#xff08;Mapper层接口&#xff09; 6、xml 4、upload相关参…

前端 防止浏览器提示记住密码以及自动填充密码

当前端 <input /> 的 type’password‘ 时&#xff0c;浏览器为了优化用户体验&#xff0c;会在表单提交后提示用户记住密码 如果不想要这样的行为&#xff0c;最简单的当然是提示用户自己在浏览器设置中进行相关配置 如果希望在代码层面阻止浏览器提示是否记住密码或者…

.git 文件夹结构解析

.git 文件夹结构解析 在这篇文章就让我们来看看这个 Git 仓库里的文件分别都是用来干什么的&#xff0c;以及在执行了相关的 Git 命令后这些文件会如何响应。 hooks&#xff08;钩&#xff09;&#xff1a;存放一些shell脚本info&#xff1a;存放仓库的一些信息logs&#xff…

ChromeDriver谷歌驱动最新版安装120/121/122

chromeDriver最新版本下载 最新驱动 https://googlechromelabs.github.io/chrome-for-testing/参考&#xff1a; https://blog.csdn.net/m0_57382185/article/details/134007615

ORM-02-Hibernate 对象关系映射(ORM)框架

拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.&#xff08;手写简易版 mybatis&#xff09; Hibernate Hibernate ORM 允许开发者更轻松地编写那些数据在应用程序进程结束后仍然存在的应用程序。 作为一个对象关系映射&#xff08…