PCB Layout 设计流程

article/2025/9/20 19:41:04

先有一些基本PCB概念,再开始进行软件上教学。首先要有个观念,PCB谈的是制作工艺,不是电路设计。所以即使你不太懂什么叫电路设计,只要确定有一个可正常工作的电路图 ,基本上也就可以做出一个PCB板。你也可以做出你自己的PCB板,只要你掌握了一些的Design Rule。

至于如何确定这是一个可以"工作" 的电路图? 你可以先用洞洞板手焊验证一下电路或用面包板插一插,先确定一下这是可工作的...Layout PCB时,IC零件再选择SMD的版本)

要完成一个PCB电路板,基本上可分为主要三个阶段, 第一个阶段电路图绘制,第二个阶段电路布局,第三阶段为建立BOM表,然后进行备料及手焊样品。

若你的PCB 需要layout到4层板以上或者高速,RF,天线这种高频的东西,这已经属pro专业等级了,没有经过专家指导并不容易,再加上你没有太多量测仪器,有些也不太可能自己做,这已经是另一个level了,建议找具相关设计专长领域的Layout House 代工,因为可能后续还有EMI,FCC,CE,NCC规范要过。

阶段1: 电路图绘制

这是电路图绘制阶段

                                                                                            电路图绘制阶段

电路绘图的流程

绘制电路图--> 对元件进行编号(Annotate the component ) -->执行DRC --> 产生Netlist档案。

1、依照参考电路进行电路图绘制,将每一个电路元件 (component ) ,完成其连线. 即Schematic symbol的连线图。

2、元件进行编号(Annotate the component ): 加入的每一个电路元件,包含IC或被动零件,都是没有编号过的,所以要从新给予编号. U?,U? --> U1,U2. R? R? R? --> R1,R2,R3

3、执行DRC: 即执行 Design Rule Check,如可能有元件pin没有连接线 (这个要放"x",No Connect),或线路这一端找不到另一端的命称? 或...

4、产生Netlist档案: Netlist档案,是为了给PCB Layout软件读的。有了Netlist,Layout 软件才知道每一个元件的线路连接关系,更重要的是,每一个元件的Footprint。Netlist 要能正确产生,必须要把电路图上每一个component (Schematic symbol) 关联到一个Footprint实体 。 Footprint 就是元件的轮廓(contour) ,尺寸,外型,如IC的封装样式,连接器的外型等。如SOP8,SOP-24,0805,0604,0402,..

Note: 一个Schematic symbol可以对到多个Footprint ,如同一颗IC,可以有多种不同的封装样式,BGA,PLCC,TQFP,SOP,SSOP等。Schematic symbol 就只是一个电路符号,PCB已经是到了实际生产端,要能实际焊接。 footprint不对,PCB板做出了,IC元件上不了。所以你备了什么料,footprint 就得是什么。通常Layout设计软件都会有footprint library,让你挑,如果没有你要自己产生这个footprint,尺寸很重要,所以你要有IC的DataBook才好做。

Note: 若你要的Schematic symbol,library找不到,也必须自己来做,也就是加入一个新的symbol 到component library。

把电路图上每一个component (Schematic symbol) 关联到一个Footprint实体

电路图上每一个component (Schematic symbol) 关联到一个Footprint实体

miniUSB 连接器的Footprint

                                                                                             miniUSB 连接器的Footprint

阶段2: 开始进行PCB Layout 

PCB Layout 流程

载入Netlist--> 将footprint摆放位置 (Placement) --> Routing (走线) --> 对Ground产生铜面(铺铜)---> 执行DRC -->产生Gerber档案。

将footprint摆放位置 (Placement): 将netlist载入后,电路图上的元件都会呈现,并且有 ratsnest。ratsnest是用描述电路图上元间彼此间的"线"连接关系。这里的"线"是virtual wire 只是知道连线关系 ,之后对这些线进行实际routing 布线,也就是绘制Track。track 是实际的线, 所以就会有线宽的问题, 电流愈大的线, 线宽要设比较大。 例如: Track width : 0.2mm 可走0.5A; 0,5mm : 1.25A

进行Layout 之前,要在Edge.cut这一层设定PCB outline 板框大小,元件就只能放在这范围里面。

另外也要描述Copper layer 的层数,如双层板及四层板,六层板,所谓几层板指的就是copper 层的数量,copper数愈多当然可以走线的平面就愈多。 

设定一些设计规则: 如最小Track Width,Clearance ,Via Diameter,Drill size。另外就是设定各种几种布线会用到的Track width,Via Size.

Note: Clearance: track,pad,via都会有净空空间,Clearance即extra space outside the border

设定各种几种布线会用到的Track width,Via Size.

Note: width 单位通常用 mm (Millimeter)或 mil。mil是千分之一英吋inch. 1 mil=0.00254 cm。

2.54mm=0.1 inches

所以40mil约等于1mm; 10 mil 约等于0.25mm

要描述Copper layer 的层数; 此图为copper layer为2

要描述Copper layer 的层数; 此图为copper layer为2

要描述Copper layer 的层数; 此图为copper layer为2
 

PCB设计软件

Via:

Via 指的就是钻孔这件事。电路板是由一层层的copper迭出来的,而不同电路copper层之间的连通靠的就是via。当你布线时,元件间的走线会需要从TOP层走到Bottom 层(或称 Front 层走到Back层),就会须要钻孔。

Plated-thru Hole: 指的是孔壁上有镀铜

1-1P6141GZ4S2.jpg

copper 之间透过Via 来连接。
不同的Via型式:

* Through Via (Through Hole) 指的是要打穿的孔(贯孔)。从PCB8外观看的到。

* Blind Via (buried via): 在多层板中,线路连接在只在中间的几层而非全部。依据穿透的型式又区分为盲孔(Blind hole)埋孔(Buried hole)

* 另一种via为NPTH (non-plated through hole) ,它是Through-Hole 但孔壁没有镀铜(Non-plated),主要是用在机构上的螺丝锁孔。

1-1P6141H103616.png

Via 参数:  通常会描述Via的直径及Drill size。Drill size指的是钻孔口径的大小。

Via 参数:  通常会描述Via的直径及Drill size。Drill size指的是钻孔口径的大小。
Pad锡垫其实分好多种:

1、Through hole pad: DIP元件使用的Pad (有钻孔) 

2、SMD pad: SMD元件使用的Pad(不用钻孔) 

3、Anti pad(绝缘锡垫 ):用于隔离孔与内层电器连接围绕在孔周围的隔离环.如果孔在内层中不需要线路连接,就需Anti pad要来隔离.其内径当然要大于孔的外径.

1-1P6141H24a01.png
Copper zone:

就是指在PCB铺铜 (Copper Pour) 一般PCB在电路设计时经常需要铺设大面积的铜箔来当作电源(Vcc、Vdd或Vss)与接地(GND,Ground)之用。F.Cu及B.Cu都可以铺.

Thermal relief Pad:

copper zone所连接的pad,会有设定Thermal relief 的需要。由于pad 连接(接触)大面积的铜箔 (copper plane) 会增加散热的速度,导致该pad需要升温才能容易焊上,这会很容易造成空焊或冷焊的情况。所以解决方去 就是pad 仍然可以连接到铜箔,但必须减少其接触的面积。隔离环修改为轮辐状,用以将隔离环的内部的铜连接到隔离环的外部。

1-1P6141H33B10.png

TOP层铺铺的状态,到下方排pad为GND,连接GND Copper zone 都是设定Thermal relief Pad
 

1-1P6141H4241L.png

一般F.Cu及B.Cu 都会同时铺 Copper zone for GND,所以也都会设定Thermal relief Pad 

第三阶段: 建立BOM表,进行备料及手焊样品。

建立BOM表以进行后续的备料及手焊第一版的Sample。透过产测程式,确认功能无误,这就是第一片Engineer Sample。

经客户对产品规格及功能验证通过(承认Acknowledgment)后,才会进行试产 Pilot run (注1),然后才是进入MP (Mass Production)量产阶段。

试产 Pilot run 可交由加工厂,由机台自动进行SMD/DIP零件焊接,这就是PCBA (PCB Assembly)

注1: Pilot run  : 是用来评估产品的成熟度是否可进入正式大量生产的生产阶段。

1-1P6141H513c0.jpg

                                                                                         手焊 PCB Sample


http://chatgpt.dhexx.cn/article/CcyKLw2p.shtml

相关文章

pcb设计流程

知道如何设计印刷电路板,PCB是任何电子电路设计过程的关键要素。PCB的布局和设计对电路的工作方式有很大的影响,因此,如果PCB设计是有效的,那么电路将在其规格范围内更可靠地执行。 一、pcb设计环境 对于商业开发方案&#xff0c…

PCB工程师都应该指导的规范的PCB设计流程

思路清晰远比卖力苦干重要! 对于设计者而言,一定要按照设计流程来,通过一个规范设计流程可以在处理复杂电路时能避免出现前期失误导致后期设计大改的情形,比如设计者A,在结构工程师提供结构DXF的前提下,没…

圆排列

一、圆排列简介 圆排列简单来说,就是排列的数围成了一个圈,如下图: 二、圆排列数 假设总共有 n n n个数,圆排列数为 x x x,先给出结论: x A n n n ( n − 1 ) ! x \frac{A_n^n}{n}(n-1)! xnAnn​​…

16回溯法——圆排列问题

16基于回溯法的圆排列问题 目录 16基于回溯法的圆排列问题1. 问题2. 解析举个栗子 3. 设计4. 分析5. 源码 1. 问题 圆排列问题:给定n个圆的半径序列,将它们放到矩形框中,各圆与矩形底边相切,求具有最小排列长度的圆排列。 2. 解…

五分钟解决圆排列问题

给定n个大小不等的圆c1,c2,…,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n3,且所给的3个圆的半径分别为1,1,2时…

用回溯法解决圆排列问题

教材是用的王晓东的《计算机算法设计与实现》第四版&#xff0c;c版 一下是问题描述&#xff1a; 算法实现: /***能确定一个正确的想法&#xff08;即每种情况都能考虑到&#xff0c;然后找一个最简单而准确的方式表达出来&#xff09; ***/ #include<iostream>//此问题…

回溯法之圆排列问题

问题描述 给定n个大小不等的圆c1,c2,…,cn&#xff0c;先要将这n个圆排进一个矩形框中&#xff0c;且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如&#xff0c;当n3时&#xff0c;且所给的3个圆的半径分别为1、1、2时&#xf…

5-10 圆排列问题(回溯)

5-10 圆排列问题(回溯) 给定n个大小不等的圆c1, c2,…, cn&#xff0c;现要将这n个圆排进一个矩形框中&#xff0c;且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。 例如&#xff0c;当n3&#xff0c;且所给的3个圆的半径分别为1&a…

【2019华为笔试】召唤师的技能——圆排列,翻转和项链排列

题目描述&#xff1a; dota游戏里面&#xff0c;召唤师可以控制冰雷火三种元素&#xff0c;并通过元素组合产生新的技能。现在我们修改了张新的地图&#xff0c; 地图中他能够控制n种元素&#xff0c; 并且将m个元素围成一个圈组成一 个新技能(这m个元素通过旋转或反转&#x…

圆排列问题

问题 圆排列问题&#xff1a;给定n个圆的半径序列&#xff0c;将它们放到矩形框中&#xff0c;各圆与矩形底边相切&#xff0c;求具有最小排列长度的圆排列。 解析 首先对于这个问题&#xff0c;使用分支限界计算&#xff0c;一定会遍历所有的排列情况&#xff0c;剪枝就是当前…

图文并茂详尽剖析圆排列问题

参考资料 https://blog.csdn.net/liufeng_king/article/details/8890603https://blog.csdn.net/qq_32400847/article/details/51474105https://blog.csdn.net/yzmck/article/details/4302554 原理解释的很赞http://www.doc88.com/p-079198350775.html http://www.docin.com/p-…

圆排列问题详解(原理+代码)

问题描述 给定n个大小不等的圆c1,c2,…,cn&#xff0c;现要将这n个圆排进一个矩形框中&#xff0c;且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。 问题分析 圆排列问题的解空间是一棵排列树&#xff0c;我们用回溯法在整个排列…

java字节序、主机字节序和网络字节序扫盲贴

java程序员是幸福&#xff0c;因为相对于C/C的不跨平台&#xff0c;JVM为我们屏蔽了大量的底层细节和复杂性&#xff0c;让我们能够将精力放在实现特定的业务逻辑上&#xff0c;所以使用java开发项目效率是比较高的。同时java程序员是悲哀的&#xff0c;就是因为JVM屏蔽了很多技…

字节序、位序

字节序 字节序&#xff0c;又称端序、尾序&#xff0c;英文单词为Endian&#xff0c;该单词来源于于乔纳森斯威夫特的小说《格列佛游记》&#xff0c;小说中的小人国因为吃鸡蛋的问题而内战&#xff0c;战争开始是由于以下的原因&#xff1a;我们大家都认为&#xff0c;吃鸡蛋前…

字节序的详细讲解

字节序 1、字节序的特点2、字节序转换函数2.1、htonl函数 发 将主机字节序的IP地址 转换成网络字节序的IP地址2.2、ntohl函数 收 将网络字节序的IP地址3.3、htons函数 发 将主机字节序的端口 转换成 网络字节序的端口3.4、ntohs函数 收 将网络字节序的端口 转换成 主机字节序的…

理解字节序 大端字节序和小端字节序

以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.csdn.net/yishengzhiai005/article/details/39672529 1. 计算机硬件有两种储存数据的方式&#xff1a;大端字节序&#xff08;big endian&#xff09;和小端字节序&#xff08;little …

什么是字节序?

字节序 字节序&#xff0c;顾名思义&#xff0c;就是字节组织的顺序。我们可以将其根据其存储时从低位开始还是从高位开始分为两种&#xff0c;具体如下&#xff1a; 类型简写本质大端BE(big endian)将高序字节存储在起始地址小端LE(little endian)将低序字节存储在起始地址 …

网络字节序和主机字节序详解(附代码)

一、网络字节序和主机字节序 网络字节序和主机字节序是计算机网络中常用的两种数据存储格式。 主机字节序&#xff1a; 指的是在计算机内部存储数据时采用的字节排序方式。对于一个长为4个字节的整数&#xff0c;若采用大端字节序&#xff0c;则该整数在内存中的存储顺序是&a…

字节序

1.字节序 字节序&#xff0c;又称端序或尾序&#xff0c;指的是多字节数据在内存中的存放顺序。例如一个int型变量x占用4个字节&#xff0c;假设它的起始地址&x为0x10&#xff0c;那么x将会被存储在 0x10、0x11、0x12和0x13位置上。 在用C写的客户端和Java写的服务端的通…

字节序详细解读

概念来了&#xff01;&#xff01;&#xff01; 字节序&#xff08;Byte Order&#xff09;是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。 在计算机中是以字节为单位&#xff0c;每个地址对应一个字节&#xff0c;一个字节8bit。在C中&#xff0c;除了8bi…