PCB软硬结合板全流程设计

写在前面

  1. 文章可以学会整个PCB设计流程,具体内容不一定适合所有的板子,但是大体上差不多
  2. 本来是为了写一个软硬结合板设计的zone使用,后面写成了全流程,所以内容很多。
  3. 适合初学者,可以跟着一步一步看。了解allegro整个设计流程,算是比较规范化
  4. 我也算深耕allegro PCB设计8年了,但是我也不能说功能都明白,有些也是初次使用研究,甚至有的我都是skill一键完成的,比如光绘设置,丝印调整,如果有错误的,请留言斧正。

PCB软硬结合板全流程设计

  • 写在前面
  • 1.1设置板框
    • [1.1.1 导入DXF](#1.1.1 导入DXF)
    • [1.1.2 制作板框](#1.1.2 制作板框)
    • [1.1.3 制作布局布线区](#1.1.3 制作布局布线区)
      • [1.1.3.1. 制作布线区](#1.1.3.1. 制作布线区)
      • [1.1.3.2. 制作布局区域](#1.1.3.2. 制作布局区域)
      • [1.1.3.3. 返回结构](#1.1.3.3. 返回结构)
  • [1.2. 导入网表放置器件](#1.2. 导入网表放置器件)
    • [1.2.1. 网表导入导出](#1.2.1. 网表导入导出)
    • [1.2.2. 放置器件](#1.2.2. 放置器件)
  • [1.3. 开始布局](#1.3. 开始布局)
  • [1.4. 设置软硬结合处禁布区](#1.4. 设置软硬结合处禁布区)
  • [1.5. 设置层叠](#1.5. 设置层叠)
    • [1.5.1. 设计总层叠](#1.5.1. 设计总层叠)
    • [1.5.2. 设置软板层叠](#1.5.2. 设置软板层叠)
  • [1.6. 设置软板区域Zone](#1.6. 设置软板区域Zone)
  • [1.7. 规则设置](#1.7. 规则设置)
    • [1.7.1. 分别建立软板规则和硬板规则](#1.7.1. 分别建立软板规则和硬板规则)
    • [1.7.2. 创建Region-Class](#1.7.2. 创建Region-Class)
      • [1.7.2.1. 创建net class](#1.7.2.1. 创建net class)
      • [1.7.2.2. 创建区域规则](#1.7.2.2. 创建区域规则)
      • [1.7.2.3. 创建分配Regoin-Class](#1.7.2.3. 创建分配Regoin-Class)
  • [1.8. 软板区域Zone分配区域规则](#1.8. 软板区域Zone分配区域规则)
  • [1.9. 开始布线](#1.9. 开始布线)
  • [1.10. 丝印调整](#1.10. 丝印调整)
    • [1.10.1. 设置字号](#1.10.1. 设置字号)
    • [1.10.2. 调整位号字号](#1.10.2. 调整位号字号)
    • [1.10.3. 调整文字位置](#1.10.3. 调整文字位置)
      • [1.10.3.1. 打开Label tune调整工具](#1.10.3.1. 打开Label tune调整工具)
      • [1.10.3.2. 主要调整介绍](#1.10.3.2. 主要调整介绍)
      • [1.10.3.3. 高级调整设置](#1.10.3.3. 高级调整设置)
      • [1.10.3.4. 开始调整](#1.10.3.4. 开始调整)
  • [1.11 出钻孔表](#1.11 出钻孔表)
    • [1.11.1. 钻孔表设置](#1.11.1. 钻孔表设置)
    • [1.11.2. 生成钻孔表](#1.11.2. 生成钻孔表)
  • [1.12. 光绘](#1.12. 光绘)
    • [1.12.1. 光绘设置](#1.12.1. 光绘设置)
      • [1.12.1.1. 基本参数设置](#1.12.1.1. 基本参数设置)
      • [1.12.1.2. 添加光绘文件设置](#1.12.1.2. 添加光绘文件设置)
    • [1.12.2. 光绘输出](#1.12.2. 光绘输出)
  • [1.13. 输出钻孔文件](#1.13. 输出钻孔文件)
    • [1.13.1. 钻孔参数](#1.13.1. 钻孔参数)
    • [1.13.2. 输出钻孔文件 .drill](#1.13.2. 输出钻孔文件 .drill)
    • [1.13.3. 输出异形孔文件](#1.13.3. 输出异形孔文件)
  • [1.14. 坐标文件输出](#1.14. 坐标文件输出)
    • [1.15. 文件打包](#1.15. 文件打包)
  • [1.16. 小拓展:软板弯起来](#1.16. 小拓展:软板弯起来)
    • [1.16.1. 设置弯曲位置](#1.16.1. 设置弯曲位置)
    • [1.16.2. 选择3D锚点](#1.16.2. 选择3D锚点)
    • [1.16.3. 打开3D视图](#1.16.3. 打开3D视图)

1.1设置板框

1.1.1 导入DXF

  • 在菜单栏中选择file--->import --> DXF
  • 设置导入的DXF层叠
    一般导入的Class位置都为Board Geometry ,然后新建一个SubClass 如:DXF_20250505,然后再映射到所有层。
  • 最后点击import

1.1.2 制作板框

  • 先复制导入的DXF线段出来再编辑,尽量不要在导入的DXF原线段编辑,避免操作失误,可以重新做板框。

  • 使用闭合shape工具,把线段更改为闭合的shape,方便其他操作和修改

  • 注意1:要选择Outline层之后,再框选线条。将得到闭合属性的Outline

  • 注意2:如果线段不是闭合的,将无法完成Compose Shape命令操作

  • 注意3:17.2以后的版本建议制作Design outline。方便3D视图。其实后期版本都应该去做Design outline,而不是制作一个outline。软件后期的板框外形主要是识别Design outline。可以在Class Board Geometry 下的 subclass中找到Design outline。方法是与制作outline一样的。为了向下兼容,通常我是两个都画了。

1.1.3 制作布局布线区

  • 提醒:此区域都是属于辅助区域,制板文件实际不需要这两个线段的,所有观察有的brd文件都没有这两个区域。个人的建议是制作并打开显示,方便约束,尤其是布线区。强烈建议制作,后续布线,铺铜皮都会使用到。

1.1.3.1. 制作布线区

  • 编辑菜单中,使用Z-copy命令,复制出Route Keepin---布线区。因为之前outline使用shape制作的,所以才能使用Z-copy命令复制。
  • 原因:板厂制板时候,铜皮紧贴板边会出现铜皮毛刺,卷边问题,所以都会建议内缩铜皮,一般制板厂要求至少内缩8mil,或者10mil。如果出现V-CUT等拼版工艺,该位置的内缩会更大,所以建议是直接使用20mil。

1.1.3.2. 制作布局区域

  • 同样的办法,设计制作Package Keepin---布局区域。
  • 原因:布局区域主要是避免器件太靠近板边,在安装或者运输过程中出现撞件风险,所以至少内缩1mm ,方便布局的时候观察到板边的距离。DRC也会有报错提示。

    注意:制作的时候都可以把void勾选上,可以保证复制的外形是一致的。

1.1.3.3. 返回结构

  • 制作完之后,把所有的信息都移动回结构上去。方便观察板框是否一致。

1.2. 导入网表放置器件

1.2.1. 网表导入导出

  • 先在原理图中出好网表,然后在PCB界面中,点击菜单栏file---> Import ---> Logic/Netlist 导入网表。

1.2.2. 放置器件

  • 菜单栏下Place---> Quickplce 快速放置器件。

1.3. 开始布局

  • 这个就是根据结构和自己PCB情况自己布局了

1.4. 设置软硬结合处禁布区

  1. 在软硬结合板的结合区位置,需要设置禁布区域,该位置不能有铜皮和过孔。这个跟DFM和板厂工艺有关系,不展开细说。根据自己板厂工艺调整。
  2. 如图,画一个route keepout,top和botm都需要。位置属于软硬结合区开始,向硬板区域衍伸1mm。

1.5. 设置层叠

1.5.1. 设计总层叠

a) 点击快捷图标,打开层叠设置。先设置一个6层板。四层板也可以,个人根据自己的需求设置,材料厚度建议填写清楚。

  • 把信息层叠信息都填好。

1.5.2. 设置软板层叠

a) 首先打开中间层显示模式。

b) 添加一个FPC层叠

c) 勾选软板层叠

  • 注:可以在2-3层中间添加更多的材料,比如软板的覆盖膜,然后勾选,这样在3D视图中会更清晰。此处不做展示。

1.6. 设置软板区域Zone

  1. 在Setup菜单下,选择Zone→Create
  2. 绘画的铜皮框选全部软板区域。
  3. 如果区域是异形,可在画布空白处右键,选择Add shape,然后开始绘圈出软板区域,然后右键Close,完成FPC绘画区域。

1.7. 规则设置

1.7.1. 分别建立软板规则和硬板规则

  1. 根据自己的需求,建立阻抗规则
  • 如图,我的FPC将会有3种阻抗,因此设计了3个规则,其他区域为常规阻抗。因为硬板和软板的板材不一样,所以每一种规则都建立两个,分别对应硬板区域规则和软板区域的规则。
  • 阻抗线宽是自己根据层叠计算或者板厂提供哈。别乱写了。

1.7.2. 创建Region-Class

1.7.2.1. 创建net class

  1. 首先创建对应阻抗的class ,右键空白处,创建class
  2. 对创建好的class添加成员。

  3. 选择对应匹配阻抗,注意我们都默认使用的是硬板区域的阻抗。

1.7.2.2. 创建区域规则

  1. 右键创建区域规则,在弹出的窗口中键入区域规则名称。然后点OK

  2. 为FPC区域匹配一个规则,并匹配规则。如下图,匹配FPC-50。表明了,该处区域如果是控50ohm的走线,会直接匹配FPC-50 区域的线宽。

    此使走线从硬板穿越到软板的时候,线宽就会自动调整了。

1.7.2.3. 创建分配Regoin-Class

  1. 右键选中刚刚建立的FPC区域规则
  2. 依次选中Class,如图,我选择了90ohm,100ohm,50ohm的Class,因为我的PCB中只有这3种阻抗。最后点击OK.
  3. 在匹配阻抗的位置下拉,匹配对应的FPC区域的阻抗
    注意:50ohm的class可以不用添加了,因为创建FPC区域的时候默认添加了软板区域50ohm阻抗。所以不用重复了。
  • 解释一下:我们已经画了一个区域规则,但是有多种阻抗线。区域规则一般只对应改变某一种线宽,比如我们最先分配的50ohm的线宽,硬板区域3mil,软板5mil,当你走线过去的时候,就会自动调整为5mil
  • 但是,该区域还有其他走线,如果重复画区域规则,如下图,它不能直接清楚的知道优先那个阻抗,所以就只有一个线宽,单线可能和差分是相同线宽(当然,也可能是我技术不精,不知道怎么调整哈)

    所以我们就建立Region-Class。
  • 这个表明了,本来匹配Diff100的差分走线阻抗,出现在FPC区域的时候,会变成匹配FPC-100的差分阻抗。这个时候,一个区域规则,就可以约束多种阻抗线了。

1.8. 软板区域Zone分配区域规则

  • 之前我们创建Zone的时候,系统会在该区域默认划分一个区域规则,可以打开all的区域规则查看的。
  • 菜单栏Setup 进入到Zones区域规则管理中,选择对应的该位置需要对应匹配的区域规则即可
  • 注1:如果先建立好的规则,可以在建立ZONES的时候就直接匹配上,不用再次进去管理再匹配了,这个自己研究一下就行了,很简单的。
  • 注2:创建ZONE时建立的REGION ALL是无法手动删除的,必须通过SETUP 进入到ZONES区域规则管理中,删除对应的ZONE才能删除该区域规则。不要乱删线条,否则后面可能就直接无法删除区域规则了。

1.9. 开始布线

  • 一阵操作,布线完成。

    为了过回流焊,做了一个拼板,增加辅助边。

    *我发现这个调丝印细说内容很多,所以就先简单说说,后面再出专题吧。本次主要是走全流程。*

1.10. 丝印调整

1.10.1. 设置字号

我一般使用2,3号字体,参数设置如下:

1.10.2. 调整位号字号

  1. 颜色管理器中打开位号显示
  2. 使用变换change功能,修改字号

    然后鼠标框选画布中所有文本即可

1.10.3. 调整文字位置

1.10.3.1. 打开Label tune调整工具

1.10.3.2. 主要调整介绍

  • 打开之后,在主要界面进行设置,设置内容主要是对象"refdes"、层面"silkgreen"、外框数据"Outline data"
    Outline data是表示获取器件大小的,比如refdes要放置在器件中间,异形器件中间怎么获取呢?就是从装配层Assembly的数据中获得中心位置,是不同于器件原点的。

1.10.3.3. 高级调整设置

  • 在高级选项中,主要是针对文字旋转的角度设置。一般Bottom面都是使用0,或者270°。具体设置可以参考下图。

1.10.3.4. 开始调整

  • 配置好label tune之后,框选器件,即可调整丝印

  • 调整到这个程度之后,在使用move命令,手动移动丝印即可。

1.11 出钻孔表

1.11.1. 钻孔表设置

  • 首先需要检查设置一下钻孔表,点击进入。一共四个参数类型
  • 提示:一般我设置就检查3个:精度、标识、钻孔重复
  • 精度这一块儿其实在设计封装的时候就应该填写清楚的。所以,有精度的钻孔我不会管,有的可能只能是正公差,所以负公差为0。其他为0,0的可以根据自己的情况去填一下,避免EQ板厂重复询问。
  • 标识我会自己填字母做标识,有些也有用钻孔数字的,这个也可以自己填,其实对于生产没有什么影响。
  • 钻孔重复,这是我之前工作的规范,钻孔不要出现重复,可能也不是必须。所以我还是会都检查重复,并和合并。方法如下图。
  • 填好钻孔表之后就点击OK

1.11.2. 生成钻孔表

  • 参照下图设置即可。其他都保持默认。

1.12. 光绘

  • 关于光绘设置这个点,大概很多新接触PCB的同学都会觉得有点复杂,因为不知道究竟要怎么去分别设置这些东西。其实大体就是如下几种
     线路层 ---(需光绘添加)
     钻孔文件 ---(需光绘添加)
     阻焊层 ----(需光绘添加)
     板框 --- (需光绘添加)
     丝印层 --- (需光绘添加)
     钢网层 --- (需光绘添加)
     坐标文件 --- (文件直出)
     装配图 --- (需光绘添加)
    黄色标记是制板厂需要的,无标记的是贴片厂需要的。这只是非常简单的分类,再细致一点,还需要光绘设置中把阻焊,钢网,钢网分为TOP层和Bottom层。具体分类打包可以参考下图

1.12.1. 光绘设置

1.12.1.1. 基本参数设置

  1. 我们需要先设置参数
  2. 然后返回光绘页面。我个人都是写了脚本,一键创建的光绘。所以原来默认的光绘设置我也不知道是啥样,就把之前的都删除了,重新添加。这里就教一下光绘添加的办法。
  • 首先在右边设置参数。
    a. 设置默认线宽5mil
    b. 正负片根据自己设计图纸勾选,正片设计:✔Positive,负片设计:✔Negative

1.12.1.2. 添加光绘文件设置

  1. 上面设置好参数并返回光绘设置页面后,可以不关闭窗口,直接点击颜色管理器。添加什么层,就打开对应的显示。比如,添加TOP走线层。
  2. 添加光绘
  3. 定义名称TOP。然后点击OK。此时光绘层中就包含了刚刚打开显示的层面。然后就是把我刚刚说的各种层都添加上,就算设置完成了。
  4. 再比如添加sold层面,输入SOLD关键字,就会直接筛选与阻焊有关的层面,勾选他们之后,添加光绘。

    其他添加办法也是一样的。自己摸索一下。

另外我自己一般都是outline为单独的光绘层,所以这些地方我都没添加。我的个人建议是线路层outline不要添加,因为DFM的时候,如果走线铜皮有跟outline相切,会报短路。其他的层,如果丝印,阻焊各位想添加outline就添加吧,不重要。

1.12.2. 光绘输出

  • 之前设置的时候忘记提醒一个设置,就是参数设置精度咱们设置为5,5.
  • 设置完之后,建议挨个检查光绘设置是否是正确的。
  • 然后选择所有的光辉层,点击Create Artwork

1.13. 输出钻孔文件

1.13.1. 钻孔参数

  • 依照下图步骤,对钻孔参数设置
  • Automatically create...这个是自动生成铣刀定义,主要是针对异形孔,非圆形孔的辅助定义文件。
  • Enhanced Excellon... 这里是丰富Excellon文件内容,使其包含刀具转速,进给速度等其他信息。

1.13.2. 输出钻孔文件 .drill

1.在菜单栏Manufacture下进入NC ---> NC Drill

  • Auto tool select 强烈建议勾选,会优化钻孔排序,板厂钻孔时会减少换刀头和移动距离。
  • Include backdrill 如果有背钻孔请一定勾选。

1.13.3. 输出异形孔文件

  • 这个很简单,从菜单栏进去之后,直接点Route,然后点击OK。就完成了。
    注意:如果PCB中没有存在异形孔,是不会有文件的。如果有,将会生成.rou文件。

1.14. 坐标文件输出

  • 输出坐标文件,以供贴片厂贴片使用。
    提醒:
    a. 符号原点:其实就是自己建封装的时候,给封装设定的原点。
    b. 器件中心:一般以封装的place bound的中心作为原点。

1.15. 文件打包

可以考虑做打包文件。方便发给板厂或者贴片厂生产。

1.16. 小拓展:软板弯起来

在3D视图中,为了更好的观察软板弯折情况,通过下面的方法,可以得到一个很好的呈现。

1.16.1. 设置弯曲位置


1.16.2. 选择3D锚点

  • 设置完之后,通过setup ---> Anchor 3D view设置一个3D查看的锚点。
  • 注意看命令栏提示信息。我是输入了一个坐标,由于我的原点位置,所以知道这点在design outline内。各位也可以直接打开design outline图层,然后鼠标点选一个点。

1.16.3. 打开3D视图

  1. 点击图标,进入3D视图窗口。
  2. 在视图中右键,选择bend。
  3. 设置弯曲角度

相关推荐
li星野6 小时前
打工人日报#20251213
笔记
历程里程碑6 小时前
C++ 6 :string类:高效处理字符串的秘密
c语言·开发语言·数据结构·c++·笔记·算法·排序算法
YJlio7 小时前
桌面工具学习笔记(11.1):BgInfo——给服务器桌面“刻”上关键信息
服务器·笔记·学习
爱倒腾的老唐7 小时前
00、Altium Designer 23 使用问题记录
笔记·php
TL滕7 小时前
从0开始学算法——第十五天(滑动窗口)
笔记·学习·算法
八年。。7 小时前
Python 版本确认方法
开发语言·笔记·python
YJlio8 小时前
Active Directory 工具学习笔记(10.14):第十章·实战脚本包——AdExplorer/AdInsight/AdRestore 一键化落地
服务器·笔记·学习
遇到困难睡大觉哈哈8 小时前
HarmonyOS 关系型数据库 RDB 数据持久化(ArkTS)实战:建库建表、CRUD、事务、FTS、性能优化,一篇搞懂
笔记·华为·harmonyos
d111111111d8 小时前
江协科技-PID基本原理-(学习笔记)-主页有所有STM32外设的笔记基本都是万字起步。
笔记·科技·stm32·单片机·嵌入式硬件·学习